Wolfram Language

NumericArray em LibraryLink

Os objetos NumericArray e ByteArray na Wolfram Language podem ser passados para ou de um LibraryFunction onde eles aparecem como argumentos ou resultados do tipo MNumericArrary. MNumericArray é um ponteiro para uma estrutura de dados e é passado por referência. O gerenciamento de memória do MNumericArray é muito semelhante ao gerenciamento de memória para MTensor.

A família de funções de retorno de chamada MNumericArray está no campo numericarrayLibraryFunctions de WolframLibraryData, e elas são declaradas em WolframNumericArrayLibrary.h.

Segue abaixo uma aplicação comum.

#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); ... } ...

Os exemplos na biblioteca demo_numericarray mostram como usar argumentos MNumericArray e resultados com objetos NumericArray e ByteArray na Wolfram Language.

Este exemplo mostra como calcular o conjugado de um número complexo dos elementos armazenados em um NumericArray.

A função readBytesFromFile da demonstração mostra como ler dados de um arquivo e armazená-los em um objeto ByteArray.

Exemplos Relacionados

de en es fr ja ko zh