| 
| 
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_ | 
|   | 
◆ TensorOperation()
      
        
          | exatn::numerics::TensorOperation::TensorOperation  | 
          ( | 
          TensorOpCode  | 
          opcode,  | 
        
        
           | 
           | 
          unsigned int  | 
          num_operands,  | 
        
        
           | 
           | 
          unsigned int  | 
          num_scalars  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Constructs a yet undefined tensor operation with the specified number of tensor/scalar arguments. 
 
 
◆ accept()
  
  
      
        
          | virtual int exatn::numerics::TensorOperation::accept  | 
          ( | 
          runtime::TensorNodeExecutor &  | 
          node_executor,  | 
         
        
           | 
           | 
          runtime::TensorOpExecHandle *  | 
          exec_handle  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
pure virtual   | 
  
 
 
◆ getId()
      
        
          | std::size_t exatn::numerics::TensorOperation::getId  | 
          ( | 
           | ) | 
           const | 
        
      
 
Returns the unique integer identifier of the tensor operation. 
 
 
◆ getIndexPattern()
      
        
          | const std::string & exatn::numerics::TensorOperation::getIndexPattern  | 
          ( | 
           | ) | 
           const | 
        
      
 
Returns the symbolic tensor operation specification (index pattern). 
 
 
◆ getNumOperands()
      
        
          | unsigned int exatn::numerics::TensorOperation::getNumOperands  | 
          ( | 
           | ) | 
           const | 
        
      
 
Returns the number of tensor operands required for the tensor operation. 
 
 
◆ getNumOperandsSet()
      
        
          | unsigned int exatn::numerics::TensorOperation::getNumOperandsSet  | 
          ( | 
           | ) | 
           const | 
        
      
 
Returns the number of tensor operands set. 
 
 
◆ getNumScalars()
      
        
          | unsigned int exatn::numerics::TensorOperation::getNumScalars  | 
          ( | 
           | ) | 
           const | 
        
      
 
Returns the number of scalar arguments required for the tensor operation. 
 
 
◆ getNumScalarsSet()
      
        
          | unsigned int exatn::numerics::TensorOperation::getNumScalarsSet  | 
          ( | 
           | ) | 
           const | 
        
      
 
Returns the number of scalar arguments set explicitly. 
 
 
◆ getOpcode()
      
        
          | TensorOpCode exatn::numerics::TensorOperation::getOpcode  | 
          ( | 
           | ) | 
           const | 
        
      
 
Returns the tensor operation code (opcode). 
 
 
◆ getScalar()
      
        
          | std::complex< double > exatn::numerics::TensorOperation::getScalar  | 
          ( | 
          unsigned int  | 
          scalar_num | ) | 
           const | 
        
      
 
Returns a specific scalar argument. 
 
 
◆ getTensorOperand()
      
        
          | std::shared_ptr< Tensor > exatn::numerics::TensorOperation::getTensorOperand  | 
          ( | 
          unsigned int  | 
          op_num,  | 
        
        
           | 
           | 
          bool *  | 
          conjugated = nullptr  | 
        
        
           | 
          ) | 
           |  const | 
        
      
 
Returns a co-owned pointer to a specific tensor operand, or nullptr if not yet set. 
 
 
◆ getTensorOperandHash()
      
        
          | TensorHashType exatn::numerics::TensorOperation::getTensorOperandHash  | 
          ( | 
          unsigned int  | 
          op_num | ) | 
           const | 
        
      
 
Returns a unique integer tensor operand identifier. 
 
 
◆ isSet()
  
  
      
        
          | virtual bool exatn::numerics::TensorOperation::isSet  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
pure virtual   | 
  
 
 
◆ printIt()
  
  
      
        
          | void exatn::numerics::TensorOperation::printIt  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
virtual   | 
  
 
 
◆ setId()
      
        
          | void exatn::numerics::TensorOperation::setId  | 
          ( | 
          std::size_t  | 
          id | ) | 
           | 
        
      
 
Sets the unique integer identifier of the tensor operation. 
 
 
◆ setIndexPattern()
      
        
          | void exatn::numerics::TensorOperation::setIndexPattern  | 
          ( | 
          const std::string &  | 
          pattern | ) | 
           | 
        
      
 
Sets the symbolic tensor operation specification (index pattern). The tensor operation must have all its tensor/scalar operands set at this point. 
 
 
◆ setScalar()
      
        
          | void exatn::numerics::TensorOperation::setScalar  | 
          ( | 
          unsigned int  | 
          scalar_num,  | 
        
        
           | 
           | 
          const std::complex< double >  | 
          scalar  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Sets a specific scalar argument. 
 
 
◆ setTensorOperand()
      
        
          | void exatn::numerics::TensorOperation::setTensorOperand  | 
          ( | 
          std::shared_ptr< Tensor >  | 
          tensor,  | 
        
        
           | 
           | 
          bool  | 
          conjugated = false  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Sets the next tensor operand. 
 
 
The documentation for this class was generated from the following files:
- /Users/aqw/exatn/src/numerics/tensor_operation.hpp
 
- /Users/aqw/exatn/src/numerics/tensor_operation.cpp