annotate _FullBNT/KPMtools/mexutil.c @ 9:4ea6619cb3f5 tip

removed log files
author matthiasm
date Fri, 11 Apr 2014 15:55:11 +0100
parents b5b38998ef3b
children
rev   line source
matthiasm@8 1 #include "mexutil.h"
matthiasm@8 2
matthiasm@8 3 /* Functions to create uninitialized arrays. */
matthiasm@8 4
matthiasm@8 5 mxArray *mxCreateNumericArrayE(int ndim, const int *dims,
matthiasm@8 6 mxClassID class, mxComplexity ComplexFlag)
matthiasm@8 7 {
matthiasm@8 8 mxArray *a;
matthiasm@8 9 int i, *dims1 = mxMalloc(ndim*sizeof(int));
matthiasm@8 10 size_t sz = 1;
matthiasm@8 11 for(i=0;i<ndim;i++) {
matthiasm@8 12 sz *= dims[i];
matthiasm@8 13 dims1[i] = 1;
matthiasm@8 14 }
matthiasm@8 15 a = mxCreateNumericArray(ndim,dims1,class,ComplexFlag);
matthiasm@8 16 sz *= mxGetElementSize(a);
matthiasm@8 17 mxSetDimensions(a, dims, ndim);
matthiasm@8 18 mxFree(dims1);
matthiasm@8 19 mxSetData(a, mxRealloc(mxGetData(a), sz));
matthiasm@8 20 if(ComplexFlag == mxCOMPLEX) {
matthiasm@8 21 mxSetPi(a, mxRealloc(mxGetPi(a),sz));
matthiasm@8 22 }
matthiasm@8 23 return a;
matthiasm@8 24 }
matthiasm@8 25 mxArray *mxCreateNumericMatrixE(int m, int n, mxClassID class,
matthiasm@8 26 mxComplexity ComplexFlag)
matthiasm@8 27 {
matthiasm@8 28 size_t sz = m*n*sizeof(double);
matthiasm@8 29 mxArray *a = mxCreateNumericMatrix(1, 1, class, ComplexFlag);
matthiasm@8 30 mxSetM(a,m);
matthiasm@8 31 mxSetN(a,n);
matthiasm@8 32 mxSetPr(a, mxRealloc(mxGetPr(a),sz));
matthiasm@8 33 if(ComplexFlag == mxCOMPLEX) {
matthiasm@8 34 mxSetPi(a, mxRealloc(mxGetPi(a),sz));
matthiasm@8 35 }
matthiasm@8 36 return a;
matthiasm@8 37 }
matthiasm@8 38 mxArray *mxCreateDoubleMatrixE(int m, int n,
matthiasm@8 39 mxComplexity ComplexFlag)
matthiasm@8 40 {
matthiasm@8 41 return mxCreateNumericMatrixE(m,n,mxDOUBLE_CLASS,ComplexFlag);
matthiasm@8 42 }
matthiasm@8 43