| version 1.94, 2003/06/27 13:00:02 | version 1.97, 2004/02/20 13:25:42 | 
| Line 1 | Line 1 | 
 | /* $Id$ | /* $Id$ | 
 | $State$ | $State$ | 
 | $Log$ | $Log$ | 
 |  | Revision 1.97  2004/02/20 13:25:42  lievre | 
 |  | Version 0.96d. Population forecasting command line is (temporarily) | 
 |  | suppressed. | 
 |  |  | 
 |  | Revision 1.96  2003/07/15 15:38:55  brouard | 
 |  | * imach.c (Repository): Errors in subdirf, 2, 3 while printing tmpout is | 
 |  | rewritten within the same printf. Workaround: many printfs. | 
 |  |  | 
 |  | Revision 1.95  2003/07/08 07:54:34  brouard | 
 |  | * imach.c (Repository): | 
 |  | (Repository): Using imachwizard code to output a more meaningful covariance | 
 |  | matrix (cov(a12,c31) instead of numbers. | 
 |  |  | 
 | Revision 1.94  2003/06/27 13:00:02  brouard | Revision 1.94  2003/06/27 13:00:02  brouard | 
 | Just cleaning | Just cleaning | 
 |  |  | 
| Line 165 | Line 178 | 
 | #include <time.h> | #include <time.h> | 
 | #include "timeval.h" | #include "timeval.h" | 
 |  |  | 
 |  | /* #include <libintl.h> */ | 
 |  | /* #define _(String) gettext (String) */ | 
 |  |  | 
 | #define MAXLINE 256 | #define MAXLINE 256 | 
 | #define GNUPLOTPROGRAM "gnuplot" | #define GNUPLOTPROGRAM "gnuplot" | 
 | /*#define GNUPLOTPROGRAM "..\\gp37mgw\\wgnuplot"*/ | /*#define GNUPLOTPROGRAM "..\\gp37mgw\\wgnuplot"*/ | 
| Line 196 | Line 212 | 
 | /* $Id$ */ | /* $Id$ */ | 
 | /* $State$ */ | /* $State$ */ | 
 |  |  | 
| char version[]="Imach version 0.96b, June 2003, INED-EUROREVES "; | char version[]="Imach version 0.96d, February 2004, INED-EUROREVES "; | 
 | char fullversion[]="$Revision$ $Date$"; | char fullversion[]="$Revision$ $Date$"; | 
 | int erreur, nberr=0, nbwarn=0; /* Error number, number of errors number of warnings  */ | int erreur, nberr=0, nbwarn=0; /* Error number, number of errors number of warnings  */ | 
 | int nvar; | int nvar; | 
| Line 240  char fileresvpl[FILENAMELENGTH]; | Line 256  char fileresvpl[FILENAMELENGTH]; | 
 | char title[MAXLINE]; | char title[MAXLINE]; | 
 | char optionfile[FILENAMELENGTH], datafile[FILENAMELENGTH],  filerespl[FILENAMELENGTH]; | char optionfile[FILENAMELENGTH], datafile[FILENAMELENGTH],  filerespl[FILENAMELENGTH]; | 
 | char optionfilext[10], optionfilefiname[FILENAMELENGTH], plotcmd[FILENAMELENGTH]; | char optionfilext[10], optionfilefiname[FILENAMELENGTH], plotcmd[FILENAMELENGTH]; | 
| char tmpout[FILENAMELENGTH]; | char tmpout[FILENAMELENGTH],  tmpout2[FILENAMELENGTH]; | 
 | char command[FILENAMELENGTH]; | char command[FILENAMELENGTH]; | 
 | int  outcmd=0; | int  outcmd=0; | 
 |  |  | 
