From 338f18b04cb70673aec2ae41c05526ee69fb7d10 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Thu, 23 May 2024 10:58:40 -0600 Subject: [PATCH] Add patch to fix an internal division case --- apron-division.patch | 23 +++++++++++++++++++++++ apron.spec | 7 +++++++ 2 files changed, 30 insertions(+) create mode 100644 apron-division.patch diff --git a/apron-division.patch b/apron-division.patch new file mode 100644 index 0000000..1d3729d --- /dev/null +++ b/apron-division.patch @@ -0,0 +1,23 @@ +--- itv/itv.c.orig 2023-09-20 13:55:04.000000000 -0600 ++++ itv/itv.c 2024-04-11 10:06:42.240079202 -0600 +@@ -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); + } + } + } diff --git a/apron.spec b/apron.spec index 99b94a8..622dc6e 100644 --- a/apron.spec +++ b/apron.spec @@ -29,6 +29,10 @@ Patch3: %{name}-japron-link.patch # https://github.com/antoinemine/apron/issues/94 # https://github.com/antoinemine/apron/pull/95 Patch4: %{name}-hasvar.patch +# Fix an internal division bug +# https://github.com/antoinemine/apron/issues/100 +# https://github.com/antoinemine/apron/pull/101 +Patch5: %{name}-division.patch # OCaml packages not built on i686 since OCaml 5 / Fedora 39. ExcludeArch: %{ix86} @@ -283,6 +287,9 @@ test/ctest1 %endif %changelog +* Thu May 23 2024 Jerry James - 0.9.14-7 +- Add patch to fix an internal division case + * Wed Mar 13 2024 Jerry James - 0.9.14-7 - Rebuild for flint 3.1.0