123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602 |
- typedef scm_t_int32 scm_t_wchar;
- ((x) < 0 \
- ? -1 - (scm_t_signed_bits) (~(scm_t_bits)(x) >> (y)) \
- : ((x) >> (y)))
- (SCM_UNPACK (x) > LONG_MAX \
- ? -1 - (scm_t_signed_bits) (~SCM_UNPACK (x) >> 2) \
- : (scm_t_signed_bits) (SCM_UNPACK (x) >> 2))
- (SCM_PACK ((((scm_t_bits) (x)) << 2) + scm_tc2_int))
- (!SCM_IMP (x) && (0xfeff & SCM_CELL_TYPE (x)) == scm_tc16_real)
- typedef struct scm_t_double
- {
- SCM type
- SCM pad
- double real
- } scm_t_double;
- typedef struct scm_t_complex
- {
- SCM type
- SCM pad
- double real
- double imag
- } scm_t_complex;
- SCM_API SCM scm_exact_p (SCM x)
- SCM_API int scm_is_exact (SCM x)
- SCM_API SCM scm_odd_p (SCM n)
- SCM_API SCM scm_even_p (SCM n)
- SCM_API SCM scm_finite_p (SCM x)
- SCM_API SCM scm_inf_p (SCM x)
- SCM_API SCM scm_nan_p (SCM x)
- SCM_API SCM scm_inf (void)
- SCM_API SCM scm_nan (void)
- SCM_API SCM scm_abs (SCM x)
- SCM_API SCM scm_quotient (SCM x, SCM y)
- SCM_API SCM scm_remainder (SCM x, SCM y)
- SCM_API SCM scm_modulo (SCM x, SCM y)
- SCM_API void scm_euclidean_divide (SCM x, SCM y, SCM *q, SCM *r)
- SCM_API SCM scm_euclidean_quotient (SCM x, SCM y)
- SCM_API SCM scm_euclidean_remainder (SCM x, SCM y)
- SCM_API void scm_floor_divide (SCM x, SCM y, SCM *q, SCM *r)
- SCM_API SCM scm_floor_quotient (SCM x, SCM y)
- SCM_API SCM scm_floor_remainder (SCM x, SCM y)
- SCM_API void scm_ceiling_divide (SCM x, SCM y, SCM *q, SCM *r)
- SCM_API SCM scm_ceiling_quotient (SCM x, SCM y)
- SCM_API SCM scm_ceiling_remainder (SCM x, SCM y)
- SCM_API void scm_truncate_divide (SCM x, SCM y, SCM *q, SCM *r)
- SCM_API SCM scm_truncate_quotient (SCM x, SCM y)
- SCM_API SCM scm_truncate_remainder (SCM x, SCM y)
- SCM_API void scm_centered_divide (SCM x, SCM y, SCM *q, SCM *r)
- SCM_API SCM scm_centered_quotient (SCM x, SCM y)
- SCM_API SCM scm_centered_remainder (SCM x, SCM y)
- SCM_API void scm_round_divide (SCM x, SCM y, SCM *q, SCM *r)
- SCM_API SCM scm_round_quotient (SCM x, SCM y)
- SCM_API SCM scm_round_remainder (SCM x, SCM y)
- SCM_API SCM scm_gcd (SCM x, SCM y)
- SCM_API SCM scm_lcm (SCM n1, SCM n2)
- SCM_API SCM scm_logand (SCM n1, SCM n2)
- SCM_API SCM scm_logior (SCM n1, SCM n2)
- SCM_API SCM scm_logxor (SCM n1, SCM n2)
- SCM_API SCM scm_logtest (SCM n1, SCM n2)
- SCM_API SCM scm_logbit_p (SCM n1, SCM n2)
- SCM_API SCM scm_lognot (SCM n)
- SCM_API SCM scm_modulo_expt (SCM n, SCM k, SCM m)
- SCM_API SCM scm_integer_expt (SCM z1, SCM z2)
- SCM_API SCM scm_ash (SCM n, SCM count)
- SCM_API SCM scm_round_ash (SCM n, SCM count)
- SCM_API SCM scm_bit_extract (SCM n, SCM start, SCM end)
- SCM_API SCM scm_logcount (SCM n)
- SCM_API SCM scm_integer_length (SCM n)
- SCM_INTERNAL SCM scm_i_euclidean_divide (SCM x, SCM y)
- SCM_INTERNAL SCM scm_i_floor_divide (SCM x, SCM y)
- SCM_INTERNAL SCM scm_i_ceiling_divide (SCM x, SCM y)
- SCM_INTERNAL SCM scm_i_truncate_divide (SCM x, SCM y)
- SCM_INTERNAL SCM scm_i_centered_divide (SCM x, SCM y)
- SCM_INTERNAL SCM scm_i_round_divide (SCM x, SCM y)
- SCM_INTERNAL SCM scm_i_gcd (SCM x, SCM y, SCM rest)
- SCM_INTERNAL SCM scm_i_lcm (SCM x, SCM y, SCM rest)
- SCM_INTERNAL SCM scm_i_logand (SCM x, SCM y, SCM rest)
- SCM_INTERNAL SCM scm_i_logior (SCM x, SCM y, SCM rest)
- SCM_INTERNAL SCM scm_i_logxor (SCM x, SCM y, SCM rest)
- SCM_API size_t scm_iint2str (scm_t_intmax num, int rad, char *p)
- SCM_API size_t scm_iuint2str (scm_t_uintmax num, int rad, char *p)
- SCM_API SCM scm_number_to_string (SCM x, SCM radix)
- SCM_API int scm_print_real (SCM sexp, SCM port, scm_print_state *pstate)
- 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_c_locale_stringn_to_number (const char *mem, size_t len,
- unsigned int radix)
- SCM_INTERNAL SCM scm_i_string_to_number (SCM str, unsigned int radix)
- SCM_API SCM scm_string_to_number (SCM str, SCM radix)
- 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_exact_integer_p (SCM x)
- SCM_API SCM scm_inexact_p (SCM x)
- SCM_API int scm_is_inexact (SCM x)
- SCM_API SCM scm_num_eq_p (SCM x, SCM y)
- SCM_API SCM scm_less_p (SCM x, SCM y)
- SCM_API SCM scm_gr_p (SCM x, SCM y)
- SCM_API SCM scm_leq_p (SCM x, SCM y)
- SCM_API SCM scm_geq_p (SCM x, SCM y)
- SCM_API SCM scm_zero_p (SCM z)
- SCM_API SCM scm_positive_p (SCM x)
- SCM_API SCM scm_negative_p (SCM x)
- SCM_API SCM scm_max (SCM x, SCM y)
- SCM_API SCM scm_min (SCM x, SCM y)
- SCM_API SCM scm_sum (SCM x, SCM y)
- SCM_API SCM scm_oneplus (SCM x)
- SCM_API SCM scm_difference (SCM x, SCM y)
- SCM_API SCM scm_oneminus (SCM x)
- SCM_API SCM scm_product (SCM x, SCM y)
- SCM_API SCM scm_divide (SCM x, SCM y)
- SCM_API SCM scm_floor (SCM x)
- SCM_API SCM scm_ceiling (SCM x)
- SCM_API double scm_c_truncate (double x)
- SCM_API double scm_c_round (double x)
- SCM_API SCM scm_truncate_number (SCM x)
- SCM_API SCM scm_round_number (SCM x)
- SCM_API SCM scm_expt (SCM z1, SCM z2)
- SCM_API SCM scm_sin (SCM z)
- SCM_API SCM scm_cos (SCM z)
- SCM_API SCM scm_tan (SCM z)
- SCM_API SCM scm_sinh (SCM z)
- SCM_API SCM scm_cosh (SCM z)
- SCM_API SCM scm_tanh (SCM z)
- SCM_API SCM scm_asin (SCM z)
- SCM_API SCM scm_acos (SCM z)
- SCM_API SCM scm_atan (SCM x, SCM y)
- SCM_API SCM scm_sys_asinh (SCM z)
- SCM_API SCM scm_sys_acosh (SCM z)
- SCM_API SCM scm_sys_atanh (SCM z)
- SCM_API SCM scm_make_rectangular (SCM z1, SCM z2)
- SCM_API SCM scm_make_polar (SCM z1, SCM z2)
- SCM_API SCM scm_real_part (SCM z)
- SCM_API SCM scm_imag_part (SCM z)
- SCM_API SCM scm_magnitude (SCM z)
- SCM_API SCM scm_angle (SCM z)
- SCM_API SCM scm_exact_to_inexact (SCM z)
- SCM_API SCM scm_inexact_to_exact (SCM z)
- SCM_API SCM scm_trunc (SCM x)
- SCM_API SCM scm_log (SCM z)
- SCM_API SCM scm_log10 (SCM z)
- SCM_API SCM scm_exp (SCM z)
- SCM_API SCM scm_sqrt (SCM z)
- SCM_API void scm_exact_integer_sqrt (SCM k, SCM *s, SCM *r)
- SCM_INTERNAL SCM scm_i_min (SCM x, SCM y, SCM rest)
- SCM_INTERNAL SCM scm_i_max (SCM x, SCM y, SCM rest)
- SCM_INTERNAL SCM scm_i_sum (SCM x, SCM y, SCM rest)
- SCM_INTERNAL SCM scm_i_difference (SCM x, SCM y, SCM rest)
- SCM_INTERNAL SCM scm_i_product (SCM x, SCM y, SCM rest)
- SCM_INTERNAL SCM scm_i_divide (SCM x, SCM y, SCM rest)
- SCM_INTERNAL SCM scm_i_exact_integer_sqrt (SCM k)
- SCM_INTERNAL SCM scm_i_mkbig (void)
- SCM_API SCM scm_i_normbig (SCM x)
- SCM_INTERNAL int scm_i_bigcmp (SCM a, SCM b);
- SCM_INTERNAL SCM scm_i_dbl2big (double d)
- SCM_INTERNAL SCM scm_i_dbl2num (double d)
- SCM_API double scm_i_big2dbl (SCM b);
- SCM_API SCM scm_i_long2big (long n)
- SCM_API SCM scm_i_ulong2big (unsigned long n)
- SCM_API SCM scm_i_clonebig (SCM src_big, int same_sign_p)
- SCM_API SCM scm_rationalize (SCM x, SCM err)
- SCM_API SCM scm_numerator (SCM z)
- SCM_API SCM scm_denominator (SCM z)
- SCM_INTERNAL double scm_i_fraction2double (SCM z)
- SCM_INTERNAL SCM scm_i_fraction_equalp (SCM x, SCM y)
- SCM_INTERNAL int scm_i_print_fraction (SCM sexp, SCM port, scm_print_state *pstate)
- SCM_INTERNAL void scm_i_print_double (double val, SCM port)
- SCM_INTERNAL void scm_i_print_complex (double real, double imag, SCM port)
- SCM_API int scm_is_integer (SCM val)
- SCM_API int scm_is_exact_integer (SCM val)
- SCM_API int scm_is_signed_integer (SCM val,
- scm_t_intmax min, scm_t_intmax max)
- SCM_API int scm_is_unsigned_integer (SCM val,
- scm_t_uintmax min, scm_t_uintmax max)
- SCM_API SCM scm_from_signed_integer (scm_t_intmax val)
- SCM_API SCM scm_from_unsigned_integer (scm_t_uintmax val)
- SCM_API scm_t_intmax scm_to_signed_integer (SCM val,
- scm_t_intmax min,
- scm_t_intmax max)
- SCM_API scm_t_uintmax scm_to_unsigned_integer (SCM val,
- scm_t_uintmax min,
- scm_t_uintmax max)
- SCM_API scm_t_int8 scm_to_int8 (SCM x)
- SCM_API SCM scm_from_int8 (scm_t_int8 x)
- SCM_API scm_t_uint8 scm_to_uint8 (SCM x)
- SCM_API SCM scm_from_uint8 (scm_t_uint8 x)
- SCM_API scm_t_int16 scm_to_int16 (SCM x)
- SCM_API SCM scm_from_int16 (scm_t_int16 x)
- SCM_API scm_t_uint16 scm_to_uint16 (SCM x)
- SCM_API SCM scm_from_uint16 (scm_t_uint16 x)
- SCM_API scm_t_int32 scm_to_int32 (SCM x)
- SCM_API SCM scm_from_int32 (scm_t_int32 x)
- SCM_API scm_t_uint32 scm_to_uint32 (SCM x)
- SCM_API SCM scm_from_uint32 (scm_t_uint32 x)
- SCM_API scm_t_wchar scm_to_wchar (SCM x)
- SCM_API SCM scm_from_wchar (scm_t_wchar x)
- SCM_API scm_t_int64 scm_to_int64 (SCM x)
- SCM_API SCM scm_from_int64 (scm_t_int64 x)
- SCM_API scm_t_uint64 scm_to_uint64 (SCM x)
- SCM_API SCM scm_from_uint64 (scm_t_uint64 x)
- SCM_API void scm_to_mpz (SCM x, mpz_t rop)
- SCM_API SCM scm_from_mpz (mpz_t rop)
- 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)
- 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 int scm_install_gmp_memory_functions;
- SCM_INTERNAL void scm_init_numbers (void)
|