Will mxDestroyArray free reallocated matrix or matrix with changed size correctly?

Viewed 90

Question 1:

mxArray *data = mxCreateUninitNumericMatrix(1, 10, mxDOUBLE_CLASS, mxREAL);
mxSetN(data, 0);
mxDestroyArray(data);

Will mxDestroyArray free 10 elements or 0 elements?

Question 2:

mxArray *data = mxCreateUninitNumericMatrix(1, 10, mxDOUBLE_CLASS, mxREAL);
double *ptr = mxGetPr(data);
ptr = static_cast<double*>(mxRealloc(ptr, sizeof(double) * 20));
mxSetPr(data, ptr);
mxDestroyArray(data);

Will mxDestroyArray free 10 elements or 20 elements?

Thank you,

2 Answers
Related