324 const double Step = 0.01;
326 double A=0, B=0, C=0;
328 for (
double a = 1.0; a > Step; a-=Step) {
329 for (
double b = Step; b <= 1.0; b+=Step) {
330 for (
double c = Step; c <= a; c+=Step) {
331 double EE = ( pow(a+2*b+c, R) - pow(a+c, R) ) / 2.0;
332 double EH = ( pow(pow(a+b,2) + pow(b+c,2), R)
333 -2*pow(a*(a+b)+c*(c+b), R)
334 -pow(a*a + 2*b*b + c*c, R)
335 +2*pow(a*a + c*c, R) ) / 2.0;
336 double ET = ( pow(pow(a+b,3)+pow(b+c,3), R)
337 -3*pow(a*pow(a+b,2)+c*pow(b+c,2), R)
338 -3*pow(a*a*a + c*c*c + b*(a*a+c*c) + b*b*(a+c) + 2*b*b*b ,R)
339 +2*pow(a*a*a + 2*b*b*b + c*c*c, R)
340 +5*pow(a*a*a + c*c*c + b*b*(a+c), R)
341 +4*pow(a*a*a + c*c*c + b*(a*a+c*c), R)
342 -6*pow(a*a*a + c*c*c, R) ) / 6.0;
343 double ED = ( pow(a*a*a + 3*b*b*(a+c) + c*c*c, R)
344 -3*pow(a*(a*a+b*b) + c*(b*b+c*c), R)
345 +2*pow(a*a*a+c*c*c, R) ) / 6.0;
346 if (EE < 0) { EE = 1; }
347 if (EH < 0) { EH = 1; }
348 if (ET < 0) { ET = 1; }
349 if (ED < 0) { ED = 1; }
356 printf(
"%.03f %.03f %0.03f %10.4f %10.10g\t%10.10g\t%10.10g\t%10.10g\n", a,b,c, log10(Score), EE, EH, ET, ED);
358 A=a; B=b; C=c; MinScore=Score;
364 return TFltQu(A,B,C,MinScore);
TQuad< TFlt, TFlt, TFlt, TFlt > TFltQu
static bool IsInEps(const T &Val, const T &Eps)