diff options
author | Andy Wingo <wingo@pobox.com> | 2022-01-04 22:32:27 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2022-01-13 09:37:16 +0100 |
commit | 8b2d58b993f1aa7625156d3a5e66efd9acef7262 (patch) | |
tree | 249dc2c538952f8b223b7087edc7d1be054375d9 /libguile/integers.h | |
parent | 3e08c9cec03660048cbc4473b1e9ed421cd01918 (diff) | |
download | guile-8b2d58b993f1aa7625156d3a5e66efd9acef7262.tar.gz |
Clean up scm_divide
* libguile/integers.h:
* libguile/integers.c (scm_is_integer_divisible_ii):
(scm_is_integer_divisible_zi):
(scm_is_integer_divisible_zz): New helpers.
* libguile/numbers.c (invert, divide, complex_div): New helpers for
scm_divide.
(scm_divide): Adapt.
Diffstat (limited to 'libguile/integers.h')
-rw-r--r-- | libguile/integers.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libguile/integers.h b/libguile/integers.h index 8795a6288..98c19b90f 100644 --- a/libguile/integers.h +++ b/libguile/integers.h @@ -184,6 +184,18 @@ SCM_INTERNAL SCM scm_integer_mul_ii (scm_t_inum x, scm_t_inum y); SCM_INTERNAL SCM scm_integer_mul_zi (struct scm_bignum *x, scm_t_inum y); SCM_INTERNAL SCM scm_integer_mul_zz (struct scm_bignum *x, struct scm_bignum *y); +SCM_INTERNAL int scm_is_integer_divisible_ii (scm_t_inum x, scm_t_inum y); +SCM_INTERNAL int scm_is_integer_divisible_zi (struct scm_bignum *x, + scm_t_inum y); +SCM_INTERNAL int scm_is_integer_divisible_zz (struct scm_bignum *x, + struct scm_bignum *y); + +SCM_INTERNAL SCM scm_integer_exact_quotient_ii (scm_t_inum n, scm_t_inum d); +SCM_INTERNAL SCM scm_integer_exact_quotient_zi (struct scm_bignum *n, + scm_t_inum d); +SCM_INTERNAL SCM scm_integer_exact_quotient_zz (struct scm_bignum *n, + struct scm_bignum *d); + #endif /* SCM_INTEGERS_H */ |