|
|
| version 1.162, 2014/09/25 11:43:39 | version 1.163, 2014/12/16 10:30:11 |
|---|---|
| Line 1 | Line 1 |
| /* $Id$ | /* $Id$ |
| $State$ | $State$ |
| $Log$ | $Log$ |
| Revision 1.163 2014/12/16 10:30:11 brouard | |
| * imach.c (Module): Merging 1.61 to 1.162 | |
| Revision 1.162 2014/09/25 11:43:39 brouard | Revision 1.162 2014/09/25 11:43:39 brouard |
| Summary: temporary backup 0.99! | Summary: temporary backup 0.99! |
| Line 1238 void mnbrak(double *ax, double *bx, doub | Line 1241 void mnbrak(double *ax, double *bx, doub |
| ulim=(*bx)+GLIMIT*(*cx-*bx); /* Maximum abscisse where function can be evaluated */ | ulim=(*bx)+GLIMIT*(*cx-*bx); /* Maximum abscisse where function can be evaluated */ |
| if ((*bx-u)*(u-*cx) > 0.0) { /* if u between b and c */ | if ((*bx-u)*(u-*cx) > 0.0) { /* if u between b and c */ |
| fu=(*func)(u); | fu=(*func)(u); |
| #ifdef DEBUG | |
| /* f(x)=A(x-u)**2+f(u) */ | |
| double A, fparabu; | |
| A= (*fb - *fa)/(*bx-*ax)/(*bx+*ax-2*u); | |
| fparabu= *fa - A*(*ax-u)*(*ax-u); | |
| printf("mnbrak (*ax=%.12f, *fa=%.12lf), (*bx=%.12f, *fb=%.12lf), (*cx=%.12f, *fc=%.12lf), (*u=%.12f, fu=%.12lf, fparabu=%.12f)\n",*ax,*fa,*bx,*fb,*cx,*fc,u,fu, fparabu); | |
| fprintf(ficlog, "mnbrak (*ax=%.12f, *fa=%.12lf), (*bx=%.12f, *fb=%.12lf), (*cx=%.12f, *fc=%.12lf), (*u=%.12f, fu=%.12lf, fparabu=%.12f)\n",*ax,*fa,*bx,*fb,*cx,*fc,u,fu, fparabu); | |
| #endif | |
| } else if ((*cx-u)*(u-ulim) > 0.0) { /* u is after c but before ulim */ | } else if ((*cx-u)*(u-ulim) > 0.0) { /* u is after c but before ulim */ |
| fu=(*func)(u); | fu=(*func)(u); |
| if (fu < *fc) { | if (fu < *fc) { |