リファレンス

Wolfram LibraryLink を使うと,ダイナミックライブラリをWolfram言語カーネルに直接ロードして,ライブラリの関数を即座にWolfram言語内部から呼び出せるようにすることができる.整数,実数,パックアレー,文字列等のCのようなデータ型だけでなく,任意のWolfram言語式も交換することができる.また,エラーを送ったり,Wolfram言語にコールバックしたりするような便利な関数もある.

このセクションでは,機能をまとめる.

Wolfram言語関数

このセクションでは,Wolfram言語からWolfram Librariesとインタラクトするための関数をまとめる.

LibraryFunctionLoadライブラリの関数をロードする
LibraryFunctionライブラリからロードされた関数へのハンドルの表現
LibraryFunctionUnload以前ライブラリからロードされた関数をアンロードする
LibraryUnload以前ライブラリからロードされた関数をすべてアンロードする

Wolfram Librariesの関数をロード,アンロードするためのWolfram言語関数

LibraryFunctionInformationLibraryFunctionについての情報を返す

Wolfram Libraryからロードされた関数についての情報を得るためのWolfram言語関数

$LibraryPathライブラリの検索に使用されるパス
FindLibraryライブラリパス上のライブラリを検索する

Wolfram Librariesを探すためのWolfram言語関数

LibraryLoadライブラリをロードするが関数は呼び出さない

依存関係を解決するためのライブラリをロードするためのWolfram言語関数

CreateManagedLibraryExpressionライブラリデータと関連付けることのできる式を作成する
ManagedLibraryExpressionQ式が管理されたライブラリ式であるかどうかをテストする
ManagedLibraryExpressionID管理されたライブラリ式に関連付けられた正の整数のIDを与える

管理されたライブラリ式のためのWolfram言語関数

$LibraryErrorロードするライブラリからのシステム依存エラー
LibraryVersionInformationライブラリのバージョンについての情報を含む規則
LibraryVersionStringライブラリのバージョン情報の文字列

