Skip to main content

Class sysc::OutputComplexVectorData

Definition: OutputComplexVectorData.hpp (line 29)

Provide a class for output complex vector data.

Output vector data provides read-only access to an array of complex vector data.

The size is the total number of complex vectors, not the total number of components, i.e. if all data is stored in one contiguous array, then size is 1/6 the size of that array.

Members​

Private attributes​

Variable m_dataType​

Definition: OutputComplexVectorData.hpp (line 615)

sysc::PrimitiveType sysc::OutputComplexVectorData::m_dataType {sysc::Double}

Type: sysc::PrimitiveType

Variable m_isSplitVector​

Definition: OutputComplexVectorData.hpp (line 616)

bool sysc::OutputComplexVectorData::m_isSplitVector {false}

Type: bool

Variable m_isSplitComplex​

Definition: OutputComplexVectorData.hpp (line 617)

bool sysc::OutputComplexVectorData::m_isSplitComplex {false}

Type: bool

Variable m_data1​

Definition: OutputComplexVectorData.hpp (line 619)

const void* sysc::OutputComplexVectorData::m_data1 {nullptr}

Type: const void *

Variable m_data2​

Definition: OutputComplexVectorData.hpp (line 620)

const void* sysc::OutputComplexVectorData::m_data2 {nullptr}

Type: const void *

Variable m_data3​

Definition: OutputComplexVectorData.hpp (line 621)

const void* sysc::OutputComplexVectorData::m_data3 {nullptr}

Type: const void *

Variable m_data4​

Definition: OutputComplexVectorData.hpp (line 622)

const void* sysc::OutputComplexVectorData::m_data4 {nullptr}

Type: const void *

Variable m_data5​

Definition: OutputComplexVectorData.hpp (line 623)

const void* sysc::OutputComplexVectorData::m_data5 {nullptr}

Type: const void *

Variable m_data6​

Definition: OutputComplexVectorData.hpp (line 624)

const void* sysc::OutputComplexVectorData::m_data6 {nullptr}

Type: const void *

Variable m_size​

Definition: OutputComplexVectorData.hpp (line 626)

std::size_t sysc::OutputComplexVectorData::m_size {0}

Type: std::size_t

Variable m_dimension​

Definition: OutputComplexVectorData.hpp (line 627)

Dimension sysc::OutputComplexVectorData::m_dimension {Dimension::D3}

Type: Dimension

Public functions​

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const std::vector< std::complex< double >> &dataComplex)

Provide a constructor for output complex vector data with compact storage for both vector components and complex components.

Parameters:

  • dataComplex: - reference to the STL vector of complex double-precision data.

Parameters:

  • const std::vector< std::complex< double >> & dataComplex

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const std::vector< std::complex< double >> &dataComplex, Dimension dimension)

Provide a constructor for 2D output complex vector data with compact storage for both vector components and complex components.

Parameters:

  • dataComplex: - reference to the STL vector of complex double-precision data.
  • dimension: - dimension of complex vector data.

Parameters:

  • const std::vector< std::complex< double >> & dataComplex
  • Dimension dimension

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const double *dataComplex, std::size_t size)

Provide a constructor for output complex vector data with compact storage for both vector components and complex components.

Parameters:

  • dataComplex: - pointer to an array of complex double-precision vectors.
  • size: - number of vectors.

Parameters:

  • const double * dataComplex
  • std::size_t size

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const double *dataComplex, std::size_t size, Dimension dimension)

Provide a constructor for 2D output complex vector data with compact storage for both vector components and complex components.

Parameters:

  • dataComplex: - pointer to an array of complex double-precision vectors.
  • size: - number of vectors.
  • dimension: - dimension of complex vector data.

Parameters:

  • const double * dataComplex
  • std::size_t size
  • Dimension dimension

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const std::complex< double > *dataComplex, std::size_t size)

Provide a constructor for output complex vector data with compact storage for both vector components and complex components.

Parameters:

  • dataComplex: - pointer to an array of complex double-precision vectors.
  • size: - number of vectors.

Parameters:

  • const std::complex< double > * dataComplex
  • std::size_t size

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const std::complex< double > *dataComplex, std::size_t size, Dimension dimension)

