matthiasm@8: /* divide_by_table.c ../potential/tables */ matthiasm@8: matthiasm@8: matthiasm@8: /******************************************/ matthiasm@8: /* 6 input & 1 output */ matthiasm@8: /* Big table [0] */ matthiasm@8: /* Big domain [1] */ matthiasm@8: /* big sizes [2] */ matthiasm@8: /* Small table [3] */ matthiasm@8: /* small domain [4] */ matthiasm@8: /* small sizes [5] */ matthiasm@8: /* */ matthiasm@8: /* New big table[0] */ matthiasm@8: /******************************************/ matthiasm@8: matthiasm@8: #include "mex.h" matthiasm@8: matthiasm@8: void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]){ matthiasm@8: int i, j, count, NB, NS, siz_b, siz_s, ndim, temp; matthiasm@8: int *mask, *sx, *sy, *cpsy, *subs, *s, *cpsy2; matthiasm@8: double *pbDomain, *psDomain, *sp, *zp, *bs, value; matthiasm@8: matthiasm@8: plhs[0] = mxDuplicateArray(prhs[0]); matthiasm@8: zp = mxGetPr(plhs[0]); matthiasm@8: matthiasm@8: siz_b = mxGetNumberOfElements(prhs[1]); matthiasm@8: siz_s = mxGetNumberOfElements(prhs[4]); matthiasm@8: pbDomain = mxGetPr(prhs[1]); matthiasm@8: psDomain = mxGetPr(prhs[4]); matthiasm@8: matthiasm@8: NB = mxGetNumberOfElements(prhs[0]); matthiasm@8: NS = mxGetNumberOfElements(prhs[3]); matthiasm@8: sp = mxGetPr(prhs[3]); matthiasm@8: matthiasm@8: bs = mxGetPr(prhs[2]); matthiasm@8: matthiasm@8: if(NS == 1){ matthiasm@8: value = *sp; matthiasm@8: if(value == 0) value = 1; matthiasm@8: for(i=0; i