| Line 2291  void evsij(char fileres[], double ***eij | Line 2307  void evsij(char fileres[], double ***eij | 
 |  |  | 
 | hf=hstepm*stepm/YEARM;  /* Duration of hstepm expressed in year unit. */ | hf=hstepm*stepm/YEARM;  /* Duration of hstepm expressed in year unit. */ | 
 |  |  | 
| /* Computing Variances of health expectancies */ | /* Computing  Variances of health expectancies */ | 
 |  |  | 
 | for(theta=1; theta <=npar; theta++){ | for(theta=1; theta <=npar; theta++){ | 
 | for(i=1; i<=npar; i++){ | for(i=1; i<=npar; i++){ | 
| Line 2845  void varprob(char optionfilefiname[], do | Line 2861  void varprob(char optionfilefiname[], do | 
 | fprintf(fichtm,"\n<li><h4> Computing and drawing one step probabilities with their confidence intervals</h4></li>\n"); | fprintf(fichtm,"\n<li><h4> Computing and drawing one step probabilities with their confidence intervals</h4></li>\n"); | 
 | fprintf(fichtm,"\n"); | fprintf(fichtm,"\n"); | 
 |  |  | 
| fprintf(fichtm,"\n<li><h4> <a href=\"%s\">Computing matrix of variance-covariance of step probabilities</a></h4></li>\n",optionfilehtmcov); | fprintf(fichtm,"\n<li><h4> <a href=\"%s\">Matrix of variance-covariance of pairs of step probabilities (drawings)</a></h4></li>\n",optionfilehtmcov); | 
| fprintf(fichtmcov,"\n<h4>Computing matrix of variance-covariance of step probabilities</h4>\n\ | fprintf(fichtmcov,"\n<h4>Matrix of variance-covariance of pairs of step probabilities</h4>\n\ | 
 | file %s<br>\n",optionfilehtmcov); | file %s<br>\n",optionfilehtmcov); | 
 | fprintf(fichtmcov,"\nEllipsoids of confidence centered on point (p<inf>ij</inf>, p<inf>kl</inf>) are estimated\ | fprintf(fichtmcov,"\nEllipsoids of confidence centered on point (p<inf>ij</inf>, p<inf>kl</inf>) are estimated\ | 
 | and drawn. It helps understanding how is the covariance between two incidences.\ | and drawn. It helps understanding how is the covariance between two incidences.\ | 
| Line 2879  To be simple, these graphs help to under | Line 2895  To be simple, these graphs help to under | 
 | fprintf(ficgp, "**********\n#\n"); | fprintf(ficgp, "**********\n#\n"); | 
 |  |  | 
 |  |  | 
| fprintf(fichtm, "\n<hr  size=\"2\" color=\"#EC5E5E\">********** Variable "); | fprintf(fichtmcov, "\n<hr  size=\"2\" color=\"#EC5E5E\">********** Variable "); | 
 | for (z1=1; z1<=cptcoveff; z1++) fprintf(fichtm, "V%d=%d ",Tvaraff[z1],nbcode[Tvaraff[z1]][codtab[j1][z1]]); | for (z1=1; z1<=cptcoveff; z1++) fprintf(fichtm, "V%d=%d ",Tvaraff[z1],nbcode[Tvaraff[z1]][codtab[j1][z1]]); | 
| fprintf(fichtm, "**********\n<hr size=\"2\" color=\"#EC5E5E\">"); | fprintf(fichtmcov, "**********\n<hr size=\"2\" color=\"#EC5E5E\">"); | 
 |  |  | 
 | fprintf(ficresprobcor, "\n#********** Variable "); | fprintf(ficresprobcor, "\n#********** Variable "); | 
 | for (z1=1; z1<=cptcoveff; z1++) fprintf(ficresprobcor, "V%d=%d ",Tvaraff[z1],nbcode[Tvaraff[z1]][codtab[j1][z1]]); | for (z1=1; z1<=cptcoveff; z1++) fprintf(ficresprobcor, "V%d=%d ",Tvaraff[z1],nbcode[Tvaraff[z1]][codtab[j1][z1]]); | 
| Line 3090  void printinghtml(char fileres[], char t | Line 3106  void printinghtml(char fileres[], char t | 
 | double jprev1, double mprev1,double anprev1, \ | double jprev1, double mprev1,double anprev1, \ | 
 | double jprev2, double mprev2,double anprev2){ | double jprev2, double mprev2,double anprev2){ | 
 | int jj1, k1, i1, cpt; | int jj1, k1, i1, cpt; | 
 | /*char optionfilehtm[FILENAMELENGTH];*/ |  | 
 | /*   if((fichtm=fopen(optionfilehtm,"a"))==NULL)    { */ |  | 
 | /*     printf("Problem with %s \n",optionfilehtm), exit(0); */ |  | 
 | /*     fprintf(ficlog,"Problem with %s \n",optionfilehtm), exit(0); */ |  | 
 | /*   } */ |  | 
 |  |  | 
 | fprintf(fichtm,"<ul><li><h4>Result files (first order: no variance)</h4>\n \ | fprintf(fichtm,"<ul><li><h4>Result files (first order: no variance)</h4>\n \ | 
| - Observed prevalence in each state (during the period defined between %.lf/%.lf/%.lf and %.lf/%.lf/%.lf): <a href=\"%s\">%s</a> <br>\n \ | - Observed prevalence in each state (during the period defined between %.lf/%.lf/%.lf and %.lf/%.lf/%.lf): <a href=\"%s\">%s</a> <br>\n ", | 
| - Estimated transition probabilities over %d (stepm) months: <a href=\"%s\">%s</a><br>\n \ | jprev1, mprev1,anprev1,jprev2, mprev2,anprev2,subdirf2(fileres,"p"),subdirf2(fileres,"p")); | 
| - Stable prevalence in each health state: <a href=\"%s\">%s</a> <br>\n \ | fprintf(fichtm,"\ | 
|  | - Estimated transition probabilities over %d (stepm) months: <a href=\"%s\">%s</a><br>\n ", | 
|  | stepm,subdirf2(fileres,"pij"),subdirf2(fileres,"pij")); | 
|  | fprintf(fichtm,"\ | 
|  | - Stable prevalence in each health state: <a href=\"%s\">%s</a> <br>\n", | 
|  | subdirf2(fileres,"pl"),subdirf2(fileres,"pl")); | 
|  | fprintf(fichtm,"\ | 
 | - Life expectancies by age and initial health status (estepm=%2d months): \ | - Life expectancies by age and initial health status (estepm=%2d months): \ | 
| <a href=\"%s\">%s</a> <br>\n</li>", \ | <a href=\"%s\">%s</a> <br>\n</li>", | 
| jprev1, mprev1,anprev1,jprev2, mprev2,anprev2,subdirf2(fileres,"p"),subdirf2(fileres,"p"),\ |  | 
| stepm,subdirf2(fileres,"pij"),subdirf2(fileres,"pij"),\ |  | 
| subdirf2(fileres,"pl"),subdirf2(fileres,"pl"),\ |  | 
 | estepm,subdirf2(fileres,"e"),subdirf2(fileres,"e")); | estepm,subdirf2(fileres,"e"),subdirf2(fileres,"e")); | 
 |  |  | 
 | fprintf(fichtm," \n<ul><li><b>Graphs</b></li><p>"); | fprintf(fichtm," \n<ul><li><b>Graphs</b></li><p>"); | 
| Line 3138  fprintf(fichtm," \n<ul><li><b>Graphs</b> | Line 3152  fprintf(fichtm," \n<ul><li><b>Graphs</b> | 
 | fprintf(fichtm,"\n<br>- Health life expectancies by age and initial health state (%d): %s%d%d.png <br> \ | fprintf(fichtm,"\n<br>- Health life expectancies by age and initial health state (%d): %s%d%d.png <br> \ | 
 | <img src=\"%s%d%d.png\">",cpt,subdirf2(optionfilefiname,"exp"),cpt,jj1,subdirf2(optionfilefiname,"exp"),cpt,jj1); | <img src=\"%s%d%d.png\">",cpt,subdirf2(optionfilefiname,"exp"),cpt,jj1,subdirf2(optionfilefiname,"exp"),cpt,jj1); | 
 | } | } | 
 | fprintf(fichtm,"\n<br>- Total life expectancy by age and \ |  | 
 | health expectancies in states (1) and (2): %s%d.png<br>\ |  | 
 | <img src=\"%s%d.png\">",subdirf2(optionfilefiname,"e"),jj1,subdirf2(optionfilefiname,"e"),jj1); |  | 
 | } /* end i1 */ | } /* end i1 */ | 
 | }/* End k1 */ | }/* End k1 */ | 
 | fprintf(fichtm,"</ul>"); | fprintf(fichtm,"</ul>"); | 
 |  |  | 
 |  |  | 
| fprintf(fichtm,"\n<br><li><h4> Result files (second order: variances)</h4>\n\ | fprintf(fichtm,"\ | 
| - Parameter file with estimated parameters and covariance matrix: <a href=\"%s\">%s</a> <br>\n\ | \n<br><li><h4> Result files (second order: variances)</h4>\n\ | 
| - Variance of one-step probabilities: <a href=\"%s\">%s</a> <br>\n\ | - Parameter file with estimated parameters and covariance matrix: <a href=\"%s\">%s</a> <br>\n", rfileres,rfileres); | 
| - Variance-covariance of one-step probabilities: <a href=\"%s\">%s</a> <br>\n\ |  | 
| - Correlation matrix of one-step probabilities: <a href=\"%s\">%s</a> <br>\n\ | fprintf(fichtm," - Variance of one-step probabilities: <a href=\"%s\">%s</a> <br>\n", | 
| - Variances and covariances of life expectancies by age and initial health status (estepm=%d months): <a href=\"%s\">%s</a><br>\n\ | subdirf2(fileres,"prob"),subdirf2(fileres,"prob")); | 
| - Health expectancies with their variances (no covariance): <a href=\"%s\">%s</a> <br>\n\ | fprintf(fichtm,"\ | 
|  | - Variance-covariance of one-step probabilities: <a href=\"%s\">%s</a> <br>\n", | 
|  | subdirf2(fileres,"probcov"),subdirf2(fileres,"probcov")); | 
|  |  | 
|  | fprintf(fichtm,"\ | 
|  | - Correlation matrix of one-step probabilities: <a href=\"%s\">%s</a> <br>\n", | 
|  | subdirf2(fileres,"probcor"),subdirf2(fileres,"probcor")); | 
|  | fprintf(fichtm,"\ | 
|  | - Variances and covariances of life expectancies by age and initial health status (estepm=%d months): <a href=\"%s\">%s</a><br>\n", | 
|  | estepm, subdirf2(fileres,"v"),subdirf2(fileres,"v")); | 
|  | fprintf(fichtm,"\ | 
|  | - Health expectancies with their variances (no covariance): <a href=\"%s\">%s</a> <br>\n", | 
|  | subdirf2(fileres,"t"),subdirf2(fileres,"t")); | 
|  | fprintf(fichtm,"\ | 
 | - Standard deviation of stable prevalences: <a href=\"%s\">%s</a> <br>\n",\ | - Standard deviation of stable prevalences: <a href=\"%s\">%s</a> <br>\n",\ | 
 | rfileres,rfileres,\ |  | 
 | subdirf2(fileres,"prob"),subdirf2(fileres,"prob"),\ |  | 
 | subdirf2(fileres,"probcov"),subdirf2(fileres,"probcov"),\ |  | 
 | subdirf2(fileres,"probcor"),subdirf2(fileres,"probcor"),\ |  | 
 | estepm, subdirf2(fileres,"v"),subdirf2(fileres,"v"),\ |  | 
 | subdirf2(fileres,"t"),subdirf2(fileres,"t"),\ |  | 
 | subdirf2(fileres,"vpl"),subdirf2(fileres,"vpl")); | subdirf2(fileres,"vpl"),subdirf2(fileres,"vpl")); | 
 |  |  | 
 | /*  if(popforecast==1) fprintf(fichtm,"\n */ | /*  if(popforecast==1) fprintf(fichtm,"\n */ | 
| Line 3168  health expectancies in states (1) and (2 | Line 3186  health expectancies in states (1) and (2 | 
 | /*      <br>",fileres,fileres,fileres,fileres); */ | /*      <br>",fileres,fileres,fileres,fileres); */ | 
 | /*  else  */ | /*  else  */ | 
 | /*    fprintf(fichtm,"\n No population forecast: popforecast = %d (instead of 1) or stepm = %d (instead of 1) or model=%s (instead of .)<br><br></li>\n",popforecast, stepm, model); */ | /*    fprintf(fichtm,"\n No population forecast: popforecast = %d (instead of 1) or stepm = %d (instead of 1) or model=%s (instead of .)<br><br></li>\n",popforecast, stepm, model); */ | 
| fprintf(fichtm," <ul><li><b>Graphs</b></li><p>"); | fflush(fichtm); | 
|  | fprintf(fichtm," <ul><li><b>Graphs</b></li><p>"); | 
 |  |  | 
 | m=cptcoveff; | m=cptcoveff; | 
 | if (cptcovn < 1) {m=1;ncodemax[1]=1;} | if (cptcovn < 1) {m=1;ncodemax[1]=1;} | 
| Line 3184  fprintf(fichtm," <ul><li><b>Graphs</b></ | Line 3203  fprintf(fichtm," <ul><li><b>Graphs</b></ | 
 | fprintf(fichtm," ************\n<hr size=\"2\" color=\"#EC5E5E\">"); | fprintf(fichtm," ************\n<hr size=\"2\" color=\"#EC5E5E\">"); | 
 | } | } | 
 | for(cpt=1; cpt<=nlstate;cpt++) { | for(cpt=1; cpt<=nlstate;cpt++) { | 
| fprintf(fichtm,"<br>- Observed and period prevalence (with confident\ | fprintf(fichtm,"<br>- Observed (cross-sectional) and period (incidence based) \ | 
| interval) in state (%d): %s%d%d.png <br>\ | prevalence (with 95%% confidence interval) in state (%d): %s%d%d.png <br>\ | 
 | <img src=\"%s%d%d.png\">",cpt,subdirf2(optionfilefiname,"v"),cpt,jj1,subdirf2(optionfilefiname,"v"),cpt,jj1); | <img src=\"%s%d%d.png\">",cpt,subdirf2(optionfilefiname,"v"),cpt,jj1,subdirf2(optionfilefiname,"v"),cpt,jj1); | 
 | } | } | 
 |  | fprintf(fichtm,"\n<br>- Total life expectancy by age and \ | 
 |  | health expectancies in states (1) and (2): %s%d.png<br>\ | 
 |  | <img src=\"%s%d.png\">",subdirf2(optionfilefiname,"e"),jj1,subdirf2(optionfilefiname,"e"),jj1); | 
 | } /* end i1 */ | } /* end i1 */ | 
 | }/* End k1 */ | }/* End k1 */ | 
 | fprintf(fichtm,"</ul>"); | fprintf(fichtm,"</ul>"); | 