Provide a constructor for 2D output complex vector data with compact storage for both vector components and complex components.

Parameters:

  • dataComplex: - pointer to an array of complex double-precision vectors.
  • size: - number of vectors.
  • dimension: - dimension of complex vector data.

Parameters:

  • const std::complex< double > * dataComplex
  • std::size_t size
  • Dimension dimension

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const std::vector< double > &dataReal, const std::vector< double > &dataImaginary)

Create an output complex vector data access object with compact storage for vector components and split storage for complex components.

Parameters:

  • dataReal: - reference to the STL vector of double-precision data, that stores the real components of the complex vectors in compact storage format.
  • dataImaginary: - reference to the STL vector of double-precision data, that stores the imaginary components of the complex vectors in compact storage format.

Parameters:

  • const std::vector< double > & dataReal
  • const std::vector< double > & dataImaginary

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const double *dataReal, const double *dataImaginary, std::size_t size)

Create an output complex vector data access object with compact storage for vector components and split storage for complex components.

Parameters:

  • dataReal: - pointer to an array of double-precision data, that stores the real components of the complex vectors in compact storage format.
  • dataImaginary: - pointer to an array of double-precision data, that stores the imaginary components of the complex vectors in compact storage format.
  • size: - number of vectors.

Parameters:

  • const double * dataReal
  • const double * dataImaginary
  • std::size_t size

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const std::vector< std::complex< double >> &dataComplex1, const std::vector< std::complex< double >> &dataComplex2, const std::vector< std::complex< double >> &dataComplex3)

Create an output complex vector data access object with split storage for vector components and compact storage for complex components.

Parameters:

  • dataComplex1: - reference to the STL vector of complex double-precision data that stores the first components of the vectors of complex numbers.
  • dataComplex2: - reference to the STL vector of complex double-precision data that stores the second components of the vectors of complex numbers.
  • dataComplex3: - reference to the STL vector of complex double-precision data that stores the third components of the vectors of complex numbers.

Parameters:

  • const std::vector< std::complex< double >> & dataComplex1
  • const std::vector< std::complex< double >> & dataComplex2
  • const std::vector< std::complex< double >> & dataComplex3

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const std::complex< double > *dataComplex1, const std::complex< double > *dataComplex2, const std::complex< double > *dataComplex3, std::size_t size)

Create an output complex vector data access object with split storage for vector components and compact storage for complex components.

Parameters:

  • dataComplex1: - pointer to an array of double-precision complex data that stores the first components of the vectors of complex numbers.
  • dataComplex2: - pointer to an array of double-precision complex data that stores the second components of the vectors of complex numbers.
  • dataComplex3: - pointer to an array of double-precision complex data that stores the third components of the vectors of complex numbers.
  • size: - number of vectors.

Parameters:

  • const std::complex< double > * dataComplex1
  • const std::complex< double > * dataComplex2
  • const std::complex< double > * dataComplex3
  • std::size_t size

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const double *dataComplex1, const double *dataComplex2, const double *dataComplex3, std::size_t size)

Create an output complex vector data access object with split storage for vector components and compact storage for complex components.

Parameters:

  • dataComplex1: - pointer to an array of double-precision data that stores the first components of the vectors of complex numbers.
  • dataComplex2: - pointer to an array of double-precision data that stores the second components of the vectors of complex numbers.
  • dataComplex3: - pointer to an array of double-precision data that stores the third components of the vectors of complex numbers.
  • size: - number of vectors.

Parameters:

  • const double * dataComplex1
  • const double * dataComplex2
  • const double * dataComplex3
  • std::size_t size

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const std::vector< double > &dataReal1, const std::vector< double > &dataImaginary1, const std::vector< double > &dataReal2, const std::vector< double > &dataImaginary2, const std::vector< double > &dataReal3, const std::vector< double > &dataImaginary3)

Create an output complex vector data access object with split storage for vector components and split storage for complex components.

