--- imach/src/imach.c 2022/09/16 13:52:36 1.346 +++ imach/src/imach.c 2022/09/18 14:36:44 1.347 @@ -1,6 +1,9 @@ -/* $Id: imach.c,v 1.346 2022/09/16 13:52:36 brouard Exp $ +/* $Id: imach.c,v 1.347 2022/09/18 14:36:44 brouard Exp $ $State: Exp $ $Log: imach.c,v $ + Revision 1.347 2022/09/18 14:36:44 brouard + Summary: version 0.99r42 + Revision 1.346 2022/09/16 13:52:36 brouard * src/imach.c (Module): 0.99r41 Was an error when product of timevarying and fixed. Using FixedV[of name] now. Thank you Feinuo @@ -1352,12 +1355,12 @@ double gnuplotversion=GNUPLOTVERSION; #define ODIRSEPARATOR '\\' #endif -/* $Id: imach.c,v 1.346 2022/09/16 13:52:36 brouard Exp $ */ +/* $Id: imach.c,v 1.347 2022/09/18 14:36:44 brouard Exp $ */ /* $State: Exp $ */ #include "version.h" char version[]=__IMACH_VERSION__; char copyright[]="September 2022,INED-EUROREVES-Institut de longevite-Japan Society for the Promotion of Science (Grant-in-Aid for Scientific Research 25293121), Intel Software 2015-2020, Nihon University 2021-202, INED 2000-2022"; -char fullversion[]="$Revision: 1.346 $ $Date: 2022/09/16 13:52:36 $"; +char fullversion[]="$Revision: 1.347 $ $Date: 2022/09/18 14:36:44 $"; char strstart[80]; char optionfilext[10], optionfilefiname[FILENAMELENGTH]; int erreur=0, nberr=0, nbwarn=0; /* Error number, number of errors number of warnings */ @@ -8224,8 +8227,9 @@ void printinggnuplot(char fileresu[], ch fprintf(ficgp,"\nset ter pngcairo size 640, 480"); /* if(debugILK==1){ */ for(kf=1; kf <= ncovf; kf++){ /* For each simple dummy covariate of the model */ - kvar=Tvar[TvarFind[kf]]; /* variable */ - k=18+Tvar[TvarFind[kf]];/*offset because there are 18 columns in the ILK_ file */ + kvar=Tvar[TvarFind[kf]]; /* variable name */ + /* k=18+Tvar[TvarFind[kf]];/\*offset because there are 18 columns in the ILK_ file but could be placed else where *\/ */ + k=18+kf;/*offset because there are 18 columns in the ILK_ file */ for (i=1; i<= nlstate ; i ++) { fprintf(ficgp,"\nset out \"%s-p%dj-%d.png\";set ylabel \"Probability for each individual/wave\";",subdirf2(optionfilefiname,"ILK_"),i,kvar); fprintf(ficgp,"unset log;\n# For each simple dummy covariate of the model \n plot \"%s\"",subdirf(fileresilk)); @@ -10650,9 +10654,13 @@ int readdata(char datafile[], int firsto errno=0; lval=strtol(strb,&endptr,10); /* if (errno == ERANGE && (lval == LONG_MAX || lval == LONG_MIN))*/ - if( strb[0]=='\0' || (*endptr != '\0')){ - printf("Error reading data around '%s' at line number %d for individual %d, '%s'\nShould be a status of wave %d. Setting maxwav=%d might be wrong. Exiting.\n", strb, linei,i,line,j,maxwav); - fprintf(ficlog,"Error reading data around '%s' at line number %d for individual %d, '%s'\nShould be a status of wave %d. Setting maxwav=%d might be wrong. Exiting.\n", strb, linei,i,line,j,maxwav);fflush(ficlog); + if( strb[0]=='\0' || (*endptr != '\0' )){ + printf("Error reading data around '%s' at line number %d for individual %d, '%s'\nShould be a status of wave %d. Setting maxwav=%d might be wrong. Exiting.\n", strb, linei,i,line,j,maxwav); + fprintf(ficlog,"Error reading data around '%s' at line number %d for individual %d, '%s'\nShould be a status of wave %d. Setting maxwav=%d might be wrong. Exiting.\n", strb, linei,i,line,j,maxwav);fflush(ficlog); + return 1; + }else if( lval==0 || lval > nlstate+ndeath){ + printf("Error in data around '%s' at line number %d for individual %d, '%s'\n Should be a state at wave %d. A state should be 1 to %d and not %d.\n Fix your data file '%s'! Exiting.\n", strb, linei,i,line,j,nlstate+ndeath, lval, datafile);fflush(stdout); + fprintf(ficlog,"Error in data around '%s' at line number %d for individual %d, '%s'\n Should be a state at wave %d. A state should be 1 to %d and not %d.\n Fix your data file '%s'! Exiting.\n", strb, linei,i,line,j,nlstate+ndeath, lval, datafile); fflush(ficlog); return 1; } }