summaryrefslogtreecommitdiffstats
path: root/arith.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-01-18 06:42:10 -0800
committerKaz Kylheku <kaz@kylheku.com>2016-01-18 06:42:10 -0800
commit166927780f449e7b0c77345cad3150684d42d150 (patch)
tree917e60ffcc24e1970f1768369734dd2542a03e22 /arith.h
parent4a9d763799c3f0b3c17182b44e8497e174547120 (diff)
downloadtxr-166927780f449e7b0c77345cad3150684d42d150.tar.gz
txr-166927780f449e7b0c77345cad3150684d42d150.tar.bz2
txr-166927780f449e7b0c77345cad3150684d42d150.zip
New random-state-get-vec function.
* arith.c (UINT_PTR_MAX_MP): New static variable. (biggnum_from_uintptr): New function. (in_uint_ptr_range): New static function. (c_uint_ptr_num): New function. (arith_init): Initialize UINT_PTR_MAX_MP. * arith.h (bignum_from_uintptr, c_uint_ptr_num): Declared. * eval.c (eval_init): Register random-state-get-vec. * mpi/mpi.c (mp_set_uintptr, mp_get_uintptr): New functions. (mp_set_intptr, mp_get_intptr): Expressed in terms of mp_set_uintptr and mp_get_uintptr. * mpi/mpi.h (mp_set_uintptr, mp_get_uintptr): Declared. * rand.c (make_random_state): Handle vector seed. (random_state_get_vec): New function. * rand.h (random_state_get_vec): Declared. * txr.1: Documented new feature in make-random-state and new random-state-get-vec function.
Diffstat (limited to 'arith.h')
-rw-r--r--arith.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arith.h b/arith.h
index 62284e7e..083a8a19 100644
--- a/arith.h
+++ b/arith.h
@@ -27,9 +27,11 @@
val make_bignum(void);
val bignum(cnum cn);
val bignum_from_long(long l);
+val bignum_from_uintptr(uint_ptr_t u);
int highest_bit(int_ptr_t n);
val normalize(val bignum);
val in_int_ptr_range(val bignum);
+uint_ptr_t c_uint_ptr_num(val num);
val cum_norm_dist(val x);
val n_choose_k(val n, val k);
val n_perm_k(val n, val k);