/* cannot allocate memory */
/* bignum_to_cell, fixnum_to_cell, long_long_to_cell, ulong_long_to_cell */
#define BIGNUM_TO_FOO(name, type, stype, utype) \
- type factor_vm::bignum_to_##name(bignum* bn) { \
+ type bignum_to_##name(bignum* bn) { \
if (BIGNUM_ZERO_P(bn)) \
return (0); \
{ \
bignum_comparison_greater = 1
};
+cell bignum_to_cell(bignum* bn);
+fixnum bignum_to_fixnum(bignum* bn);
+int64_t bignum_to_long_long(bignum* bn);
+uint64_t bignum_to_ulong_long(bignum* bn);
+
}
bignum** remainder);
bignum* bignum_quotient(bignum* numerator, bignum* denominator);
bignum* bignum_remainder(bignum* numerator, bignum* denominator);
- cell bignum_to_cell(bignum* bn);
fixnum bignum_to_fixnum_strict(bignum* bn);
- fixnum bignum_to_fixnum(bignum* bn);
- int64_t bignum_to_long_long(bignum* bn);
- uint64_t bignum_to_ulong_long(bignum* bn);
bignum* double_to_bignum(double x);
int bignum_equal_p_unsigned(bignum* x, bignum* y);
enum bignum_comparison bignum_compare_unsigned(bignum* x, bignum* y);