In trying to solve 3
This commit is contained in:
parent
c4fa953d67
commit
e5b2c01295
3 changed files with 18 additions and 3 deletions
|
@ -40,7 +40,7 @@ int t3_solve (
|
|||
|
||||
for (it = 1; it <= m; ++it)
|
||||
{
|
||||
c = a - ((b - a) / (y_b - y_a)) * y_a;
|
||||
c = a - ((a - b) / (y_a - y_b)) * y_a;
|
||||
y = f(c);
|
||||
|
||||
memcpy(&bits, &y, sizeof(bits));
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -39,6 +39,13 @@ int t5_solve (
|
|||
else if (is_equal(b, c))
|
||||
return -1;
|
||||
|
||||
if (
|
||||
is_equal(y_a, y_b) ||
|
||||
is_equal(y_a, y_c) ||
|
||||
is_equal(y_b, y_c)
|
||||
)
|
||||
return -3;
|
||||
|
||||
for (it = 1; it < m+1; ++it)
|
||||
{
|
||||
double *temp_pnt = 0, *inner_max_pnt;
|
||||
|
@ -61,6 +68,14 @@ int t5_solve (
|
|||
)
|
||||
return -1;
|
||||
|
||||
if (
|
||||
is_equal(y_new, y_a) ||
|
||||
is_equal(y_new, y_c) ||
|
||||
is_equal(y_new, y_b)
|
||||
)
|
||||
return -3;
|
||||
|
||||
|
||||
inner_max_pnt = fp_abs_max(&c, &b, &y_c, &y_b, &temp_pnt);
|
||||
*fp_abs_max(&a, inner_max_pnt, &y_a, temp_pnt, &temp_pnt) = x_new;
|
||||
*temp_pnt = y_new;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue