summaryrefslogtreecommitdiff
path: root/libguile/integers.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2022-01-04 22:32:27 +0100
committerAndy Wingo <wingo@pobox.com>2022-01-13 09:37:16 +0100
commit8b2d58b993f1aa7625156d3a5e66efd9acef7262 (patch)
tree249dc2c538952f8b223b7087edc7d1be054375d9 /libguile/integers.h
parent3e08c9cec03660048cbc4473b1e9ed421cd01918 (diff)
downloadguile-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.h12
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 */