118 c = 0.5 * ( 3.0 - sqrt ( 5.0 ) );
120 eps = sqrt ( DBL_EPSILON );
124 x = sa + c * ( b - a );
136 m = 0.5 * ( sa + sb ) ;
137 tol = eps * fabs ( x ) + t;
142 if ( fabs ( x - m ) <= t2 - 0.5 * ( sb - sa ) )
153 if ( tol < fabs ( e ) )
155 r = ( x - w ) * ( fx - fv );
156 q = ( x - v ) * ( fx - fw );
157 p = ( x - v ) * q - ( x - w ) * r;
168 if ( fabs ( p ) < fabs ( 0.5 * q * r ) &&
169 q * ( sa - x ) < p &&
180 if ( ( u - sa ) < t2 || ( sb - u ) < t2 )
210 if ( tol <= fabs ( d ) )
257 if ( fu <= fw || w == x )
264 else if ( fu <= fv || v == x || v == w )
double local_min(double a, double b, double t, funcStruct *f, double &x, int &calls)
Definition local_min.h:25