summaryrefslogtreecommitdiffstats
path: root/eval.c
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 /eval.c
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 'eval.c')
-rw-r--r--eval.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 654fe8ae..d202cd81 100644
--- a/eval.c
+++ b/eval.c
@@ -5156,6 +5156,8 @@ void eval_init(void)
reg_fun(intern(lit("interp-fun-p"), user_package), func_n1(interp_fun_p));
reg_fun(intern(lit("make-random-state"), user_package), func_n1o(make_random_state, 0));
+ reg_fun(intern(lit("random-state-get-vec"), user_package),
+ func_n1o(random_state_get_vec, 0));
reg_fun(intern(lit("random-state-p"), user_package), func_n1(random_state_p));
reg_fun(intern(lit("random-fixnum"), user_package), func_n1o(random_fixnum, 0));
reg_fun(intern(lit("random"), user_package), func_n2(random));