> On Feb 18, 2017, at 2:31 AM, Andy Wingo <wi...@pobox.com> wrote: > > We are pleased to announce GNU Guile release 2.1.7. > > Guile 2.1.7 is the seventh pre-release in what will eventually become > the 2.2 release series. We encourage you to test this release and > provide feedback to guile-devel@gnu.org.
In libguile/numbers.c abs() is used for long argument where labs() should be used. A patch is included below for guile-2.1.7. See also 25786 at debbugs.gnu.org <http://debbugs.gnu.org/>. /* Returns log(n/d), for exact non-zero integers n and d */ static SCM log_of_fraction (SCM n, SCM d) { long n_size = scm_to_long (scm_integer_length (n)); long d_size = scm_to_long (scm_integer_length (d)); if (abs (n_size - d_size) > 1) return (scm_difference (log_of_exact_integer (n), log_of_exact_integer (d))); --- libguile/numbers.c.orig 2017-02-18 08:29:52.000000000 -0800 +++ libguile/numbers.c 2017-02-18 08:30:23.000000000 -0800 @@ -9951,7 +9951,7 @@ long n_size = scm_to_long (scm_integer_length (n)); long d_size = scm_to_long (scm_integer_length (d)); - if (abs (n_size - d_size) > 1) + if (labs (n_size - d_size) > 1) return (scm_difference (log_of_exact_integer (n), log_of_exact_integer (d))); else if (scm_is_false (scm_negative_p (n)))