\r
k=1; /* For example stepm=6 months */\r
hstepm=k*YEARM; /* (a) Every k years of age (in months), for example every k=2 years 24 m */\r
- hstepm=1; /* or (b) We decided to compute the life expectancy with the smallest unit */\r
+ hstepm=stepm; /* or (b) We decided to compute the life expectancy with the smallest unit */\r
/* hstepm beeing the number of stepms, if hstepm=1 the length of hstepm is stepm. \r
nhstepm is the number of hstepm from age to agelim \r
nstepm is the number of stepm from age to agelin. \r
Look at hpijx to understand the reason of that which relies in memory size\r
and note for a fixed period like k years */\r
/* We decided (b) to get a life expectancy respecting the most precise curvature of the\r
- survival function given par stepm (the optimization length). Unfortunately it\r
+ survival function given by stepm (the optimization length). Unfortunately it\r
means that if the survival funtion is printed only each two years of age and if\r
you sum them up and add 1 year (area under the trapezoids) you won't get the same \r
results. So we changed our mind and took the option of the best precision.\r
/* Computed by stepm unit matrices, product of hstepm matrices, stored\r
in an array of nhstepm length: nhstepm=10, hstepm=4, stepm=6 months */\r
hpxij(p3mat,nhstepm,age,hstepm,x,nlstate,stepm,oldm, savm, ij); \r
- hf=hstepm/YEARM; /* Duration of hstepm expressed in year unit. */\r
+ hf=hstepm*stepm/YEARM; /* Duration of hstepm expressed in year unit. */\r
for(i=1; i<=nlstate;i++)\r
for(j=1; j<=nlstate;j++)\r
for (h=0, eij[i][j][(int)age]=0; h<=nhstepm-1; h++){\r
printf("Problem with %s \n",optionfilehtm), exit(0);\r
}\r
\r
- fprintf(fichtm,"<body><ul> <font size=\"6\">Imach, Version 0.71a </font> <hr size=\"2\" color=\"#EC5E5E\"> \r
+ fprintf(fichtm,"<body><ul> <font size=\"6\">Imach, Version 0.71c </font> <hr size=\"2\" color=\"#EC5E5E\"> \r
Title=%s <br>Datafile=%s Firstpass=%d Lastpass=%d Stepm=%d Weight=%d Model=%s<br>\r
\r
Total number of observations=%d <br>\r
double dateprev1, dateprev2,jproj1,mproj1,anproj1,jproj2,mproj2,anproj2;\r
\r
\r
- char version[80]="Imach version 0.71a, March 2002, INED-EUROREVES ";\r
+ char version[80]="Imach version 0.71c, March 2002, INED-EUROREVES ";\r
char *alph[]={"a","a","b","c","d","e"}, str[4];\r
\r
\r
\r
\r
/*---------- Forecasting ------------------*/\r
- if((stepm == 1) && (model==".")){\r
+ if((stepm == 1) && (strcmp(model,".")==0)){\r
prevforecast(fileres, anproj1,mproj1,jproj1, agemin,agemax, dateprev1, dateprev2,mobilav, agedeb, fage, popforecast, popfile, anproj2,p, i1);\r
-if (popforecast==1) populforecast(fileres, anpyram,mpyram,jpyram, agemin,agemax, dateprev1, dateprev2,mobilav, agedeb, fage, popforecast, popfile, anpyram1,p, i1);\r
+ if (popforecast==1) populforecast(fileres, anpyram,mpyram,jpyram, agemin,agemax, dateprev1, dateprev2,mobilav, agedeb, fage, popforecast, popfile, anpyram1,p, i1);\r
free_matrix(mint,1,maxwav,1,n);\r
free_matrix(anint,1,maxwav,1,n); free_imatrix(s,1,maxwav+1,1,n);\r
free_vector(weight,1,n);}\r
else{\r
erreur=108;\r
- printf("Error %d!! You can only forecast the prevalences if the optimization\n has been performed with stepm = 1 (month) instead of %d\n", erreur, stepm);\r
+ printf("Warning %d!! You can only forecast the prevalences if the optimization\n has been performed with stepm = 1 (month) instead of %d or model=. instead of '%s'\n", erreur, stepm, model);\r
}\r
\r
\r