summaryrefslogtreecommitdiff
path: root/libguile/numbers.h
diff options
context:
space:
mode:
authorMarius Vollmer <mvo@zagadka.de>2004-08-03 17:12:14 +0000
committerMarius Vollmer <mvo@zagadka.de>2004-08-03 17:12:14 +0000
commit8507ec804fbd7914b23fc535712c1d1ca1093913 (patch)
treef10522382f4ce5bddc8ca91a5e7b1940ea3fd25b /libguile/numbers.h
parentf9656a9f828feb5aa4ee8bd175dfa68dc09d6a6a (diff)
downloadguile-8507ec804fbd7914b23fc535712c1d1ca1093913.tar.gz
(scm_complex_p): New, export as "complex?" to Scheme.
(scm_number_p): Export as "number?" to Scheme. (scm_is_complex, scm_is_number): New. (scm_c_make_rectangular, scm_c_make_polar): New. (scm_make_rectangular, scm_make_polar): Use above. (scm_c_real_part, scm_c_imag_part, scm_c_magnitude, scm_c_angle): New. (scm_make_complex): Discouraged by moving to discouraged.h and discouraged.c. Replaced all uses with scm_c_make_rectangular.
Diffstat (limited to 'libguile/numbers.h')
-rw-r--r--libguile/numbers.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/libguile/numbers.h b/libguile/numbers.h
index 7917191c2..dc1f4c2b8 100644
--- a/libguile/numbers.h
+++ b/libguile/numbers.h
@@ -213,12 +213,13 @@ SCM_API int scm_print_complex (SCM sexp, SCM port, scm_print_state *pstate);
SCM_API int scm_bigprint (SCM exp, SCM port, scm_print_state *pstate);
SCM_API SCM scm_i_mem2number (const char *mem, size_t len, unsigned int radix);
SCM_API SCM scm_string_to_number (SCM str, SCM radix);
-SCM_API SCM scm_make_complex (double x, double y);
SCM_API SCM scm_bigequal (SCM x, SCM y);
SCM_API SCM scm_real_equalp (SCM x, SCM y);
SCM_API SCM scm_complex_equalp (SCM x, SCM y);
SCM_API SCM scm_number_p (SCM x);
+SCM_API SCM scm_complex_p (SCM x);
SCM_API SCM scm_real_p (SCM x);
+SCM_API SCM scm_rational_p (SCM z);
SCM_API SCM scm_integer_p (SCM x);
SCM_API SCM scm_inexact_p (SCM x);
SCM_API SCM scm_num_eq_p (SCM x, SCM y);
@@ -270,7 +271,6 @@ SCM_API SCM scm_i_ulong2big (unsigned long n);
SCM_API SCM scm_rationalize (SCM x, SCM err);
SCM_API SCM scm_numerator (SCM z);
SCM_API SCM scm_denominator (SCM z);
-SCM_API SCM scm_rational_p (SCM z);
/* fraction internal functions */
SCM_API double scm_i_fraction2double (SCM z);
@@ -449,13 +449,25 @@ SCM_API SCM scm_from_uint64 (scm_t_uint64 x);
#endif
#endif
-/* conversion functions for reals */
+/* conversion functions for double */
SCM_API int scm_is_real (SCM val);
SCM_API int scm_is_rational (SCM val);
SCM_API double scm_to_double (SCM val);
SCM_API SCM scm_from_double (double val);
+/* conversion functions for complex */
+
+SCM_API int scm_is_complex (SCM val);
+SCM_API SCM scm_c_make_rectangular (double re, double im);
+SCM_API SCM scm_c_make_polar (double mag, double ang);
+SCM_API double scm_c_real_part (SCM z);
+SCM_API double scm_c_imag_part (SCM z);
+SCM_API double scm_c_magnitude (SCM z);
+SCM_API double scm_c_angle (SCM z);
+
+SCM_API int scm_is_number (SCM val);
+
SCM_API void scm_init_numbers (void);
#endif /* SCM_NUMBERS_H */