module Quickcheck: Quickcheck
val foldn : f:('a -> int -> 'a) -> init:'a -> int -> 'a
val sum_int : int Std_internal.List.t -> int
type 'a
gen = unit -> 'a
val pfg : unit -> float
val fg : unit -> float
val nng : unit -> int
val uig : unit -> int
val lg : (unit -> 'a) -> ?size_gen:(unit -> int) -> unit -> 'a list
val pg : (unit -> 'a) -> (unit -> 'b) -> unit -> 'a * 'b
val tg : (unit -> 'a) -> (unit -> 'b) -> (unit -> 'c) -> unit -> 'a * 'b * 'c
val cg : unit -> char
val sg : ?char_gen:(unit -> char) ->
?size_gen:(unit -> int) -> unit -> Std_internal.String.t
val oneof : 'a Std_internal.List.t -> 'a
Given a list of generators, returns generator that randomly uses one of the generators
from the list
val always : 'a -> unit -> 'a
generator that always returns given value
val frequency : (int * 'a) Std_internal.List.t -> 'a
Given list of (frequency,value)
pairs, returns value with probability proportional
to given frequency
val frequencyl : (int * 'a) Std_internal.List.t -> unit -> 'a
like frequency, but returns generator
val laws : int -> (unit -> 'a) -> ('a -> bool) -> 'a option
laws iter gen func
applies func
repeatedly (iter
times) on output of gen
, and
if func
ever returns false, then the input that caused the failure is returned
optionally.
val laws_exn : string -> int -> (unit -> 'a) -> ('a -> bool) -> unit
Like laws, but throws an exception instead of returning an option.
val statistic_number : 'a Std_internal.List.t -> (int * 'a) list
val statistic : 'a Std_internal.List.t -> (int * 'a) Std_internal.List.t
val laws2 : int ->
('a -> bool * 'b) ->
(unit -> 'a) -> 'a option * (int * 'b) Std_internal.List.t
val repeat : int -> ('a -> 'b) -> (unit -> 'a) -> unit