--- imach/src/imach.c 2022/04/11 15:57:42 1.313 +++ imach/src/imach.c 2022/04/13 17:43:09 1.314 @@ -1,6 +1,9 @@ -/* $Id: imach.c,v 1.313 2022/04/11 15:57:42 brouard Exp $ +/* $Id: imach.c,v 1.314 2022/04/13 17:43:09 brouard Exp $ $State: Exp $ $Log: imach.c,v $ + Revision 1.314 2022/04/13 17:43:09 brouard + * imach.c (Module): Adding link to text data files + Revision 1.313 2022/04/11 15:57:42 brouard * imach.c (Module): Error in rewriting the 'r' file with yearsfproj or yearsbproj fixed @@ -1174,12 +1177,12 @@ typedef struct { #define ODIRSEPARATOR '\\' #endif -/* $Id: imach.c,v 1.313 2022/04/11 15:57:42 brouard Exp $ */ +/* $Id: imach.c,v 1.314 2022/04/13 17:43:09 brouard Exp $ */ /* $State: Exp $ */ #include "version.h" char version[]=__IMACH_VERSION__; char copyright[]="March 2021,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, INED 2000-2021"; -char fullversion[]="$Revision: 1.313 $ $Date: 2022/04/11 15:57:42 $"; +char fullversion[]="$Revision: 1.314 $ $Date: 2022/04/13 17:43:09 $"; char strstart[80]; char optionfilext[10], optionfilefiname[FILENAMELENGTH]; int erreur=0, nberr=0, nbwarn=0; /* Error number, number of errors number of warnings */ @@ -1877,7 +1880,9 @@ char *subdirf(char fileres[]) /*************** function subdirf2 ***********/ char *subdirf2(char fileres[], char *preop) { - + /* Example subdirf2(optionfilefiname,"FB_") with optionfilefiname="texte", result="texte/FB_texte" + Errors in subdirf, 2, 3 while printing tmpout is + rewritten within the same printf. Workaround: many printfs /* Caution optionfilefiname is hidden */ strcpy(tmpout,optionfilefiname); strcat(tmpout,"/"); @@ -7089,8 +7094,10 @@ divided by h: hPij if(prevfcast==1){ /* Projection of prevalence up to period (forward stable) prevalence in each health state */ for(cpt=1; cpt<=nlstate;cpt++){ - fprintf(fichtm,"
\n- Projection of cross-sectional prevalence (estimated with cases observed from %.1f to %.1f and mobil_average=%d), from year %.1f up to year %.1f tending to period (stable) forward prevalence in state %d. Or probability to be in state %d being in an observed weighted state (from 1 to %d). %s_%d-%d-%d.svg
\ -", dateprev1, dateprev2, mobilavproj, dateprojd, dateprojf, cpt, cpt, nlstate, subdirf2(optionfilefiname,"PROJ_"),cpt,k1,nres,subdirf2(optionfilefiname,"PROJ_"),cpt,k1,nres,subdirf2(optionfilefiname,"PROJ_"),cpt,k1,nres); + fprintf(fichtm,"
\n- Projection of cross-sectional prevalence (estimated with cases observed from %.1f to %.1f and mobil_average=%d), from year %.1f up to year %.1f tending to period (stable) forward prevalence in state %d. Or probability to be in state %d being in an observed weighted state (from 1 to %d). %s_%d-%d-%d.svg", dateprev1, dateprev2, mobilavproj, dateprojd, dateprojf, cpt, cpt, nlstate, subdirf2(optionfilefiname,"PROJ_"),cpt,k1,nres,subdirf2(optionfilefiname,"PROJ_"),cpt,k1,nres); + fprintf(fichtm," (data from text file %s.txt)\n
",subdirf2(optionfilefiname,"F_"),subdirf2(optionfilefiname,"F_")); + fprintf(fichtm,"", + subdirf2(optionfilefiname,"PROJ_"),cpt,k1,nres); } } if(prevbcast==1){ @@ -7099,14 +7106,16 @@ divided by h: hPij fprintf(fichtm,"
\n- Back projection of cross-sectional prevalence (estimated with cases observed from %.1f to %.1f and mobil_average=%d), \ from year %.1f up to year %.1f (probably close to stable [mixed] back prevalence in state %d (randomness in cross-sectional prevalence is not taken into \ account but can visually be appreciated). Or probability to have been in an state %d, knowing that the person was in either state (1 or %d) \ -with weights corresponding to observed prevalence at different ages. %s_%d-%d-%d.svg
\ - ", dateprev1, dateprev2, mobilavproj, dateback1, dateback2, cpt, cpt, nlstate, subdirf2(optionfilefiname,"PROJB_"),cpt,k1,nres,subdirf2(optionfilefiname,"PROJB_"),cpt,k1,nres,subdirf2(optionfilefiname,"PROJB_"),cpt,k1,nres); +with weights corresponding to observed prevalence at different ages. %s_%d-%d-%d.svg", dateprev1, dateprev2, mobilavproj, dateback1, dateback2, cpt, cpt, nlstate, subdirf2(optionfilefiname,"PROJB_"),cpt,k1,nres,subdirf2(optionfilefiname,"PROJB_"),cpt,k1,nres); + fprintf(fichtm," (data from text file %s.txt)\n
",subdirf2(optionfilefiname,"FB_"),subdirf2(optionfilefiname,"FB_")); + fprintf(fichtm," ", subdirf2(optionfilefiname,"PROJB_"),cpt,k1,nres); } } for(cpt=1; cpt<=nlstate;cpt++) { - fprintf(fichtm,"\n
- Life expectancy by health state (%d) at initial age and its decomposition into health expectancies in each alive state (1 to %d) (or area under each survival functions): %s_%d-%d-%d.svg
\ -",cpt,nlstate,subdirf2(optionfilefiname,"EXP_"),cpt,k1,nres,subdirf2(optionfilefiname,"EXP_"),cpt,k1,nres,subdirf2(optionfilefiname,"EXP_"),cpt,k1,nres); + fprintf(fichtm,"\n
- Life expectancy by health state (%d) at initial age and its decomposition into health expectancies in each alive state (1 to %d) (or area under each survival functions): %s_%d-%d-%d.svg",cpt,nlstate,subdirf2(optionfilefiname,"EXP_"),cpt,k1,nres,subdirf2(optionfilefiname,"EXP_"),cpt,k1,nres); + fprintf(fichtm," (data from text file %s.txt)\n
",subdirf2(optionfilefiname,"E_"),subdirf2(optionfilefiname,"E_")); + fprintf(fichtm,"", subdirf2(optionfilefiname,"EXP_"),cpt,k1,nres ); } /* } /\* end i1 *\/ */ }/* End k1 */ @@ -7189,15 +7198,17 @@ See page 'Matrix of variance-covariance } for(cpt=1; cpt<=nlstate;cpt++) { fprintf(fichtm,"\n
- Observed (cross-sectional with mov_average=%d) and period (incidence based) \ -prevalence (with 95%% confidence interval) in state (%d): %s_%d-%d-%d.svg\n
\ -",mobilav,cpt,subdirf2(optionfilefiname,"V_"),cpt,k1,nres,subdirf2(optionfilefiname,"V_"),cpt,k1,nres,subdirf2(optionfilefiname,"V_"),cpt,k1,nres); +prevalence (with 95%% confidence interval) in state (%d): %s_%d-%d-%d.svg",mobilav,cpt,subdirf2(optionfilefiname,"V_"),cpt,k1,nres,subdirf2(optionfilefiname,"V_"),cpt,k1,nres); + fprintf(fichtm," (data from text file %s)\n
",subdirf2(fileresu,"VPL_"),subdirf2(fileresu,"VPL_")); + fprintf(fichtm,"",subdirf2(optionfilefiname,"V_"), cpt,k1,nres); } fprintf(fichtm,"\n
- Total life expectancy by age and \ -health expectancies in states (1) and (2). If popbased=1 the smooth (due to the model) \ +health expectancies in each live states (1 to %d). If popbased=1 the smooth (due to the model) \ true period expectancies (those weighted with period prevalences are also\ drawn in addition to the population based expectancies computed using\ - observed and cahotic prevalences: %s_%d-%d.svg\n
\ -",subdirf2(optionfilefiname,"E_"),k1,nres,subdirf2(optionfilefiname,"E_"),k1,nres,subdirf2(optionfilefiname,"E_"),k1,nres); + observed and cahotic prevalences: %s_%d-%d.svg",nlstate, subdirf2(optionfilefiname,"E_"),k1,nres,subdirf2(optionfilefiname,"E_"),k1,nres); + fprintf(fichtm," (data from text file %s.txt) \n
",subdirf2(optionfilefiname,"T_"),subdirf2(optionfilefiname,"T_")); + fprintf(fichtm,"",subdirf2(optionfilefiname,"E_"),k1,nres); /* } /\* end i1 *\/ */ }/* End k1 */ }/* End nres */ @@ -12559,15 +12570,19 @@ Please run with mle=-1 to get a correct goto end; } if(!decoderesult(resultline, nresult)){ /* Fills TKresult[nresult] combination and Tresult[nresult][k4+1] combination values */ - fprintf(ficparo,"result: %s\n",resultline); - fprintf(ficres,"result: %s\n",resultline); - fprintf(ficlog,"result: %s\n",resultline); + fprintf(ficparo,"result: %s\n",resultline); + fprintf(ficres,"result: %s\n",resultline); + fprintf(ficlog,"result: %s\n",resultline); } else goto end; break; case 14: printf("Error: Unknown command '%s'\n",line); fprintf(ficlog,"Error: Unknown command '%s'\n",line); + if(line[0] == ' ' || line[0] == '\n'){ + printf("It should not be an empty line '%s'\n",line); + fprintf(ficlog,"It should not be an empty line '%s'\n",line); + } if(ncovmodel >=2 && nresult==0 ){ printf("ERROR: no result lines! It should be at minimum 'result: V2=0 V1=1 or result:.' %s\n",line); fprintf(ficlog,"ERROR: no result lines! It should be at minimum 'result: V2=0 V1=1 or result:.' %s\n",line);