Wolfram 语言

LibraryLink 中的 NumericArray

Wolfram 语言中的 NumericArrayByteArray 对象可传入 LibraryFunction,也可从中传出,它们以 MNumericArrary 类型的参数或结果出现。MNumericArray 是数据结构的指针,通过指代传递。MNumericArray 的内存管理与 MTensor 的内存管理非常相似。

MNumericArray 回调函数族位于 WolframLibraryData 的 numericarrayLibraryFunctions 字段中,它们在 WolframNumericArrayLibrary.h 中被声明。

典型用途如下所示。

#include "WolframNumericArrayLibrary.h" .... MNumericArray na_in = NULL, na_out = NULL; errcode_t err = 0; numericarray_data_t type = MNumericArray_Type_Undef; WolframNumericArrayLibrary_Functions naFuns = libData->numericarrayLibraryFunctions; ... na_in = MArgument_getMNumericArray(Args[0]); type = naFuns->MNumericArray_getType(na_in); if(type != MNumericArray_Type_Real32) { err = naFuns->MNumericArray_convertType(&na_out, na_in, MNumericArray_Type_Real32, MNumericArray_Convert_Coerce, 1); ... } ...

demo_numericarray 库中的范例显示了如何将 Wolfram 语言中的 NumericArrayByteArray 对象与 MNumericArray 类型的参数和结果一起使用。

下面的例子显示了如何计算存储在 NumericArray 中的元素的复共轭。

演示项目中的函数 readBytesFromFile 显示了如何从文件中读取数据并将其存储在 ByteArray 对象中。

相关范例

de en es fr ja ko pt-br