ExaTN
|
Public Member Functions | |
TensorOpContract (const TensorOpContract &)=default | |
TensorOpContract & | operator= (const TensorOpContract &)=default |
TensorOpContract (TensorOpContract &&) noexcept=default | |
TensorOpContract & | operator= (TensorOpContract &&) noexcept=default |
virtual bool | isSet () const override |
virtual int | accept (runtime::TensorNodeExecutor &node_executor, runtime::TensorOpExecHandle *exec_handle) override |
![]() | |
TensorOperation (TensorOpCode opcode, unsigned int num_operands, unsigned int num_scalars) | |
TensorOperation (const TensorOperation &)=default | |
TensorOperation & | operator= (const TensorOperation &)=default |
TensorOperation (TensorOperation &&) noexcept=default | |
TensorOperation & | operator= (TensorOperation &&) noexcept=default |
virtual void | printIt () const |
virtual void | printItFile (std::ofstream &output_file) const |
TensorOpCode | getOpcode () const |
unsigned int | getNumOperands () const |
unsigned int | getNumOperandsSet () const |
TensorHashType | getTensorOperandHash (unsigned int op_num) const |
std::shared_ptr< Tensor > | getTensorOperand (unsigned int op_num, bool *conjugated=nullptr) const |
void | setTensorOperand (std::shared_ptr< Tensor > tensor, bool conjugated=false) |
unsigned int | getNumScalars () const |
unsigned int | getNumScalarsSet () const |
std::complex< double > | getScalar (unsigned int scalar_num) const |
void | setScalar (unsigned int scalar_num, const std::complex< double > scalar) |
const std::string & | getIndexPattern () const |
void | setIndexPattern (const std::string &pattern) |
void | setId (std::size_t id) |
std::size_t | getId () const |
Static Public Member Functions | |
static std::unique_ptr< TensorOperation > | createNew () |
Additional Inherited Members | |
![]() | |
std::string | pattern_ |
std::vector< std::pair< std::shared_ptr< Tensor >, bool > > | operands_ |
std::vector< std::complex< double > > | scalars_ |
unsigned int | num_operands_ |
unsigned int | num_scalars_ |
TensorOpCode | opcode_ |
std::size_t | id_ |
|
overridevirtual |
Accepts tensor node executor which will execute this tensor operation.
Implements exatn::numerics::TensorOperation.
|
static |
Create a new polymorphic instance of this subclass.
|
overridevirtual |
Returns TRUE iff the tensor operation is fully set.
Implements exatn::numerics::TensorOperation.