--- imach/src/imach.c 2019/05/22 17:56:10 1.297 +++ imach/src/imach.c 2019/05/22 19:09:45 1.300 @@ -1,6 +1,15 @@ -/* $Id: imach.c,v 1.297 2019/05/22 17:56:10 brouard Exp $ +/* $Id: imach.c,v 1.300 2019/05/22 19:09:45 brouard Exp $ $State: Exp $ $Log: imach.c,v $ + Revision 1.300 2019/05/22 19:09:45 brouard + Summary: version 0.99r19 of May 2019 + + Revision 1.299 2019/05/22 18:37:08 brouard + Summary: Cleaned 0.99r19 + + Revision 1.298 2019/05/22 18:19:56 brouard + *** empty log message *** + Revision 1.297 2019/05/22 17:56:10 brouard Summary: Fix bug by moving date2dmy and nhstepm which gaefin=-1 @@ -1110,12 +1119,12 @@ typedef struct { #define ODIRSEPARATOR '\\' #endif -/* $Id: imach.c,v 1.297 2019/05/22 17:56:10 brouard Exp $ */ +/* $Id: imach.c,v 1.300 2019/05/22 19:09:45 brouard Exp $ */ /* $State: Exp $ */ #include "version.h" char version[]=__IMACH_VERSION__; -char copyright[]="April 2018,INED-EUROREVES-Institut de longevite-Japan Society for the Promotion of Science (Grant-in-Aid for Scientific Research 25293121), Intel Software 2015-2018"; -char fullversion[]="$Revision: 1.297 $ $Date: 2019/05/22 17:56:10 $"; +char copyright[]="May 2019,INED-EUROREVES-Institut de longevite-Japan Society for the Promotion of Science (Grant-in-Aid for Scientific Research 25293121), Intel Software 2015-2020"; +char fullversion[]="$Revision: 1.300 $ $Date: 2019/05/22 19:09:45 $"; char strstart[80]; char optionfilext[10], optionfilefiname[FILENAMELENGTH]; int erreur=0, nberr=0, nbwarn=0; /* Error number, number of errors number of warnings */ @@ -5206,11 +5215,11 @@ void prevalence(double ***probs, double void concatwav(int wav[], int **dh, int **bh, int **mw, int **s, double *agedc, double **agev, int firstpass, int lastpass, int imx, int nlstate, int stepm) { - /* Concatenates waves: wav[i] is the number of effective (useful waves) of individual i. + /* Concatenates waves: wav[i] is the number of effective (useful waves in the sense that a non interview is useless) of individual i. Death is a valid wave (if date is known). mw[mi][i] is the mi (mi=1 to wav[i]) effective wave of individual i dh[m][i] or dh[mw[mi][i]][i] is the delay between two effective waves m=mw[mi][i] - and mw[mi+1][i]. dh depends on stepm. + and mw[mi+1][i]. dh depends on stepm. s[m][i] exists for any wave from firstpass to lastpass */ int i=0, mi=0, m=0, mli=0; @@ -12227,6 +12236,7 @@ Please run with mle=-1 to get a correct fputs(line,stdout); fputs(line,ficparo); fputs(line,ficlog); + fputs(line,ficres); continue; }else break; @@ -12272,6 +12282,7 @@ Please run with mle=-1 to get a correct fputs(line,stdout); fputs(line,ficparo); fputs(line,ficlog); + fputs(line,ficres); continue; }else break; @@ -12297,6 +12308,7 @@ Please run with mle=-1 to get a correct fputs(line,stdout); fputs(line,ficparo); fputs(line,ficlog); + fputs(line,ficres); continue; }else break; @@ -12330,6 +12342,7 @@ Please run with mle=-1 to get a correct fputs(line,stdout); fputs(line,ficparo); fputs(line,ficlog); + fputs(line,ficres); continue; }else if(sscanf(line,"prevforecast=%[^\n]\n",modeltemp)) parameterline=11; @@ -12353,7 +12366,9 @@ Please run with mle=-1 to get a correct prvforecast = 1; } else if((num_filled=sscanf(line,"prevforecast=%d yearsfproj=%lf mobil_average=%d\n",&prevfcast,&yrfproj,&mobilavproj)) !=EOF){/* && (num_filled == 3))*/ - printf(" Num_filled=%d, yearsfproj=%lf, mobil_average=%d\n",prevfcast,yrfproj,mobilavproj); + printf("prevforecast=%d yearsfproj=%lf mobil_average=%d\n",prevfcast,yrfproj,mobilavproj); + fprintf(ficlog,"prevforecast=%d yearsfproj=%lf mobil_average=%d\n",prevfcast,yrfproj,mobilavproj); + fprintf(ficres,"prevforecast=%d yearsfproj=%lf mobil_average=%d\n",prevfcast,yrfproj,mobilavproj); prvforecast = 2; } else { @@ -12374,7 +12389,9 @@ Please run with mle=-1 to get a correct prvbackcast = 1; } else if((num_filled=sscanf(line,"prevbackcast=%d yearsbproj=%lf mobil_average=%d\n",&prevbcast,&yrbproj,&mobilavproj)) ==3){/* && (num_filled == 3))*/ - printf(" Num_filled=%d, yearsbproj=%lf, mobil_average=%d\n",prevbcast,yrbproj,mobilavproj); + printf("prevbackcast=%d yearsbproj=%lf mobil_average=%d\n",prevbcast,yrbproj,mobilavproj); + fprintf(ficlog,"prevbackcast=%d yearsfproj=%lf mobil_average=%d\n",prevbcast,yrbproj,mobilavproj); + fprintf(ficres,"prevbackcast=%d yearsfproj=%lf mobil_average=%d\n",prevbcast,yrbproj,mobilavproj); prvbackcast = 2; } else { @@ -12383,22 +12400,6 @@ Please run with mle=-1 to get a correct goto end; } break; - /* /\*fscanf(ficpar,"backcast=%d starting-back-date=%lf/%lf/%lf final-back-date=%lf/%lf/%lf mobil_average=%d\n",&backcast,&jback1,&mback1,&anback1,&jback2,&mback2,&anback2,&mobilavproj);*\/ */ - /* if((num_filled=sscanf(line,"backcast=%d starting-back-date=%lf/%lf/%lf final-back-date=%lf/%lf/%lf mobil_average=%d\n",&backcast,&jback1,&mback1,&anback1,&jback2,&mback2,&anback2,&mobilavproj)) !=EOF){ */ - /* if (num_filled != 8) { */ - /* printf("Error: Not 8 (data)parameters in line but %d, for example:backcast=1 starting-back-date=1/1/1990 final-back-date=1/1/1970 mobil_average=1\n, your line=%s . Probably you are running an older format.\n",num_filled,line); */ - /* fprintf(ficlog,"Error: Not 8 (data)parameters in line but %d, for example:backcast=1 starting-back-date=1/1/1990 final-back-date=1/1/1970 mobil_average=1\n, your line=%s . Probably you are running an older format.\n",num_filled,line); */ - /* goto end; */ - /* } */ - /* printf("backcast=%d starting-back-date=%.lf/%.lf/%.lf final-back-date=%.lf/%.lf/%.lf mobil_average=%d\n",backcast,jback1,mback1,anback1,jback2,mback2,anback2,mobilavproj); */ - /* fprintf(ficparo,"backcast=%d starting-back-date=%.lf/%.lf/%.lf final-back-date=%.lf/%.lf/%.lf mobil_average=%d\n",backcast,jback1,mback1,anback1,jback2,mback2,anback2,mobilavproj); */ - /* fprintf(ficlog,"backcast=%d starting-back-date=%.lf/%.lf/%.lf final-back-date=%.lf/%.lf/%.lf mobil_average=%d\n",backcast,jback1,mback1,anback1,jback2,mback2,anback2,mobilavproj); */ - /* fprintf(ficres,"backcast=%d starting-back-date=%.lf/%.lf/%.lf final-back-date=%.lf/%.lf/%.lf mobil_average=%d\n",backcast,jback1,mback1,anback1,jback2,mback2,anback2,mobilavproj); */ - /* /\* day and month of proj2 are not used but only year anproj2.*\/ */ - /* dateback1=anback1+(mback1-1)/12.+(jback1-1)/365.; */ - /* dateback2=anback2+(mback2-1)/12.+(jback2-1)/365.; */ - /* } */ - /* break; */ case 13: if((num_filled=sscanf(line,"result:%[^\n]\n",resultline)) !=EOF){ if (num_filled == 0){