Set complex data elements in mxINT32_CLASS
array
#include "matrix.h" int mxSetComplexInt32s(mxArray *pa, mxComplexInt32 *dt);
Use mxSetComplexInt32s
to set mxComplexInt32
data in the specified array.
All mxCreate
* functions allocate heap space to hold data.
Therefore, you do not ordinarily use this function to initialize the elements of an
array. Rather, call the function to replace existing values with new values.
This function does not free memory allocated for existing data. To free existing
memory, call mxFree
on the pointer returned by
mxGetComplexInt32s
.
Refer to the
arrayFillSetComplexPr.c
example in the
folder which copies existing complex numeric data into an matlabroot
/extern/examples/refbookmxArray
.
The data in the example is defined as mxComplexDouble
. You can use
this example as a pattern for any complex C numeric type. To modify this example for
complex int32
data:
Declare the data variables as mxComplexInt32
Call mxCreateNumericMatrix
with the numeric type
mxINT32_CLASS
Replace mxSetDoubles
with
mxSetComplexInt32s
to put the C array into an
mxArray
This function is available in the interleaved complex API. To build
myMexFile.c
using this function, type:
mex -R2018a myMexFile.c