|
|
| version 1.163, 2014/12/16 10:30:11 | version 1.164, 2014/12/16 10:52:11 |
|---|---|
| Line 1 | Line 1 |
| /* $Id$ | /* $Id$ |
| $State$ | $State$ |
| $Log$ | $Log$ |
| Revision 1.164 2014/12/16 10:52:11 brouard | |
| Summary: Merging with Visual C after suppressing some warnings for unused variables. Also fixing Saito's bug 0.98Xn | |
| * imach.c (Module): Merging 1.61 to 1.162 | |
| Revision 1.163 2014/12/16 10:30:11 brouard | Revision 1.163 2014/12/16 10:30:11 brouard |
| * imach.c (Module): Merging 1.61 to 1.162 | * imach.c (Module): Merging 1.61 to 1.162 |
| Line 557 typedef struct { | Line 562 typedef struct { |
| #define YEARM 12. /**< Number of months per year */ | #define YEARM 12. /**< Number of months per year */ |
| #define AGESUP 130 | #define AGESUP 130 |
| #define AGEBASE 40 | #define AGEBASE 40 |
| #define AGEGOMP 10. /**< Minimal age for Gompertz adjustment */ | #define AGEGOMP 10 /**< Minimal age for Gompertz adjustment */ |
| #ifdef _WIN32 | #ifdef _WIN32 |
| #define DIRSEPARATOR '\\' | #define DIRSEPARATOR '\\' |
| #define CHARSEPARATOR "\\" | #define CHARSEPARATOR "\\" |
| Line 1149 double brent(double ax, double bx, doubl | Line 1154 double brent(double ax, double bx, doubl |
| int iter; | int iter; |
| double a,b,d,etemp; | double a,b,d,etemp; |
| double fu=0,fv,fw,fx; | double fu=0,fv,fw,fx; |
| double ftemp; | double ftemp=0.; |
| double p,q,r,tol1,tol2,u,v,w,x,xm; | double p,q,r,tol1,tol2,u,v,w,x,xm; |
| double e=0.0; | double e=0.0; |
| Line 1383 void powell(double p[], double **xi, int | Line 1388 void powell(double p[], double **xi, int |
| for (j=1;j<=n;j++) xit[j]=xi[j][i]; | for (j=1;j<=n;j++) xit[j]=xi[j][i]; |
| fptt=(*fret); | fptt=(*fret); |
| #ifdef DEBUG | #ifdef DEBUG |
| printf("fret=%lf \n",*fret); | printf("fret=%lf, %lf, %lf \n", *fret, *fret, *fret); |
| fprintf(ficlog,"fret=%lf \n",*fret); | fprintf(ficlog, "fret=%lf, %lf, %lf \n", *fret, *fret, *fret); |
| #endif | #endif |
| printf("%d",i);fflush(stdout); | printf("%d",i);fflush(stdout); |
| fprintf(ficlog,"%d",i);fflush(ficlog); | fprintf(ficlog,"%d",i);fflush(ficlog); |
| Line 1481 void powell(double p[], double **xi, int | Line 1486 void powell(double p[], double **xi, int |
| fprintf(ficlog,"Gaining to use average direction of P0 P%d instead of biggest increase direction :\n",n,ibig); | fprintf(ficlog,"Gaining to use average direction of P0 P%d instead of biggest increase direction :\n",n,ibig); |
| #ifdef DEBUG | #ifdef DEBUG |
| printf("Direction changed last moved %d in place of ibig=%d, new last is the average:\n",n,ibig); | |
| fprintf(ficlog,"Direction changed last moved %d in place of ibig=%d, new last is the average:\n",n,ibig); | |
| for(j=1;j<=n;j++){ | for(j=1;j<=n;j++){ |
| printf(" %.12e",xit[j]); | printf(" %.12e",xit[j]); |
| fprintf(ficlog," %.12e",xit[j]); | fprintf(ficlog," %.12e",xit[j]); |
| Line 1577 double **pmij(double **ps, double *cov, | Line 1584 double **pmij(double **ps, double *cov, |
| */ | */ |
| double s1, lnpijopii; | double s1, lnpijopii; |
| /*double t34;*/ | /*double t34;*/ |
| int i,j,j1, nc, ii, jj; | int i,j, nc, ii, jj; |
| for(i=1; i<= nlstate; i++){ | for(i=1; i<= nlstate; i++){ |
| for(j=1; j<i;j++){ | for(j=1; j<i;j++){ |
| Line 2216 void hesscov(double **matcov, double p[] | Line 2223 void hesscov(double **matcov, double p[] |
| { | { |
| double **a,**y,*x,pd; | double **a,**y,*x,pd; |
| double **hess; | double **hess; |
| int i, j,jk; | int i, j; |
| int *indx; | int *indx; |
| double hessii(double p[], double delta, int theta, double delti[],double (*func)(double []),int npar); | double hessii(double p[], double delta, int theta, double delti[],double (*func)(double []),int npar); |
| Line 2350 double hessii(double x[], double delta, | Line 2357 double hessii(double x[], double delta, |
| k=kmax; | k=kmax; |
| } | } |
| else if((k1 >khi/nkhif) || (k2 >khi/nkhif)){ /* Keeps lastvalue before 3.84/2 KHI2 5% 1d.f. */ | else if((k1 >khi/nkhif) || (k2 >khi/nkhif)){ /* Keeps lastvalue before 3.84/2 KHI2 5% 1d.f. */ |
| k=kmax; l=lmax*10.; | k=kmax; l=lmax*10; |
| } | } |
| else if((k1 >khi/nkhi) || (k2 >khi/nkhi)){ | else if((k1 >khi/nkhi) || (k2 >khi/nkhi)){ |
| delts=delt; | delts=delt; |
| Line 2365 double hessii(double x[], double delta, | Line 2372 double hessii(double x[], double delta, |
| double hessij( double x[], double delti[], int thetai,int thetaj,double (*func)(double []),int npar) | double hessij( double x[], double delti[], int thetai,int thetaj,double (*func)(double []),int npar) |
| { | { |
| int i; | int i; |
| int l=1, l1, lmax=20; | int l=1, lmax=20; |
| double k1,k2,k3,k4,res,fx; | double k1,k2,k3,k4,res,fx; |
| double p2[MAXPARM+1]; | double p2[MAXPARM+1]; |
| int k; | int k; |
| Line 2480 void pstamp(FILE *fichier) | Line 2487 void pstamp(FILE *fichier) |
| void freqsummary(char fileres[], int iagemin, int iagemax, int **s, double **agev, int nlstate, int imx, int *Tvaraff, int **nbcode, int *ncodemax,double **mint,double **anint, char strstart[]) | void freqsummary(char fileres[], int iagemin, int iagemax, int **s, double **agev, int nlstate, int imx, int *Tvaraff, int **nbcode, int *ncodemax,double **mint,double **anint, char strstart[]) |
| { /* Some frequencies */ | { /* Some frequencies */ |
| int i, m, jk, k1,i1, j1, bool, z1,j; | int i, m, jk, j1, bool, z1,j; |
| int first; | int first; |
| double ***freq; /* Frequencies */ | double ***freq; /* Frequencies */ |
| double *pp, **prop; | double *pp, **prop; |
| Line 2661 void prevalence(double ***probs, double | Line 2668 void prevalence(double ***probs, double |
| We still use firstpass and lastpass as another selection. | We still use firstpass and lastpass as another selection. |
| */ | */ |
| int i, m, jk, k1, i1, j1, bool, z1,j; | int i, m, jk, j1, bool, z1,j; |
| double ***freq; /* Frequencies */ | |
| double *pp, **prop; | double **prop; |
| double pos,posprop; | double posprop; |
| double y2; /* in fractional years */ | double y2; /* in fractional years */ |
| int iagemin, iagemax; | int iagemin, iagemax; |
| int first; /** to stop verbosity which is redirected to log file */ | int first; /** to stop verbosity which is redirected to log file */ |
| Line 2755 void concatwav(int wav[], int **dh, int | Line 2762 void concatwav(int wav[], int **dh, int |
| int j, k=0,jk, ju, jl; | int j, k=0,jk, ju, jl; |
| double sum=0.; | double sum=0.; |
| first=0; | first=0; |
| jmin=1e+5; | jmin=100000; |
| jmax=-1; | jmax=-1; |
| jmean=0.; | jmean=0.; |
| for(i=1; i<=imx; i++){ | for(i=1; i<=imx; i++){ |
| Line 2995 void evsij(double ***eij, double x[], in | Line 3002 void evsij(double ***eij, double x[], in |
| { | { |
| /* Health expectancies, no variances */ | /* Health expectancies, no variances */ |
| int i, j, nhstepm, hstepm, h, nstepm, k, cptj, cptj2, i2, j2; | int i, j, nhstepm, hstepm, h, nstepm; |
| int nhstepma, nstepma; /* Decreasing with age */ | int nhstepma, nstepma; /* Decreasing with age */ |
| double age, agelim, hf; | double age, agelim, hf; |
| double ***p3mat; | double ***p3mat; |
| Line 3317 void varevsij(char optionfilefiname[], d | Line 3324 void varevsij(char optionfilefiname[], d |
| double **dnewm,**doldm; | double **dnewm,**doldm; |
| double **dnewmp,**doldmp; | double **dnewmp,**doldmp; |
| int i, j, nhstepm, hstepm, h, nstepm ; | int i, j, nhstepm, hstepm, h, nstepm ; |
| int k, cptcode; | int k; |
| double *xp; | double *xp; |
| double **gp, **gm; /* for var eij */ | double **gp, **gm; /* for var eij */ |
| double ***gradg, ***trgradg; /*for var eij */ | double ***gradg, ***trgradg; /*for var eij */ |
| Line 3617 void varprevlim(char fileres[], double * | Line 3624 void varprevlim(char fileres[], double * |
| { | { |
| /* Variance of prevalence limit */ | /* Variance of prevalence limit */ |
| /* double **prevalim(double **prlim, int nlstate, double *xp, double age, double **oldm, double **savm,double ftolpl);*/ | /* double **prevalim(double **prlim, int nlstate, double *xp, double age, double **oldm, double **savm,double ftolpl);*/ |
| double **newm; | |
| double **dnewm,**doldm; | double **dnewm,**doldm; |
| int i, j, nhstepm, hstepm; | int i, j, nhstepm, hstepm; |
| int k, cptcode; | |
| double *xp; | double *xp; |
| double *gp, *gm; | double *gp, *gm; |
| double **gradg, **trgradg; | double **gradg, **trgradg; |
| Line 3699 void varprevlim(char fileres[], double * | Line 3705 void varprevlim(char fileres[], double * |
| /************ Variance of one-step probabilities ******************/ | /************ Variance of one-step probabilities ******************/ |
| void varprob(char optionfilefiname[], double **matcov, double x[], double delti[], int nlstate, double bage, double fage, int ij, int *Tvar, int **nbcode, int *ncodemax, char strstart[]) | void varprob(char optionfilefiname[], double **matcov, double x[], double delti[], int nlstate, double bage, double fage, int ij, int *Tvar, int **nbcode, int *ncodemax, char strstart[]) |
| { | { |
| int i, j=0, i1, k1, l1, t, tj; | int i, j=0, k1, l1, tj; |
| int k2, l2, j1, z1; | int k2, l2, j1, z1; |
| int k=0,l, cptcode; | int k=0, l; |
| int first=1, first1, first2; | int first=1, first1, first2; |
| double cv12, mu1, mu2, lc1, lc2, v12, v21, v11, v22,v1,v2, c12, tnalp; | double cv12, mu1, mu2, lc1, lc2, v12, v21, v11, v22,v1,v2, c12, tnalp; |
| double **dnewm,**doldm; | double **dnewm,**doldm; |
| Line 3709 void varprob(char optionfilefiname[], do | Line 3715 void varprob(char optionfilefiname[], do |
| double *gp, *gm; | double *gp, *gm; |
| double **gradg, **trgradg; | double **gradg, **trgradg; |
| double **mu; | double **mu; |
| double age,agelim, cov[NCOVMAX+1]; | double age, cov[NCOVMAX+1]; |
| double std=2.0; /* Number of standard deviation wide of confidence ellipsoids */ | double std=2.0; /* Number of standard deviation wide of confidence ellipsoids */ |
| int theta; | int theta; |
| char fileresprob[FILENAMELENGTH]; | char fileresprob[FILENAMELENGTH]; |
| Line 4081 fprintf(fichtm," \n<ul><li><b>Graphs</b> | Line 4087 fprintf(fichtm," \n<ul><li><b>Graphs</b> |
| <img src=\"%s%d_2.png\">",stepm,subdirf2(optionfilefiname,"pe"),jj1,subdirf2(optionfilefiname,"pe"),jj1,subdirf2(optionfilefiname,"pe"),jj1); | <img src=\"%s%d_2.png\">",stepm,subdirf2(optionfilefiname,"pe"),jj1,subdirf2(optionfilefiname,"pe"),jj1,subdirf2(optionfilefiname,"pe"),jj1); |
| /* Period (stable) prevalence in each health state */ | /* Period (stable) prevalence in each health state */ |
| for(cpt=1; cpt<=nlstate;cpt++){ | for(cpt=1; cpt<=nlstate;cpt++){ |
| fprintf(fichtm,"<br>- Convergence from each state (1 to %d) to period (stable) prevalence in state %d <a href=\"%s%d_%d.png\">%s%d_%d.png</a><br> \ | fprintf(fichtm,"<br>- Convergence from cross-sectional prevalence in each state (1 to %d) to period (stable) prevalence in specific state %d <a href=\"%s%d_%d.png\">%s%d_%d.png</a><br> \ |
| <img src=\"%s%d_%d.png\">",nlstate, cpt, subdirf2(optionfilefiname,"p"),cpt,jj1,subdirf2(optionfilefiname,"p"),cpt,jj1,subdirf2(optionfilefiname,"p"),cpt,jj1); | <img src=\"%s%d_%d.png\">",nlstate, cpt, subdirf2(optionfilefiname,"p"),cpt,jj1,subdirf2(optionfilefiname,"p"),cpt,jj1,subdirf2(optionfilefiname,"p"),cpt,jj1); |
| } | } |
| for(cpt=1; cpt<=nlstate;cpt++) { | for(cpt=1; cpt<=nlstate;cpt++) { |
| Line 4167 true period expectancies (those weighted | Line 4173 true period expectancies (those weighted |
| void printinggnuplot(char fileres[], char optionfilefiname[], double ageminpar, double agemaxpar, double fage , char pathc[], double p[]){ | void printinggnuplot(char fileres[], char optionfilefiname[], double ageminpar, double agemaxpar, double fage , char pathc[], double p[]){ |
| char dirfileres[132],optfileres[132]; | char dirfileres[132],optfileres[132]; |
| int m0,cpt=0,k1=0,i=0,k=0,j=0,jk=0,k2=0,k3=0,ij=0,l=0; | int cpt=0,k1=0,i=0,k=0,j=0,jk=0,k2=0,k3=0,ij=0,l=0; |
| int ng=0; | int ng=0; |
| /* if((ficgp=fopen(optionfilegnuplot,"a"))==NULL) { */ | /* if((ficgp=fopen(optionfilegnuplot,"a"))==NULL) { */ |
| /* printf("Problem with file %s",optionfilegnuplot); */ | /* printf("Problem with file %s",optionfilegnuplot); */ |
| Line 4353 plot [%.f:%.f] ", ageminpar, agemaxpar) | Line 4359 plot [%.f:%.f] ", ageminpar, agemaxpar) |
| } /* end k2 */ | } /* end k2 */ |
| } /* end jk */ | } /* end jk */ |
| } /* end ng */ | } /* end ng */ |
| avoid: | /* avoid: */ |
| fflush(ficgp); | fflush(ficgp); |
| } /* end gnuplot */ | } /* end gnuplot */ |
| Line 4407 prevforecast(char fileres[], double anpr | Line 4413 prevforecast(char fileres[], double anpr |
| dateprev1 dateprev2 range of dates during which prevalence is computed | dateprev1 dateprev2 range of dates during which prevalence is computed |
| anproj2 year of en of projection (same day and month as proj1). | anproj2 year of en of projection (same day and month as proj1). |
| */ | */ |
| int yearp, stepsize, hstepm, nhstepm, j, k, c, cptcod, i, h, i1; | int yearp, stepsize, hstepm, nhstepm, j, k, cptcod, i, h, i1; |
| int *popage; | |
| double agec; /* generic age */ | double agec; /* generic age */ |
| double agelim, ppij, yp,yp1,yp2,jprojmean,mprojmean,anprojmean; | double agelim, ppij, yp,yp1,yp2,jprojmean,mprojmean,anprojmean; |
| double *popeffectif,*popcount; | double *popeffectif,*popcount; |
| Line 4702 void prwizard(int ncovmodel, int nlstate | Line 4707 void prwizard(int ncovmodel, int nlstate |
| /* Wizard to print covariance matrix template */ | /* Wizard to print covariance matrix template */ |
| char ca[32], cb[32], cc[32]; | char ca[32], cb[32]; |
| int i,j, k, l, li, lj, lk, ll, jj, npar, itimes; | int i,j, k, li, lj, lk, ll, jj, npar, itimes; |
| int numlinepar; | int numlinepar; |
| printf("# Parameters nlstate*nlstate*ncov a12*1 + b12 * age + ...\n"); | printf("# Parameters nlstate*nlstate*ncov a12*1 + b12 * age + ...\n"); |
| Line 4924 fprintf(fichtm,"<ul><li><h4>Life table</ | Line 4929 fprintf(fichtm,"<ul><li><h4>Life table</ |
| void printinggnuplotmort(char fileres[], char optionfilefiname[], double ageminpar, double agemaxpar, double fage , char pathc[], double p[]){ | void printinggnuplotmort(char fileres[], char optionfilefiname[], double ageminpar, double agemaxpar, double fage , char pathc[], double p[]){ |
| char dirfileres[132],optfileres[132]; | char dirfileres[132],optfileres[132]; |
| int m,cpt,k1,i,k,j,jk,k2,k3,ij,l; | |
| int ng; | int ng; |
| Line 4949 int readdata(char datafile[], int firsto | Line 4954 int readdata(char datafile[], int firsto |
| /*-------- data file ----------*/ | /*-------- data file ----------*/ |
| FILE *fic; | FILE *fic; |
| char dummy[]=" "; | char dummy[]=" "; |
| int i, j, n; | int i=0, j=0, n=0; |
| int linei, month, year,iout; | int linei, month, year,iout; |
| char line[MAXLINE], linetmp[MAXLINE]; | char line[MAXLINE], linetmp[MAXLINE]; |
| char stra[80], strb[80]; | char stra[MAXLINE], strb[MAXLINE]; |
| char *stratrunc; | char *stratrunc; |
| int lstra; | int lstra; |
| Line 4980 int readdata(char datafile[], int firsto | Line 4985 int readdata(char datafile[], int firsto |
| continue; | continue; |
| } | } |
| trimbb(linetmp,line); /* Trims multiple blanks in line */ | trimbb(linetmp,line); /* Trims multiple blanks in line */ |
| for (j=0; line[j]!='\0';j++){ | strcpy(line, linetmp); |
| line[j]=linetmp[j]; | |
| } | |
| for (j=maxwav;j>=1;j--){ | for (j=maxwav;j>=1;j--){ |
| Line 5121 int readdata(char datafile[], int firsto | Line 5124 int readdata(char datafile[], int firsto |
| fclose(fic); | fclose(fic); |
| return (0); | return (0); |
| endread: | /* endread: */ |
| printf("Exiting readdata: "); | printf("Exiting readdata: "); |
| fclose(fic); | fclose(fic); |
| return (1); | return (1); |
| Line 5152 int decodemodel ( char model[], int last | Line 5155 int decodemodel ( char model[], int last |
| */ | */ |
| { | { |
| int i, j, k, ks; | int i, j, k, ks; |
| int i1, j1, k1, k2; | int j1, k1, k2; |
| char modelsav[80]; | char modelsav[80]; |
| char stra[80], strb[80], strc[80], strd[80],stre[80]; | char stra[80], strb[80], strc[80], strd[80],stre[80]; |
| Line 5301 int decodemodel ( char model[], int last | Line 5304 int decodemodel ( char model[], int last |
| return (0); /* with covar[new additional covariate if product] and Tage if age */ | return (0); /* with covar[new additional covariate if product] and Tage if age */ |
| endread: | /*endread:*/ |
| printf("Exiting decodemodel: "); | printf("Exiting decodemodel: "); |
| return (1); | return (1); |
| } | } |
| Line 5398 calandcheckages(int imx, int maxwav, dou | Line 5401 calandcheckages(int imx, int maxwav, dou |
| 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); |
| return (0); | return (0); |
| endread: | /* endread:*/ |
| printf("Exiting calandcheckages: "); | printf("Exiting calandcheckages: "); |
| return (1); | return (1); |
| } | } |
| Line 5418 int main(int argc, char *argv[]) | Line 5421 int main(int argc, char *argv[]) |
| double ssval; | double ssval; |
| #endif | #endif |
| 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=0,m,size=100, cptcod; |
| int linei, month, year,iout; | |
| int jj, ll, li, lj, lk, imk; | int jj, ll, li, lj, lk; |
| int numlinepar=0; /* Current linenumber of parameter file */ | int numlinepar=0; /* Current linenumber of parameter file */ |
| int itimes; | int itimes; |
| int NDIM=2; | int NDIM=2; |
| int vpopbased=0; | int vpopbased=0; |
| char ca[32], cb[32], cc[32]; | char ca[32], cb[32]; |
| /* FILE *fichtm; *//* Html File */ | /* FILE *fichtm; *//* Html File */ |
| /* FILE *ficgp;*/ /*Gnuplot File */ | /* FILE *ficgp;*/ /*Gnuplot File */ |
| struct stat info; | struct stat info; |
| double agedeb, agefin,hf; | double agedeb; |
| double ageminpar=1.e20,agemin=1.e20, agemaxpar=-1.e20, agemax=-1.e20; | double ageminpar=1.e20,agemin=1.e20, agemaxpar=-1.e20, agemax=-1.e20; |
| double fret; | |
| double **xi,tmp,delta; | |
| double dum; /* Dummy variable */ | double dum; /* Dummy variable */ |
| double ***p3mat; | double ***p3mat; |
| double ***mobaverage; | double ***mobaverage; |
| int *indx; | |
| char line[MAXLINE], linepar[MAXLINE]; | char line[MAXLINE]; |
| char path[MAXLINE],pathc[MAXLINE],pathcd[MAXLINE],pathtot[MAXLINE],model[MAXLINE]; | char path[MAXLINE],pathc[MAXLINE],pathcd[MAXLINE],pathtot[MAXLINE],model[MAXLINE]; |
| char pathr[MAXLINE], pathimach[MAXLINE]; | char pathr[MAXLINE], pathimach[MAXLINE]; |
| char **bp, *tok, *val; /* pathtot */ | char *tok, *val; /* pathtot */ |
| int firstobs=1, lastobs=10; | int firstobs=1, lastobs=10; |
| int sdeb, sfin; /* Status at beginning and end */ | int c, h , cpt; |
| int c, h , cpt,l; | int jl; |
| int ju,jl, mi; | int i1, j1, jk, stepsize; |
| int i1,j1, jk,aa,bb, stepsize, ij; | int *tab; |
| int jnais,jdc,jint4,jint1,jint2,jint3,*tab; | |
| int mobilavproj=0 , prevfcast=0 ; /* moving average of prev, If prevfcast=1 prevalence projection */ | int mobilavproj=0 , prevfcast=0 ; /* moving average of prev, If prevfcast=1 prevalence projection */ |
| int mobilav=0,popforecast=0; | int mobilav=0,popforecast=0; |
| int hstepm, nhstepm; | int hstepm, nhstepm; |
| Line 5458 int main(int argc, char *argv[]) | Line 5458 int main(int argc, char *argv[]) |
| double jprev1=1, mprev1=1,anprev1=2000,jprev2=1, mprev2=1,anprev2=2000; | double jprev1=1, mprev1=1,anprev1=2000,jprev2=1, mprev2=1,anprev2=2000; |
| double jpyram=1, mpyram=1,anpyram=2000,jpyram1=1, mpyram1=1,anpyram1=2000; | double jpyram=1, mpyram=1,anpyram=2000,jpyram1=1, mpyram1=1,anpyram1=2000; |
| double bage, fage, age, agelim, agebase; | double bage=0, fage=110, age, agelim, agebase; |
| double ftolpl=FTOL; | double ftolpl=FTOL; |
| double **prlim; | double **prlim; |
| double ***param; /* Matrix of parameters */ | double ***param; /* Matrix of parameters */ |
| Line 5469 int main(int argc, char *argv[]) | Line 5469 int main(int argc, char *argv[]) |
| double ***eij, ***vareij; | double ***eij, ***vareij; |
| double **varpl; /* Variances of prevalence limits by age */ | double **varpl; /* Variances of prevalence limits by age */ |
| double *epj, vepp; | double *epj, vepp; |
| double kk1, kk2; | |
| double dateprev1, dateprev2,jproj1=1,mproj1=1,anproj1=2000,jproj2=1,mproj2=1,anproj2=2000; | double dateprev1, dateprev2,jproj1=1,mproj1=1,anproj1=2000,jproj2=1,mproj2=1,anproj2=2000; |
| double **ximort; | double **ximort; |
| char *alph[]={"a","a","b","c","d","e"}, str[4]="1234"; | char *alph[]={"a","a","b","c","d","e"}, str[4]="1234"; |
| int *dcwave; | int *dcwave; |
| char z[1]="c", occ; | char z[1]="c"; |
| /*char *strt;*/ | /*char *strt;*/ |
| char strtend[80]; | char strtend[80]; |
| long total_usecs; | |
| /* setlocale (LC_ALL, ""); */ | /* setlocale (LC_ALL, ""); */ |
| /* bindtextdomain (PACKAGE, LOCALEDIR); */ | /* bindtextdomain (PACKAGE, LOCALEDIR); */ |
| /* textdomain (PACKAGE); */ | /* textdomain (PACKAGE); */ |
| Line 5752 run imach with mle=-1 to get a correct t | Line 5751 run imach with mle=-1 to get a correct t |
| for(i=1; i <=nlstate; i++){ | for(i=1; i <=nlstate; i++){ |
| for(j=1; j <=nlstate+ndeath-1; j++){ | for(j=1; j <=nlstate+ndeath-1; j++){ |
| fscanf(ficpar,"%1d%1d",&i1,&j1); | fscanf(ficpar,"%1d%1d",&i1,&j1); |
| if ((i1-i)*(j1-j)!=0){ | if ( (i1-i) * (j1-j) != 0){ |
| 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",numlinepar, i,j, i1, j1); |
| exit(1); | exit(1); |
| } | } |
| Line 6787 Interval (in months) between two waves: | Line 6786 Interval (in months) between two waves: |
| if (mobilav!=0) free_ma3x(mobaverage,1, AGESUP,1,NCOVMAX, 1,NCOVMAX); | if (mobilav!=0) free_ma3x(mobaverage,1, AGESUP,1,NCOVMAX, 1,NCOVMAX); |
| free_ma3x(probs,1,AGESUP,1,NCOVMAX, 1,NCOVMAX); | free_ma3x(probs,1,AGESUP,1,NCOVMAX, 1,NCOVMAX); |
| } /* mle==-3 arrives here for freeing */ | } /* mle==-3 arrives here for freeing */ |
| endfree: | /* endfree:*/ |
| free_matrix(prlim,1,nlstate,1,nlstate); /*here or after loop ? */ | free_matrix(prlim,1,nlstate,1,nlstate); /*here or after loop ? */ |
| free_matrix(pmmij,1,nlstate+ndeath,1,nlstate+ndeath); | free_matrix(pmmij,1,nlstate+ndeath,1,nlstate+ndeath); |
| free_matrix(oldms, 1,nlstate+ndeath,1,nlstate+ndeath); | free_matrix(oldms, 1,nlstate+ndeath,1,nlstate+ndeath); |