--- imach/src/imach.c 2002/07/24 09:07:45 1.54 +++ imach/src/imach.c 2002/07/24 17:28:25 1.56 @@ -1,4 +1,4 @@ -/* $Id: imach.c,v 1.54 2002/07/24 09:07:45 brouard Exp $ +/* $Id: imach.c,v 1.56 2002/07/24 17:28:25 lievre Exp $ Interpolated Markov Chain Short summary of the programme: @@ -60,7 +60,7 @@ /*#define GNUPLOTPROGRAM "..\\gp37mgw\\wgnuplot"*/ #define FILENAMELENGTH 80 /*#define DEBUG*/ -#define unix +#define windows #define GLOCK_ERROR_NOPATH -1 /* empty path */ #define GLOCK_ERROR_GETCWD -2 /* cannot get cwd */ @@ -163,7 +163,7 @@ int estepm; int m,nb; int *num, firstpass=0, lastpass=4,*cod, *ncodemax, *Tage; double **agev,*moisnais, *annais, *moisdc, *andc,**mint, **anint; -double **pmmij, ***probs, ***mobaverage; +double **pmmij, ***probs; double dateintmean=0; double *weight; @@ -1819,18 +1819,18 @@ void varevsij(char optionfilefiname[], d double ***mobaverage; int theta; char digit[4]; - char digitp[16]; + char digitp[25]; char fileresprobmorprev[FILENAMELENGTH]; - if(popbased==1) - strcpy(digitp,"-populbased-"); - else + if(popbased==1){ + if(mobilav==1) + strcpy(digitp,"-populbased-mobilav-"); + else strcpy(digitp,"-populbased-nomobil-"); + } + else strcpy(digitp,"-stablbased-"); - if(mobilav!=0) - strcat(digitp,"mobilav-"); - else - strcat(digitp,"nomobil-"); + if (mobilav!=0) { mobaverage= ma3x(1, AGESUP,1,NCOVMAX, 1,NCOVMAX); if (movingaverage(probs, bage, fage, mobaverage,mobilav)!=0){ @@ -2087,11 +2087,10 @@ void varevsij(char optionfilefiname[], d free_matrix(doldmp,nlstate+1,nlstate+ndeath,nlstate+1,nlstate+ndeath); free_matrix(dnewmp,nlstate+1,nlstate+ndeath,1,npar); free_matrix(varppt,nlstate+1,nlstate+ndeath,nlstate+1,nlstate+ndeath); - free_ma3x(mobaverage,1, AGESUP,1,NCOVMAX, 1,NCOVMAX); + if (mobilav!=0) free_ma3x(mobaverage,1, AGESUP,1,NCOVMAX, 1,NCOVMAX); fclose(ficresprobmorprev); fclose(ficgp); fclose(fichtm); - } /************ Variance of prevlim ******************/ @@ -2814,6 +2813,7 @@ prevforecast(char fileres[], double anpr double calagedate, agelim, kk1, kk2, yp,yp1,yp2,jprojmean,mprojmean,anprojmean; double *popeffectif,*popcount; double ***p3mat; + double ***mobaverage; char fileresf[FILENAMELENGTH]; agelim=AGESUP; @@ -2921,6 +2921,7 @@ populforecast(char fileres[], double anp double calagedate, agelim, kk1, kk2, yp,yp1,yp2,jprojmean,mprojmean,anprojmean; double *popeffectif,*popcount; double ***p3mat,***tabpop,***tabpopprev; + double ***mobaverage; char filerespop[FILENAMELENGTH]; tabpop= ma3x(1, AGESUP,1,NCOVMAX, 1,NCOVMAX);