From 166927780f449e7b0c77345cad3150684d42d150 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Mon, 18 Jan 2016 06:42:10 -0800 Subject: 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. --- arith.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'arith.h') 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); -- cgit v1.2.3