summaryrefslogtreecommitdiffstats
path: root/arith.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2012-10-01 17:35:10 -0700
committerKaz Kylheku <kaz@kylheku.com>2012-10-01 17:35:10 -0700
commit40bae281a56c9e305852905dcbd29125de388b25 (patch)
treee2f1675ca58161fb791e179acf31c744b64deb63 /arith.h
parentbaf80248032cdb8856d9e3217d48e9fd5e9e49c5 (diff)
downloadtxr-40bae281a56c9e305852905dcbd29125de388b25.tar.gz
txr-40bae281a56c9e305852905dcbd29125de388b25.tar.bz2
txr-40bae281a56c9e305852905dcbd29125de388b25.zip
* arith.c (bignum_from_long): New function.
* arith.h (bignum_from_long): Declared. * lib.c (int_str): Streamlined. Only use mp_read_radix in the case when wcstol fails, because now we have bignum_from_long to handle all values of long. Ensure that the bignum is normalized, in case it falls in the fixnum range (does not happen on our usual platforms).
Diffstat (limited to 'arith.h')
-rw-r--r--arith.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arith.h b/arith.h
index 52aad603..8a97dd87 100644
--- a/arith.h
+++ b/arith.h
@@ -26,6 +26,7 @@
val make_bignum(void);
val bignum(cnum cn);
+val bignum_from_long(long l);
int highest_bit(int_ptr_t n);
val normalize(val bignum);
val in_int_ptr_range(val bignum);