/* License: LGPL $Id: wmain.c,v 1.16 2011/12/25 00:41:30 taka Exp $ */ #include #include #include #include #define SMAX 4096 #define inci(i) { i++; if (i >= argc) { fprintf(stderr,"Option argument is not given.\n"); return(-1); }} extern char *MH_Gfname; extern char *MH_Dfname; /* global variables. They are set in setParam() */ int MH_RANK; int MH_M; int MH_Mg; /* m */ double *MH_Beta; /* beta[0], ..., beta[m-1] */ double *Ng; /* freedom n. c=(m+1)/2+n/2; Note that it is a pointer */ double X0g; /* initial point */ double *Iv; /* Initial values of mhg sorted by mhbase() in rd.rr at beta*x0 */ double Ef; /* exponential factor at beta*x0 */ extern double Hg; /* step size of rk defined in rk.c */ int Dp; /* Data sampling period */ double Xng=0.0; /* the last point */ int RawName = 0; int Testrank=0; extern int Verbose; extern int P95; /* 95 % points */ int gopen_file(void); double rkmain(double x0,double y0[],double xn); int setParam(char *fname); int showParam(void); /* #define DEBUG */ #ifdef DEBUG char *MH_Dfname; char *MH_Gfname; double Hg; int gopen_file(void) { } double rkmain(double x0,double y0[],double xn) { } #endif void *mymalloc(int s) { void *p; p = (void*)malloc(s); if (p == NULL) { fprintf(stderr,"No memory.\n"); exit(-1); } return(p); } static mypower(int x,int n) { int a,i; a = 1; for (i=0; i