summaryrefslogtreecommitdiffstats
path: root/rand.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-02-05 16:36:33 -0800
committerKaz Kylheku <kaz@kylheku.com>2014-02-05 16:36:33 -0800
commit227f0d19dc5313edbebbb56ba6b4966012a2370e (patch)
treee134458589904e1b9444d3cf59e6d5abc74d98e3 /rand.c
parent68c084269581f32f0a7b859446ae2efb6c6a26c0 (diff)
downloadtxr-227f0d19dc5313edbebbb56ba6b4966012a2370e.tar.gz
txr-227f0d19dc5313edbebbb56ba6b4966012a2370e.tar.bz2
txr-227f0d19dc5313edbebbb56ba6b4966012a2370e.zip
* arith.c (lognot): Conform to new scheme for defaulting optional args.
* eval.c (apply): Unconditionally use colon_k for missing optional args, for intrinsic functions. (eval_intrinsic, rangev, rangev_star, errno_wrap): Conform to new scheme for defaulting optional args. (reg_fun_mark): Function removed. (eval_init): Switch reduce_left and reduce_right back to reg_fun registration. * hash.c (gethash_n): Conform to new scheme for defaulting optional arguments. * lib.c (sub_list, replace_list, remove_if, keep_if, remove_if_lazy, keep_if_lazy, tree_find, count_if, some_satisfy, all_satisfy, none_satisfy, search_str, match_str, match_str_tree, sub_str, replace_str, cat_str, tok_str, intern, rehome_sym, sub_vec, replace_vec, lazy_str, sort, multi_sort, find, find_if, set_diff, obj_print, obj_pprint): Conform to new scheme for defaulting optional arguments. (func_f0, func_f1, func_f2, func_f3, func_f4, func_n0, func_n1, func_n2, func_n3, func_n4, func_n5, func_n6, func_n7, func_f0v, func_f1v, func_f2v, func_f3v, func_f4v, func_n0v, func_n1v, func_n2v, func_n3v, func_n4v, func_n5v, func_n6v, func_n7v): Remove references to removed mark_missing_args member of struct func. (func_set_mark_missing): Function removed. (generic_funcall): Unconditionally use colon_k for missing optional args, for intrinsic functions. * lib.h (struct func): mark_missing_args member removed. (func_set_mark_missing): Declaration removed. (default_arg, default_bool_arg): New inline functions. * rand.c (random): Left argument is not optional. (rnd): Conform to new scheme for defaulting optional arguments. * regex.c (search_regex, match_regex): Conform to new scheme for defaulting optional arguments. * stream.c (unget_char, unget_byte, put_string, put_char, put_byte, put_line): Conform to new scheme for defaulting optional arguments. * syslog.c (openlog_wrap): Conform to new scheme for defaulting optional arguments. * txr.1: Remove the specification that nil is a sentinel value in default arguments, where necessary. Use consistent syntax for specifying variable parts in argument lists. A few errors and omissions addressed.
Diffstat (limited to 'rand.c')
-rw-r--r--rand.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/rand.c b/rand.c
index 560f1b0a..7951115a 100644
--- a/rand.c
+++ b/rand.c
@@ -167,10 +167,9 @@ val random_fixnum(val state)
val random(val state, val modulus)
{
- uses_or2;
struct random_state *r = (struct random_state *)
- cobj_handle(or2(state, random_state),
- random_state_s);
+ cobj_handle(random_state, random_state_s);
+
if (bignump(modulus)) {
mp_int *m = mp(modulus);
int bits = mp_count_bits(m);
@@ -245,6 +244,7 @@ invalid:
val rnd(val modulus, val state)
{
+ state = default_arg(state, random_state);
return random(state, modulus);
}