From 3e9c221bb48b9edfbe20b95463498e8c475d32f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Min=C3=A9?= Date: Tue, 13 Feb 2024 18:34:47 +0100 Subject: [PATCH] fix interval division case --- itv/itv.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/itv/itv.c b/itv/itv.c index d6bd8c23..6488a145 100644 --- a/itv/itv.c +++ b/itv/itv.c @@ -519,13 +519,15 @@ void itv_divn(itv_internal_t* intern, else { /* 0 is in the middle of b: one cross-divide b by c->sup */ if (a!=b) { - bound_div(a->inf,b->sup,c->sup); - bound_div(a->sup,b->inf,c->sup); + bound_neg(intern->mul_bound,c->sup); + bound_div(a->inf,b->sup,intern->mul_bound); + bound_div(a->sup,b->inf,intern->mul_bound); } else { - bound_div(intern->mul_bound,b->sup,c->sup); - bound_div(a->sup,b->inf,c->sup); - bound_set(a->inf,intern->mul_bound); + bound_neg(intern->mul_bound,c->sup); + bound_div(intern->sqrt_bound,b->sup,intern->mul_bound); + bound_div(a->sup,b->inf,intern->mul_bound); + bound_set(a->inf,intern->sqrt_bound); } } }