This documentation is automatically generated by online-judge-tools/verification-helper
View the Project on GitHub AlexanderNekrasov/Youthful-Passion-Fruit-teambook
/**
* Author: talant
* Date: 2024-09-09
* Description: Golden Search
*/
double gss(double a, double b, double (*f)(double)) {
double r = (sqrt(5) - 1) / 2, eps = 1e-7;
double x1 = b - r * (b - a), x2 = a + r * (b - a);
double f1 = f(x1), f2 = f(x2);
while (b - a > eps)
if (f1 < f2) { // change to > to find maximum
b = x2; x2 = x1; f2 = f1;
x1 = b - r * (b - a); f1 = f(x1);
} else {
a = x1; x1 = x2; f1 = f2;
x2 = a + r * (b - a); f2 = f(x2);
}
return a;
}
#line 1 "geometry/GoldenSearch.cpp"
/**
* Author: talant
* Date: 2024-09-09
* Description: Golden Search
*/
double gss(double a, double b, double (*f)(double)) {
double r = (sqrt(5) - 1) / 2, eps = 1e-7;
double x1 = b - r * (b - a), x2 = a + r * (b - a);
double f1 = f(x1), f2 = f(x2);
while (b - a > eps)
if (f1 < f2) { // change to > to find maximum
b = x2; x2 = x1; f2 = f1;
x1 = b - r * (b - a); f1 = f(x1);
} else {
a = x1; x1 = x2; f1 = f2;
x2 = a + r * (b - a); f2 = f(x2);
}
return a;
}