Parameters:

  • dataReal1: - reference to the STL vector of double-precision data that stores the first real components of the vectors of complex numbers.
  • dataImaginary1: - reference to the STL vector of double-precision data that stores the first imaginary components of the vectors of complex numbers.
  • dataReal2: - reference to the STL vector of double-precision data that stores the second real components of the vectors of complex numbers.
  • dataImaginary2: - reference to the STL vector of double-precision data that stores the second imaginary components of the vectors of complex numbers.
  • dataReal3: - reference to the STL vector of double-precision data that stores the third real components of the vectors of complex numbers.
  • dataImaginary3: - reference to the STL vector of double-precision data that stores the third imaginary components of the vectors of complex numbers.

Parameters:

  • const std::vector< double > & dataReal1
  • const std::vector< double > & dataImaginary1
  • const std::vector< double > & dataReal2
  • const std::vector< double > & dataImaginary2
  • const std::vector< double > & dataReal3
  • const std::vector< double > & dataImaginary3

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const double *dataReal1, const double *dataImaginary1, const double *dataReal2, const double *dataImaginary2, const double *dataReal3, const double *dataImaginary3, std::size_t size)

Create an output complex vector data access object with split storage for vector components and split storage for complex components.

Parameters:

  • dataReal1: - pointer to an array of double-precision data that stores the first real components of the vectors of complex numbers.
  • dataImaginary1: - pointer to an array of double-precision data that stores the first imaginary components of the vectors of complex numbers.
  • dataReal2: - pointer to an array of double-precision data that stores the second real components of the vectors of complex numbers.
  • dataImaginary2: - pointer to an array of double-precision data that stores the second imaginary components of the vectors of complex numbers.
  • dataReal3: - pointer to an array of double-precision data that stores the third real components of the vectors of complex numbers.
  • dataImaginary3: - pointer to an array of double-precision data that stores the third imaginary components of the vectors of complex numbers.
  • size: - number of vectors.

Parameters:

  • const double * dataReal1
  • const double * dataImaginary1
  • const double * dataReal2
  • const double * dataImaginary2
  • const double * dataReal3
  • const double * dataImaginary3
  • std::size_t size

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const std::vector< std::complex< float >> &dataComplex)

Provide a constructor for output complex vector data with compact storage for both vector components and complex components.

Parameters:

  • dataComplex: - reference to the STL vector of complex double-precision data.

Parameters:

  • const std::vector< std::complex< float >> & dataComplex

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const std::vector< std::complex< float >> &dataComplex, Dimension dimension)

Provide a constructor for 2D output complex vector data with compact storage for both vector components and complex components.

Parameters:

  • dataComplex: - reference to the STL vector of complex double-precision data.
  • dimension: dimension of complex vector data.

Parameters:

  • const std::vector< std::complex< float >> & dataComplex
  • Dimension dimension

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const float *dataComplex, std::size_t size)

Provide a constructor for output complex vector data with compact storage for both vector components and complex components.

Parameters:

  • dataComplex: - pointer to an array of complex single-precision vectors.
  • size: - number of vectors.

Parameters:

  • const float * dataComplex
  • std::size_t size

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const float *dataComplex, std::size_t size, Dimension dimension)

Provide a constructor for 2D output complex vector data with compact storage for both vector components and complex components.

Parameters:

  • dataComplex: - pointer to an array of complex single-precision vectors.
  • size: - number of vectors.
  • dimension: dimension of complex vector data.

Parameters:

  • const float * dataComplex
  • std::size_t size
  • Dimension dimension

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const std::complex< float > *dataComplex, std::size_t size)

Provide a constructor for output complex vector data with compact storage for both vector components and complex components.

Parameters:

  • dataComplex: - pointer to an array of complex single-precision vectors.
  • size: - number of vectors.

Parameters:

  • const std::complex< float > * dataComplex
  • std::size_t size

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const std::complex< float > *dataComplex, std::size_t size, Dimension dimension)

Provide a constructor for 2D output complex vector data with compact storage for both vector components and complex components.

Parameters:

  • dataComplex: - pointer to an array of complex single-precision vectors.
  • size: - number of vectors.
  • dimension: dimension of complex vector data.

Parameters:

  • const std::complex< float > * dataComplex
  • std::size_t size
  • Dimension dimension

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const std::vector< float > &dataReal, const std::vector< float > &dataImaginary)

Create an output complex vector data access object with compact storage for vector components and split storage for complex components.

