diff toolboxes/FullBNT-1.0.7/KPMtools/mexutil.c @ 0:e9a9cd732c1e tip

first hg version after svn
author wolffd
date Tue, 10 Feb 2015 15:05:51 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/toolboxes/FullBNT-1.0.7/KPMtools/mexutil.c	Tue Feb 10 15:05:51 2015 +0000
@@ -0,0 +1,43 @@
+#include "mexutil.h"
+
+/* Functions to create uninitialized arrays. */
+
+mxArray *mxCreateNumericArrayE(int ndim, const int *dims, 
+         mxClassID class, mxComplexity ComplexFlag)
+{
+  mxArray *a;
+  int i, *dims1 = mxMalloc(ndim*sizeof(int));
+  size_t sz = 1;
+  for(i=0;i<ndim;i++) {
+    sz *= dims[i];
+    dims1[i] = 1;
+  }
+  a = mxCreateNumericArray(ndim,dims1,class,ComplexFlag);
+  sz *= mxGetElementSize(a);
+  mxSetDimensions(a, dims, ndim);
+  mxFree(dims1);
+  mxSetData(a, mxRealloc(mxGetData(a), sz));
+  if(ComplexFlag == mxCOMPLEX) {
+    mxSetPi(a, mxRealloc(mxGetPi(a),sz));
+  }
+  return a;
+}
+mxArray *mxCreateNumericMatrixE(int m, int n, mxClassID class, 
+				mxComplexity ComplexFlag)
+{
+  size_t sz = m*n*sizeof(double);
+  mxArray *a = mxCreateNumericMatrix(1, 1, class, ComplexFlag);
+  mxSetM(a,m);
+  mxSetN(a,n);
+  mxSetPr(a, mxRealloc(mxGetPr(a),sz));
+  if(ComplexFlag == mxCOMPLEX) {
+    mxSetPi(a, mxRealloc(mxGetPi(a),sz));
+  }
+  return a;
+}
+mxArray *mxCreateDoubleMatrixE(int m, int n, 
+			       mxComplexity ComplexFlag)
+{
+  return mxCreateNumericMatrixE(m,n,mxDOUBLE_CLASS,ComplexFlag);
+}
+