Diff for /imach/src/imach.c between versions 1.101 and 1.103

version 1.101, 2004/09/15 10:38:38 version 1.103, 2005/09/30 15:54:49
Line 1 Line 1
 /* $Id$  /* $Id$
   $State$    $State$
   $Log$    $Log$
     Revision 1.103  2005/09/30 15:54:49  lievre
     (Module): sump fixed, loop imx fixed, and simplifications.
   
     Revision 1.102  2004/09/15 17:31:30  brouard
     Add the possibility to read data file including tab characters.
   
   Revision 1.101  2004/09/15 10:38:38  brouard    Revision 1.101  2004/09/15 10:38:38  brouard
   Fix on curr_time    Fix on curr_time
   
Line 244 Line 250
 /* $Id$ */  /* $Id$ */
 /* $State$ */  /* $State$ */
   
 char version[]="Imach version 0.97b, May 2004, INED-EUROREVES ";  char version[]="Imach version 0.97c, September 2004, INED-EUROREVES ";
 char fullversion[]="$Revision$ $Date$";   char fullversion[]="$Revision$ $Date$"; 
 int erreur, nberr=0, nbwarn=0; /* Error number, number of errors number of warnings  */  int erreur, nberr=0, nbwarn=0; /* Error number, number of errors number of warnings  */
 int nvar;  int nvar;
Line 439  int nbocc(char *s, char occ) Line 445  int nbocc(char *s, char occ)
   
 void cutv(char *u,char *v, char*t, char occ)  void cutv(char *u,char *v, char*t, char occ)
 {  {
   /* cuts string t into u and v where u is ended by char occ excluding it    /* cuts string t into u and v where u ends before first occurence of char 'occ' 
      and v is after occ excluding it too : ex cutv(u,v,"abcdef2ghi2j",2)       and v starts after first occurence of char 'occ' : ex cutv(u,v,"abcdef2ghi2j",'2')
      gives u="abcedf" and v="ghi2j" */       gives u="abcedf" and v="ghi2j" */
   int i,lg,j,p=0;    int i,lg,j,p=0;
   i=0;    i=0;
Line 3918  double gompertz(double x[]) Line 3924  double gompertz(double x[])
   int i,n=0; /* n is the size of the sample */    int i,n=0; /* n is the size of the sample */
   for (i=0;i<=imx-1 ; i++) {    for (i=0;i<=imx-1 ; i++) {
     sump=sump+weight[i];      sump=sump+weight[i];
     sump=sump+1;      /*    sump=sump+1;*/
     num=num+1;      num=num+1;
   }    }
     
     
   /* for (i=1; i<=imx; i++)     /* for (i=0; i<=imx; i++) 
      if (wav[i]>0) printf("i=%d ageex=%lf agecens=%lf agedc=%lf cens=%d %d\n" ,i,ageexmed[i],agecens[i],agedc[i],cens[i],wav[i]);*/       if (wav[i]>0) printf("i=%d ageex=%lf agecens=%lf agedc=%lf cens=%d %d\n" ,i,ageexmed[i],agecens[i],agedc[i],cens[i],wav[i]);*/
   
   for (i=0;i<=imx-1 ; i++)    for (i=1;i<=imx ; i++)
     {      {
       if (cens[i]==1 & wav[i]>1)        if (cens[i]==1 & wav[i]>1)
         A=-x[1]/(x[2])*          A=-x[1]/(x[2])*(exp(x[2]*(agecens[i]-agegomp))-exp(x[2]*(ageexmed[i]-agegomp)));
           (exp(x[2]/YEARM*(agecens[i]*12-agegomp*12))-exp(x[2]/YEARM*(ageexmed[i]*12-agegomp*12)));  
               
       if (cens[i]==0 & wav[i]>1)        if (cens[i]==0 & wav[i]>1)
         A=-x[1]/(x[2])*          A=-x[1]/(x[2])*(exp(x[2]*(agedc[i]-agegomp))-exp(x[2]*(ageexmed[i]-agegomp)))
              (exp(x[2]/YEARM*(agedc[i]*12-agegomp*12))-exp(x[2]/YEARM*(ageexmed[i]*12-agegomp*12)))               +log(x[1]/YEARM)+x[2]*(agedc[i]-agegomp)+log(YEARM);  
           +log(x[1]/YEARM)+x[2]/YEARM*(agedc[i]*12-agegomp*12)+log(YEARM);        
               
       if (wav[i]>1 & agecens[i]>15) {        if (wav[i]>1 & agecens[i]>15) {
         L=L+A*weight[i];          L=L+A*weight[i];
Line 4399  int main(int argc, char *argv[]) Line 4403  int main(int argc, char *argv[])
   i=1;    i=1;
   while (fgets(line, MAXLINE, fic) != NULL)    {    while (fgets(line, MAXLINE, fic) != NULL)    {
     if ((i >= firstobs) && (i <=lastobs)) {      if ((i >= firstobs) && (i <=lastobs)) {
                 for(j=0; line[j] != '\n';j++){  /* Untabifies line */
           if(line[j] == '\t')
             line[j] = ' ';
         }
       for (j=maxwav;j>=1;j--){        for (j=maxwav;j>=1;j--){
         cutv(stra, strb,line,' '); s[j][i]=atoi(strb);           cutv(stra, strb,line,' '); s[j][i]=atoi(strb); 
         strcpy(line,stra);          strcpy(line,stra);

Removed from v.1.101  
changed lines
  Added in v.1.103


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>