Parameters:

  • dataReal: - reference to the STL vector of single-precision data, that stores the real components of the complex vectors in compact storage format.
  • dataImaginary: - reference to the STL vector of single-precision data, that stores the imaginary components of the complex vectors in compact storage format.

Parameters:

  • const std::vector< float > & dataReal
  • const std::vector< float > & dataImaginary

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const float *dataReal, const float *dataImaginary, std::size_t size)

Create an output complex vector data access object with compact storage for vector components and split storage for complex components.

Parameters:

  • dataReal: - pointer to an array of single-precision data, that stores the real components of the complex vectors in compact storage format.
  • dataImaginary: - pointer to an array of single-precision data, that stores the imaginary components of the complex vectors in compact storage format.
  • size: - number of vectors.

Parameters:

  • const float * dataReal
  • const float * dataImaginary
  • std::size_t size

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const std::vector< std::complex< float >> &dataComplex1, const std::vector< std::complex< float >> &dataComplex2, const std::vector< std::complex< float >> &dataComplex3)

Create an output complex vector data access object with split storage for vector components and compact storage for complex components.

Parameters:

  • dataComplex1: - reference to the STL vector of complex single-precision data that stores the first components of the vectors of complex numbers.
  • dataComplex2: - reference to the STL vector of complex single-precision data that stores the second components of the vectors of complex numbers.
  • dataComplex3: - reference to the STL vector of complex single-precision data that stores the third components of the vectors of complex numbers.

Parameters:

  • const std::vector< std::complex< float >> & dataComplex1
  • const std::vector< std::complex< float >> & dataComplex2
  • const std::vector< std::complex< float >> & dataComplex3

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const std::complex< float > *dataComplex1, const std::complex< float > *dataComplex2, const std::complex< float > *dataComplex3, std::size_t size)

Create an output complex vector data access object with split storage for vector components and compact storage for complex components.

Parameters:

  • dataComplex1: - pointer to an array of single-precision complex data that stores the first components of the vectors of complex numbers.
  • dataComplex2: - pointer to an array of single-precision complex data that stores the second components of the vectors of complex numbers.
  • dataComplex3: - pointer to an array of single-precision complex data that stores the third components of the vectors of complex numbers.
  • size: - number of vectors.

Parameters:

  • const std::complex< float > * dataComplex1
  • const std::complex< float > * dataComplex2
  • const std::complex< float > * dataComplex3
  • std::size_t size

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const float *dataComplex1, const float *dataComplex2, const float *dataComplex3, std::size_t size)

Create an output complex vector data access object with split storage for vector components and compact storage for complex components.

Parameters:

  • dataComplex1: - pointer to an array of single-precision data that stores the first components of the vectors of complex numbers.
  • dataComplex2: - pointer to an array of single-precision data that stores the second components of the vectors of complex numbers.
  • dataComplex3: - pointer to an array of single-precision data that stores the third components of the vectors of complex numbers.
  • size: - number of vectors.

Parameters:

  • const float * dataComplex1
  • const float * dataComplex2
  • const float * dataComplex3
  • std::size_t size

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const std::vector< float > &dataReal1, const std::vector< float > &dataImaginary1, const std::vector< float > &dataReal2, const std::vector< float > &dataImaginary2, const std::vector< float > &dataReal3, const std::vector< float > &dataImaginary3)

Create an output complex vector data access object with split storage for vector components and split storage for complex components.

Parameters:

  • dataReal1: - reference to the STL vector of single-precision data that stores the first real components of the vectors of complex numbers.
  • dataImaginary1: - reference to the STL vector of single-precision data that stores the first imaginary components of the vectors of complex numbers.
  • dataReal2: - reference to the STL vector of single-precision data that stores the second real components of the vectors of complex numbers.
  • dataImaginary2: - reference to the STL vector of single-precision data that stores the second imaginary components of the vectors of complex numbers.
  • dataReal3: - reference to the STL vector of single-precision data that stores the third real components of the vectors of complex numbers.
  • dataImaginary3: - reference to the STL vector of single-precision data that stores the third imaginary components of the vectors of complex numbers.

