]> gitweb.factorcode.org Git - factor.git/commitdiff
VM: make the bignum_to_* family free functions, they don't need to be
authorBjörn Lindqvist <bjourne@gmail.com>
Wed, 24 Jun 2015 16:50:04 +0000 (18:50 +0200)
committerBjörn Lindqvist <bjourne@gmail.com>
Sat, 27 Jun 2015 14:14:58 +0000 (16:14 +0200)
members of factor_vm

vm/bignum.cpp
vm/bignum.hpp
vm/vm.hpp

index 3229d58679875fe85abff706134706936d78f9b9..b4c1aa86c24dcb86f62f3d0a3553eedfc36e327b 100644 (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);                                                          \
     {                                                                      \
index 910e4abe20a243801089b0dd2d31ec57ea9b0990..4c939fde02867615f2ff8693b5a154ea97f1d380 100644 (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);
+
 }
index a0a9a142d42d860f29edb45083b5b4504909e7ab..4c877242d0d2c4231e937828ee7f04a39feca398 100644 (file)
--- a/vm/vm.hpp
+++ b/vm/vm.hpp
@@ -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);