diff options
author | Andy Wingo <wingo@pobox.com> | 2022-01-07 10:11:45 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2022-01-13 09:37:17 +0100 |
commit | f167627bb06d09bcd20432ab25c2b0a4daf5c6fa (patch) | |
tree | 95d833cf13eb26c17bdc1c14515bee7c95422028 /libguile/integers.c | |
parent | 124d8892274e7293f12ac4d1c4bf0053d6d3a51d (diff) | |
download | guile-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.c | 8 |
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; |