From 953a40a75ad34592e0d12f4fb9bde3aff6cac7d0 Mon Sep 17 00:00:00 2001 From: "N. Brouard" Date: Sun, 18 Sep 2022 14:36:44 +0000 Subject: [PATCH] Summary: version 0.99r42 --- CMakeLists.txt | 2 +- src/imach.c | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4c64c04..b14b165 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ # SET (CMAKE_CONFIGURATION_TYPES "Debug;RelWithDebinfo" CACHE STRING "" FORCE) set(PACKAGE_NAME "imach") SET(IMACH_VERSION_MAJOR 0) -SET(IMACH_VERSION_MINOR 99r41) +SET(IMACH_VERSION_MINOR 99r42) SET(IMACH_VERSION_PATCH 0) SET(IMACH_VERSION_NOTE "") SET(IMACH_VERSION ${IMACH_VERSION_MAJOR}.${IMACH_VERSION_MINOR}) diff --git a/src/imach.c b/src/imach.c index a8ef9e9..65ad858 100644 --- a/src/imach.c +++ b/src/imach.c @@ -1,6 +1,9 @@ /* $Id$ $State$ $Log$ + 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 + Revision 1.345 2022/09/16 13:40:11 brouard Summary: Version 0.99r41 @@ -8221,8 +8224,9 @@ void printinggnuplot(char fileresu[], char optionfilefiname[], double ageminpar, 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)); @@ -10647,9 +10651,13 @@ int readdata(char datafile[], int firstobs, int lastobs, int *imax) 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; } } -- 2.43.0