version 1.106, 2006/01/19 13:24:36
|
version 1.107, 2006/01/19 16:20:37
|
Line 1
|
Line 1
|
/* $Id$ |
/* $Id$ |
$State$ |
$State$ |
$Log$ |
$Log$ |
|
Revision 1.107 2006/01/19 16:20:37 brouard |
|
Test existence of gnuplot in imach path |
|
|
Revision 1.106 2006/01/19 13:24:36 brouard |
Revision 1.106 2006/01/19 13:24:36 brouard |
Some cleaning and links added in html output |
Some cleaning and links added in html output |
|
|
Line 227
|
Line 230
|
#include <string.h> |
#include <string.h> |
#include <unistd.h> |
#include <unistd.h> |
|
|
|
#include <sys/types.h> |
|
#include <sys/stat.h> |
|
#include <errno.h> |
|
extern int errno; |
|
|
/* #include <sys/time.h> */ |
/* #include <sys/time.h> */ |
#include <time.h> |
#include <time.h> |
#include "timeval.h" |
#include "timeval.h" |
Line 257
|
Line 265
|
#define AGEGOMP 10. /* Minimal age for Gompertz adjustment */ |
#define AGEGOMP 10. /* Minimal age for Gompertz adjustment */ |
#ifdef UNIX |
#ifdef UNIX |
#define DIRSEPARATOR '/' |
#define DIRSEPARATOR '/' |
|
#define CHARSEPARATOR "/" |
#define ODIRSEPARATOR '\\' |
#define ODIRSEPARATOR '\\' |
#else |
#else |
#define DIRSEPARATOR '\\' |
#define DIRSEPARATOR '\\' |
|
#define CHARSEPARATOR "\\" |
#define ODIRSEPARATOR '/' |
#define ODIRSEPARATOR '/' |
#endif |
#endif |
|
|
Line 388 double ftolhess; /* Tolerance for comput
|
Line 398 double ftolhess; /* Tolerance for comput
|
/**************** split *************************/ |
/**************** split *************************/ |
static int split( char *path, char *dirc, char *name, char *ext, char *finame ) |
static int split( char *path, char *dirc, char *name, char *ext, char *finame ) |
{ |
{ |
/* From a file name with full path (either Unix or Windows) we extract the directory (dirc) |
/* From a file name with (full) path (either Unix or Windows) we extract the directory (dirc) |
the name of the file (name), its extension only (ext) and its first part of the name (finame) |
the name of the file (name), its extension only (ext) and its first part of the name (finame) |
*/ |
*/ |
char *ss; /* pointer */ |
char *ss; /* pointer */ |
Line 397 static int split( char *path, char *dirc
|
Line 407 static int split( char *path, char *dirc
|
l1 = strlen(path ); /* length of path */ |
l1 = strlen(path ); /* length of path */ |
if ( l1 == 0 ) return( GLOCK_ERROR_NOPATH ); |
if ( l1 == 0 ) return( GLOCK_ERROR_NOPATH ); |
ss= strrchr( path, DIRSEPARATOR ); /* find last / */ |
ss= strrchr( path, DIRSEPARATOR ); /* find last / */ |
if ( ss == NULL ) { /* no directory, so use current */ |
if ( ss == NULL ) { /* no directory, so determine current directory */ |
|
strcpy( name, path ); /* we got the fullname name because no directory */ |
/*if(strrchr(path, ODIRSEPARATOR )==NULL) |
/*if(strrchr(path, ODIRSEPARATOR )==NULL) |
printf("Warning you should use %s as a separator\n",DIRSEPARATOR);*/ |
printf("Warning you should use %s as a separator\n",DIRSEPARATOR);*/ |
/* get current working directory */ |
/* get current working directory */ |
Line 405 static int split( char *path, char *dirc
|
Line 416 static int split( char *path, char *dirc
|
if ( getcwd( dirc, FILENAME_MAX ) == NULL ) { |
if ( getcwd( dirc, FILENAME_MAX ) == NULL ) { |
return( GLOCK_ERROR_GETCWD ); |
return( GLOCK_ERROR_GETCWD ); |
} |
} |
strcpy( name, path ); /* we've got it */ |
/* got dirc from getcwd*/ |
|
printf(" DIRC = %s \n",dirc); |
} else { /* strip direcotry from path */ |
} else { /* strip direcotry from path */ |
ss++; /* after this, the filename */ |
ss++; /* after this, the filename */ |
l2 = strlen( ss ); /* length of filename */ |
l2 = strlen( ss ); /* length of filename */ |
Line 413 static int split( char *path, char *dirc
|
Line 425 static int split( char *path, char *dirc
|
strcpy( name, ss ); /* save file name */ |
strcpy( name, ss ); /* save file name */ |
strncpy( dirc, path, l1 - l2 ); /* now the directory */ |
strncpy( dirc, path, l1 - l2 ); /* now the directory */ |
dirc[l1-l2] = 0; /* add zero */ |
dirc[l1-l2] = 0; /* add zero */ |
|
printf(" DIRC2 = %s \n",dirc); |
} |
} |
|
/* We add a separator at the end of dirc if not exists */ |
l1 = strlen( dirc ); /* length of directory */ |
l1 = strlen( dirc ); /* length of directory */ |
/*#ifdef windows |
if( dirc[l1-1] != DIRSEPARATOR ){ |
if ( dirc[l1-1] != '\\' ) { dirc[l1] = '\\'; dirc[l1+1] = 0; } |
dirc[l1] = DIRSEPARATOR; |
#else |
dirc[l1+1] = 0; |
if ( dirc[l1-1] != '/' ) { dirc[l1] = '/'; dirc[l1+1] = 0; } |
printf(" DIRC3 = %s \n",dirc); |
#endif |
} |
*/ |
|
ss = strrchr( name, '.' ); /* find last / */ |
ss = strrchr( name, '.' ); /* find last / */ |
if (ss >0){ |
if (ss >0){ |
ss++; |
ss++; |
Line 430 static int split( char *path, char *dirc
|
Line 443 static int split( char *path, char *dirc
|
strncpy( finame, name, l1-l2); |
strncpy( finame, name, l1-l2); |
finame[l1-l2]= 0; |
finame[l1-l2]= 0; |
} |
} |
|
|
return( 0 ); /* we're done */ |
return( 0 ); /* we're done */ |
} |
} |
|
|
Line 3203 void printinghtml(char fileres[], char t
|
Line 3217 void printinghtml(char fileres[], char t
|
double jprev2, double mprev2,double anprev2){ |
double jprev2, double mprev2,double anprev2){ |
int jj1, k1, i1, cpt; |
int jj1, k1, i1, cpt; |
|
|
fprintf(fichtm,"<ul><li><a> href="#firstorder">Result files (first order: no variance)</a>\n \ |
fprintf(fichtm,"<ul><li><a href='#firstorder'>Result files (first order: no variance)</a>\n \ |
<li><a> href="#secondorder">Result files (second order (variance)</a>\n \ |
<li><a href='#secondorder'>Result files (second order (variance)</a>\n \ |
</ul>"); |
</ul>"); |
fprintf(fichtm,"<ul><li><h4><a name="firstorder">Result files (first order: no variance)</a></h4>\n \ |
fprintf(fichtm,"<ul><li><h4><a name='firstorder'>Result files (first order: no variance)</a></h4>\n \ |
- Observed prevalence in each state (during the period defined between %.lf/%.lf/%.lf and %.lf/%.lf/%.lf): <a href=\"%s\">%s</a> <br>\n ", |
- Observed prevalence in each state (during the period defined between %.lf/%.lf/%.lf and %.lf/%.lf/%.lf): <a href=\"%s\">%s</a> <br>\n ", |
jprev1, mprev1,anprev1,jprev2, mprev2,anprev2,subdirf2(fileres,"p"),subdirf2(fileres,"p")); |
jprev1, mprev1,anprev1,jprev2, mprev2,anprev2,subdirf2(fileres,"p"),subdirf2(fileres,"p")); |
fprintf(fichtm,"\ |
fprintf(fichtm,"\ |
Line 3257 fprintf(fichtm," \n<ul><li><b>Graphs</b>
|
Line 3271 fprintf(fichtm," \n<ul><li><b>Graphs</b>
|
|
|
|
|
fprintf(fichtm,"\ |
fprintf(fichtm,"\ |
\n<br><li><h4> <a name="secondorder">Result files (second order: variances)</a></h4>\n\ |
\n<br><li><h4> <a name='secondorder'>Result files (second order: variances)</a></h4>\n\ |
- Parameter file with estimated parameters and covariance matrix: <a href=\"%s\">%s</a> <br>\n", rfileres,rfileres); |
- Parameter file with estimated parameters and covariance matrix: <a href=\"%s\">%s</a> <br>\n", rfileres,rfileres); |
|
|
fprintf(fichtm," - Variance of one-step probabilities: <a href=\"%s\">%s</a> <br>\n", |
fprintf(fichtm," - Variance of one-step probabilities: <a href=\"%s\">%s</a> <br>\n", |
Line 4067 int main(int argc, char *argv[])
|
Line 4081 int main(int argc, char *argv[])
|
char ca[32], cb[32], cc[32]; |
char ca[32], cb[32], cc[32]; |
/* FILE *fichtm; *//* Html File */ |
/* FILE *fichtm; *//* Html File */ |
/* FILE *ficgp;*/ /*Gnuplot File */ |
/* FILE *ficgp;*/ /*Gnuplot File */ |
|
struct stat info; |
double agedeb, agefin,hf; |
double agedeb, agefin,hf; |
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; |
|
|
Line 4167 int main(int argc, char *argv[])
|
Line 4182 int main(int argc, char *argv[])
|
printf("pathtot=%s, path=%s, optionfile=%s\n",pathtot,path,optionfile);*/ |
printf("pathtot=%s, path=%s, optionfile=%s\n",pathtot,path,optionfile);*/ |
/* cutv(path,optionfile,pathtot,'\\');*/ |
/* cutv(path,optionfile,pathtot,'\\');*/ |
|
|
|
/* Split argv[0], imach program to get pathimach */ |
|
printf("\nargv[0]=%s argv[1]=%s, \n",argv[0],argv[1]); |
split(argv[0],pathimach,optionfile,optionfilext,optionfilefiname); |
split(argv[0],pathimach,optionfile,optionfilext,optionfilefiname); |
|
printf("\nargv[0]=%s pathimach=%s, \noptionfile=%s \noptionfilext=%s \noptionfilefiname=%s\n",argv[0],pathimach,optionfile,optionfilext,optionfilefiname); |
/* strcpy(pathimach,argv[0]); */ |
/* strcpy(pathimach,argv[0]); */ |
|
/* Split argv[1]=pathtot, parameter file name to get path, optionfile, extension and name */ |
split(pathtot,path,optionfile,optionfilext,optionfilefiname); |
split(pathtot,path,optionfile,optionfilext,optionfilefiname); |
printf("pathimach=%s, pathtot=%s,\npath=%s,\noptionfile=%s \noptionfilext=%s \noptionfilefiname=%s\n",pathimach,pathtot,path,optionfile,optionfilext,optionfilefiname); |
printf("\npathtot=%s,\npath=%s,\noptionfile=%s \noptionfilext=%s \noptionfilefiname=%s\n",pathtot,path,optionfile,optionfilext,optionfilefiname); |
chdir(path); |
chdir(path); |
strcpy(command,"mkdir "); |
strcpy(command,"mkdir "); |
strcat(command,optionfilefiname); |
strcat(command,optionfilefiname); |
Line 5530 lsurv=vector(1,AGESUP);
|
Line 5549 lsurv=vector(1,AGESUP);
|
/*------ End -----------*/ |
/*------ End -----------*/ |
|
|
chdir(path); |
chdir(path); |
|
#ifndef UNIX |
strcpy(plotcmd,"\""); |
strcpy(plotcmd,"\""); |
|
#endif |
strcat(plotcmd,pathimach); |
strcat(plotcmd,pathimach); |
|
/*strcat(plotcmd,CHARSEPARATOR);*/ |
strcat(plotcmd,GNUPLOTPROGRAM); |
strcat(plotcmd,GNUPLOTPROGRAM); |
|
#ifndef UNIX |
strcat(plotcmd,"\""); |
strcat(plotcmd,"\""); |
|
#endif |
|
if(stat(plotcmd,&info)){ |
|
printf("Error gnuplot program not found: %s\n",plotcmd);fflush(stdout); |
|
} |
strcat(plotcmd," "); |
strcat(plotcmd," "); |
strcat(plotcmd,optionfilegnuplot); |
strcat(plotcmd,optionfilegnuplot); |
printf("Starting graphs with: %s",plotcmd);fflush(stdout); |
printf("Starting graphs with: %s",plotcmd);fflush(stdout); |
|
|
if((outcmd=system(plotcmd)) != 0){ |
if((outcmd=system(plotcmd)) != 0){ |
printf(" Problem with gnuplot\n"); |
printf(" Problem with gnuplot\n"); |
} |
} |