End dist
This commit is contained in:
parent
f140ae9722
commit
6efd4f5786
20 changed files with 51 additions and 34 deletions
2
2025.05.02/dist/Krivoruchenko_SK/a01.c
vendored
2
2025.05.02/dist/Krivoruchenko_SK/a01.c
vendored
|
@ -22,7 +22,7 @@ int main(int argc, char *argv[])
|
|||
(a <= b) &&
|
||||
(sscanf(argv[3], "%lf", &eps) == 1 && (eps >= 0)) &&
|
||||
((sscanf(argv[4], "%d", &m) == 1) && m > 0) &&
|
||||
((sscanf(argv[5], "%d", &k) == 1) && ((0 <= k) && (k <= len_f))))
|
||||
((sscanf(argv[5], "%d", &k) == 1) && ((0 <= k) && (k < len_f))))
|
||||
) {
|
||||
fprintf(stderr, "Usage: %s a b eps M k\n", argv[0]);
|
||||
return -1;
|
||||
|
|
2
2025.05.02/dist/Krivoruchenko_SK/a02.c
vendored
2
2025.05.02/dist/Krivoruchenko_SK/a02.c
vendored
|
@ -22,7 +22,7 @@ int main(int argc, char *argv[])
|
|||
sscanf(argv[1], "%lf", &x_0) == 1 &&
|
||||
(sscanf(argv[2], "%lf", &eps) == 1 && (eps >= 0)) &&
|
||||
((sscanf(argv[3], "%d", &m) == 1) && (m > 0)) &&
|
||||
((sscanf(argv[4], "%d", &k) == 1) && ((0 <= k) && (k <= len_f))))
|
||||
((sscanf(argv[4], "%d", &k) == 1) && ((0 <= k) && (k < len_f))))
|
||||
) {
|
||||
fprintf(stderr, "Usage: %s x_0 eps M k\n", argv[0]);
|
||||
return -1;
|
||||
|
|
2
2025.05.02/dist/Krivoruchenko_SK/a03.c
vendored
2
2025.05.02/dist/Krivoruchenko_SK/a03.c
vendored
|
@ -22,7 +22,7 @@ int main(int argc, char *argv[])
|
|||
(a <= b) &&
|
||||
(sscanf(argv[3], "%lf", &eps) == 1 && (eps >= 0)) &&
|
||||
((sscanf(argv[4], "%d", &m) == 1) && m > 0) &&
|
||||
((sscanf(argv[5], "%d", &k) == 1) && ((0 <= k) && (k <= len_f))))
|
||||
((sscanf(argv[5], "%d", &k) == 1) && ((0 <= k) && (k < len_f))))
|
||||
) {
|
||||
fprintf(stderr, "Usage: %s a b eps M k\n", argv[0]);
|
||||
return -1;
|
||||
|
|
2
2025.05.02/dist/Krivoruchenko_SK/a04.c
vendored
2
2025.05.02/dist/Krivoruchenko_SK/a04.c
vendored
|
@ -22,7 +22,7 @@ int main(int argc, char *argv[])
|
|||
(a <= b) &&
|
||||
(sscanf(argv[3], "%lf", &eps) == 1 && (eps >= 0)) &&
|
||||
((sscanf(argv[4], "%d", &m) == 1) && m > 0) &&
|
||||
((sscanf(argv[5], "%d", &k) == 1) && ((0 <= k) && (k <= len_f))))
|
||||
((sscanf(argv[5], "%d", &k) == 1) && ((0 <= k) && (k < len_f))))
|
||||
) {
|
||||
fprintf(stderr, "Usage: %s a b eps M k\n", argv[0]);
|
||||
return -1;
|
||||
|
|
4
2025.05.02/dist/Krivoruchenko_SK/a05.c
vendored
4
2025.05.02/dist/Krivoruchenko_SK/a05.c
vendored
|
@ -12,7 +12,7 @@ int main(int argc, char *argv[])
|
|||
int m, k, cl, it, task = 5;
|
||||
|
||||
double (*f) (double);
|
||||
double (*f_lst[]) (double) = {f0, f1, f2, f3, f4, f5, f6}; //TODO: Rem f7
|
||||
double (*f_lst[]) (double) = {f0, f1, f2, f3, f4, f5, f6};
|
||||
int len_f = sizeof(f_lst) / sizeof(f_lst[0]);
|
||||
|
||||
if (
|
||||
|
@ -22,7 +22,7 @@ int main(int argc, char *argv[])
|
|||
(a <= b) &&
|
||||
(sscanf(argv[3], "%lf", &eps) == 1 && (eps >= 0)) &&
|
||||
((sscanf(argv[4], "%d", &m) == 1) && m > 0) &&
|
||||
((sscanf(argv[5], "%d", &k) == 1) && ((0 <= k) && (k <= len_f))))
|
||||
((sscanf(argv[5], "%d", &k) == 1) && ((0 <= k) && (k < len_f))))
|
||||
) {
|
||||
fprintf(stderr, "Usage: %s a b eps M k\n", argv[0]);
|
||||
return -1;
|
||||
|
|
2
2025.05.02/dist/Krivoruchenko_SK/a06.c
vendored
2
2025.05.02/dist/Krivoruchenko_SK/a06.c
vendored
|
@ -25,7 +25,7 @@ int main(int argc, char *argv[])
|
|||
(a <= b) &&
|
||||
(sscanf(argv[4], "%lf", &eps) == 1 && (eps >= 0)) &&
|
||||
((sscanf(argv[5], "%d", &num_iter) == 1) && num_iter > 0) &&
|
||||
((sscanf(argv[6], "%d", &k) == 1) && ((0 <= k) && (k <= len_f))))
|
||||
((sscanf(argv[6], "%d", &k) == 1) && ((0 <= k) && (k < len_f))))
|
||||
) {
|
||||
fprintf(stderr, "Usage: %s m a b eps M k\n", argv[0]);
|
||||
return -1;
|
||||
|
|
2
2025.05.02/dist/Krivoruchenko_SK/a07.c
vendored
2
2025.05.02/dist/Krivoruchenko_SK/a07.c
vendored
|
@ -20,7 +20,7 @@ int main(int argc, char *argv[])
|
|||
sscanf(argv[1], "%lf", &x_0) == 1 &&
|
||||
(sscanf(argv[2], "%lf", &eps) == 1 && (eps >= 0)) &&
|
||||
((sscanf(argv[3], "%d", &m) == 1) && (m > 0)) &&
|
||||
((sscanf(argv[4], "%d", &k) == 1) && ((0 <= k) && (k <= len_f))))
|
||||
((sscanf(argv[4], "%d", &k) == 1) && ((0 <= k) && (k < len_f))))
|
||||
) {
|
||||
fprintf(stderr, "Usage: %s x_0 eps M k\n", argv[0]);
|
||||
return -1;
|
||||
|
|
2
2025.05.02/dist/Krivoruchenko_SK/a08.c
vendored
2
2025.05.02/dist/Krivoruchenko_SK/a08.c
vendored
|
@ -22,7 +22,7 @@ int main(int argc, char *argv[])
|
|||
(a <= b) &&
|
||||
(sscanf(argv[3], "%lf", &eps) == 1 && (eps >= 0)) &&
|
||||
((sscanf(argv[4], "%d", &m) == 1) && m > 0) &&
|
||||
((sscanf(argv[5], "%d", &k) == 1) && ((0 <= k) && (k <= len_f))))
|
||||
((sscanf(argv[5], "%d", &k) == 1) && ((0 <= k) && (k < len_f))))
|
||||
) {
|
||||
fprintf(stderr, "Usage: %s a b eps M k\n", argv[0]);
|
||||
return -1;
|
||||
|
|
2
2025.05.02/dist/Krivoruchenko_SK/a09.c
vendored
2
2025.05.02/dist/Krivoruchenko_SK/a09.c
vendored
|
@ -22,7 +22,7 @@ int main(int argc, char *argv[])
|
|||
(a <= b) &&
|
||||
(sscanf(argv[3], "%lf", &eps) == 1 && (eps >= 0)) &&
|
||||
((sscanf(argv[4], "%d", &m) == 1) && m > 0) &&
|
||||
((sscanf(argv[5], "%d", &k) == 1) && ((0 <= k) && (k <= len_f))))
|
||||
((sscanf(argv[5], "%d", &k) == 1) && ((0 <= k) && (k < len_f))))
|
||||
) {
|
||||
fprintf(stderr, "Usage: %s a b eps M k\n", argv[0]);
|
||||
return -1;
|
||||
|
|
7
2025.05.02/dist/Krivoruchenko_SK/init_f.c
vendored
7
2025.05.02/dist/Krivoruchenko_SK/init_f.c
vendored
|
@ -1,6 +1,7 @@
|
|||
#include "init_f.h"
|
||||
|
||||
#include <math.h>
|
||||
#include <float.h>
|
||||
|
||||
|
||||
static int cl = 0;
|
||||
|
@ -11,9 +12,9 @@ int get_call_count (void)
|
|||
return cl;
|
||||
}
|
||||
|
||||
int get_call_function_count (void)
|
||||
int get_call_function_count (void)
|
||||
{
|
||||
return cl_f;
|
||||
return cl;
|
||||
}
|
||||
|
||||
int get_call_derivative_count (void)
|
||||
|
@ -130,4 +131,4 @@ double d6 (double x)
|
|||
else if (x > DBL_EPSILON)
|
||||
return (1.0 / (sqrt(sqrt_x + 1) * sqrt_x)) * 0.25;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
2
2025.05.02/dist/Krivoruchenko_SK/init_f.h
vendored
2
2025.05.02/dist/Krivoruchenko_SK/init_f.h
vendored
|
@ -2,7 +2,7 @@
|
|||
#define INIT_F_H
|
||||
|
||||
int get_call_count (void);
|
||||
int get_call_function_count (void) ;
|
||||
int get_call_function_count (void);
|
||||
int get_call_derivative_count (void);
|
||||
|
||||
double f0 (double x);
|
||||
|
|
|
@ -8,7 +8,8 @@ if [ "$#" -ne 1 ]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
prog=$(printf "%02d" "$1")
|
||||
num=$(printf "%02d" "$1")
|
||||
prog="a$num.out"
|
||||
|
||||
mkdir -p tests
|
||||
|
||||
|
@ -18,14 +19,14 @@ if [ -f Makefile ]; then
|
|||
make
|
||||
fi
|
||||
|
||||
if [ ! -f a0$prog.out ]; then
|
||||
echo "Отсутствует исполняемый файл... [a0$prog.out]"
|
||||
if [ ! -f $prog ]; then
|
||||
echo "Отсутствует исполняемый файл... [$prog]"
|
||||
echo "Завершение..."
|
||||
exit 2
|
||||
fi
|
||||
|
||||
outlog="$(pwd)/tests/out_a${prog}_$script_name.log"
|
||||
errlog="$(pwd)/tests/err_a${prog}_$script_name.log"
|
||||
outlog="$(pwd)/tests/out_a${num}_$script_name.log"
|
||||
errlog="$(pwd)/tests/err_a${num}_$script_name.log"
|
||||
|
||||
rm -f "$outlog" "$errlog"
|
||||
|
||||
|
@ -36,15 +37,21 @@ i=2
|
|||
for (( k = 3 ; k < 7; k++ )); do
|
||||
for (( a = -100 ; a < -40 ; a++ )); do
|
||||
for (( b = -9 ; b < 10 ; b++ )); do
|
||||
echo "./a0$prog.out "$(echo "$a / 10" | bc -l)" "$(echo "$b / 10" | bc -l)" $eps $iter $k"
|
||||
echo "$i $(./a$prog.out "$(echo "$a / 10" | bc -l)" "$(echo "$b / 10" | bc -l)" $eps $iter $k)"
|
||||
x="$(echo "$a / 10" | bc -l)"
|
||||
y="$(echo "$b / 10" | bc -l)"
|
||||
cmd="./$prog $poly_deg $x $y $eps $iter $k"
|
||||
echo "$cmd"
|
||||
echo "$i $(eval "$cmd")"
|
||||
((i+=2))
|
||||
done
|
||||
done
|
||||
for (( a = -9 ; a < 10 ; a++ )); do
|
||||
for (( b = 11 ; b < 100 ; b++ )); do
|
||||
echo "$i ./a0$prog.out "$(echo "$a / 10" | bc -l)" "$(echo "$b / 10" | bc -l)" $eps $iter $k"
|
||||
echo "$i $(./a$prog.out "$(echo "$a / 10" | bc -l)" "$(echo "$b / 10" | bc -l)" $eps $iter $k)"
|
||||
x="$(echo "$a / 10" | bc -l)"
|
||||
y="$(echo "$b / 10" | bc -l)"
|
||||
cmd="./$prog $poly_deg $x $y $eps $iter $k"
|
||||
echo "$cmd"
|
||||
echo "$i $(eval "$cmd")"
|
||||
((i+=2))
|
||||
done
|
||||
done
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef INIT_F_H
|
||||
#define INIT_F_H
|
||||
|
||||
#define NUM_FPE 1e-300
|
||||
|
||||
int get_call_count (void);
|
||||
double f0 (double x);
|
||||
double f1 (double x);
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
#include <math.h>
|
||||
#include <float.h>
|
||||
|
||||
int t1_solve (
|
||||
double t1_solve (
|
||||
double (*f) (double),
|
||||
double x, double h
|
||||
) {
|
||||
if (h < DBL_EPSILON)
|
||||
if (h < NUM_FPE)
|
||||
return DBL_MAX;
|
||||
return (f(x + h) - f(x)) / h;
|
||||
}
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
#ifndef SOLVE_H
|
||||
#define SOLVE_H
|
||||
|
||||
int t1_solve (
|
||||
#define NUM_FPE 1e-300
|
||||
|
||||
double t1_solve (
|
||||
double (*f) (double),
|
||||
double x, double h
|
||||
);
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
#include <math.h>
|
||||
#include <float.h>
|
||||
|
||||
int t2_solve (
|
||||
double t2_solve (
|
||||
double (*f) (double),
|
||||
double x, double h
|
||||
) {
|
||||
if (h < DBL_EPSILON)
|
||||
if (h < NUM_FPE)
|
||||
return DBL_MAX;
|
||||
return (f(x + h) - f(x - h)) / (2 * h);
|
||||
}
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
#ifndef SOLVE_H
|
||||
#define SOLVE_H
|
||||
|
||||
int t2_solve (
|
||||
#define NUM_FPE 1e-300
|
||||
|
||||
double t2_solve (
|
||||
double (*f) (double),
|
||||
double x, double h
|
||||
);
|
||||
|
|
|
@ -19,7 +19,7 @@ int main (int argc, char *argv[])
|
|||
!((argc == 4) &&
|
||||
sscanf(argv[1], "%lf", &x) == 1 &&
|
||||
((sscanf(argv[2], "%lf", &h) == 1) && (h > 0)) &&
|
||||
((sscanf(argv[3], "%d", &k) == 1) && ((0 <= k) && (k <= len_f))))
|
||||
((sscanf(argv[3], "%d", &k) == 1) && ((0 <= k) && (k < len_f))))
|
||||
) {
|
||||
fprintf(stderr, "Usage: %s x h k\n", argv[0]);
|
||||
return -1;
|
||||
|
|
|
@ -3,12 +3,13 @@
|
|||
#include <math.h>
|
||||
#include <float.h>
|
||||
|
||||
int t3_solve (
|
||||
double t3_solve (
|
||||
double (*f) (double),
|
||||
double x, double h
|
||||
) {
|
||||
if (h < DBL_EPSILON)
|
||||
double h_2 = h * h;
|
||||
if (h_2 < NUM_FPE)
|
||||
return DBL_MAX;
|
||||
return (f(x + h) - 2 * f(x) + f(x - h)) / (h * h);
|
||||
return (f(x + h) - 2 * f(x) + f(x - h)) / h_2;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
#ifndef SOLVE_H
|
||||
#define SOLVE_H
|
||||
|
||||
int t3_solve (
|
||||
#define NUM_FPE 1e-300
|
||||
|
||||
double t3_solve (
|
||||
double (*f) (double),
|
||||
double x, double h
|
||||
);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue