fix: make Array.random_choose fail on empty array at creation time

see #246
This commit is contained in:
Simon Cruanes 2019-02-18 20:41:17 -06:00
parent c893716c1a
commit f190964cfd

View file

@ -515,10 +515,10 @@ let shuffle_with st a =
let rec _to_klist a i j () = let rec _to_klist a i j () =
if i=j then `Nil else `Cons (a.(i), _to_klist a (i+1) j) if i=j then `Nil else `Cons (a.(i), _to_klist a (i+1) j)
let random_choose a st = let random_choose a =
let n = Array.length a in let n = Array.length a in
if n = 0 then raise Not_found; if n = 0 then raise Not_found;
a.(Random.State.int st n) fun st -> a.(Random.State.int st n)
let random_len n g st = let random_len n g st =
Array.init n (fun _ -> g st) Array.init n (fun _ -> g st)