Change Task 2

This commit is contained in:
AZEN-SGG 2025-05-02 03:57:38 +03:00
parent abe10d6036
commit 4d61d7f22a
2 changed files with 15 additions and 5 deletions

View file

@ -1,6 +1,7 @@
#include "init_f.h" #include "init_f.h"
#include <math.h> #include <math.h>
#include <float.h>
static int cl_f = 0; static int cl_f = 0;
@ -40,8 +41,9 @@ double f1 (double x)
double d1 (double x) double d1 (double x)
{ {
(void)x;
cl_d++; cl_d++;
return x; return 1;
} }
double f2 (double x) double f2 (double x)
@ -95,7 +97,11 @@ double f5 (double x)
double d5 (double x) double d5 (double x)
{ {
cl_d++; cl_d++;
return (((signbit(x)) ? -1 : 1) * (1.0 / (sqrt(fabs(x) + 1)))) * 0.5; if (x < -DBL_EPSILON)
return (-1.0 / (sqrt(fabs(x) + 1))) * 0.5;
else if (x > DBL_EPSILON)
return (1.0 / (sqrt(fabs(x) + 1))) * 0.5;
return 0;
} }
double f6 (double x) double f6 (double x)
@ -109,5 +115,9 @@ double d6 (double x)
double sqrt_x = sqrt(fabs(x) + 1); double sqrt_x = sqrt(fabs(x) + 1);
cl_d++; cl_d++;
return (((signbit(x)) ? -1 : 1) * (1.0 / (sqrt(sqrt_x + 1) * sqrt_x))) * 0.25; if (x < -DBL_EPSILON)
return (-1.0 / (sqrt(sqrt_x + 1) * sqrt_x)) * 0.25;
else if (x > DBL_EPSILON)
return (1.0 / (sqrt(sqrt_x + 1) * sqrt_x)) * 0.25;
return 0;
} }

View file

@ -16,7 +16,7 @@ int t2_solve (
double y = f(x_0); double y = f(x_0);
double dy = d(x_0); double dy = d(x_0);
if (y - eps < DBL_EPSILON) if (fabs(y) - eps < DBL_EPSILON)
break; break;
if (fabs(dy) < DBL_EPSILON) if (fabs(dy) < DBL_EPSILON)