Wolfram 언어

LibraryLink의 NumericArray

Wolfram 언어의 NumericArray 개체 및 ByteArray 개체는 LibraryFunction과 교환할 수 있습니다. 이 때 이러한 함수는 인수 또는 MNumericArray 형의 결과로 나타납니다. 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 언어의 NumericArray 개체 및 ByteArray 개체와 함께 MNumericArray 인수 및 결과 사용법을 보여줍니다.

이 예는 NumericArray에 저장된 요소의 켤레 복소수의 계산 방법을 보여줍니다.

데모에 있는 함수 readBytesFromFile은 파일에서 데이터 읽기 및 ByteArray 개체에 데이터를 저장하는 방법을 보여줍니다.

관련 예제

de en es fr ja pt-br zh