diff options
Diffstat (limited to 'matlab')
-rw-r--r-- | matlab/mex/astra_mex_data3d_c.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/matlab/mex/astra_mex_data3d_c.cpp b/matlab/mex/astra_mex_data3d_c.cpp index dfb3003..8492695 100644 --- a/matlab/mex/astra_mex_data3d_c.cpp +++ b/matlab/mex/astra_mex_data3d_c.cpp @@ -277,6 +277,7 @@ extern "C" { mxArray *mxCreateSharedDataCopy(const mxArray *pr); bool mxUnshareArray(const mxArray *pr, const bool noDeepCopy); mxArray *mxUnreference(const mxArray *pr); +bool mxIsSharedArray(const mxArray *pr); } class CFloat32CustomMemoryMatlab3D : public CFloat32CustomMemory { @@ -287,6 +288,9 @@ public: //fprintf(stderr, "Passed:\narray: %p\tdata: %p\n", (void*)_pArray, (void*)mxGetData(_pArray)); // First unshare the input array, so that we may modify it. if (bUnshare) { + if (mxIsSharedArray(_pArray)) { + fprintf(stderr, "Performance note: unsharing shared array in link\n"); + } mxUnshareArray(_pArray, false); //fprintf(stderr, "Unshared:\narray: %p\tdata: %p\n", (void*)_pArray, (void*)mxGetData(_pArray)); } |