Wolfram Language

NumericArray dans LibraryLink

Les objets NumericArray et ByteArray de Wolfram Language peuvent être transmis vers ou depuis la fonction LibraryFunction où ils apparaissent comme arguments ou résultats de type MNumericArrary. MNumericArray est un pointeur vers une structure de données, et il est transmis par référence. La gestion de la mémoire pour MNumericArray est très similaire à la gestion de la mémoire pour MTensor.

La famille des fonctions de rappel de MNumericArray se trouve dans le champ numericarrayLibraryFunctions de WolframLibraryData, et est déclarée dans WolframNumericArrayLibrary.h.

Une utilisation typique se présente comme suit.

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

Des exemples dans la bibliothèque demo_numericarray montrent comment utiliser les arguments et les résultats de MNumericArray avec NumericArray and les objets ByteArray de Wolfram Language.

Cet exemple démontre comment calculer la conjugaison complexe d'éléments stockés dans un tableau numérique NumericArray.

La fonction readBytesFromFile de la démo montre comment lire les données d'un fichier et les stocker dans un objet ByteArray.

Exemples connexes

de en es ja ko pt-br zh