/*--------------------------------------------------------------------------*/ int get_zminmax_arg(void* _pvCtx, char *fname, int pos, rhs_opts opts[], double ** zminmax) { int m, n, first_opt = FirstOpt(), kopt; if (pos < first_opt) { int* piAddr = 0; int iType = 0; double* pdblData = NULL; getVarAddressFromPosition(_pvCtx, pos, &piAddr); getVarType(_pvCtx, piAddr, &iType); if (iType) { getMatrixOfDouble(_pvCtx, piAddr, &m, &n, &pdblData); if (m * n != 2) { Scierror(999, "%s: Wrong size for input argument #%d: %d expected\n", fname, pos, 2); return 0; } *zminmax = pdblData; } else { /** global value can be modified **/ double zeros[2] = { 0.0, 0.0 }; setDefZminMax(zeros); *zminmax = getDefZminMax(); } } else if ((kopt = FindOpt("zminmax", opts))) /* named argument: rect=value */ { int* piAddr = 0; double* pdblData = NULL; getVarAddressFromPosition(_pvCtx, kopt, &piAddr); getMatrixOfDouble(_pvCtx, piAddr, &m, &n, &pdblData); if (m * n != 2) { Scierror(999, "%s: Wrong size for input argument #%d: %d expected\n", fname, kopt, 2); return 0; } *zminmax = pdblData; } else { /** global value can be modified **/ double zeros[2] = { 0.0, 0.0 }; setDefZminMax(zeros); *zminmax = getDefZminMax(); } return 1; }
/*--------------------------------------------------------------------------*/ int get_zminmax_arg(char *fname,int pos,rhs_opts opts[], double ** zminmax ) { int m,n,l,first_opt=FirstOpt(),kopt; if (pos < first_opt) { if (VarType(pos)) { GetRhsVar(pos,MATRIX_OF_DOUBLE_DATATYPE, &m, &n, &l); if (m * n != 2) { Scierror(999,"%s: Wrong size for input argument #%d: %d expected\n",fname,pos,2); return 0; } *zminmax = stk(l); } else { /** global value can be modified **/ double zeros[2] = { 0.0, 0.0 } ; setDefZminMax( zeros ) ; *zminmax = getDefZminMax() ; } } else if ((kopt=FindOpt("zminmax",opts))) {/* named argument: rect=value */ GetRhsVar(kopt,MATRIX_OF_DOUBLE_DATATYPE, &m, &n, &l); if (m * n != 2) { Scierror(999,"%s: Wrong size for input argument #%d: %d expected\n",fname,kopt,2); return 0; } *zminmax = stk(l); } else { /** global value can be modified **/ double zeros[2] = { 0.0, 0.0 } ; setDefZminMax( zeros ) ; *zminmax = getDefZminMax() ; } return 1; }