summaryrefslogtreecommitdiff
path: root/libguile/numbers.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2022-01-07 10:11:45 +0100
committerAndy Wingo <wingo@pobox.com>2022-01-13 09:37:17 +0100
commitf167627bb06d09bcd20432ab25c2b0a4daf5c6fa (patch)
tree95d833cf13eb26c17bdc1c14515bee7c95422028 /libguile/numbers.c
parent124d8892274e7293f12ac4d1c4bf0053d6d3a51d (diff)
downloadguile-f167627bb06d09bcd20432ab25c2b0a4daf5c6fa.tar.gz
Expose frexp from integers lib
* libguile/integers.h: * libguile/integers.c (scm_integer_frexp_z): Expose internally. (scm_integer_to_double_z): (scm_integer_inexact_sqrt_z): Adapt uses. * libguile/numbers.c (log_of_exact_integer): Use exposed scm_integer_frexp_z.
Diffstat (limited to 'libguile/numbers.c')
-rw-r--r--libguile/numbers.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libguile/numbers.c b/libguile/numbers.c
index 68534c02c..7eaac3dc4 100644
--- a/libguile/numbers.c
+++ b/libguile/numbers.c
@@ -7209,11 +7209,11 @@ log_of_exact_integer (SCM n)
else if (SCM_BIGP (n))
{
long expon;
- double signif = scm_i_big2dbl_2exp (n, &expon);
+ double signif = scm_integer_frexp_z (scm_bignum (n), &expon);
return log_of_shifted_double (signif, expon);
}
else
- scm_wrong_type_arg ("log_of_exact_integer", SCM_ARG1, n);
+ abort ();
}
/* Returns log(n/d), for exact non-zero integers n and d */