class AbstractComplexTensor
#include <Tensor.h>
class AbstractComplexTensor
{
public:
// methods
virtual size_t getRank() const = 0;
virtual size_t getMaxRank() const = 0;
virtual qcomplex_data_t getElem(size_t num) = 0;
virtual void dimIncrement(size_t) = 0;
virtual void getSubTensor(
size_t num,
int value
) = 0;
virtual void dimDecrement(size_t num) = 0;
virtual qcomplex_data_t* getTensor() = 0;
virtual void mul(
ComplexTensor& other,
size_t* mask_array
) = 0;
virtual ComputeBackend getBackend() = 0;
};
// direct descendants
class ComplexTensor;
class CPUComplexTensor;