return init.f
This commit is contained in:
parent
447b54db09
commit
f140ae9722
1 changed files with 67 additions and 0 deletions
67
2025.05.02/dist/Krivoruchenko_SK/init_f.c
vendored
67
2025.05.02/dist/Krivoruchenko_SK/init_f.c
vendored
|
@ -4,12 +4,23 @@
|
|||
|
||||
|
||||
static int cl = 0;
|
||||
static int cl_d = 0;
|
||||
|
||||
int get_call_count (void)
|
||||
{
|
||||
return cl;
|
||||
}
|
||||
|
||||
int get_call_function_count (void)
|
||||
{
|
||||
return cl_f;
|
||||
}
|
||||
|
||||
int get_call_derivative_count (void)
|
||||
{
|
||||
return cl_d;
|
||||
}
|
||||
|
||||
double f0 (double x)
|
||||
{
|
||||
cl++;
|
||||
|
@ -18,12 +29,27 @@ double f0 (double x)
|
|||
return 1;
|
||||
}
|
||||
|
||||
double d0 (double x)
|
||||
{
|
||||
cl_d++;
|
||||
(void)x;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
double f1 (double x)
|
||||
{
|
||||
cl++;
|
||||
return (x * 1e-100) - 1.0;
|
||||
}
|
||||
|
||||
double d1 (double x)
|
||||
{
|
||||
(void)x;
|
||||
cl_d++;
|
||||
return 1;
|
||||
}
|
||||
|
||||
double f2 (double x)
|
||||
{
|
||||
double x_2 = x * x;
|
||||
|
@ -31,6 +57,12 @@ double f2 (double x)
|
|||
return 4 - x_2;
|
||||
}
|
||||
|
||||
double d2 (double x)
|
||||
{
|
||||
cl_d++;
|
||||
return -2 * x;
|
||||
}
|
||||
|
||||
double f3 (double x)
|
||||
{
|
||||
double x_2 = x * x;
|
||||
|
@ -40,6 +72,13 @@ double f3 (double x)
|
|||
return x_3 + 3 * x_2 + 16;
|
||||
}
|
||||
|
||||
double d3 (double x)
|
||||
{
|
||||
cl_d++;
|
||||
|
||||
return 3 * x * x + 6 * x;
|
||||
}
|
||||
|
||||
double f4 (double x)
|
||||
{
|
||||
double x_2 = x * x;
|
||||
|
@ -49,6 +88,13 @@ double f4 (double x)
|
|||
return 3 - 2 * x_2 - x_4;
|
||||
}
|
||||
|
||||
double d4 (double x)
|
||||
{
|
||||
cl_d++;
|
||||
|
||||
return -4 * x - 4 * ((x * x) * x);
|
||||
}
|
||||
|
||||
double f5 (double x)
|
||||
{
|
||||
double sq_x = sqrt(fabs(x) + 1);
|
||||
|
@ -56,6 +102,16 @@ double f5 (double x)
|
|||
return sq_x - 2;
|
||||
}
|
||||
|
||||
double d5 (double x)
|
||||
{
|
||||
cl_d++;
|
||||
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 sq_x = sqrt(fabs(x) + 1);
|
||||
|
@ -64,3 +120,14 @@ double f6 (double x)
|
|||
return sq - 2;
|
||||
}
|
||||
|
||||
double d6 (double x)
|
||||
{
|
||||
double sqrt_x = sqrt(fabs(x) + 1);
|
||||
cl_d++;
|
||||
|
||||
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;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue