matlab::data::ArrayType
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
};
C++ データ型の変換
| MATLAB ArrayType の値 | C++ の型 | 説明 |
|---|---|---|
DOUBLE | double | 倍精度 (64 ビット)、浮動小数点数 |
SINGLE | float | 単精度 (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 | logical |
COMPLEX_DOUBLE | std::complex<double> | 複素数、倍精度 (64 ビット)、浮動小数点数 |
COMPLEX_SINGLE | std::complex<float> | 複素数、単精度 (32 ビット)、浮動小数点数 |
COMPLEX_INT8 | std::complex<int8_t> | 複素数、符号付き 8 ビット整数 |
COMPLEX_UINT8 | std::complex<uint8_t> | 複素数、符号なし 8 ビット整数 |
COMPLEX_INT16 | std::complex<int16_t> | 複素数、符号付き 16 ビット整数 |
COMPLEX_UINT16 | std::complex<uint16_t> | 複素数、符号なし 16 ビット整数 |
COMPLEX_INT32 | std::complex<int32_t> | 複素数、符号付き 32 ビット整数 |
COMPLEX_UINT32 | std::complex<uint32_t> | 複素数、符号なし 32 ビット整数 |
COMPLEX_INT64 | std::complex<int64_t> | 複素数、符号付き 64 ビット整数 |
COMPLEX_UINT64 | std::complex<uint64_t> | 複素数、符号なし 64 ビット整数 |
CELL | 他の Array を含む配列 | |
STRUCT | さまざまな型とサイズのデータを含むことのできる名前付きフィールドをもつ配列 | |
VALUE_OBJECT | MATLAB 値オブジェクト | |
HANDLE_OBJECT_REF | MATLAB の既存ハンドル オブジェクトへの参照 | |
ENUM | 列挙値の配列 | |
SPARSE_LOGICAL | bool | logical のスパース配列 |
SPARSE_DOUBLE | double | double のスパース配列 |
SPARSE_COMPLEX_DOUBLE | std::complex<double> | double 型複素数のスパース配列 |
MATLAB_STRING | MATLAB string |
例
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;バージョン履歴
R2017b で導入