]> henry.ined.fr Git - .git/commitdiff
* imach.c (Module): Merging 1.61 to 1.162
authorN. Brouard <brouard@ined.fr>
Tue, 16 Dec 2014 10:30:11 +0000 (10:30 +0000)
committerN. Brouard <brouard@ined.fr>
Tue, 16 Dec 2014 10:30:11 +0000 (10:30 +0000)
src/imach.c

index 42fbebb0e2e3966c6f4966cc8ae31229cd5fa2d2..1aaee1b376b3a54309ed9e9d61998753ead7cbed 100644 (file)
@@ -1,6 +1,9 @@
 /* $Id$
   $State$
   $Log$
+  Revision 1.162  2014/09/25 11:43:39  brouard
+  Summary: temporary backup 0.99!
+
   Revision 1.1  2014/09/16 11:06:58  brouard
   Summary: With some code (wrong) for nlopt
 
@@ -1235,6 +1238,14 @@ void mnbrak(double *ax, double *bx, double *cx, double *fa, double *fb, double *
     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 */
       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 */
       fu=(*func)(u); 
       if (fu < *fc) {