VM: make the bignum_to_* family free functions, they don't need to be

members of factor_vm
db4
Björn Lindqvist 2015-06-24 18:50:04 +02:00
parent 72fe466ac9
commit e14d7a3508
3 changed files with 6 additions and 5 deletions

View File

@ -369,7 +369,7 @@ FOO_TO_BIGNUM(ulong_long, uint64_t, int64_t, uint64_t)
/* 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); \
{ \

View File

@ -42,4 +42,9 @@ enum bignum_comparison {
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);
}

View File

@ -232,11 +232,7 @@ struct factor_vm {
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);