class CPUComplexTensor

#include <Tensor.h>

class CPUComplexTensor: public AbstractComplexTensor
{
public:
    // construction

    CPUComplexTensor(const CPUComplexTensor& old);

    CPUComplexTensor(
        size_t rank,
        qstate_t& tensor,
        size_t max_rank
        );

    CPUComplexTensor(
        size_t rank,
        qcomplex_data_t* tensor,
        size_t max_rank
        );

    // methods

    virtual size_t getRank() const;
    virtual qcomplex_data_t getElem(size_t num);
    virtual size_t getMaxRank() const;
    virtual void dimIncrement(size_t increment_size);

    virtual void getSubTensor(
        size_t num,
        int value
        );

    virtual void dimDecrement(size_t num);
    virtual qcomplex_data_t* getTensor();

    virtual void mul(
        ComplexTensor& other,
        size_t* mask_array
        );

    virtual ComputeBackend getBackend();

    void mulElem(
        size_t num,
        qcomplex_data_t elem
        );

    CPUComplexTensor& operator = (const CPUComplexTensor& old);
};

Inherited Members

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;