Fixed signed/unsigned/size_t warnings in the Matlab toolbox

This commit is contained in:
Ray Speth 2012-01-20 23:14:12 +00:00
parent f23bb0365a
commit cea05ab5a5
9 changed files with 65 additions and 65 deletions

View file

@ -21,9 +21,9 @@ inline double getDouble(A* mxhndl) {
inline char* getString(const mxArray* p) {
char* input_buf = 0;
int status;
int m = mxGetM(p);
int n = mxGetN(p);
int buflen = m*n + 1;
size_t m = mxGetM(p);
size_t n = mxGetN(p);
mwSize buflen = (mwSize) (m*n + 1);
string msg;
if (m == 1) {

View file

@ -17,9 +17,9 @@ void funcmethods( int nlhs, mxArray *plhs[],
int n = getInt(prhs[3]);
if (type < 20) {
ptr = mxGetPr(prhs[4]);
int msize = mxGetM(prhs[4]);
int nsize = mxGetN(prhs[4]);
int lenp = msize*nsize;
size_t msize = mxGetM(prhs[4]);
size_t nsize = mxGetN(prhs[4]);
size_t lenp = msize*nsize;
nn = func_new(type, n, lenp, ptr);
}
else if (type < 45) {

View file

@ -24,7 +24,7 @@ void kineticsmethods( int nlhs, mxArray *plhs[],
int in2 = getInt(prhs[5]);
int in3 = getInt(prhs[6]);
int in4 = getInt(prhs[7]);
vv = newKineticsFromXML(root, iph, in1, in2, in3, in4);
vv = (double) newKineticsFromXML(root, iph, in1, in2, in3, in4);
plhs[0] = mxCreateNumericMatrix(1,1,mxDOUBLE_CLASS,mxREAL);
double *h = mxGetPr(plhs[0]);
*h = vv;
@ -48,15 +48,15 @@ void kineticsmethods( int nlhs, mxArray *plhs[],
switch (job) {
case 1:
vv = kin_nReactions(kin); break;
vv = (double) kin_nReactions(kin); break;
case 2:
vv = kin_multiplier(kin, irxn-1); break;
case 3:
vv = kin_nSpecies(kin); break;
vv = (double) kin_nSpecies(kin); break;
case 4:
vv = kin_isReversible(kin,irxn-1); break;
case 5:
vv = kin_reactantStoichCoeff(kin, isp - 1, irxn-1);
vv = kin_reactantStoichCoeff(kin, isp - 1, irxn-1);
break;
case 6:
vv = kin_productStoichCoeff(kin, isp - 1, irxn-1);
@ -72,7 +72,7 @@ void kineticsmethods( int nlhs, mxArray *plhs[],
else if (job < 20) {
// get reaction array attributes
int nr = kin_nReactions(kin);
mwSize nr = (mwSize) kin_nReactions(kin);
plhs[0] = mxCreateNumericMatrix(nr,1,mxDOUBLE_CLASS,mxREAL);
double *h = mxGetPr(plhs[0]);
int ok = -10;
@ -92,7 +92,7 @@ void kineticsmethods( int nlhs, mxArray *plhs[],
mexErrMsgTxt("error computing rates of progress");
}
else if (job < 30) {
int nsp = kin_nSpecies(kin);
mwSize nsp = (mwSize) kin_nSpecies(kin);
plhs[0] = mxCreateNumericMatrix(nsp,1,mxDOUBLE_CLASS,mxREAL);
double *h = mxGetPr(plhs[0]);
int ok = -10;

View file

@ -83,24 +83,24 @@ using namespace std;
else if (job < 40) {
switch (job) {
case 19:
r = mix_nPhases(i);
r = (double) mix_nPhases(i);
break;
case 21:
r = mix_nElements(i);
r = (double) mix_nElements(i);
break;
case 22:
checkNArgs(4, nrhs);
nm = getString(prhs[3]);
r = mix_elementIndex(i, nm)+1;
r = (double) mix_elementIndex(i, nm)+1;
break;
case 23:
checkNArgs(5, nrhs);
m = getInt(prhs[3]);
n = getInt(prhs[4]);
r = mix_speciesIndex(i, m-1, n-1)+1;
r = (double) mix_speciesIndex(i, m-1, n-1)+1;
break;
case 24:
r = mix_nSpecies(i);
r = (double) mix_nSpecies(i);
break;
case 25:
r = mix_temperature(i);
@ -145,7 +145,7 @@ using namespace std;
else if (job < 60) {
int iok = 0;
int nsp = mix_nSpecies(i);
mwSize nsp = (mwSize) mix_nSpecies(i);
double* x = new double[nsp];
switch (job) {
case 41:

View file

@ -17,7 +17,7 @@ void onedimmethods( int nlhs, mxArray *plhs[],
int nrhs, const mxArray *prhs[] ) {
double vv;
int job = getInt(prhs[2]);
int n, m;
size_t n, m;
double *dom_ids, *h;
int indx;
char *nm;
@ -27,7 +27,8 @@ void onedimmethods( int nlhs, mxArray *plhs[],
int idom, icomp, localPoint;
if (job < 10) {
int ph, kin, tr, itype, nd, sz, k, *ptrs;
int ph, kin, tr, itype, *ptrs;
size_t sz, nd;
switch (job) {
@ -80,16 +81,13 @@ void onedimmethods( int nlhs, mxArray *plhs[],
dom_ids = mxGetPr(prhs[4]);
m = mxGetM(prhs[4]);
n = mxGetN(prhs[4]);
if (m == 1)
sz = n;
else
sz = m;
sz = (m == 1) ? n : m;
if (sz != nd)
mexErrMsgTxt("wrong size for domain array");
ptrs = new int[sz];
//writelog("allocated ptrs\n");
for (k = 0; k < sz; k++) {
for (size_t k = 0; k < sz; k++) {
// writelog("k = ...\n");
ptrs[k] = int(dom_ids[k]);
}
@ -131,17 +129,17 @@ void onedimmethods( int nlhs, mxArray *plhs[],
vv = domain_del(dom); break;
case 11:
checkNArgs(3, nrhs);
vv = domain_nComponents(dom); break;
vv = (double) domain_nComponents(dom); break;
case 12:
checkNArgs(3, nrhs);
vv = domain_type(dom); break;
case 13:
checkNArgs(3, nrhs);
vv = domain_index(dom);
vv = (double) domain_index(dom);
if (vv >= 0.0) vv += 1.0; break;
case 14:
checkNArgs(3, nrhs);
vv = domain_nPoints(dom); break;
vv = (double) domain_nPoints(dom); break;
case 15:
checkNArgs(3, nrhs);
vv = bdry_temperature(dom); break;
@ -155,7 +153,7 @@ void onedimmethods( int nlhs, mxArray *plhs[],
case 18:
checkNArgs(4, nrhs);
nm = getString(prhs[3]);
vv = domain_componentIndex(dom, nm) ;
vv = (double) domain_componentIndex(dom, nm) ;
if (vv >= 0.0) vv += 1.0; break;
case 19:
checkNArgs(4, nrhs);
@ -213,12 +211,12 @@ void onedimmethods( int nlhs, mxArray *plhs[],
// set parameters
else {
int iok = -1;
double lower, upper, rtol, atol, *grid, *pos, *values,
mdot, t, p, val, *temp, ratio, slope, curve, tstep, *dts,
rdt, prune;
int npts, np, nv, comp, localPoint, idom,
size_t npts, np, nv;
int comp, localPoint, idom,
loglevel, refine_grid, n, flag, itime, ns, *nsteps, icount,
onoff, ss_age, ts_age;
char *xstr, *fname, *id, *desc, *name;
@ -273,9 +271,9 @@ void onedimmethods( int nlhs, mxArray *plhs[],
checkNArgs(5, nrhs);
pos = mxGetPr(prhs[3]);
temp = mxGetPr(prhs[4]);
n = mxGetM(prhs[3])*mxGetN(prhs[3]);
m = mxGetM(prhs[4])*mxGetN(prhs[4]);
iok = stflow_setFixedTempProfile(dom, n, pos, m, temp);
np = mxGetM(prhs[3])*mxGetN(prhs[3]);
nv = mxGetM(prhs[4])*mxGetN(prhs[4]);
iok = stflow_setFixedTempProfile(dom, np, pos, nv, temp);
break;
case 65:
checkNArgs(4, nrhs);

View file

@ -9,14 +9,15 @@
int nrhs, const mxArray *prhs[] )
{
double vv;
int iok=0, k, m;
int iok=0, k;
int ph = getInt(prhs[1]);
int job = getInt(prhs[2]);
bool ok = true;
char* input_buf;
double* ptr = 0;
int n, nsp, mjob, show_thermo;
size_t nsp, n, m;
int mjob, show_thermo;
// methods to set attributes
if (job < 0) {
@ -75,12 +76,13 @@
// set attributes from a string
else {
int buflen, status;
int status;
mwSize buflen;
char* input_buf;
if (mxIsChar(prhs[3]) == 1) {
if(mxGetM(prhs[3]) != 1)
mexErrMsgTxt("Input must be a row vector.");
buflen = (mxGetM(prhs[3]) * mxGetN(prhs[3])) + 1;
buflen = (mwSize) (mxGetM(prhs[3]) * mxGetN(prhs[3])) + 1;
input_buf = (char*)mxCalloc(buflen, sizeof(char));
status = mxGetString(prhs[3], input_buf, buflen);
if (status != 0)
@ -111,7 +113,7 @@
switch (job) {
case 0:
vv = newThermoFromXML(ph); break;
vv = (double) newThermoFromXML(ph); break;
// floating-point attributes
case 1:
vv = phase_temperature(ph); break;
@ -124,16 +126,16 @@
case 8:
vv = 1.0/phase_density(ph); break;
case 10:
vv = phase_nElements(ph); break;
vv = (double) phase_nElements(ph); break;
case 11:
vv = phase_nSpecies(ph); break;
vv = (double) phase_nSpecies(ph); break;
case 12:
input_buf = getString(prhs[3]);
vv = phase_speciesIndex(ph, input_buf) + 1;
vv = (double) phase_speciesIndex(ph, input_buf) + 1;
break;
case 13:
input_buf = getString(prhs[3]);
vv = phase_elementIndex(ph, input_buf) + 1;
vv = (double) phase_elementIndex(ph, input_buf) + 1;
break;
case 14:
k = getInt(prhs[3]);
@ -159,7 +161,7 @@
else if (job < 30) {
iok = 0;
int nsp = phase_nSpecies(ph);
size_t nsp = phase_nSpecies(ph);
double* x = new double[nsp];
switch (job) {
case 20:
@ -174,16 +176,16 @@
default:
;
}
plhs[0] = mxCreateNumericMatrix(nsp,1,
plhs[0] = mxCreateNumericMatrix((mwSize) nsp,1,
mxDOUBLE_CLASS,mxREAL);
double *h = mxGetPr(plhs[0]);
if (iok >= 0) {
for (int i = 0; i < nsp; i++) h[i] = x[i];
for (size_t i = 0; i < nsp; i++) h[i] = x[i];
delete x;
return;
}
else {
for (int i = 0; i < nsp; i++) h[i] = -999.99;
for (size_t i = 0; i < nsp; i++) h[i] = -999.99;
delete x;
mexErrMsgTxt("unknown attribute");
return;
@ -193,7 +195,7 @@
else if (job < 40) {
iok = 0;
int nel = phase_nElements(ph);
size_t nel = phase_nElements(ph);
double* x = new double[nel];
switch (job) {
case 30:
@ -202,16 +204,16 @@
default:
;
}
plhs[0] = mxCreateNumericMatrix(nel,1,
plhs[0] = mxCreateNumericMatrix((mwSize) nel,1,
mxDOUBLE_CLASS,mxREAL);
double *h = mxGetPr(plhs[0]);
if (iok >= 0) {
for (int i = 0; i < nel; i++) h[i] = x[i];
for (size_t i = 0; i < nel; i++) h[i] = x[i];
delete x;
return;
}
else {
for (int i = 0; i < nel; i++) h[i] = -999.99;
for (size_t i = 0; i < nel; i++) h[i] = -999.99;
delete x;
mexErrMsgTxt("unknown attribute");
return;

View file

@ -18,11 +18,11 @@ void surfmethods( int nlhs, mxArray *plhs[],
int nrhs, const mxArray *prhs[] ) {
double vv;
int job = getInt(prhs[2]);
int n, m, iok;
int iok;
double* ptr;
char* str;
int surf, nsp;
surf = getInt(prhs[1]);
size_t nsp, n, m;
int surf = getInt(prhs[1]);
// set parameters
if (job < 100) {
@ -81,16 +81,16 @@ void surfmethods( int nlhs, mxArray *plhs[],
default:
;
}
plhs[0] = mxCreateNumericMatrix(nsp,1,
plhs[0] = mxCreateNumericMatrix((mwSize) nsp,1,
mxDOUBLE_CLASS,mxREAL);
double *h = mxGetPr(plhs[0]);
if (iok >= 0) {
for (int i = 0; i < nsp; i++) h[i] = x[i];
for (size_t i = 0; i < nsp; i++) h[i] = x[i];
delete x;
return;
}
else {
for (int i = 0; i < nsp; i++) h[i] = -999.99;
for (size_t i = 0; i < nsp; i++) h[i] = -999.99;
delete x;
reportError();
return;

View file

@ -17,8 +17,8 @@ static void thermoset( int nlhs, mxArray *plhs[],
double* ptr = 0;
if (mxIsDouble(prhs[3]) == 1)
ptr = mxGetPr(prhs[3]);
int m = mxGetM(prhs[3]);
int n = mxGetN(prhs[3]);
size_t m = mxGetM(prhs[3]);
size_t n = mxGetN(prhs[3]);
bool ok = true;
@ -93,7 +93,7 @@ static void thermoget( int nlhs, mxArray *plhs[],
bool ok = true;
switch (job) {
case 0:
vv = newThermoFromXML(n); break;
vv = (double) newThermoFromXML(n); break;
case 2:
vv = th_enthalpy_mole(n); break;
case 3:
@ -160,7 +160,7 @@ static void thermoget( int nlhs, mxArray *plhs[],
else if (job < 50) {
int iok = 0;
int nsp = th_nSpecies(n);
size_t nsp = th_nSpecies(n);
double* x = new double[nsp];
switch (job) {
case 32:
@ -178,16 +178,16 @@ static void thermoget( int nlhs, mxArray *plhs[],
default:
;
}
plhs[0] = mxCreateNumericMatrix(nsp,1,
plhs[0] = mxCreateNumericMatrix((mwSize) nsp,1,
mxDOUBLE_CLASS,mxREAL);
double *h = mxGetPr(plhs[0]);
if (iok >= 0) {
for (int i = 0; i < nsp; i++) h[i] = x[i];
for (size_t i = 0; i < nsp; i++) h[i] = x[i];
delete x;
return;
}
else {
for (int i = 0; i < nsp; i++) h[i] = -999.99;
for (size_t i = 0; i < nsp; i++) h[i] = -999.99;
delete x;
mexErrMsgTxt("unknown attribute");
return;

View file

@ -20,7 +20,7 @@ void reportError();
char* model = getString(prhs[3]);
int loglevel = getInt(prhs[4]);
int m = -2;
m = newTransport(model, n, loglevel);
m = (int) newTransport(model, n, loglevel);
if (m < 0) reportError();
// Create matrix for the return argument.