/* $Id$
$State$
$Log$
+ Revision 1.142 2014/01/26 03:57:36 brouard
+ Summary: gnuplot changed plot w l 1 has to be changed to plot w l lt 2
+
+ * imach.c (Module): Trying to merge old staffs together while being at Tokyo. Not tested...
+
Revision 1.141 2014/01/26 02:42:01 brouard
* imach.c (Module): Trying to merge old staffs together while being at Tokyo. Not tested...
/* $Id$ */
/* $State$ */
-char version[]="Imach version 0.98nR, January 2014,INED-EUROREVES-Institut de longevite-Japan Society for the Promotion of Science (Grant-in-Aid for Scientific Research 25293121)";
+char version[]="Imach version 0.98nR2, January 2014,INED-EUROREVES-Institut de longevite-Japan Society for the Promotion of Science (Grant-in-Aid for Scientific Research 25293121)";
char fullversion[]="$Revision$ $Date$";
char strstart[80];
char optionfilext[10], optionfilefiname[FILENAMELENGTH];
int **Tvard, *Tprod, cptcovprod, *Tvaraff;
double *lsurv, *lpop, *tpop;
-double ftol=FTOL; /* Tolerance for computing Max Likelihood */
-double ftolhess; /* Tolerance for computing hessian */
+double ftol=FTOL; /**< Tolerance for computing Max Likelihood */
+double ftolhess; /**< Tolerance for computing hessian */
/**************** split *************************/
static int split( char *path, char *dirc, char *name, char *ext, char *finame )
first=1;
- for(k1=1; k1<=j;k1++){
- for(i1=1; i1<=ncodemax[k1];i1++){
+ for(k1=1; k1<=j;k1++){ /* Loop on covariates */
+ for(i1=1; i1<=ncodemax[k1];i1++){ /* Now it is 2 */
j1++;
/*printf("cptcoveff=%d Tvaraff=%d", cptcoveff,Tvaraff[1]);
scanf("%d", i);*/
for (jk=-5; jk<=nlstate+ndeath; jk++)
for(m=iagemin; m <= iagemax+3; m++)
freq[i][jk][m]=0;
-
- for (i=1; i<=nlstate; i++)
- for(m=iagemin; m <= iagemax+3; m++)
- prop[i][m]=0;
+
+ for (i=1; i<=nlstate; i++)
+ for(m=iagemin; m <= iagemax+3; m++)
+ prop[i][m]=0;
dateintsum=0;
k2cpt=0;
fprintf(ficresp, "\n#********** Variable ");
for (z1=1; z1<=cptcoveff; z1++) fprintf(ficresp, "V%d=%d ",Tvaraff[z1],nbcode[Tvaraff[z1]][codtab[j1][z1]]);
fprintf(ficresp, "**********\n#");
+ fprintf(ficlog, "\n#********** Variable ");
+ for (z1=1; z1<=cptcoveff; z1++) fprintf(ficlog, "V%d=%d ",Tvaraff[z1],nbcode[Tvaraff[z1]][codtab[j1][z1]]);
+ fprintf(ficlog, "**********\n#");
}
for(i=1; i<=nlstate;i++)
fprintf(ficresp, " Age Prev(%d) N(%d) N",i,i);
m=pow(2,cptcoveff);
for(k=1;k<=cptcoveff; k++){ /* scans any effective covariate */
- for(i=1; i <=(m/pow(2,k));i++){ /* i=1 to 8/1=8; i=1 to 8/2=4; i=1 to 8/8=1 */
- for(j=1; j <= ncodemax[k]; j++){ /* For each modality of this covariate */
- for(cpt=1; cpt <=(m/pow(2,cptcoveff+1-k)); cpt++){ /* cpt=1 to 8/2**(3+1-1 or 3+1-3) =1 or 4 */
+ for(i=1; i <=pow(2,cptcoveff-k);i++){ /* i=1 to 8/1=8; i=1 to 8/2=4; i=1 to 8/8=1 */
+ for(j=1; j <= ncodemax[k]; j++){ /* For each modality of this covariate ncodemax=2*/
+ for(cpt=1; cpt <=pow(2,k-1); cpt++){ /* cpt=1 to 8/2**(3+1-1 or 3+1-3) =1 or 4 */
h++;
if (h>m)
h=1;
+ /**< codtab(h,k) k
+ * h 1 2 3 4
+ *______________________________
+ * 1 i=1 1 i=1 1 i=1 1 i=1 1
+ * 2 2 1 1 1
+ * 3 i=2 1 2 1 1
+ * 4 2 2 1 1
+ * 5 i=3 1 i=2 1 2 1
+ * 6 2 1 2 1
+ * 7 i=4 1 2 2 1
+ * 8 2 2 2 1
+ * 9 i=5 1 i=3 1 i=2 1 1
+ * 10 2 1 1 1
+ * 11 i=6 1 2 1 1
+ * 12 2 2 1 1
+ * 13 i=7 1 i=4 1 2 1
+ * 14 2 1 2 1
+ * 15 i=8 1 2 2 1
+ * 16 2 2 2 1
+ */
codtab[h][k]=j;
codtab[h][Tvar[k]]=j;
printf("h=%d k=%d j=%d codtab[h][k]=%d Tvar[k]=%d codtab[h][Tvar[k]]=%d \n",h, k,j,codtab[h][k],Tvar[k],codtab[h][Tvar[k]]);
agebase=ageminpar;
agelim=agemaxpar;
ftolpl=1.e-10;
- i1=cptcoveff;
+ i1=pow(2,cptcoveff);
if (cptcovn < 1){i1=1;}
for(cptcov=1,k=0;cptcov<=i1;cptcov++){
- for(cptcod=1;cptcod<=ncodemax[cptcov];cptcod++){
+ //for(cptcod=1;cptcod<=ncodemax[cptcov];cptcod++){
k=k+1;
/* to clean */
- printf("cptcov=%d cptcod=%d codtab=%d nbcode=%d\n",cptcov, cptcod,codtab[cptcod][cptcov],nbcode);
+ //printf("cptcov=%d cptcod=%d codtab=%d\n",cptcov, cptcod,codtab[cptcod][cptcov]);
fprintf(ficrespl,"\n#******");
printf("\n#******");
fprintf(ficlog,"\n#******");
for(i=1; i<=nlstate;i++)
fprintf(ficrespl," %.5f", prlim[i][i]);
fprintf(ficrespl,"\n");
- }
- }
- }
+ } /* Age */
+ /* was end of cptcod */
+ } /* cptcov */
fclose(ficrespl);
/*------------- h Pij x at various ages ------------*/