annotate DL/RLS-DLA/private/mexutils.c @ 60:ad36f80e2ccf

(none)
author idamnjanovic
date Tue, 15 Mar 2011 12:20:59 +0000
parents
children
rev   line source
idamnjanovic@60 1 /**************************************************************************
idamnjanovic@60 2 *
idamnjanovic@60 3 * File name: mexutils.c
idamnjanovic@60 4 *
idamnjanovic@60 5 * Ron Rubinstein
idamnjanovic@60 6 * Computer Science Department
idamnjanovic@60 7 * Technion, Haifa 32000 Israel
idamnjanovic@60 8 * ronrubin@cs
idamnjanovic@60 9 *
idamnjanovic@60 10 * Last Updated: 15.8.2009
idamnjanovic@60 11 *
idamnjanovic@60 12 *************************************************************************/
idamnjanovic@60 13
idamnjanovic@60 14 #include "mexutils.h"
idamnjanovic@60 15 #include <math.h>
idamnjanovic@60 16
idamnjanovic@60 17
idamnjanovic@60 18
idamnjanovic@60 19 /* verify that the mxArray contains a double matrix */
idamnjanovic@60 20
idamnjanovic@60 21 void checkmatrix(const mxArray *param, char *fname, char *pname)
idamnjanovic@60 22 {
idamnjanovic@60 23 char errmsg[100];
idamnjanovic@60 24 sprintf(errmsg, "%.15s requires that %.25s be a double matrix.", fname, pname);
idamnjanovic@60 25 if (!mxIsDouble(param) || mxIsComplex(param) || mxGetNumberOfDimensions(param)>2) {
idamnjanovic@60 26 mexErrMsgTxt(errmsg);
idamnjanovic@60 27 }
idamnjanovic@60 28 }
idamnjanovic@60 29
idamnjanovic@60 30
idamnjanovic@60 31 /* verify that the mxArray contains a 1-D double vector */
idamnjanovic@60 32
idamnjanovic@60 33 void checkvector(const mxArray *param, char *fname, char *pname)
idamnjanovic@60 34 {
idamnjanovic@60 35 char errmsg[100];
idamnjanovic@60 36 sprintf(errmsg, "%.15s requires that %.25s be a double vector.", fname, pname);
idamnjanovic@60 37 if (!mxIsDouble(param) || mxIsComplex(param) || mxGetNumberOfDimensions(param)>2 || (mxGetM(param)!=1 && mxGetN(param)!=1)) {
idamnjanovic@60 38 mexErrMsgTxt(errmsg);
idamnjanovic@60 39 }
idamnjanovic@60 40 }
idamnjanovic@60 41
idamnjanovic@60 42
idamnjanovic@60 43 /* verify that the mxArray contains a double scalar */
idamnjanovic@60 44
idamnjanovic@60 45 void checkscalar(const mxArray *param, char *fname, char *pname)
idamnjanovic@60 46 {
idamnjanovic@60 47 char errmsg[100];
idamnjanovic@60 48 sprintf(errmsg, "%.15s requires that %.25s be a double scalar.", fname, pname);
idamnjanovic@60 49 if (!mxIsDouble(param) || mxIsComplex(param) || mxGetNumberOfDimensions(param)>2 ||
idamnjanovic@60 50 mxGetM(param)!=1 || mxGetN(param)!=1)
idamnjanovic@60 51 {
idamnjanovic@60 52 mexErrMsgTxt(errmsg);
idamnjanovic@60 53 }
idamnjanovic@60 54 }
idamnjanovic@60 55
idamnjanovic@60 56
idamnjanovic@60 57 /* verify that the mxArray contains a sparse matrix */
idamnjanovic@60 58
idamnjanovic@60 59 void checksparse(const mxArray *param, char *fname, char *pname)
idamnjanovic@60 60 {
idamnjanovic@60 61 char errmsg[100];
idamnjanovic@60 62 sprintf(errmsg, "%.15s requires that %.25s be sparse.", fname, pname);
idamnjanovic@60 63 if (!mxIsSparse(param)) {
idamnjanovic@60 64 mexErrMsgTxt(errmsg);
idamnjanovic@60 65 }
idamnjanovic@60 66 }
idamnjanovic@60 67
idamnjanovic@60 68
idamnjanovic@60 69 /* verify that the mxArray contains a 1-dimensional cell array */
idamnjanovic@60 70
idamnjanovic@60 71 void checkcell_1d(const mxArray *param, char *fname, char *pname)
idamnjanovic@60 72 {
idamnjanovic@60 73 char errmsg[100];
idamnjanovic@60 74 sprintf(errmsg, "%.15s requires that %.25s be a 1-D cell array.", fname, pname);
idamnjanovic@60 75 if (!mxIsCell(param) || mxGetNumberOfDimensions(param)>2 || (mxGetM(param)!=1 && mxGetN(param)!=1)) {
idamnjanovic@60 76 mexErrMsgTxt(errmsg);
idamnjanovic@60 77 }
idamnjanovic@60 78 }
idamnjanovic@60 79