/* $Id$
$State$
$Log$
+ Revision 1.87 2003/06/18 12:26:01 brouard
+ Version 0.96
+
Revision 1.86 2003/06/17 20:04:08 brouard
(Module): Change position of html and gnuplot routines and added
routine fileappend.
/* $Id$ */
/* $State$ */
-char version[]="Imach version 0.96, June 2003, INED-EUROREVES ";
+char version[]="Imach version 0.96a, June 2003, INED-EUROREVES ";
char fullversion[]="$Revision$ $Date$";
int erreur; /* Error number */
int nvar;
char title[MAXLINE];
char optionfile[FILENAMELENGTH], datafile[FILENAMELENGTH], filerespl[FILENAMELENGTH];
char optionfilext[10], optionfilefiname[FILENAMELENGTH], plotcmd[FILENAMELENGTH];
+char tmpout[FILENAMELENGTH];
+char command[FILENAMELENGTH];
+int outcmd=0;
char fileres[FILENAMELENGTH], filerespij[FILENAMELENGTH], filereso[FILENAMELENGTH], rfileres[FILENAMELENGTH];
+char lfileres[FILENAMELENGTH];
char filelog[FILENAMELENGTH]; /* Log file */
char filerest[FILENAMELENGTH];
char fileregp[FILENAMELENGTH];
ll[s[mw[mi][i]][i]] += 2*weight[i]*lli;
/* printf("i=%6d s1=%1d s2=%1d mi=%1d mw=%1d dh=%3d prob=%10.6f w=%6.4f out=%10.6f sav=%10.6f\n",i,s1,s2,mi,mw[mi][i],dh[mi][i],exp(lli),weight[i],out[s1][s2],savm[s1][s2]); */
if(globpr){
- fprintf(ficresilk,"%ld %6d %1d %1d %1d %1d %3d %10.6f %6.4f\
+ fprintf(ficresilk,"%9d %6d %1d %1d %1d %1d %3d %10.6f %6.4f\
%10.6f %10.6f %10.6f ", \
num[i],i,s1,s2,mi,mw[mi][i],dh[mi][i],exp(lli),weight[i],
2*weight[i]*lli,out[s1][s2],savm[s1][s2]);
return -l;
}
+char *subdirf(char fileres[])
+{
+
+ strcpy(tmpout,optionfilefiname);
+ strcat(tmpout,"/"); /* Add to the right */
+ strcat(tmpout,fileres);
+ return tmpout;
+}
+
+char *subdirf2(char fileres[], char *preop)
+{
+
+ strcpy(tmpout,optionfilefiname);
+ strcat(tmpout,"/");
+ strcat(tmpout,preop);
+ strcat(tmpout,fileres);
+ return tmpout;
+}
+char *subdirf3(char fileres[], char *preop, char *preop2)
+{
+
+ strcpy(tmpout,optionfilefiname);
+ strcat(tmpout,"/");
+ strcat(tmpout,preop);
+ strcat(tmpout,preop2);
+ strcat(tmpout,fileres);
+ return tmpout;
+}
void likelione(FILE *ficres,double p[], int npar, int nlstate, int *globpri, long *ipmx, double *sw, double *fretone, double (*funcone)(double []))
{
*/
int k;
- if(*globpri !=0){ /* Just counts and sums no printings */
+ if(*globpri !=0){ /* Just counts and sums, no printings */
strcpy(fileresilk,"ilk");
strcat(fileresilk,fileres);
if((ficresilk=fopen(fileresilk,"w"))==NULL) {
fprintf(ficlog,"Problem with resultfile: %s\n", fileresilk);
}
fprintf(ficresilk, "#individual(line's_record) s1 s2 wave# effective_wave# number_of_matrices_product pij weight -2ln(pij)*weight 0pij_x 0pij_(x-stepm) cumulating_loglikeli_by_health_state(reweighted=-2ll*weightXnumber_of_contribs/sum_of_weights) and_total\n");
- fprintf(ficresilk, "#num_i i s1 s2 mi mw dh likeli weight out sav ");
+ fprintf(ficresilk, "#num_i i s1 s2 mi mw dh likeli weight 2wlli out sav ");
/* i,s1,s2,mi,mw[mi][i],dh[mi][i],exp(lli),weight[i],2*weight[i]*lli,out[s1][s2],savm[s1][s2]); */
for(k=1; k<=nlstate; k++)
fprintf(ficresilk," -2*gipw/gsw*weight*ll[%d]++",k);
*fretone=(*funcone)(p);
if(*globpri !=0){
fclose(ficresilk);
- fprintf(fichtm,"\n<br>File of contributions to the likelihood: <a href=\"%s\">%s</a><br>\n",fileresilk,fileresilk);
+ fprintf(fichtm,"\n<br>File of contributions to the likelihood: <a href=\"%s\">%s</a><br>\n",subdirf(fileresilk),subdirf(fileresilk));
fflush(fichtm);
}
return;
}
+
/*********** Maximum Likelihood Estimation ***************/
void mlikeli(FILE *ficres,double p[], int npar, int ncovmodel, int nlstate, double ftol, double (*func)(double []))
fprintf(ficresprobmorprev," w%1d p%-d%-d",i,i,j);
}
fprintf(ficresprobmorprev,"\n");
- if((ficgp=fopen(optionfilegnuplot,"a"))==NULL) {
- printf("Problem with gnuplot file: %s\n", optionfilegnuplot);
- fprintf(ficlog,"Problem with gnuplot file: %s\n", optionfilegnuplot);
- exit(0);
- }
- else{
- fprintf(ficgp,"\n# Routine varevsij");
- }
-/* if((fichtm=fopen(optionfilehtm,"a"))==NULL) { */
-/* printf("Problem with html file: %s\n", optionfilehtm); */
-/* fprintf(ficlog,"Problem with html file: %s\n", optionfilehtm); */
-/* exit(0); */
-/* } */
-/* else{ */
+ fprintf(ficgp,"\n# Routine varevsij");
fprintf(fichtm,"\n<li><h4> Computing probabilities of dying over estepm months as a weighted average (i.e global mortality independent of initial healh state)</h4></li>\n");
fprintf(fichtm,"\n<br>%s <br>\n",digitp);
/* } */
/* fprintf(ficgp,"\n plot \"%s\" u 1:($3*%6.3f) not w l 1 ",fileresprobmorprev,YEARM/estepm); */
/* fprintf(ficgp,"\n replot \"%s\" u 1:(($3+1.96*$4)*%6.3f) t \"95\%% interval\" w l 2 ",fileresprobmorprev,YEARM/estepm); */
/* fprintf(ficgp,"\n replot \"%s\" u 1:(($3-1.96*$4)*%6.3f) not w l 2 ",fileresprobmorprev,YEARM/estepm); */
- fprintf(ficgp,"\n plot \"%s\" u 1:($3) not w l 1 ",fileresprobmorprev);
- fprintf(ficgp,"\n replot \"%s\" u 1:(($3+1.96*$4)) t \"95\%% interval\" w l 2 ",fileresprobmorprev);
- fprintf(ficgp,"\n replot \"%s\" u 1:(($3-1.96*$4)) not w l 2 ",fileresprobmorprev);
- fprintf(fichtm,"\n<br> File (multiple files are possible if covariates are present): <A href=\"%s\">%s</a>\n",fileresprobmorprev,fileresprobmorprev);
- fprintf(fichtm,"\n<br> Probability is computed over estepm=%d months. <br> <img src=\"varmuptjgr%s%s%s.png\"> <br>\n", estepm,digitp,optionfilefiname,digit);
+ fprintf(ficgp,"\n plot \"%s\" u 1:($3) not w l 1 ",subdirf(fileresprobmorprev));
+ fprintf(ficgp,"\n replot \"%s\" u 1:(($3+1.96*$4)) t \"95\%% interval\" w l 2 ",subdirf(fileresprobmorprev));
+ fprintf(ficgp,"\n replot \"%s\" u 1:(($3-1.96*$4)) not w l 2 ",subdirf(fileresprobmorprev));
+ fprintf(fichtm,"\n<br> File (multiple files are possible if covariates are present): <A href=\"%s\">%s</a>\n",subdirf(fileresprobmorprev),subdirf(fileresprobmorprev));
+ fprintf(fichtm,"\n<br> Probability is computed over estepm=%d months. <br> <img src=\"%s%s.png\"> <br>\n", estepm,subdirf3(optionfilefiname,"varmuptjgr",digitp),digit);
/* fprintf(fichtm,"\n<br> Probability is computed over estepm=%d months and then divided by estepm and multiplied by %.0f in order to have the probability to die over a year <br> <img src=\"varmuptjgr%s%s.png\"> <br>\n", stepm,YEARM,digitp,digit);
*/
- fprintf(ficgp,"\nset out \"varmuptjgr%s%s%s.png\";replot;",digitp,optionfilefiname,digit);
+/* fprintf(ficgp,"\nset out \"varmuptjgr%s%s%s.png\";replot;",digitp,optionfilefiname,digit); */
+ fprintf(ficgp,"\nset out \"%s%s.png\";replot;",digitp,subdirf3(optionfilefiname,"varmuptjgr",digitp),digit);
free_vector(xp,1,npar);
free_matrix(doldm,1,nlstate,1,nlstate);
free_matrix(varppt,nlstate+1,nlstate+ndeath,nlstate+1,nlstate+ndeath);
if (mobilav!=0) free_ma3x(mobaverage,1, AGESUP,1,NCOVMAX, 1,NCOVMAX);
fclose(ficresprobmorprev);
- fclose(ficgp);
-/* fclose(fichtm); */
+ fflush(ficgp);
+ fflush(fichtm);
} /* end varevsij */
/************ Variance of prevlim ******************/
mu=matrix(1,(nlstate)*(nlstate+ndeath), (int) bage, (int)fage);
varpij=ma3x(1,nlstate*(nlstate+ndeath),1,nlstate*(nlstate+ndeath),(int) bage, (int) fage);
first=1;
- if((ficgp=fopen(optionfilegnuplot,"a"))==NULL) {
- printf("Problem with gnuplot file: %s\n", optionfilegnuplot);
- fprintf(ficlog,"Problem with gnuplot file: %s\n", optionfilegnuplot);
- exit(0);
- }
- else{
- fprintf(ficgp,"\n# Routine varprob");
- }
-/* if((fichtm=fopen(optionfilehtm,"a"))==NULL) { */
-/* printf("Problem with html file: %s\n", optionfilehtm); */
-/* fprintf(ficlog,"Problem with html file: %s\n", optionfilehtm); */
-/* exit(0); */
-/* } */
-/* else{ */
- fprintf(fichtm,"\n<li><h4> Computing and drawing one step probabilities with their confidence intervals</h4></li>\n");
- fprintf(fichtm,"\n");
+ fprintf(ficgp,"\n# Routine varprob");
+ fprintf(fichtm,"\n<li><h4> Computing and drawing one step probabilities with their confidence intervals</h4></li>\n");
+ fprintf(fichtm,"\n");
- fprintf(fichtm,"\n<li><h4> Computing matrix of variance-covariance of step probabilities</h4></li>\n");
- fprintf(fichtm,"\nWe have drawn ellipsoids of confidence around the p<inf>ij</inf>, p<inf>kl</inf> to understand the covariance between two incidences. They are expressed in year<sup>-1</sup> in order to be less dependent of stepm.<br>\n");
- fprintf(fichtm,"\n<br> We have drawn x'cov<sup>-1</sup>x = 4 where x is the column vector (pij,pkl). It means that if pij and pkl where uncorrelated the (2X2) matrix would have been (1/(var pij), 0 , 0, 1/(var pkl)), and the confidence interval would be 2 standard deviations wide on each axis. <br> When both incidences are correlated we diagonalised the inverse of the covariance matrix and made the appropriate rotation.<br> \n");
-
-/* } */
+ fprintf(fichtm,"\n<li><h4> Computing matrix of variance-covariance of step probabilities</h4></li>\n");
+ fprintf(fichtm,"\nWe have drawn ellipsoids of confidence around the p<inf>ij</inf>, p<inf>kl</inf> to understand the covariance between two incidences. They are expressed in year<sup>-1</sup> in order to be less dependent of stepm.<br>\n");
+ fprintf(fichtm,"\n<br> We have drawn x'cov<sup>-1</sup>x = 4 where x is the column vector (pij,pkl). It means that if pij and pkl where uncorrelated the (2X2) matrix would have been (1/(var pij), 0 , 0, 1/(var pkl)), and the confidence interval would be 2 standard deviations wide on each axis. <br> When both incidences are correlated we diagonalised the inverse of the covariance matrix and made the appropriate rotation.<br> \n");
cov[1]=1;
tj=cptcoveff;
fprintf(ficgp,"\nset parametric;unset label");
fprintf(ficgp,"\nset log y;set log x; set xlabel \"p%1d%1d (year-1)\";set ylabel \"p%1d%1d (year-1)\"",k1,l1,k2,l2);
fprintf(ficgp,"\nset ter png small\nset size 0.65,0.65");
- fprintf(fichtm,"\n<br>Ellipsoids of confidence cov(p%1d%1d,p%1d%1d) expressed in year<sup>-1</sup> :<a href=\"varpijgr%s%d%1d%1d-%1d%1d.png\">varpijgr%s%d%1d%1d-%1d%1d.png</A>, ",k1,l1,k2,l2,optionfilefiname, j1,k1,l1,k2,l2,optionfilefiname, j1,k1,l1,k2,l2);
- fprintf(fichtm,"\n<br><img src=\"varpijgr%s%d%1d%1d-%1d%1d.png\"> ",optionfilefiname, j1,k1,l1,k2,l2);
+ fprintf(fichtm,"\n<br>Ellipsoids of confidence cov(p%1d%1d,p%1d%1d) expressed in year<sup>-1</sup>\
+ :<a href=\"%s%d%1d%1d-%1d%1d.png\">\
+%s%d%1d%1d-%1d%1d.png</A>, ",k1,l1,k2,l2,\
+ subdirf2(optionfilefiname,"varpijgr"), j1,k1,l1,k2,l2,\
+ subdirf2(optionfilefiname,"varpijgr"), j1,k1,l1,k2,l2);
+ fprintf(fichtm,"\n<br><img src=\"%s%d%1d%1d-%1d%1d.png\"> ",subdirf2(optionfilefiname,"varpijgr"), j1,k1,l1,k2,l2);
fprintf(fichtm,"\n<br> Correlation at age %d (%.3f),",(int) age, c12);
- fprintf(ficgp,"\nset out \"varpijgr%s%d%1d%1d-%1d%1d.png\"",optionfilefiname, j1,k1,l1,k2,l2);
+ fprintf(ficgp,"\nset out \"%s%d%1d%1d-%1d%1d.png\"",subdirf2(optionfilefiname,"varpijgr"), j1,k1,l1,k2,l2);
fprintf(ficgp,"\nset label \"%d\" at %11.3e,%11.3e center",(int) age, mu1,mu2);
fprintf(ficgp,"\n# Age %d, p%1d%1d - p%1d%1d",(int) age, k1,l1,k2,l2);
fprintf(ficgp,"\nplot [-pi:pi] %11.3e+ %.3f*(%11.3e*%11.3e*cos(t)+%11.3e*%11.3e*sin(t)), %11.3e +%.3f*(%11.3e*%11.3e*cos(t)+%11.3e*%11.3e*sin(t)) not",\
}/* if first */
} /* age mod 5 */
} /* end loop age */
- fprintf(ficgp,"\nset out \"varpijgr%s%d%1d%1d-%1d%1d.png\";replot;",optionfilefiname, j1,k1,l1,k2,l2);
+ fprintf(ficgp,"\nset out \"%s%d%1d%1d-%1d%1d.png\";replot;",subdirf2(optionfilefiname,"varpijgr"), j1,k1,l1,k2,l2);
first=1;
} /*l12 */
} /* k12 */
fclose(ficresprob);
fclose(ficresprobcov);
fclose(ficresprobcor);
- fclose(ficgp);
+ /* fclose(ficgp);*/
}
/* } */
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=\"p%s\">p%s</a> <br>\n \
- - Estimated transition probabilities over %d (stepm) months: <a href=\"pij%s\">pij%s</a><br>\n \
- - Stable prevalence in each health state: <a href=\"pl%s\">pl%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 \
+ - Stable prevalence in each health state: <a href=\"%s\">%s</a> <br>\n \
- Life expectancies by age and initial health status (estepm=%2d months): \
- <a href=\"e%s\">e%s</a> <br>\n</li>", \
- jprev1, mprev1,anprev1,jprev2, mprev2,anprev2,fileres,fileres,stepm,fileres,fileres,fileres,fileres,estepm,fileres,fileres);
+ <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"));
fprintf(fichtm," \n<ul><li><b>Graphs</b></li><p>");
fprintf(fichtm," ************\n<hr size=\"2\" color=\"#EC5E5E\">");
}
/* Pij */
- fprintf(fichtm,"<br>- Pij or Conditional probabilities to be observed in state j being in state i, %d (stepm) months before: pe%s%d1.png<br> \
-<img src=\"pe%s%d1.png\">",stepm,strtok(optionfile, "."),jj1,strtok(optionfile, "."),jj1);
+ fprintf(fichtm,"<br>- Pij or Conditional probabilities to be observed in state j being in state i, %d (stepm) months before: %s%d1.png<br> \
+<img src=\"%s%d1.png\">",stepm,subdirf2(optionfilefiname,"pe"),jj1,subdirf2(optionfilefiname,"pe"),jj1);
/* Quasi-incidences */
fprintf(fichtm,"<br>- Pij or Conditional probabilities to be observed in state j being in state i %d (stepm) months\
- before but expressed in per year i.e. quasi incidences if stepm is small and probabilities too: pe%s%d2.png<br> \
-<img src=\"pe%s%d2.png\">",stepm,strtok(optionfile, "."),jj1,strtok(optionfile, "."),jj1);
+ before but expressed in per year i.e. quasi incidences if stepm is small and probabilities too: %s%d2.png<br> \
+<img src=\"%s%d2.png\">",stepm,subdirf2(optionfilefiname,"pe"),jj1,subdirf2(optionfilefiname,"pe"),jj1);
/* Stable prevalence in each health state */
for(cpt=1; cpt<nlstate;cpt++){
fprintf(fichtm,"<br>- Stable prevalence in each health state : p%s%d%d.png<br> \
-<img src=\"p%s%d%d.png\">",strtok(optionfile, "."),cpt,jj1,strtok(optionfile, "."),cpt,jj1);
+<img src=\"%s%d%d.png\">",subdirf2(optionfilefiname,"p"),cpt,jj1,subdirf2(optionfilefiname,"p"),cpt,jj1);
}
for(cpt=1; cpt<=nlstate;cpt++) {
- fprintf(fichtm,"\n<br>- Health life expectancies by age and initial health state (%d): exp%s%d%d.png <br> \
-<img src=\"exp%s%d%d.png\">",cpt,strtok(optionfile, "."),cpt,jj1,strtok(optionfile, "."),cpt,jj1);
+ 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,"exo"),cpt,jj1,subdirf2(optionfilefiname,"exp"),cpt,jj1);
}
fprintf(fichtm,"\n<br>- Total life expectancy by age and \
-health expectancies in states (1) and (2): e%s%d.png<br>\
-<img src=\"e%s%d.png\">",strtok(optionfile, "."),jj1,strtok(optionfile, "."),jj1);
+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 k1 */
fprintf(fichtm,"</ul>");
fprintf(fichtm,"\n<br><li><h4> Result files (second order: variances)</h4>\n\
- Parameter file with estimated parameters and covariance matrix: <a href=\"%s\">%s</a> <br>\n\
- - Variance of one-step probabilities: <a href=\"prob%s\">prob%s</a> <br>\n\
- - Variance-covariance of one-step probabilities: <a href=\"probcov%s\">probcov%s</a> <br>\n\
- - Correlation matrix of one-step probabilities: <a href=\"probcor%s\">probcor%s</a> <br>\n\
- - Variances and covariances of life expectancies by age and initial health status (estepm=%d months): <a href=\"v%s\">v%s</a><br>\n\
- - Health expectancies with their variances (no covariance): <a href=\"t%s\">t%s</a> <br>\n\
- - Standard deviation of stable prevalences: <a href=\"vpl%s\">vpl%s</a> <br>\n",rfileres,rfileres,fileres,fileres,fileres,fileres,fileres,fileres, estepm, fileres,fileres,fileres,fileres,fileres,fileres);
+ - Variance of one-step probabilities: <a href=\"%s\">%s</a> <br>\n\
+ - 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\
+ - Variances and covariances of life expectancies by age and initial health status (estepm=%d months): <a href=\"%s\">%s</a><br>\n\
+ - Health expectancies with their variances (no covariance): <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"));
/* if(popforecast==1) fprintf(fichtm,"\n */
/* - Prevalences forecasting: <a href=\"f%s\">f%s</a> <br>\n */
}
for(cpt=1; cpt<=nlstate;cpt++) {
fprintf(fichtm,"<br>- Observed and period prevalence (with confident\
-interval) in state (%d): v%s%d%d.png <br>\
-<img src=\"v%s%d%d.png\">",cpt,strtok(optionfile, "."),cpt,jj1,strtok(optionfile, "."),cpt,jj1);
+interval) in state (%d): %s%d%d.png <br>\
+<img src=\"%s%d%d.png\">",cpt,subdirf2(optionfilefiname,"pe"),cpt,jj1,subdirf2(optionfilefiname,"pe"),cpt,jj1);
}
} /* end i1 */
}/* End k1 */
}
/******************* Gnuplot file **************/
-void printinggnuplot(char fileres[], double ageminpar, double agemaxpar, double fage , char pathc[], double p[]){
+void printinggnuplot(char fileres[], char optionfilefiname[], double ageminpar, double agemaxpar, double fage , char path[], double p[]){
+ char dirfileres[132],optfileres[132];
int m,cpt,k1,i,k,j,jk,k2,k3,ij,l;
int ng;
- if((ficgp=fopen(optionfilegnuplot,"a"))==NULL) {
- printf("Problem with file %s",optionfilegnuplot);
- fprintf(ficlog,"Problem with file %s",optionfilegnuplot);
- }
+/* if((ficgp=fopen(optionfilegnuplot,"a"))==NULL) { */
+/* printf("Problem with file %s",optionfilegnuplot); */
+/* fprintf(ficlog,"Problem with file %s",optionfilegnuplot); */
+/* } */
/*#ifdef windows */
- fprintf(ficgp,"cd \"%s\" \n",pathc);
+ fprintf(ficgp,"cd \"%s\" \n",path);
/*#endif */
-m=pow(2,cptcoveff);
-
+ m=pow(2,cptcoveff);
+
+ strcpy(dirfileres,optionfilefiname);
+ strcpy(optfileres,"vpl");
/* 1eme*/
for (cpt=1; cpt<= nlstate ; cpt ++) {
for (k1=1; k1<= m ; k1 ++) {
- fprintf(ficgp,"\nset out \"v%s%d%d.png\" \n",strtok(optionfile, "."),cpt,k1);
- fprintf(ficgp,"set xlabel \"Age\" \nset ylabel \"Probability\" \nset ter png small\nset size 0.65,0.65\nplot [%.f:%.f] \"vpl%s\" every :::%d::%d u 1:2 \"\%%lf",ageminpar,fage,fileres,k1-1,k1-1);
+ fprintf(ficgp,"\nset out \"%s%d%d.png\" \n",subdirf2(optionfilefiname,"v"),cpt,k1);
+ fprintf(ficgp,"\n#set out \"v%s%d%d.png\" \n",optionfilefiname,cpt,k1);
+ fprintf(ficgp,"set xlabel \"Age\" \n\
+set ylabel \"Probability\" \n\
+set ter png small\n\
+set size 0.65,0.65\n\
+plot [%.f:%.f] \"%s\" every :::%d::%d u 1:2 \"\%%lf",ageminpar,fage,subdirf2(fileres,"vpl"),k1-1,k1-1);
for (i=1; i<= nlstate ; i ++) {
if (i==cpt) fprintf(ficgp," \%%lf (\%%lf)");
else fprintf(ficgp," \%%*lf (\%%*lf)");
}
- fprintf(ficgp,"\" t\"Stable prevalence\" w l 0,\"vpl%s\" every :::%d::%d u 1:($2+1.96*$3) \"\%%lf",fileres,k1-1,k1-1);
+ fprintf(ficgp,"\" t\"Stable prevalence\" w l 0,\"%s\" every :::%d::%d u 1:($2+1.96*$3) \"\%%lf",subdirf2(fileres,"vpl"),k1-1,k1-1);
for (i=1; i<= nlstate ; i ++) {
if (i==cpt) fprintf(ficgp," \%%lf (\%%lf)");
else fprintf(ficgp," \%%*lf (\%%*lf)");
}
- fprintf(ficgp,"\" t\"95\%% CI\" w l 1,\"vpl%s\" every :::%d::%d u 1:($2-1.96*$3) \"\%%lf",fileres,k1-1,k1-1);
+ fprintf(ficgp,"\" t\"95\%% CI\" w l 1,\"%s\" every :::%d::%d u 1:($2-1.96*$3) \"\%%lf",subdirf2(fileres,"vpl"),k1-1,k1-1);
for (i=1; i<= nlstate ; i ++) {
if (i==cpt) fprintf(ficgp," \%%lf (\%%lf)");
else fprintf(ficgp," \%%*lf (\%%*lf)");
}
- fprintf(ficgp,"\" t\"\" w l 1,\"p%s\" every :::%d::%d u 1:($%d) t\"Observed prevalence \" w l 2",fileres,k1-1,k1-1,2+4*(cpt-1));
+ fprintf(ficgp,"\" t\"\" w l 1,\"%s\" every :::%d::%d u 1:($%d) t\"Observed prevalence \" w l 2",subdirf2(fileres,"p"),k1-1,k1-1,2+4*(cpt-1));
}
}
/*2 eme*/
for (k1=1; k1<= m ; k1 ++) {
- fprintf(ficgp,"\nset out \"e%s%d.png\" \n",strtok(optionfile, "."),k1);
+ fprintf(ficgp,"\nset out \"%s%d.png\" \n",subdirf2(optionfilefiname,"e"),k1);
fprintf(ficgp,"set ylabel \"Years\" \nset ter png small\nset size 0.65,0.65\nplot [%.f:%.f] ",ageminpar,fage);
for (i=1; i<= nlstate+1 ; i ++) {
k=2*i;
- fprintf(ficgp,"\"t%s\" every :::%d::%d u 1:2 \"\%%lf",fileres,k1-1,k1-1);
+ fprintf(ficgp,"\"%s\" every :::%d::%d u 1:2 \"\%%lf",subdirf2(fileres,"t"),k1-1,k1-1);
for (j=1; j<= nlstate+1 ; j ++) {
if (j==i) fprintf(ficgp," \%%lf (\%%lf)");
else fprintf(ficgp," \%%*lf (\%%*lf)");
}
if (i== 1) fprintf(ficgp,"\" t\"TLE\" w l ,");
else fprintf(ficgp,"\" t\"LE in state (%d)\" w l ,",i-1);
- fprintf(ficgp,"\"t%s\" every :::%d::%d u 1:($2-$3*2) \"\%%lf",fileres,k1-1,k1-1);
+ fprintf(ficgp,"\"%s\" every :::%d::%d u 1:($2-$3*2) \"\%%lf",subdirf2(fileres,"t"),k1-1,k1-1);
for (j=1; j<= nlstate+1 ; j ++) {
if (j==i) fprintf(ficgp," \%%lf (\%%lf)");
else fprintf(ficgp," \%%*lf (\%%*lf)");
}
fprintf(ficgp,"\" t\"\" w l 0,");
- fprintf(ficgp,"\"t%s\" every :::%d::%d u 1:($2+$3*2) \"\%%lf",fileres,k1-1,k1-1);
+ fprintf(ficgp,"\"%s\" every :::%d::%d u 1:($2+$3*2) \"\%%lf",subdirf2(fileres,"t"),k1-1,k1-1);
for (j=1; j<= nlstate+1 ; j ++) {
if (j==i) fprintf(ficgp," \%%lf (\%%lf)");
else fprintf(ficgp," \%%*lf (\%%*lf)");
for (k1=1; k1<= m ; k1 ++) {
for (cpt=1; cpt<= nlstate ; cpt ++) {
k=2+nlstate*(2*cpt-2);
- fprintf(ficgp,"\nset out \"exp%s%d%d.png\" \n",strtok(optionfile, "."),cpt,k1);
- fprintf(ficgp,"set ter png small\nset size 0.65,0.65\nplot [%.f:%.f] \"e%s\" every :::%d::%d u 1:%d t \"e%d1\" w l",ageminpar,fage,fileres,k1-1,k1-1,k,cpt);
+ fprintf(ficgp,"\nset out \"%s%d%d.png\" \n",subdirf2(optionfilefiname,"exp"),cpt,k1);
+ fprintf(ficgp,"set ter png small\n\
+set size 0.65,0.65\n\
+plot [%.f:%.f] \"%s\" every :::%d::%d u 1:%d t \"e%d1\" w l",ageminpar,fage,subdirf2(fileres,"e"),k1-1,k1-1,k,cpt);
/*fprintf(ficgp,",\"e%s\" every :::%d::%d u 1:($%d-2*$%d) \"\%%lf ",fileres,k1-1,k1-1,k,k+1);
for (i=1; i<= nlstate*2 ; i ++) fprintf(ficgp,"\%%lf (\%%lf) ");
fprintf(ficgp,"\" t \"e%d1\" w l",cpt);
*/
for (i=1; i< nlstate ; i ++) {
- fprintf(ficgp," ,\"e%s\" every :::%d::%d u 1:%d t \"e%d%d\" w l",fileres,k1-1,k1-1,k+2*i,cpt,i+1);
+ fprintf(ficgp," ,\"%s\" every :::%d::%d u 1:%d t \"e%d%d\" w l",subdirf2(fileres,"e"),k1-1,k1-1,k+2*i,cpt,i+1);
}
}
for (k1=1; k1<= m ; k1 ++) {
for (cpt=1; cpt<=nlstate ; cpt ++) {
k=3;
- fprintf(ficgp,"\nset out \"p%s%d%d.png\" \n",strtok(optionfile, "."),cpt,k1);
- fprintf(ficgp,"set xlabel \"Age\" \nset ylabel \"Probability\" \nset ter png small\nset size 0.65,0.65\nplot [%.f:%.f] \"pij%s\" u ($1==%d ? ($3):1/0):($%d/($%d",ageminpar,agemaxpar,fileres,k1,k+cpt+1,k+1);
+ fprintf(ficgp,"\nset out \"%s%d%d.png\" \n",subdirf2(optionfilefiname,"p"),cpt,k1);
+ fprintf(ficgp,"set xlabel \"Age\" \nset ylabel \"Probability\" \n\
+set ter png small\nset size 0.65,0.65\n\
+plot [%.f:%.f] \"%s\" u ($1==%d ? ($3):1/0):($%d/($%d",ageminpar,agemaxpar,subdirf2(fileres,"pij"),k1,k+cpt+1,k+1);
for (i=1; i< nlstate ; i ++)
fprintf(ficgp,"+$%d",k+i+1);
fprintf(ficgp,")) t\"prev(%d,%d)\" w l",cpt,cpt+1);
l=3+(nlstate+ndeath)*cpt;
- fprintf(ficgp,",\"pij%s\" u ($1==%d ? ($3):1/0):($%d/($%d",fileres,k1,l+cpt+1,l+1);
+ fprintf(ficgp,",\"%s\" u ($1==%d ? ($3):1/0):($%d/($%d",subdirf2(fileres,"pij"),k1,l+cpt+1,l+1);
for (i=1; i< nlstate ; i ++) {
l=3+(nlstate+ndeath)*cpt;
fprintf(ficgp,"+$%d",l+i+1);
for(ng=1; ng<=2;ng++){ /* Number of graphics: first is probabilities second is incidence per year*/
for(jk=1; jk <=m; jk++) {
- fprintf(ficgp,"\nset out \"pe%s%d%d.png\" \n",strtok(optionfile, "."),jk,ng);
+ fprintf(ficgp,"\nset out \"%s%d%d.png\" \n",subdirf2(optionfilefiname,"pe"),jk,ng);
if (ng==2)
fprintf(ficgp,"\nset ylabel \"Quasi-incidence per year\"\n");
else
} /* end k2 */
} /* end jk */
} /* end ng */
- fclose(ficgp);
+ fflush(ficgp);
} /* end gnuplot */
fflush(fichier);
return (1);
}
+void prwizard(int ncovmodel, int nlstate, int ndeath, char model[], FILE *ficparo)
+{
+
+ char ca[32], cb[32], cc[32];
+ int i,j, k, l, li, lj, lk, ll, jj, npar, itimes;
+ int numlinepar;
+
+ printf("# Parameters nlstate*nlstate*ncov a12*1 + b12 * age + ...\n");
+ fprintf(ficparo,"# Parameters nlstate*nlstate*ncov a12*1 + b12 * age + ...\n");
+ for(i=1; i <=nlstate; i++){
+ jj=0;
+ for(j=1; j <=nlstate+ndeath; j++){
+ if(j==i) continue;
+ jj++;
+ /*ca[0]= k+'a'-1;ca[1]='\0';*/
+ printf("%1d%1d",i,j);
+ fprintf(ficparo,"%1d%1d",i,j);
+ for(k=1; k<=ncovmodel;k++){
+ /* printf(" %lf",param[i][j][k]); */
+ /* fprintf(ficparo," %lf",param[i][j][k]); */
+ printf(" 0.");
+ fprintf(ficparo," 0.");
+ }
+ printf("\n");
+ fprintf(ficparo,"\n");
+ }
+ }
+ printf("# Scales (for hessian or gradient estimation)\n");
+ fprintf(ficparo,"# Scales (for hessian or gradient estimation)\n");
+ npar= (nlstate+ndeath-1)*nlstate*ncovmodel; /* Number of parameters*/
+ for(i=1; i <=nlstate; i++){
+ jj=0;
+ for(j=1; j <=nlstate+ndeath; j++){
+ if(j==i) continue;
+ jj++;
+ fprintf(ficparo,"%1d%1d",i,j);
+ printf("%1d%1d",i,j);
+ fflush(stdout);
+ for(k=1; k<=ncovmodel;k++){
+ /* printf(" %le",delti3[i][j][k]); */
+ /* fprintf(ficparo," %le",delti3[i][j][k]); */
+ printf(" 0.");
+ fprintf(ficparo," 0.");
+ }
+ numlinepar++;
+ printf("\n");
+ fprintf(ficparo,"\n");
+ }
+ }
+ printf("# Covariance matrix\n");
+/* # 121 Var(a12)\n\ */
+/* # 122 Cov(b12,a12) Var(b12)\n\ */
+/* # 131 Cov(a13,a12) Cov(a13,b12, Var(a13)\n\ */
+/* # 132 Cov(b13,a12) Cov(b13,b12, Cov(b13,a13) Var(b13)\n\ */
+/* # 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\ */
+/* # 232 Cov(a23,a12) Cov(a23,b12, Cov(a23,a13) Cov(a23,b13) Cov(a23,a21) Cov(a23,b21) Var(a23)\n\ */
+/* # 232 Cov(b23,a12) Cov(b23,b12) ... Var (b23)\n" */
+ fflush(stdout);
+ fprintf(ficparo,"# 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(itimes=1;itimes<=2;itimes++){
+ jj=0;
+ for(i=1; i <=nlstate; i++){
+ for(j=1; j <=nlstate+ndeath; j++){
+ if(j==i) continue;
+ for(k=1; k<=ncovmodel;k++){
+ jj++;
+ ca[0]= k+'a'-1;ca[1]='\0';
+ if(itimes==1){
+ printf("#%1d%1d%d",i,j,k);
+ fprintf(ficparo,"#%1d%1d%d",i,j,k);
+ }else{
+ printf("%1d%1d%d",i,j,k);
+ fprintf(ficparo,"%1d%1d%d",i,j,k);
+ /* printf(" %.5le",matcov[i][j]); */
+ }
+ 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){
+ printf(" Cov(%s%1d%1d,%s%1d%1d)",ca,i,j,cb, li,lj);
+ fprintf(ficparo," Cov(%s%1d%1d,%s%1d%1d)",ca,i,j,cb, li,lj);
+ }else{
+ printf(" 0.");
+ fprintf(ficparo," 0.");
+ }
+ }else{
+ if(itimes==1){
+ printf(" Var(%s%1d%1d)",ca,i,j);
+ fprintf(ficparo," Var(%s%1d%1d)",ca,i,j);
+ }else{
+ printf(" 0.");
+ fprintf(ficparo," 0.");
+ }
+ }
+ }
+ } /* end lk */
+ } /* end lj */
+ } /* end li */
+ printf("\n");
+ fprintf(ficparo,"\n");
+ numlinepar++;
+ } /* end k*/
+ } /*end j */
+ } /* end i */
+ }
+
+} /* end of prwizard */
+
/***********************************************/
/**************** Main Program *****************/
/***********************************************/
{
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 jj;
+ int jj, imk;
int numlinepar=0; /* Current linenumber of parameter file */
/* FILE *fichtm; *//* Html File */
/* FILE *ficgp;*/ /*Gnuplot File */
double ***mobaverage;
int *indx;
char line[MAXLINE], linepar[MAXLINE];
- char path[132],pathc[132],pathcd[132],pathtot[132],model[132];
+ char path[MAXLINE],pathc[MAXLINE],pathcd[MAXLINE],pathtot[MAXLINE],model[MAXLINE];
+ char pathr[MAXLINE];
int firstobs=1, lastobs=10;
int sdeb, sfin; /* Status at beginning and end */
int c, h , cpt,l;
char z[1]="c", occ;
char stra[80], strb[80], strc[80], strd[80],stre[80],modelsav[80];
- char *strt, *strtend;
+ char strstart[80], *strt, strtend[80];
char *stratrunc;
int lstra;
(void) gettimeofday(&start_time,&tzp);
tm = *localtime(&start_time.tv_sec);
tmg = *gmtime(&start_time.tv_sec);
- strt=asctime(&tm);
+ strcpy(strstart,asctime(&tm));
-/* printf("Localtime (at start)=%s",strt); */
+/* printf("Localtime (at start)=%s",strstart); */
/* tp.tv_sec = tp.tv_sec +86400; */
/* tm = *localtime(&start_time.tv_sec); */
/* tmg.tm_year=tmg.tm_year +dsign*dyear; */
/* tmg.tm_hour=tmg.tm_hour + 1; */
/* tp.tv_sec = mktime(&tmg); */
/* strt=asctime(&tmg); */
-/* printf("Time(after) =%s",strt); */
+/* printf("Time(after) =%s",strstart); */
/* (void) time (&time_value);
* printf("time=%d,t-=%d\n",time_value,time_value-86400);
* tm = *localtime(&time_value);
-* strt=asctime(&tm);
-* printf("tim_value=%d,asctime=%s\n",time_value,strt);
+* strstart=asctime(&tm);
+* printf("tim_value=%d,asctime=%s\n",time_value,strstart);
*/
getcwd(pathcd, size);
else{
strcpy(pathtot,argv[1]);
}
- /*if(getcwd(pathcd, 132)!= NULL)printf ("Error pathcd\n");*/
+ /*if(getcwd(pathcd, MAXLINE)!= NULL)printf ("Error pathcd\n");*/
/*cygwin_split_path(pathtot,path,optionfile);
printf("pathtot=%s, path=%s, optionfile=%s\n",pathtot,path,optionfile);*/
/* cutv(path,optionfile,pathtot,'\\');*/
split(pathtot,path,optionfile,optionfilext,optionfilefiname);
printf("pathtot=%s,\npath=%s,\noptionfile=%s \noptionfilext=%s \noptionfilefiname=%s\n",pathtot,path,optionfile,optionfilext,optionfilefiname);
chdir(path);
- replace(pathc,path);
+ strcpy(command,"mkdir ");
+ strcat(command,optionfilefiname);
+ if((outcmd=system(command)) != 0){
+ printf("Problem creating directory or it already exists %s%s, err=%d\n",path,optionfilefiname,outcmd);
+ /* fprintf(ficlog,"Problem creating directory %s%s\n",path,optionfilefiname); */
+ /* fclose(ficlog); */
+/* exit(1); */
+ }
+/* if((imk=mkdir(optionfilefiname))<0){ */
+/* perror("mkdir"); */
+/* } */
/*-------- arguments in the command line --------*/
fprintf(ficlog,"Log filename:%s\n",filelog);
fprintf(ficlog,"\n%s\n%s",version,fullversion);
fprintf(ficlog,"\nEnter the parameter file name: ");
- fprintf(ficlog,"pathtot=%s, path=%s, optionfile=%s optionfilext=%s optionfilefiname=%s\n",pathtot,path,optionfile,optionfilext,optionfilefiname);
-
- printf("Localtime (at start)=%s",strt);
- fprintf(ficlog,"Localtime (at start)=%s",strt);
+ fprintf(ficlog,"pathtot=%s\n\
+ path=%s \n\
+ optionfile=%s\n\
+ optionfilext=%s\n\
+ optionfilefiname=%s\n",pathtot,path,optionfile,optionfilext,optionfilefiname);
+
+ printf("Localtime (at start):%s",strstart);
+ fprintf(ficlog,"Localtime (at start): %s",strstart);
fflush(ficlog);
/* */
goto end;
}
+
+
strcpy(filereso,"o");
strcat(filereso,fileres);
- if((ficparo=fopen(filereso,"w"))==NULL) {
+ if((ficparo=fopen(filereso,"w"))==NULL) { /* opened on subdirectory */
printf("Problem with Output resultfile: %s\n", filereso);
fprintf(ficlog,"Problem with Output resultfile: %s\n", filereso);
fflush(ficlog);
ncovmodel=2+cptcovn; /*Number of variables = cptcovn + intercept + age */
nvar=ncovmodel-1; /* Suppressing age as a basic covariate */
-
+
+ if(mle==-1){ /* Print a wizard for help writing covariance matrix */
+ prwizard(ncovmodel, nlstate, ndeath, model, ficparo);
+ printf(" You choose mle=-1, look at file %s for a template of covariance matrix \n",filereso);
+ fprintf(ficlog," You choose mle=-1, look at file %s for a template of covariance matrix \n",filereso);
+ fclose (ficparo);
+ fclose (ficlog);
+ exit(0);
+ }
/* Read guess parameters */
/* Reads comments: lines beginning with '#' */
while((c=getc(ficpar))=='#' && c!= EOF){
fprintf(ficgp,"# %s\n", optionfilegnuplot);
fprintf(ficgp,"set missing 'NaNq'\n");
}
- fclose(ficgp);
+ /* fclose(ficgp);*/
/*--------- index.htm --------*/
strcpy(optionfilehtm,optionfilefiname);
- Date and time at start: %s</ul>\n",\
fileres,version,fullversion,title,datafile,firstpass,lastpass,stepm, weightopt,\
model,fileres,fileres,\
- filelog,filelog,optionfilegnuplot,optionfilegnuplot,strt);
+ filelog,filelog,optionfilegnuplot,optionfilegnuplot,strstart);
/*fclose(fichtm);*/
fflush(fichtm);
+ strcpy(pathr,path);
+ strcat(pathr,optionfilefiname);
+ chdir(optionfilefiname); /* Move to directory named optionfile */
+ strcpy(lfileres,fileres);
+ strcat(lfileres,"/");
+ strcat(lfileres,optionfilefiname);
+
+ /* replace(pathc,path);*/
+
/* Calculates basic frequencies. Computes observed prevalence at single age
and prints on file fileres'p'. */
freqsummary(fileres, agemin, agemax, s, agev, nlstate, imx,Tvaraff,nbcode, ncodemax,mint,anint);
-/* if((fichtm=fopen(optionfilehtm,"a"))==NULL) { */
-/* printf("Problem with file: %s\n", optionfilehtm); */
-/* fprintf(ficlog,"Problem with file: %s\n", optionfilehtm); */
-/* } */
-
-
-/* if(fileappend(fichtm, optionfilehtm)){ */
- fprintf(fichtm,"\n");
- fprintf(fichtm,"<br>Total number of observations=%d <br>\n\
+ fprintf(fichtm,"\n");
+ fprintf(fichtm,"<br>Total number of observations=%d <br>\n\
Youngest age at first (selected) pass %.2f, oldest age %.2f<br>\n\
Interval (in months) between two waves: Min=%d Max=%d Mean=%.2lf<br>\n",\
- imx,agemin,agemax,jmin,jmax,jmean);
-/* fclose(fichtm); */
-/* } */
-
- pmmij= matrix(1,nlstate+ndeath,1,nlstate+ndeath); /* creation */
+ imx,agemin,agemax,jmin,jmax,jmean);
+ pmmij= matrix(1,nlstate+ndeath,1,nlstate+ndeath); /* creation */
oldms= matrix(1,nlstate+ndeath,1,nlstate+ndeath); /* creation */
newms= matrix(1,nlstate+ndeath,1,nlstate+ndeath); /* creation */
savms= matrix(1,nlstate+ndeath,1,nlstate+ndeath); /* creation */
/* freqsummary(fileres, agemin, agemax, s, agev, nlstate, imx,Tvaraff,nbcode, ncodemax,mint,anint);*/
/*,dateprev1,dateprev2,jprev1, mprev1,anprev1,jprev2, mprev2,anprev2);*/
- printinggnuplot(fileres, ageminpar,agemaxpar,fage, pathc,p);
+ printinggnuplot(fileres, optionfilefiname,ageminpar,agemaxpar,fage, path,p);
printinghtml(fileres,title,datafile, firstpass, lastpass, stepm, weightopt,\
model,imx,jmin,jmax,jmean,rfileres,popforecast,estepm,\
jprev1,mprev1,anprev1,jprev2,mprev2,anprev2);
/*------------ free_vector -------------*/
- chdir(path);
+ /* chdir(path); */
free_ivector(wav,1,imx);
free_imatrix(dh,1,lastpass-firstpass+1,1,imx);
free_ivector(Tage,1,15);
free_ivector(Tcode,1,100);
- /* fclose(fichtm);*/
- /* fclose(ficgp);*/ /* ALready done */
+ fflush(fichtm);
+ fflush(ficgp);
if(erreur >0){
(void) gettimeofday(&end_time,&tzp);
tm = *localtime(&end_time.tv_sec);
tmg = *gmtime(&end_time.tv_sec);
- strtend=asctime(&tm);
- printf("Localtime at start %s and at end=%s",strt, strtend);
- fprintf(ficlog,"Localtime at start %s and at end=%s",strt, strtend);
+ strcpy(strtend,asctime(&tm));
+ printf("Localtime at start %s\nLocaltime at end %s",strstart, strtend);
+ fprintf(ficlog,"Localtime at start %s\nLocal time at end %s",strstart, strtend);
/* printf("Total time used %d Sec\n", asc_time(end_time.tv_sec -start_time.tv_sec);*/
printf("Total time was %d Sec. %d uSec.\n", end_time.tv_sec -start_time.tv_sec, end_time.tv_usec -start_time.tv_usec);
fprintf(ficlog,"Total time was %d Sec. %d uSec.\n", end_time.tv_sec -start_time.tv_sec, end_time.tv_usec -start_time.tv_usec);
/* printf("Total time was %d uSec.\n", total_usecs);*/
/* if(fileappend(fichtm,optionfilehtm)){ */
- fprintf(fichtm,"<br>Localtime at start %s and at end=%s<br>",strt, strtend);
+ fprintf(fichtm,"<br>Local time at start %s<br>Local time at end %s<br>",strstart, strtend);
fclose(fichtm);
+ fclose(ficgp);
/*------ End -----------*/
end:
#ifdef windows
/* chdir(pathcd);*/
#endif
+ chdir(path);
/*system("wgnuplot graph.plt");*/
/*system("../gp37mgw/wgnuplot graph.plt");*/
/*system("cd ../gp37mgw");*/
}
+