| Line 3842  void prwizard(int ncovmodel, int nlstate | Line 3864  void prwizard(int ncovmodel, int nlstate | 
 | } /* end k*/ | } /* end k*/ | 
 | } /*end j */ | } /*end j */ | 
 | } /* end i */ | } /* end i */ | 
| } | } /* end itimes */ | 
 |  |  | 
 | } /* end of prwizard */ | } /* end of prwizard */ | 
 |  |  | 
| Line 3855  int main(int argc, char *argv[]) | Line 3877  int main(int argc, char *argv[]) | 
 | { | { | 
 | int movingaverage(double ***probs, double bage,double fage, double ***mobaverage, int mobilav); | int movingaverage(double ***probs, double bage,double fage, double ***mobaverage, int mobilav); | 
 | int i,j, k, n=MAXN,iter,m,size=100,cptcode, cptcod; | int i,j, k, n=MAXN,iter,m,size=100,cptcode, cptcod; | 
| int jj, imk; | int jj, ll, li, lj, lk, imk; | 
 | int numlinepar=0; /* Current linenumber of parameter file */ | int numlinepar=0; /* Current linenumber of parameter file */ | 
 |  | int itimes; | 
 |  |  | 
 |  | char ca[32], cb[32], cc[32]; | 
 | /*  FILE *fichtm; *//* Html File */ | /*  FILE *fichtm; *//* Html File */ | 
 | /* FILE *ficgp;*/ /*Gnuplot File */ | /* FILE *ficgp;*/ /*Gnuplot File */ | 
 | double agedeb, agefin,hf; | double agedeb, agefin,hf; | 
| Line 3911  int main(int argc, char *argv[]) | Line 3936  int main(int argc, char *argv[]) | 
 |  |  | 
 | long total_usecs; | long total_usecs; | 
 |  |  | 
 |  | /*   setlocale (LC_ALL, ""); */ | 
 |  | /*   bindtextdomain (PACKAGE, LOCALEDIR); */ | 
 |  | /*   textdomain (PACKAGE); */ | 
 |  | /*   setlocale (LC_CTYPE, ""); */ | 
 |  | /*   setlocale (LC_MESSAGES, ""); */ | 
 |  |  | 
 | /*   gettimeofday(&start_time, (struct timezone*)0); */ /* at first time */ | /*   gettimeofday(&start_time, (struct timezone*)0); */ /* at first time */ | 
 | (void) gettimeofday(&start_time,&tzp); | (void) gettimeofday(&start_time,&tzp); | 
 | curr_time=start_time; | curr_time=start_time; | 
| Line 4457  int main(int argc, char *argv[]) | Line 4488  int main(int argc, char *argv[]) | 
 |  |  | 
 | }*/ | }*/ | 
 |  |  | 
 |  |  | 
 | printf("Total number of individuals= %d, Agemin = %.2f, Agemax= %.2f\n\n", imx, agemin, agemax); | printf("Total number of individuals= %d, Agemin = %.2f, Agemax= %.2f\n\n", imx, agemin, agemax); | 
 | fprintf(ficlog,"Total number of individuals= %d, Agemin = %.2f, Agemax= %.2f\n\n", imx, agemin, agemax); | fprintf(ficlog,"Total number of individuals= %d, Agemin = %.2f, Agemax= %.2f\n\n", imx, agemin, agemax); | 
 |  |  | 
