Класс перечисления типа массива C++
Используйте объекты ArrayType
идентифицировать тип данных и другие атрибуты массива MATLAB®.
Пространство имен: | matlab::data |
Включение: | ArrayType.hpp |
enum class ArrayType { UNKNOWN, LOGICAL, CHAR, DOUBLE, SINGLE, INT8, UINT8, INT16, UINT16, INT32, UINT32, INT64, UINT64, COMPLEX_DOUBLE, COMPLEX_SINGLE, COMPLEX_INT8, COMPLEX_UINT8, COMPLEX_INT16, COMPLEX_UINT16, COMPLEX_INT32, COMPLEX_UINT32, COMPLEX_INT64, COMPLEX_UINT64, CELL, STRUCT, VALUE_OBJECT, HANDLE_OBJECT_REF, ENUM, SPARSE_LOGICAL, SPARSE_DOUBLE, SPARSE_COMPLEX_DOUBLE, MATLAB_STRING };
Значение MATLAB ArrayType | Тип C++ | Описание |
---|---|---|
DOUBLE |
'double' |
с двойной точностью (64-битный), число с плавающей запятой |
SINGLE |
плавание |
с одинарной точностью (32-битный), число с плавающей запятой |
INT8 |
int8_t |
8-битное целое число со знаком |
UINT8 |
uint8_t |
8-битное целое число без знака |
INT16 |
int16_t |
16-битное целое число со знаком |
UINT16 |
uint16_t |
16-битное целое число без знака |
INT32 |
int32_t |
32-битное целое число со знаком |
UINT32 |
uint32_t |
32-битное целое число без знака |
INT64 |
int64_t |
64-битное целое число со знаком |
UINT64 |
uint64_t |
64-битное целое число без знака |
CHAR |
char16_t |
16-битный символ |
LOGICAL |
bool |
логический |
COMPLEX_DOUBLE |
станд:: <дважды> |
комплекс, с двойной точностью (64-битный), число с плавающей запятой |
COMPLEX_SINGLE |
станд:: <плавание> |
комплекс, (32-битная) одинарная точность, число с плавающей запятой |
COMPLEX_INT8 |
станд:: <int8_t> |
комплекс, подписанное 8-битное целое число |
COMPLEX_UINT8 |
станд:: <uint8_t> |
комплексное, 8-битное целое число без знака |
COMPLEX_INT16 |
станд:: <int16_t> |
комплекс, подписанное 16-битное целое число |
COMPLEX_UINT16 |
станд:: <uint16_t> |
комплексное, 16-битное целое число без знака |
COMPLEX_INT32 |
станд:: <int32_t> |
комплекс, подписанное 32-битное целое число |
COMPLEX_UINT32 |
станд:: <uint32_t> |
комплексное, 32-битное целое число без знака |
COMPLEX_INT64 |
станд:: <int64_t> |
комплекс, подписанное 64-битное целое число |
COMPLEX_UINT64 |
станд:: <uint64_t> |
комплексное, 64-битное целое число без знака |
CELL |
Массив, содержащий другие Массивы | |
STRUCT |
Массив с именованными полями, которые могут содержать данные переменных типов и размеров | |
VALUE_OBJECT |
Объект значения MATLAB | |
HANDLE_OBJECT_REF |
Ссылка на существующий указатель возражает в MATLAB | |
ENUM |
Массив перечислимых величин | |
SPARSE_LOGICAL |
bool |
Разреженный массив логических |
SPARSE_DOUBLE |
'double' |
Разреженный массив дважды |
SPARSE_COMPLEX_DOUBLE |
станд:: <дважды> |
Разреженный массив комплекса дважды |
MATLAB_STRING |
MATLABString |
COMPLEX_DOUBLE
Предположим, что вам объявили массив можно следующим образом.
matlab::data::TypedArray<double> const argArray
После того, как вы устанавливаете значения для argArray
, вызываете функцию sqrt
.
matlab::data::Array const tresults = matlabPtr->feval(u"sqrt", argArray);
Эти операторы тестируют результат на тип COMPLEX_DOUBLE
и затем устанавливают тип массива.
matlab::data::TypedArray<std::complex<double>> results = factory.createEmptyArray(); matlab::data::ArrayType type = tresults.getType(); if (type == matlab::data::ArrayType::COMPLEX_DOUBLE) results = (matlab::data::TypedArray<std::complex<double>>) tresults; else std::cout << "ERROR: complex double array expected." << std::endl;
matlab::data::apply_visitor
| matlab::data::apply_visitor_ref