LibraryLink`パッケージの中のWolfram言語関数

ライブラリコールバック関数

このセクションでは,ライブラリの実装に使われるC言語コールバック関数をまとめる.

MTensor_new新しいMTensorを作成する
MTensor_freeMTensorを解放する
MTensor_disown共有のMTensorを解放可能にする
MTensor_disownAllすべての共有MTensorを解放可能にする
MTensor_cloneMTensorをコピーする

MTensorを作成,解放するコールバック関数

MTensor_getRankMTensorの階数を取得する
MTensor_getDimensionsMTensorの次元を取得する
MTensor_getFlattenedLengthMTensorの要素数を取得する
MTensor_getTypeMTensorの型を取得する

MTensorから構造についての情報を取得するためのコールバック関数

MTensor_getInteger整数のMTensorから要素を取得する
MTensor_getReal実数のMTensorから要素を取得する
MTensor_getComplex複素数のMTensorから要素を取得する
MTensor_getMTensorMTensorから部分MTensorを取得する
MTensor_getIntegerData整数のMTensorからデータを取得する
MTensor_getRealData実数のMTensorからデータを取得する
MTensor_getComplexData複素数のMTensorからデータを取得する

MTensorから要素を取得するためのコールバック関数

MTensor_setInteger整数のMTensorの要素を設定する
MTensor_setReal実数のMTensorの要素を設定する
MTensor_setComplex複素数のMTensorの要素を設定する
MTensor_setMTensorMTensorの部分MTensorを設定する

MTensorの要素を設定するためのコールバック関数

MessageWolfram言語内でメッセージを送る
AbortQ放棄の処理中かどうかを確認する

ライブラリ関数のエラーを処理するためのコールバック関数

UTF8String_disown文字列引数が使われなくなったら呼ばれる

文字列を扱うためのコールバック関数

getWSLINKエラー処理バッファを設定する
processWSLINKWolfram言語内でメッセージを送る

ライブラリ関数でWSTPを使うためのコールバック関数

registerLibraryExpressionManagerライブラリ式マネージャを登録する
unregisterLibraryExpressionManagerライブラリ式マネージャの登録を解除する
releaseManagedLibraryExpression管理されたライブラリ式を解放する

管理されたライブラリ式のためのコールバック関数

registerLibraryCallbackManagerライブラリコールバックマネージャを登録する
unregisterLibraryCallbackManagerライブラリコールバックマネージャの登録を解除する
callLibraryCallbackFunction接続されたライブラリコールバック関数を呼ぶ
releaseLibraryCallbackFunctionライブラリコールバック関数を解放する

ライブラリコールバック関数のためのコールバック関数

MSparseArray_fromExplicitPositions指定された位置と値から新規のMSparseArrayを作成する
MSparseArray_fromMTensorMTensorから新規のMSparseArrayを作成する
MSparseArray_cloneMSparseArrayをコピーする
MSparseArray_freeMSparseArrayを解放する
MSparseArray_disown共有mpMSparseArrayを解放可能にする
MSparseArray_disownAllすべての共有MSparseArrayを解放可能にする

MSparseArrayを作成したり解放したりするためのコールバック関数

MSparseArray_getRankMSparseArrayの階数を取得する
MSparseArray_getDimensionsMSparseArrayの次元を取得する
MSparseArray_getExplicitPositionsMSparseArrayから,明示的な値を持った位置を取得する
MSparseArray_getColumnIndicesMSparseArrayから列の指標を取得する
MSparseArray_getRowPointersMSparseArrayから行のポインタ配列を取得する

MSparseArrayから構造についての情報を取得するためのコールバック関数

MSparseArray_getExplicitValuesMSparseArrayから,明示的に指定された位置に対応する値を取得する
MSparseArray_getImplicitValueMSparseArrayから,明示的に指定されていない位置に使われた値を取得する

MSparseArrayから値を得るためのコールバック関数

MSparseArray_toMTensorMSparseArrayから通常のMTensorに変換する
MSparseArray_resetImplicitValue暗示的な値をリセットし,どの位置がMSparseArrayに明示的に保存されているかを再計算する

MSparseArraysを変換するためのコールバック関数

MNumericArray_new新しいMNumericArrayを作成する
MNumericArray_freeMNumericArrayを解放する
MNumericArray_disown共有のMNumericArrayを解放可能にする
MNumericArray_disownAllすべての共有MNumericArrayを解放可能にする
MNumericArray_cloneMNumericArrayをコピーする
MNumericArray_shareCountMNumericArrayへの共有参照数を取得する

MNumericArrayの作成と解放のためのコールバック関数

MNumericArray_getRankMNumericArrayの階数を取得する
MNumericArray_getDimensionsMNumericArrayの次元を取得する
MNumericArray_getFlattenedLengthMNumericArrayの要素数を取得する
MNumericArray_getTypeMNumericArrayの型を取得する

MNumericArrayから構造についての情報を取得するためのコールバック関数

MNumericArray_getDataMNumericArrayからデータを取得する

MNumericArrayから要素を取得するためのコールバック関数

MNumericArray_convertTypeMNumericArrayのデータ型を変換する

MNumericArrayの型を変換するコールバック関数

MImage_new2D新しい2DのMImageを作成する
MImage_new3D新しい3DのMImageを作成する
MImage_freeMImageを解放する
MImage_disown共有のMImageを解放可能にする
MImage_disownAllすべての共有MImageを解放可能にする
MImage_cloneMImageをコピーする
MImage_shareCountMImageへの共有参照数を取得する

MImageの作成と解放のためのコールバック関数

MImage_getDataTypeMImageのデータ型を取得する
MImage_getRowCountMImageの行数を取得する
MImage_getColumnCountMImageの列数を取得する
MImage_getSliceCountMImageのスライス数を取得する
MImage_getRankMImageの階数を取得する
MImage_getChannelsMImageのチャンネル数を取得する
MImage_alphaChannelQMImageがアルファチャンネルを持つかどうかを検証する
MImage_interleavedQMImageの画素がインターリーブされて保存されているかどうかを検証する
MImage_getColorSpaceMImageの色空間を取得する
MImage_getFlattenedLengthMImageの要素数を取得する

MImageから構造についての情報を取得するためのコールバック関数

MImage_getBit型「Bit」のMImageから要素を取得する
MImage_getByte型「Byte」のMImageから要素を取得する
MImage_getBit16型「Bit16」のMImageから要素を取得する
MImage_getReal32型「Real32」のMImageから要素を取得する
MImage_getReal型「Real64」のMImageから要素を取得する
MImage_getRawDataMImageのデータを取得する
MImage_getBitData「Bit」のMImageのデータを取得する
MImage_getByteData「Byte」のMImageのデータを取得する
MImage_getBit16Data「Bit16」のMImageのデータを取得する
MImage_getReal32Data「Real32」のMImageのデータを取得する
MImage_getRealData「Real64」のMImageのデータを取得する

MImageから要素を取得するコールバック関数

MImage_setBit型「Bit」のMImageの要素を設定する
MImage_setByte型「Byte」のMImageの要素を設定する
MImage_setBit16型「Bit16」のMImageの要素を設定する
MImage_setReal32型「Real32」のMImageの要素を設定する
MImage_setReal型「Real64」のMImageの要素を設定する

MImageの要素を設定するコールバック関数

MImage_convertTypeMImageのデータ型を変換する

MImageの型を変換するコールバック関数