| Line 4602  Interval (in months) between two waves: | Line 4634  Interval (in months) between two waves: | 
 | fprintf(ficres,"title=%s datafile=%s lastobs=%d firstpass=%d lastpass=%d\nftol=%e stepm=%d ncovcol=%d nlstate=%d ndeath=%d maxwav=%d mle= 0 weight=%d\nmodel=%s\n", title, datafile, lastobs, firstpass,lastpass,ftol, stepm, ncovcol, nlstate, ndeath, maxwav, weightopt,model); | fprintf(ficres,"title=%s datafile=%s lastobs=%d firstpass=%d lastpass=%d\nftol=%e stepm=%d ncovcol=%d nlstate=%d ndeath=%d maxwav=%d mle= 0 weight=%d\nmodel=%s\n", title, datafile, lastobs, firstpass,lastpass,ftol, stepm, ncovcol, nlstate, ndeath, maxwav, weightopt,model); | 
 |  |  | 
 |  |  | 
 | jk=1; |  | 
 | fprintf(ficres,"# Parameters nlstate*nlstate*ncov a12*1 + b12 * age + ...\n"); | fprintf(ficres,"# Parameters nlstate*nlstate*ncov a12*1 + b12 * age + ...\n"); | 
 | printf("# Parameters nlstate*nlstate*ncov a12*1 + b12 * age + ...\n"); | printf("# Parameters nlstate*nlstate*ncov a12*1 + b12 * age + ...\n"); | 
 | fprintf(ficlog,"# Parameters nlstate*nlstate*ncov a12*1 + b12 * age + ...\n"); | fprintf(ficlog,"# Parameters nlstate*nlstate*ncov a12*1 + b12 * age + ...\n"); | 
 | for(i=1,jk=1; i <=nlstate; i++){ | for(i=1,jk=1; i <=nlstate; i++){ | 
 | for(k=1; k <=(nlstate+ndeath); k++){ | for(k=1; k <=(nlstate+ndeath); k++){ | 
| if (k != i) | if (k != i) { | 
| { | printf("%d%d ",i,k); | 
| printf("%d%d ",i,k); | fprintf(ficlog,"%d%d ",i,k); | 
| fprintf(ficlog,"%d%d ",i,k); | fprintf(ficres,"%1d%1d ",i,k); | 
| fprintf(ficres,"%1d%1d ",i,k); | for(j=1; j <=ncovmodel; j++){ | 
| for(j=1; j <=ncovmodel; j++){ | printf("%f ",p[jk]); | 
| printf("%f ",p[jk]); | fprintf(ficlog,"%f ",p[jk]); | 
| fprintf(ficlog,"%f ",p[jk]); | fprintf(ficres,"%f ",p[jk]); | 
| fprintf(ficres,"%f ",p[jk]); | jk++; | 
| jk++; |  | 
| } |  | 
| printf("\n"); |  | 
| fprintf(ficlog,"\n"); |  | 
| fprintf(ficres,"\n"); |  | 
 | } | } | 
 |  | printf("\n"); | 
 |  | fprintf(ficlog,"\n"); | 
 |  | fprintf(ficres,"\n"); | 
 |  | } | 
 | } | } | 
 | } | } | 
 | if(mle!=0){ | if(mle!=0){ | 
| Line 4653  Interval (in months) between two waves: | Line 4683  Interval (in months) between two waves: | 
 | } | } | 
 |  |  | 
 | fprintf(ficres,"# Covariance matrix \n# 121 Var(a12)\n# 122 Cov(b12,a12) Var(b12)\n#   ...\n# 232 Cov(b23,a12)  Cov(b23,b12) ... Var (b23)\n"); | fprintf(ficres,"# Covariance matrix \n# 121 Var(a12)\n# 122 Cov(b12,a12) Var(b12)\n#   ...\n# 232 Cov(b23,a12)  Cov(b23,b12) ... Var (b23)\n"); | 
| if(mle==1) | if(mle>=1) | 
 | printf("# Covariance matrix \n# 121 Var(a12)\n# 122 Cov(b12,a12) Var(b12)\n#   ...\n# 232 Cov(b23,a12)  Cov(b23,b12) ... Var (b23)\n"); | printf("# Covariance matrix \n# 121 Var(a12)\n# 122 Cov(b12,a12) Var(b12)\n#   ...\n# 232 Cov(b23,a12)  Cov(b23,b12) ... Var (b23)\n"); | 
 | fprintf(ficlog,"# Covariance matrix \n# 121 Var(a12)\n# 122 Cov(b12,a12) Var(b12)\n#   ...\n# 232 Cov(b23,a12)  Cov(b23,b12) ... Var (b23)\n"); | fprintf(ficlog,"# Covariance matrix \n# 121 Var(a12)\n# 122 Cov(b12,a12) Var(b12)\n#   ...\n# 232 Cov(b23,a12)  Cov(b23,b12) ... Var (b23)\n"); | 
| for(i=1,k=1;i<=npar;i++){ | /* # 121 Var(a12)\n\ */ | 
| /*  if (k>nlstate) k=1; | /* # 122 Cov(b12,a12) Var(b12)\n\ */ | 
| i1=(i-1)/(ncovmodel*nlstate)+1; | /* # 131 Cov(a13,a12) Cov(a13,b12, Var(a13)\n\ */ | 
| fprintf(ficres,"%s%d%d",alph[k],i1,tab[i]); | /* # 132 Cov(b13,a12) Cov(b13,b12, Cov(b13,a13) Var(b13)\n\ */ | 
| printf("%s%d%d",alph[k],i1,tab[i]); | /* # 212 Cov(a21,a12) Cov(a21,b12, Cov(a21,a13) Cov(a21,b13) Var(a21)\n\ */ | 
| */ | /* # 212 Cov(b21,a12) Cov(b21,b12, Cov(b21,a13) Cov(b21,b13) Cov(b21,a21) Var(b21)\n\ */ | 
| fprintf(ficres,"%3d",i); | /* # 232 Cov(a23,a12) Cov(a23,b12, Cov(a23,a13) Cov(a23,b13) Cov(a23,a21) Cov(a23,b21) Var(a23)\n\ */ | 
| if(mle==1) | /* # 232 Cov(b23,a12) Cov(b23,b12) ... Var (b23)\n" */ | 
| printf("%3d",i); |  | 
| fprintf(ficlog,"%3d",i); |  | 
| for(j=1; j<=i;j++){ | /* Just to have a covariance matrix which will be more understandable | 
| fprintf(ficres," %.5e",matcov[i][j]); | even is we still don't want to manage dictionary of variables | 
| if(mle==1) | */ | 
| printf(" %.5e",matcov[i][j]); | for(itimes=1;itimes<=2;itimes++){ | 
| fprintf(ficlog," %.5e",matcov[i][j]); | jj=0; | 
| } | for(i=1; i <=nlstate; i++){ | 
| fprintf(ficres,"\n"); | for(j=1; j <=nlstate+ndeath; j++){ | 
| if(mle==1) | if(j==i) continue; | 
| printf("\n"); | for(k=1; k<=ncovmodel;k++){ | 
| fprintf(ficlog,"\n"); | jj++; | 
| k++; | ca[0]= k+'a'-1;ca[1]='\0'; | 
| } | if(itimes==1){ | 
|  | if(mle>=1) | 
|  | printf("#%1d%1d%d",i,j,k); | 
|  | fprintf(ficlog,"#%1d%1d%d",i,j,k); | 
|  | fprintf(ficres,"#%1d%1d%d",i,j,k); | 
|  | }else{ | 
|  | if(mle>=1) | 
|  | printf("%1d%1d%d",i,j,k); | 
|  | fprintf(ficlog,"%1d%1d%d",i,j,k); | 
|  | fprintf(ficres,"%1d%1d%d",i,j,k); | 
|  | } | 
|  | ll=0; | 
|  | for(li=1;li <=nlstate; li++){ | 
|  | for(lj=1;lj <=nlstate+ndeath; lj++){ | 
|  | if(lj==li) continue; | 
|  | for(lk=1;lk<=ncovmodel;lk++){ | 
|  | ll++; | 
|  | if(ll<=jj){ | 
|  | cb[0]= lk +'a'-1;cb[1]='\0'; | 
|  | if(ll<jj){ | 
|  | if(itimes==1){ | 
|  | if(mle>=1) | 
|  | printf(" Cov(%s%1d%1d,%s%1d%1d)",ca,i,j,cb, li,lj); | 
|  | fprintf(ficlog," Cov(%s%1d%1d,%s%1d%1d)",ca,i,j,cb, li,lj); | 
|  | fprintf(ficres," Cov(%s%1d%1d,%s%1d%1d)",ca,i,j,cb, li,lj); | 
|  | }else{ | 
|  | if(mle>=1) | 
|  | printf(" %.5e",matcov[jj][ll]); | 
|  | fprintf(ficlog," %.5e",matcov[jj][ll]); | 
|  | fprintf(ficres," %.5e",matcov[jj][ll]); | 
|  | } | 
|  | }else{ | 
|  | if(itimes==1){ | 
|  | if(mle>=1) | 
|  | printf(" Var(%s%1d%1d)",ca,i,j); | 
|  | fprintf(ficlog," Var(%s%1d%1d)",ca,i,j); | 
|  | fprintf(ficres," Var(%s%1d%1d)",ca,i,j); | 
|  | }else{ | 
|  | if(mle>=1) | 
|  | printf(" %.5e",matcov[jj][ll]); | 
|  | fprintf(ficlog," %.5e",matcov[jj][ll]); | 
|  | fprintf(ficres," %.5e",matcov[jj][ll]); | 
|  | } | 
|  | } | 
|  | } | 
|  | } /* end lk */ | 
|  | } /* end lj */ | 
|  | } /* end li */ | 
|  | if(mle>=1) | 
|  | printf("\n"); | 
|  | fprintf(ficlog,"\n"); | 
|  | fprintf(ficres,"\n"); | 
|  | numlinepar++; | 
|  | } /* end k*/ | 
|  | } /*end j */ | 
|  | } /* end i */ | 
|  | } /* end itimes */ | 
|  |  | 
|  | fflush(ficlog); | 
|  | fflush(ficres); | 
|  |  | 
 | while((c=getc(ficpar))=='#' && c!= EOF){ | while((c=getc(ficpar))=='#' && c!= EOF){ | 
 | ungetc(c,ficpar); | ungetc(c,ficpar); | 
 | fgets(line, MAXLINE, ficpar); | fgets(line, MAXLINE, ficpar); | 
| Line 4752  Interval (in months) between two waves: | Line 4841  Interval (in months) between two waves: | 
 | } | } | 
 | ungetc(c,ficpar); | ungetc(c,ficpar); | 
 |  |  | 
| fscanf(ficpar,"popforecast=%d popfile=%s popfiledate=%lf/%lf/%lf last-popfiledate=%lf/%lf/%lf\n",&popforecast,popfile,&jpyram,&mpyram,&anpyram,&jpyram1,&mpyram1,&anpyram1); | /*  fscanf(ficpar,"popforecast=%d popfile=%s popfiledate=%lf/%lf/%lf last-popfiledate=%lf/%lf/%lf\n",&popforecast,popfile,&jpyram,&mpyram,&anpyram,&jpyram1,&mpyram1,&anpyram1); | 
 | fprintf(ficparo,"popforecast=%d popfile=%s popfiledate=%.lf/%.lf/%.lf last-popfiledate=%.lf/%.lf/%.lf\n",popforecast,popfile,jpyram,mpyram,anpyram,jpyram1,mpyram1,anpyram1); | fprintf(ficparo,"popforecast=%d popfile=%s popfiledate=%.lf/%.lf/%.lf last-popfiledate=%.lf/%.lf/%.lf\n",popforecast,popfile,jpyram,mpyram,anpyram,jpyram1,mpyram1,anpyram1); | 
| fprintf(ficres,"popforecast=%d popfile=%s popfiledate=%.lf/%.lf/%.lf last-popfiledate=%.lf/%.lf/%.lf\n",popforecast,popfile,jpyram,mpyram,anpyram,jpyram1,mpyram1,anpyram1); | fprintf(ficres,"popforecast=%d popfile=%s popfiledate=%.lf/%.lf/%.lf last-popfiledate=%.lf/%.lf/%.lf\n",popforecast,popfile,jpyram,mpyram,anpyram,jpyram1,mpyram1,anpyram1);*/ | 
 |  |  | 
 | /*  freqsummary(fileres, agemin, agemax, s, agev, nlstate, imx,Tvaraff,nbcode, ncodemax,mint,anint);*/ | /*  freqsummary(fileres, agemin, agemax, s, agev, nlstate, imx,Tvaraff,nbcode, ncodemax,mint,anint);*/ | 
 | /*,dateprev1,dateprev2,jprev1, mprev1,anprev1,jprev2, mprev2,anprev2);*/ | /*,dateprev1,dateprev2,jprev1, mprev1,anprev1,jprev2, mprev2,anprev2);*/ | 
| Line 4893  Interval (in months) between two waves: | Line 4982  Interval (in months) between two waves: | 
 | fclose(ficrespij); | fclose(ficrespij); | 
 |  |  | 
 | probs= ma3x(1,AGESUP,1,NCOVMAX, 1,NCOVMAX); | probs= ma3x(1,AGESUP,1,NCOVMAX, 1,NCOVMAX); | 
 |  | for(i=1;i<=AGESUP;i++) | 
 |  | for(j=1;j<=NCOVMAX;j++) | 
 |  | for(k=1;k<=NCOVMAX;k++) | 
 |  | probs[i][j][k]=0.; | 
 |  |  | 
 | /*---------- Forecasting ------------------*/ | /*---------- Forecasting ------------------*/ | 
 | /*if((stepm == 1) && (strcmp(model,".")==0)){*/ | /*if((stepm == 1) && (strcmp(model,".")==0)){*/ | 
| Line 5089  ageminpar, agemax, s[lastpass][imx], age | Line 5182  ageminpar, agemax, s[lastpass][imx], age | 
 |  |  | 
 |  |  | 
 | if((nberr >0) || (nbwarn>0)){ | if((nberr >0) || (nbwarn>0)){ | 
| printf("End of Imach with %d errors and/or warnings %d\n",nberr,nbwarn); | printf("End of Imach with %d errors and/or %d warnings\n",nberr,nbwarn); | 
 | fprintf(ficlog,"End of Imach with %d errors and/or warnings %d\n",nberr,nbwarn); | fprintf(ficlog,"End of Imach with %d errors and/or warnings %d\n",nberr,nbwarn); | 
 | }else{ | }else{ | 
 | printf("End of Imach\n"); | printf("End of Imach\n"); |