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); |