Parameters:

  • const std::vector< float > & dataReal1
  • const std::vector< float > & dataImaginary1
  • const std::vector< float > & dataReal2
  • const std::vector< float > & dataImaginary2
  • const std::vector< float > & dataReal3
  • const std::vector< float > & dataImaginary3

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const float *dataReal1, const float *dataImaginary1, const float *dataReal2, const float *dataImaginary2, const float *dataReal3, const float *dataImaginary3, std::size_t size)

Create an output complex vector data access object with split storage for vector components and split storage for complex components.

Parameters:

  • dataReal1: - pointer to an array of single-precision data that stores the first real components of the vectors of complex numbers.
  • dataImaginary1: - pointer to an array of single-precision data that stores the first imaginary components of the vectors of complex numbers.
  • dataReal2: - pointer to an array of single-precision data that stores the second real components of the vectors of complex numbers.
  • dataImaginary2: - pointer to an array of single-precision data that stores the second imaginary components of the vectors of complex numbers.
  • dataReal3: - pointer to an array of single-precision data that stores the third real components of the vectors of complex numbers.
  • dataImaginary3: - pointer to an array of single-precision data that stores the third imaginary components of the vectors of complex numbers.
  • size: - number of vectors.

Parameters:

  • const float * dataReal1
  • const float * dataImaginary1
  • const float * dataReal2
  • const float * dataImaginary2
  • const float * dataReal3
  • const float * dataImaginary3
  • std::size_t size

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData()=default

Provide a default constructor.

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(const OutputComplexVectorData &)=default

Provide a copy-constructor.

Parameters:

Return type:

Function OutputComplexVectorData​

sysc::OutputComplexVectorData::OutputComplexVectorData(OutputComplexVectorData &&)=default

Provide a move-constructor.

Parameters:

Return type:

Function operator=​

OutputComplexVectorData& sysc::OutputComplexVectorData::operator=(const OutputComplexVectorData &)=default

Provide a copy-assign operator.

Parameters:

Return type: OutputComplexVectorData &

Function operator=​

OutputComplexVectorData& sysc::OutputComplexVectorData::operator=(OutputComplexVectorData &&)=default

Provide a move-assign operator.

Parameters:

Return type: OutputComplexVectorData &

Function size​

std::size_t sysc::OutputComplexVectorData::size() const noexcept

Get the size of data.

Return type: std::size_t

Function empty​

bool sysc::OutputComplexVectorData::empty() const noexcept

Check if array "data" is empty.

Return type: bool

Function getDataType​

sysc::PrimitiveType sysc::OutputComplexVectorData::getDataType() const noexcept

Get the primitive type of data.

For internal use only (no back-compatibility guarantee).

Return type: sysc::PrimitiveType

Function isSplitVector​

bool sysc::OutputComplexVectorData::isSplitVector() const noexcept

Query whether it's a split or compact vector layout.

For internal use only (no back-compatibility guarantee).

Return type: bool

Function isSplitComplex​

bool sysc::OutputComplexVectorData::isSplitComplex() const noexcept

Query whether it's a split or compact vector layout.

For internal use only (no back-compatibility guarantee).

Return type: bool

Function getData1​

const void* sysc::OutputComplexVectorData::getData1() const noexcept

Get pointer to data1.

For internal use only (no back-compatibility guarantee).

Return type: const void *

Function getData2​

const void* sysc::OutputComplexVectorData::getData2() const noexcept

Get pointer to data2.

For internal use only (no back-compatibility guarantee).

Return type: const void *

Function getData3​

const void* sysc::OutputComplexVectorData::getData3() const noexcept

Get pointer to data3.

For internal use only (no back-compatibility guarantee).

Return type: const void *

Function getData4​

const void* sysc::OutputComplexVectorData::getData4() const noexcept

Get pointer to data4.

For internal use only (no back-compatibility guarantee).

Return type: const void *

Function getData5​

const void* sysc::OutputComplexVectorData::getData5() const noexcept

Get pointer to data5.

For internal use only (no back-compatibility guarantee).

Return type: const void *

Function getData6​

const void* sysc::OutputComplexVectorData::getData6() const noexcept

Get pointer to data6.

For internal use only (no back-compatibility guarantee).

Return type: const void *

Function getDimension​

Dimension sysc::OutputComplexVectorData::getDimension() const noexcept

Get the Dimension object.

Returns:

Dimension

Return type: Dimension

References: