sig
type 'a t
type 'a sized = int -> 'a QCheck2.Gen.t
val unit : unit QCheck2.Gen.t
val bool : bool QCheck2.Gen.t
val int : int QCheck2.Gen.t
val pint : ?origin:int -> int QCheck2.Gen.t
val small_nat : int QCheck2.Gen.t
val nat : int QCheck2.Gen.t
val big_nat : int QCheck2.Gen.t
val neg_int : int QCheck2.Gen.t
val small_int : int QCheck2.Gen.t
val small_signed_int : int QCheck2.Gen.t
val small_int_corners : unit -> int QCheck2.Gen.t
val int32 : int32 QCheck2.Gen.t
val ui32 : int32 QCheck2.Gen.t
val int64 : int64 QCheck2.Gen.t
val ui64 : int64 QCheck2.Gen.t
val float : float QCheck2.Gen.t
val pfloat : float QCheck2.Gen.t
val nfloat : float QCheck2.Gen.t
val char : char QCheck2.Gen.t
val printable : char QCheck2.Gen.t
val numeral : char QCheck2.Gen.t
val string_size :
?gen:char QCheck2.Gen.t -> int QCheck2.Gen.t -> string QCheck2.Gen.t
val string : string QCheck2.Gen.t
val string_of : char QCheck2.Gen.t -> string QCheck2.Gen.t
val string_printable : string QCheck2.Gen.t
val small_string : ?gen:char QCheck2.Gen.t -> string QCheck2.Gen.t
val pure : 'a -> 'a QCheck2.Gen.t
val return : 'a -> 'a QCheck2.Gen.t
val make_primitive :
gen:(Stdlib.Random.State.t -> 'a) ->
shrink:('a -> 'a Stdlib.Seq.t) -> 'a QCheck2.Gen.t
val add_shrink_invariant :
('a -> bool) -> 'a QCheck2.Gen.t -> 'a QCheck2.Gen.t
val int_bound : int -> int QCheck2.Gen.t
val int_range : ?origin:int -> int -> int -> int QCheck2.Gen.t
val ( -- ) : int -> int -> int QCheck2.Gen.t
val float_bound_inclusive : ?origin:float -> float -> float QCheck2.Gen.t
val float_bound_exclusive : ?origin:float -> float -> float QCheck2.Gen.t
val float_range : ?origin:float -> float -> float -> float QCheck2.Gen.t
val ( --. ) : float -> float -> float QCheck2.Gen.t
val char_range : ?origin:char -> char -> char -> char QCheck2.Gen.t
val oneof : 'a QCheck2.Gen.t list -> 'a QCheck2.Gen.t
val oneofl : 'a list -> 'a QCheck2.Gen.t
val oneofa : 'a array -> 'a QCheck2.Gen.t
val frequency : (int * 'a QCheck2.Gen.t) list -> 'a QCheck2.Gen.t
val frequencyl : (int * 'a) list -> 'a QCheck2.Gen.t
val frequencya : (int * 'a) array -> 'a QCheck2.Gen.t
val shuffle_a : 'a array -> 'a array QCheck2.Gen.t
val shuffle_l : 'a list -> 'a list QCheck2.Gen.t
val shuffle_w_l : (int * 'a) list -> 'a list QCheck2.Gen.t
val graft_corners : 'a QCheck2.Gen.t -> 'a list -> unit -> 'a QCheck2.Gen.t
val int_pos_corners : int list
val int_corners : int list
val list : 'a QCheck2.Gen.t -> 'a list QCheck2.Gen.t
val small_list : 'a QCheck2.Gen.t -> 'a list QCheck2.Gen.t
val list_size :
int QCheck2.Gen.t -> 'a QCheck2.Gen.t -> 'a list QCheck2.Gen.t
val list_repeat : int -> 'a QCheck2.Gen.t -> 'a list QCheck2.Gen.t
val array : 'a QCheck2.Gen.t -> 'a array QCheck2.Gen.t
val array_size :
int QCheck2.Gen.t -> 'a QCheck2.Gen.t -> 'a array QCheck2.Gen.t
val small_array : 'a QCheck2.Gen.t -> 'a array QCheck2.Gen.t
val array_repeat : int -> 'a QCheck2.Gen.t -> 'a array QCheck2.Gen.t
val opt : ?ratio:float -> 'a QCheck2.Gen.t -> 'a option QCheck2.Gen.t
val pair : 'a QCheck2.Gen.t -> 'b QCheck2.Gen.t -> ('a * 'b) QCheck2.Gen.t
val triple :
'a QCheck2.Gen.t ->
'b QCheck2.Gen.t -> 'c QCheck2.Gen.t -> ('a * 'b * 'c) QCheck2.Gen.t
val quad :
'a QCheck2.Gen.t ->
'b QCheck2.Gen.t ->
'c QCheck2.Gen.t -> 'd QCheck2.Gen.t -> ('a * 'b * 'c * 'd) QCheck2.Gen.t
val flatten_l : 'a QCheck2.Gen.t list -> 'a list QCheck2.Gen.t
val flatten_a : 'a QCheck2.Gen.t array -> 'a array QCheck2.Gen.t
val flatten_opt : 'a QCheck2.Gen.t option -> 'a option QCheck2.Gen.t
val flatten_res :
('a QCheck2.Gen.t, 'e) Stdlib.result ->
('a, 'e) Stdlib.result QCheck2.Gen.t
val join : 'a QCheck2.Gen.t QCheck2.Gen.t -> 'a QCheck2.Gen.t
val sized : 'a QCheck2.Gen.sized -> 'a QCheck2.Gen.t
val sized_size :
int QCheck2.Gen.t -> 'a QCheck2.Gen.sized -> 'a QCheck2.Gen.t
val fix :
(('a -> 'b QCheck2.Gen.t) -> 'a -> 'b QCheck2.Gen.t) ->
'a -> 'b QCheck2.Gen.t
val delay : (unit -> 'a QCheck2.Gen.t) -> 'a QCheck2.Gen.t
val map : ('a -> 'b) -> 'a QCheck2.Gen.t -> 'b QCheck2.Gen.t
val ( >|= ) : 'a QCheck2.Gen.t -> ('a -> 'b) -> 'b QCheck2.Gen.t
val ( <$> ) : ('a -> 'b) -> 'a QCheck2.Gen.t -> 'b QCheck2.Gen.t
val map2 :
('a -> 'b -> 'c) ->
'a QCheck2.Gen.t -> 'b QCheck2.Gen.t -> 'c QCheck2.Gen.t
val map3 :
('a -> 'b -> 'c -> 'd) ->
'a QCheck2.Gen.t ->
'b QCheck2.Gen.t -> 'c QCheck2.Gen.t -> 'd QCheck2.Gen.t
val ap : ('a -> 'b) QCheck2.Gen.t -> 'a QCheck2.Gen.t -> 'b QCheck2.Gen.t
val ( <*> ) :
('a -> 'b) QCheck2.Gen.t -> 'a QCheck2.Gen.t -> 'b QCheck2.Gen.t
val bind : 'a QCheck2.Gen.t -> ('a -> 'b QCheck2.Gen.t) -> 'b QCheck2.Gen.t
val ( >>= ) :
'a QCheck2.Gen.t -> ('a -> 'b QCheck2.Gen.t) -> 'b QCheck2.Gen.t
val ( let+ ) : 'a QCheck2.Gen.t -> ('a -> 'b) -> 'b QCheck2.Gen.t
val ( and+ ) :
'a QCheck2.Gen.t -> 'b QCheck2.Gen.t -> ('a * 'b) QCheck2.Gen.t
val ( let* ) :
'a QCheck2.Gen.t -> ('a -> 'b QCheck2.Gen.t) -> 'b QCheck2.Gen.t
val ( and* ) :
'a QCheck2.Gen.t -> 'b QCheck2.Gen.t -> ('a * 'b) QCheck2.Gen.t
val generate :
?rand:Stdlib.Random.State.t -> n:int -> 'a QCheck2.Gen.t -> 'a list
val generate1 : ?rand:Stdlib.Random.State.t -> 'a QCheck2.Gen.t -> 'a
val generate_tree :
?rand:Stdlib.Random.State.t -> 'a QCheck2.Gen.t -> 'a QCheck2.Tree.t
end