#include #include #include void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { /*declare variables*/ const mwSize *dims; mwSize *dimsout; mwIndex indx; int i, numdims; int numelin; mxClassID classid; double *input1r, *input1i, *output1r, *output1i; double a, b, c, d; double ai, bi, ci, di; /*figure out the classid*/ classid = mxGetClassID(prhs[0]); /*check inputs*/ if (nrhs>1) mexErrMsgTxt("Too many input arguments"); /*associate inputs*/ input1r = mxGetData(prhs[0]); input1i = mxGetImagData(prhs[0]); /*figure out dimension info and number of elements*/ dims = mxGetDimensions(prhs[0]); numdims = mxGetNumberOfDimensions(prhs[0]); numelin = mxGetNumberOfElements(prhs[0]); dimsout = mxMalloc(numdims * sizeof(mwSize)); for (i=0; i