summaryrefslogtreecommitdiff
path: root/libguile/integers.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/integers.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/integers.c')
-rw-r--r--libguile/integers.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libguile/integers.c b/libguile/integers.c
index 2fde52625..f60173649 100644
--- a/libguile/integers.c
+++ b/libguile/integers.c
@@ -2696,8 +2696,8 @@ mpz_get_d_2exp (long *exp, mpz_srcptr z)
}
#endif
-static double
-bignum_frexp (struct scm_bignum *x, long *exp)
+double
+scm_integer_frexp_z (struct scm_bignum *x, long *exp)
{
mpz_t zx;
alias_bignum_to_mpz (x, zx);
@@ -2730,7 +2730,7 @@ double
scm_integer_to_double_z (struct scm_bignum *x)
{
long exponent;
- double significand = bignum_frexp (x, &exponent);
+ double significand = scm_integer_frexp_z (x, &exponent);
return ldexp (significand, exponent);
}
@@ -3134,7 +3134,7 @@ scm_integer_inexact_sqrt_z (struct scm_bignum *k)
mpz_init (zs);
long expon;
- double signif = bignum_frexp (k, &expon);
+ double signif = scm_integer_frexp_z (k, &expon);
int negative = signif < 0;
if (negative)
signif = -signif;