ExaTN
Public Member Functions | Static Public Member Functions | List of all members
exatn::numerics::TensorOpTransform Class Reference
Inheritance diagram for exatn::numerics::TensorOpTransform:
exatn::numerics::TensorOperation

Public Member Functions

 TensorOpTransform (const TensorOpTransform &)=default
 
TensorOpTransformoperator= (const TensorOpTransform &)=default
 
 TensorOpTransform (TensorOpTransform &&) noexcept=default
 
TensorOpTransformoperator= (TensorOpTransform &&) noexcept=default
 
virtual bool isSet () const override
 
virtual int accept (runtime::TensorNodeExecutor &node_executor, runtime::TensorOpExecHandle *exec_handle) override
 
void resetFunctor (std::shared_ptr< talsh::TensorFunctor< Identifiable >> functor)
 
int apply (talsh::Tensor &local_tensor)
 
- Public Member Functions inherited from exatn::numerics::TensorOperation
 TensorOperation (TensorOpCode opcode, unsigned int num_operands, unsigned int num_scalars)
 
 TensorOperation (const TensorOperation &)=default
 
TensorOperationoperator= (const TensorOperation &)=default
 
 TensorOperation (TensorOperation &&) noexcept=default
 
TensorOperationoperator= (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< TensorgetTensorOperand (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< TensorOperationcreateNew ()
 

Additional Inherited Members

- Protected Attributes inherited from exatn::numerics::TensorOperation
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_
 

Member Function Documentation

◆ accept()

int exatn::numerics::TensorOpTransform::accept ( runtime::TensorNodeExecutor node_executor,
runtime::TensorOpExecHandle *  exec_handle 
)
overridevirtual

Accepts tensor node executor which will execute this tensor operation.

Implements exatn::numerics::TensorOperation.

◆ createNew()

std::unique_ptr< TensorOperation > exatn::numerics::TensorOpTransform::createNew ( )
static

Create a new polymorphic instance of this subclass.

◆ isSet()

bool exatn::numerics::TensorOpTransform::isSet ( ) const
overridevirtual

Returns TRUE iff the tensor operation is fully set.

Implements exatn::numerics::TensorOperation.


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