--- imach/src/imach.c 2006/03/20 09:45:41 1.122
+++ imach/src/imach.c 2006/03/22 17:13:53 1.124
@@ -1,6 +1,21 @@
-/* $Id: imach.c,v 1.122 2006/03/20 09:45:41 brouard Exp $
+/* $Id: imach.c,v 1.124 2006/03/22 17:13:53 lievre Exp $
$State: Exp $
$Log: imach.c,v $
+ Revision 1.124 2006/03/22 17:13:53 lievre
+ Parameters are printed with %lf instead of %f (more numbers after the comma).
+ The log-likelihood is printed in the log file
+
+ Revision 1.123 2006/03/20 10:52:43 brouard
+ * imach.c (Module):
changed, corresponds to .htm file
+ name. headers where missing.
+
+ * imach.c (Module): Weights can have a decimal point as for
+ English (a comma might work with a correct LC_NUMERIC environment,
+ otherwise the weight is truncated).
+ Modification of warning when the covariates values are not 0 or
+ 1.
+ Version 0.98g
+
Revision 1.122 2006/03/20 09:45:41 brouard
(Module): Weights can have a decimal point as for
English (a comma might work with a correct LC_NUMERIC environment,
@@ -346,11 +361,11 @@ extern int errno;
#define ODIRSEPARATOR '/'
#endif
-/* $Id: imach.c,v 1.122 2006/03/20 09:45:41 brouard Exp $ */
+/* $Id: imach.c,v 1.124 2006/03/22 17:13:53 lievre Exp $ */
/* $State: Exp $ */
char version[]="Imach version 0.98g, March 2006, INED-EUROREVES-Institut de longevite ";
-char fullversion[]="$Revision: 1.122 $ $Date: 2006/03/20 09:45:41 $";
+char fullversion[]="$Revision: 1.124 $ $Date: 2006/03/22 17:13:53 $";
char strstart[80];
char optionfilext[10], optionfilefiname[FILENAMELENGTH];
int erreur, nberr=0, nbwarn=0; /* Error number, number of errors number of warnings */
@@ -990,9 +1005,8 @@ void powell(double p[], double **xi, int
last_time=curr_time;
(void) gettimeofday(&curr_time,&tzp);
printf("\nPowell iter=%d -2*LL=%.12f %ld sec. %ld sec.",*iter,*fret, curr_time.tv_sec-last_time.tv_sec, curr_time.tv_sec-start_time.tv_sec);fflush(stdout);
- /* fprintf(ficlog,"\nPowell iter=%d -2*LL=%.12f %ld sec. %ld sec.",*iter,*fret, curr_time.tv_sec-last_time.tv_sec, curr_time.tv_sec-start_time.tv_sec);
- fprintf(ficrespow,"%d %.12f %ld",*iter,*fret,curr_time.tv_sec-start_time.tv_sec);
- */
+ fprintf(ficlog,"\nPowell iter=%d -2*LL=%.12f %ld sec. %ld sec.",*iter,*fret, curr_time.tv_sec-last_time.tv_sec, curr_time.tv_sec-start_time.tv_sec); fflush(ficlog);
+/* fprintf(ficrespow,"%d %.12f %ld",*iter,*fret,curr_time.tv_sec-start_time.tv_sec); */
for (i=1;i<=n;i++) {
printf(" %d %.12f",i, p[i]);
fprintf(ficlog," %d %.12lf",i, p[i]);
@@ -2083,6 +2097,7 @@ void freqsummary(char fileres[], int ia
for(i=iagemin; i <= iagemax+3; i++){
if(i==iagemax+3){
fprintf(ficlog,"Total");
+ fprintf(fichtm,"
Total
");
}else{
if(first==1){
first=0;
@@ -4568,6 +4583,7 @@ int main(int argc, char *argv[])
free_ma3x(delti3,1,nlstate,1, nlstate+ndeath-1,1,ncovmodel);
fclose (ficparo);
fclose (ficlog);
+ goto end;
exit(0);
}
else if(mle==-3) {
@@ -4598,7 +4614,9 @@ int main(int argc, char *argv[])
j++;
fscanf(ficpar,"%1d%1d",&i1,&j1);
if ((i1 != i) && (j1 != j)){
- printf("Error in line parameters number %d, %1d%1d instead of %1d%1d \n",numlinepar, i,j, i1, j1);
+ printf("Error in line parameters number %d, %1d%1d instead of %1d%1d \n \
+It might be a problem of design; if ncovcol and the model are correct\n \
+run imach with mle=-1 to get a correct template of the parameter file.\n",numlinepar, i,j, i1, j1);
exit(1);
}
fprintf(ficparo,"%1d%1d",i1,j1);
@@ -5143,13 +5161,13 @@ int main(int argc, char *argv[])
printf("Problem with %s \n",optionfilehtmcov), exit(0);
}
else{
- fprintf(fichtmcov,"\nIMaCh Cov %s\n %s
%s \
+ fprintf(fichtmcov,"\nIMaCh Cov %s\n %s
%s \
\n\
Title=%s
Datafile=%s Firstpass=%d Lastpass=%d Stepm=%d Weight=%d Model=%s
\n",\
- fileres,version,fullversion,title,datafile,firstpass,lastpass,stepm, weightopt, model);
+ optionfilehtmcov,version,fullversion,title,datafile,firstpass,lastpass,stepm, weightopt, model);
}
- fprintf(fichtm,"\nIMaCh %s\n %s
%s \
+ fprintf(fichtm,"\nIMaCh %s\n %s
%s \
\n\
Title=%s
Datafile=%s Firstpass=%d Lastpass=%d Stepm=%d Weight=%d Model=%s
\n\
\n\
@@ -5160,7 +5178,7 @@ Title=%s
Datafile=%s Firstpass=%d La
- Log file of the run: %s
\n\
- Gnuplot file name: %s
\n\
- Date and time at start: %s\n",\
- fileres,version,fullversion,title,datafile,firstpass,lastpass,stepm, weightopt, model,\
+ optionfilehtm,version,fullversion,title,datafile,firstpass,lastpass,stepm, weightopt, model,\
optionfilefiname,optionfilext,optionfilefiname,optionfilext,\
fileres,fileres,\
filelog,filelog,optionfilegnuplot,optionfilegnuplot,strstart);
@@ -5343,9 +5361,9 @@ Interval (in months) between two waves:
fprintf(ficlog,"%d%d ",i,k);
fprintf(ficres,"%1d%1d ",i,k);
for(j=1; j <=ncovmodel; j++){
- printf("%f ",p[jk]);
- fprintf(ficlog,"%f ",p[jk]);
- fprintf(ficres,"%f ",p[jk]);
+ printf("%lf ",p[jk]);
+ fprintf(ficlog,"%lf ",p[jk]);
+ fprintf(ficres,"%lf ",p[jk]);
jk++;
}
printf("\n");
@@ -5925,8 +5943,9 @@ Interval (in months) between two waves:
fprintf(ficlog,"Total time was %d Sec.\n", end_time.tv_sec -start_time.tv_sec);
/* printf("Total time was %d uSec.\n", total_usecs);*/
/* if(fileappend(fichtm,optionfilehtm)){ */
- fprintf(fichtm,"
Local time at start %s
Local time at end %s
",strstart, strtend);
+ fprintf(fichtm,"
Local time at start %s
Local time at end %s
\n",strstart, strtend);
fclose(fichtm);
+ fprintf(fichtmcov,"
Local time at start %s
Local time at end %s
\n",strstart, strtend);
fclose(fichtmcov);
fclose(ficgp);
fclose(ficlog);