Main Content

mxGetElementSize (Fortran)

各データ要素を格納するのに必要なバイト数

インターリーブされた複素数 API でビルドされた複素数 mxArray の場合、mxGetElementSize によって返される値は、実数/虚数分離型の複素数 API の関数によって返される値の 2 倍となります。詳細については、互換性についての考慮事項を参照してください。

Fortran 構文

#include "fintrf.h"
mwPointer mxGetElementSize(pm)
mwPointer pm

説明

mxGetElementSize を呼び出して、mxArray の各データ要素のバイト数を判断します。たとえば、mxArray の MATLAB® クラスが int16 の場合、mxArray は各データ要素を 16 ビット (2 バイト) の符号付き整数として格納します。そのため、mxGetElementSize2 を返します。

mxGetElementSize は、MATLAB 以外のルーチンを使用してデータ要素を操作する場合に役立ちます。

メモ

Fortran には size_t に対応する引数はありません。mwPointer は、適切な Fortran 型を提供するプリプロセッサ マクロです。ただし、この関数が返す値はポインターではありません。

入力引数

すべて展開する

mxArray へのポインター。mwPointer として指定します。

出力引数

すべて展開する

指定された mxArray の 1 つの要素を格納するために必要なバイト数。integer*4 として返されます。

pm が複素数値の場合、出力引数内のデータは、使用する Fortran 行列 API のバージョンによって異なります。

  • 実数/虚数分離型の複素数 API (mex -R2017b オプション) でビルドする場合、配列が複素数か実数かにかかわらず、配列のデータ型のバイト数が返される。

  • インターリーブされた複素数 API (mex -R2018a オプション) でビルドする場合、戻り値はデータ型のバイト数の 2 倍になる。

pm が cell または構造体を指している場合、mxGetElementSize はポインターのサイズを返します。この関数は、各 cell または構造体フィールド内のすべての要素のサイズは返しません。

失敗した場合は 0 を返します。失敗の主な理由は、認識されていないクラスをもつ mxArraypm が指しているためです。

バージョン履歴

R2006a より前に導入

すべて展開する

参考

|