68 if( delta > dab && delta < dcb )
124 if( delta > dab && delta < dcb )
149 double *x =
new double[n];
150 double *y =
new double[n];
151 for(
int i=0; i < n; ++i )
156 double a,b,siga,sigb;
157 linfit( n, x, y, a, siga, b, sigb );
168 double *x =
new double[n];
169 double *y =
new double[n];
170 for(
int i=0; i < n; ++i )
175 double a,b,siga,sigb;
176 linfit( n, x, y, a, siga, b, sigb );
239 double tol,
int max_iter,
int& err )
252 double b = 0.5*(a + c);
253 for(
int i = 0; i < max_iter && !track.
lgConverged(); i++ )
255 track.
add( b, (*f)(b) );
262 result = track.
root();
sys_float safe_div(sys_float x, sys_float y, sys_float res_0by0)
double p_numerator(double dab, double dcb, double fa, double fb, double fc)
void add(double x, double fx)
double p_denominator(double fa, double fb, double fc)
int init_bracket(double x1, double fx1, double x2, double fx2)
vector< pair< double, double > > p_history
double p_midpoint() const
void p_set_root(double x)
void set_NaN(sys_float &x)
double Amsterdam_Method(double(*f)(double), double a, double fa, double c, double fc, double tol, int max_iter, int &err)
bool linfit(long n, const double xorg[], const double yorg[], double &a, double &siga, double &b, double &sigb)