KIDS  ver-0.0.1
KIDS : Kernel Integrated Dynamics Simulator
Loading...
Searching...
No Matches
PROJECT_NS::EinsumHelper Class Reference

#include <Einsum.h>

Collaboration diagram for PROJECT_NS::EinsumHelper:
Collaboration graph

Public Member Functions

 EinsumHelper (const std::string &einsum_expression, std::vector< std::vector< std::size_t > > shape_inputs, std::vector< std::size_t > shape_output={})
 

Public Attributes

std::size_t total_esidx
 total number of EinsumIdx in EinsumIdx System
 
std::size_t total_tensor
 total number of tensor in einsum rule
 
std::vector< EinsumIdxeinsum_idxs
 the EinsumIdx System
 
std::vector< std::size_t > einsum_dims
 each dimension of EinsumIdx System
 
std::vector< std::string > fixed_label_names
 store for fixed labels
 
std::vector< std::string > esshape_inputs
 store einsum's strings of input tensors
 
std::string esshape_output = ""
 store/deduct einsum's for the ouput tensor
 
std::vector< DimenHelperdh_inputs
 DimenHelper for input tensors.
 
DimenHelper dh_output
 DimenHelper for ouput tensor.
 
std::vector< std::size_t > einsum_iposes
 idx placeholder for EinsumIdx System
 
std::vector< std::size_t > ipos_inputs
 idx placeholder for input tensors
 
int count1 = 0
 
int count2 = 0
 
int count3 = 0
 
int total_loop = 0
 

Detailed Description

Definition at line 177 of file Einsum.h.

Constructor & Destructor Documentation

◆ EinsumHelper()

PROJECT_NS::EinsumHelper::EinsumHelper ( const std::string & einsum_expression,
std::vector< std::vector< std::size_t > > shape_inputs,
std::vector< std::size_t > shape_output = {} )
Parameters
[in]einsum_expressionexpression for einsum rule
[in]shape_inputsinput shapes as a vector
[in]shape_outputoutput shapes

Definition at line 43 of file Einsum.cpp.

References count1, count2, count3, dh_inputs, dh_output, einsum_dims, einsum_idxs, einsum_iposes, esshape_inputs, esshape_output, fixed_label_names, ipos_inputs, total_esidx, total_loop, and total_tensor.

Member Data Documentation

◆ count1

int PROJECT_NS::EinsumHelper::count1 = 0

Definition at line 196 of file Einsum.h.

Referenced by PROJECT_NS::einsum(), PROJECT_NS::einsum_fun(), and EinsumHelper().

◆ count2

int PROJECT_NS::EinsumHelper::count2 = 0

Definition at line 197 of file Einsum.h.

Referenced by PROJECT_NS::einsum(), and EinsumHelper().

◆ count3

int PROJECT_NS::EinsumHelper::count3 = 0

Definition at line 198 of file Einsum.h.

Referenced by PROJECT_NS::einsum(), PROJECT_NS::einsum_fun(), and EinsumHelper().

◆ dh_inputs

std::vector<DimenHelper> PROJECT_NS::EinsumHelper::dh_inputs

DimenHelper for input tensors.

Definition at line 190 of file Einsum.h.

Referenced by PROJECT_NS::einsum(), PROJECT_NS::einsum_fun(), and EinsumHelper().

◆ dh_output

DimenHelper PROJECT_NS::EinsumHelper::dh_output

DimenHelper for ouput tensor.

Definition at line 191 of file Einsum.h.

Referenced by PROJECT_NS::einsum(), PROJECT_NS::einsum_fun(), and EinsumHelper().

◆ einsum_dims

std::vector<std::size_t> PROJECT_NS::EinsumHelper::einsum_dims

each dimension of EinsumIdx System

Definition at line 183 of file Einsum.h.

Referenced by PROJECT_NS::einsum(), PROJECT_NS::einsum_fun(), and EinsumHelper().

◆ einsum_idxs

std::vector<EinsumIdx> PROJECT_NS::EinsumHelper::einsum_idxs

the EinsumIdx System

Definition at line 182 of file Einsum.h.

Referenced by EinsumHelper().

◆ einsum_iposes

std::vector<std::size_t> PROJECT_NS::EinsumHelper::einsum_iposes

idx placeholder for EinsumIdx System

Definition at line 193 of file Einsum.h.

Referenced by PROJECT_NS::einsum(), PROJECT_NS::einsum_fun(), and EinsumHelper().

◆ esshape_inputs

std::vector<std::string> PROJECT_NS::EinsumHelper::esshape_inputs

store einsum's strings of input tensors

Definition at line 187 of file Einsum.h.

Referenced by EinsumHelper().

◆ esshape_output

std::string PROJECT_NS::EinsumHelper::esshape_output = ""

store/deduct einsum's for the ouput tensor

Definition at line 188 of file Einsum.h.

Referenced by EinsumHelper().

◆ fixed_label_names

std::vector<std::string> PROJECT_NS::EinsumHelper::fixed_label_names

store for fixed labels

Definition at line 185 of file Einsum.h.

Referenced by EinsumHelper().

◆ ipos_inputs

std::vector<std::size_t> PROJECT_NS::EinsumHelper::ipos_inputs

idx placeholder for input tensors

Definition at line 194 of file Einsum.h.

Referenced by PROJECT_NS::einsum(), PROJECT_NS::einsum_fun(), and EinsumHelper().

◆ total_esidx

std::size_t PROJECT_NS::EinsumHelper::total_esidx

total number of EinsumIdx in EinsumIdx System

Definition at line 179 of file Einsum.h.

Referenced by PROJECT_NS::einsum(), PROJECT_NS::einsum_fun(), and EinsumHelper().

◆ total_loop

int PROJECT_NS::EinsumHelper::total_loop = 0

Definition at line 199 of file Einsum.h.

Referenced by PROJECT_NS::einsum(), PROJECT_NS::einsum_fun(), and EinsumHelper().

◆ total_tensor

std::size_t PROJECT_NS::EinsumHelper::total_tensor

total number of tensor in einsum rule

Definition at line 180 of file Einsum.h.

Referenced by PROJECT_NS::einsum(), PROJECT_NS::einsum_fun(), and EinsumHelper().


The documentation for this class was generated from the following files: