3
3
#include < nix.hpp>
4
4
5
5
mxArray* make_mx_array_from_ds (const nix::DataSet &da) {
6
+ mexPrintf (" [PURGE_ME] mkArray.cc 01\n " );
6
7
nix::NDSize size = da.dataExtent ();
8
+ mexPrintf (" [PURGE_ME] mkArray.cc 02\n " );
7
9
const size_t len = size.size ();
10
+ mexPrintf (" [PURGE_ME] mkArray.cc 03\n " );
8
11
std::vector<mwSize> dims (len);
12
+ mexPrintf (" [PURGE_ME] mkArray.cc 03\n " );
9
13
10
14
// NB: matlab is column-major, while HDF5 is row-major
11
15
// data is correct with this, but dimensions don't
@@ -14,19 +18,26 @@ mxArray* make_mx_array_from_ds(const nix::DataSet &da) {
14
18
for (size_t i = 0 ; i < len; i++) {
15
19
dims[len - (i + 1 )] = static_cast <mwSize>(size[i]);
16
20
}
17
-
21
+ mexPrintf ( " [PURGE_ME] mkArray.cc 04 \n " );
18
22
nix::DataType da_type = da.dataType ();
23
+ mexPrintf (" [PURGE_ME] mkArray.cc 05\n " );
19
24
DType2 dtype = dtype_nix2mex (da_type);
25
+ mexPrintf (" [PURGE_ME] mkArray.cc 06\n " );
20
26
21
27
if (!dtype.is_valid ) {
28
+ mexPrintf (" [PURGE_ME] mkArray.cc 07\n " );
22
29
throw std::domain_error (" Unsupported data type" );
23
30
}
24
31
32
+ mexPrintf (" [PURGE_ME] mkArray.cc 08\n " );
25
33
mxArray *data = mxCreateNumericArray (dims.size (), dims.data (), dtype.cid , dtype.clx );
34
+ mexPrintf (" [PURGE_ME] mkArray.cc 09\n " );
26
35
double *ptr = mxGetPr (data);
27
-
36
+ mexPrintf ( " [PURGE_ME] mkArray.cc 10 \n " );
28
37
nix::NDSize offset (size.size (), 0 );
38
+ mexPrintf (" [PURGE_ME] mkArray.cc 11\n " );
29
39
da.getData (da_type, ptr, size, offset);
40
+ mexPrintf (" [PURGE_ME] mkArray.cc 12\n " );
30
41
31
42
return data;
32
43
}
0 commit comments