]> henry.ined.fr Git - .git/commitdiff
Summary: Bug for mobil_average=0 and prevforecast fixed(?)
authorN. Brouard <brouard@ined.fr>
Wed, 19 Jul 2017 14:09:02 +0000 (14:09 +0000)
committerN. Brouard <brouard@ined.fr>
Wed, 19 Jul 2017 14:09:02 +0000 (14:09 +0000)
src/imach.c

index 471a89a44e1e2dd82f2f0c44809bf6f94f649ad8..e6050b799a61d9b91aec9efa5160816e1bc487d6 100644 (file)
@@ -1,6 +1,9 @@
 /* $Id$
   $State$
   $Log$
+  Revision 1.277  2017/07/17 08:53:49  brouard
+  Summary: BOM files can be read now
+
   Revision 1.276  2017/06/30 15:48:31  brouard
   Summary: Graphs improvements
 
@@ -7942,8 +7945,8 @@ set ter svg size 640, 480\nunset log y\nplot [%.f:%.f]  ", ageminpar, agemaxpar)
    double *agemingoodr, *agemaxgoodr; 
   
   
-   /* modcovmax=2*cptcoveff;/\* Max number of modalities. We suppose  */
-   /*             a covariate has 2 modalities, should be equal to ncovcombmax  *\/ */
+   /* modcovmax=2*cptcoveff;  Max number of modalities. We suppose  */
+   /*             a covariate has 2 modalities, should be equal to ncovcombmax   */
 
    sumnewp = vector(1,ncovcombmax);
    sumnewm = vector(1,ncovcombmax);
@@ -8267,11 +8270,11 @@ set ter svg size 640, 480\nunset log y\nplot [%.f:%.f]  ", ageminpar, agemaxpar)
        for(j=1; j<=nlstate+ndeath;j++) {
          ppij=0.;
          for(i=1; i<=nlstate;i++) {
-           /* if (mobilav>=1)  */
-           ppij=ppij+p3mat[i][j][h]*prev[(int)agec][i][k];
-           /* else { */ /* even if mobilav==-1 we use mobaverage */
-           /*  ppij=ppij+p3mat[i][j][h]*probs[(int)(agec)][i][k]; */
-           /* } */
+           if (mobilav>=1)
+            ppij=ppij+p3mat[i][j][h]*prev[(int)agec][i][k];
+           else { /* even if mobilav==-1 we use mobaverage, probs may not sums to 1 */
+               ppij=ppij+p3mat[i][j][h]*probs[(int)(agec)][i][k];
+           }
            fprintf(ficresf," %.3f", p3mat[i][j][h]);
          } /* end i */
          fprintf(ficresf," %.3f", ppij);
@@ -10839,7 +10842,20 @@ int main(int argc, char *argv[])
     fflush(ficlog);
     goto end;
   }
+      /*-------- Rewriting parameter file ----------*/
+  strcpy(rfileres,"r");    /* "Rparameterfile */
+  strcat(rfileres,optionfilefiname);    /* Parameter file first name */
+  strcat(rfileres,".");    /* */
+  strcat(rfileres,optionfilext);    /* Other files have txt extension */
+  if((ficres =fopen(rfileres,"w"))==NULL) {
+    printf("Problem writing new parameter file: %s\n", rfileres);goto end;
+    fprintf(ficlog,"Problem writing new parameter file: %s\n", rfileres);goto end;
+    fflush(ficlog);
+    goto end;
+  }
+  fprintf(ficres,"#IMaCh %s\n",version);
 
+                                     
   /* Reads comments: lines beginning with '#' */
   numlinepar=0;
   /* Is it a BOM UTF-8 Windows file? */
@@ -10871,6 +10887,7 @@ int main(int argc, char *argv[])
       numlinepar++;
       fputs(line,stdout);
       fputs(line,ficparo);
+      fputs(line,ficres);
       fputs(line,ficlog);
       continue;
     }else
@@ -10891,6 +10908,7 @@ int main(int argc, char *argv[])
       numlinepar++;
       fputs(line,stdout);
       fputs(line,ficparo);
+      fputs(line,ficres);
       fputs(line,ficlog);
       continue;
     }else
@@ -10913,6 +10931,7 @@ int main(int argc, char *argv[])
       numlinepar++;
       fputs(line,stdout);
       fputs(line,ficparo);
+      fputs(line,ficres);
       fputs(line,ficlog);
       continue;
     }else
@@ -11174,16 +11193,6 @@ Please run with mle=-1 to get a correct covariance matrix.\n",optionfile,numline
     
     fflush(ficlog);
     
-    /*-------- Rewriting parameter file ----------*/
-    strcpy(rfileres,"r");    /* "Rparameterfile */
-    strcat(rfileres,optionfilefiname);    /* Parameter file first name*/
-    strcat(rfileres,".");    /* */
-    strcat(rfileres,optionfilext);    /* Other files have txt extension */
-    if((ficres =fopen(rfileres,"w"))==NULL) {
-      printf("Problem writing new parameter file: %s\n", rfileres);goto end;
-      fprintf(ficlog,"Problem writing new parameter file: %s\n", rfileres);goto end;
-    }
-    fprintf(ficres,"#%s\n",version);
   }    /* End of mle != -3 */
   
   /*  Main data