Module QCheck.Gen
Generate Random Values
- val return : 'a -> 'a t
- Create a constant generator. 
- val (>>=) : 'a t -> ('a -> 'b t) -> 'b t
- Monadic bind for writing dependent generators. First generates an - 'aand then passes it to the given function, to generate a- 'b.
- val (<*>) : ('a -> 'b) t -> 'a t -> 'b t
- Infix operator for composing a function generator and an argument generator into a result generator. 
- val map : ('a -> 'b) -> 'a t -> 'b t
- map f gtransforms a generator- gby applying- fto each generated element.
- val map2 : ('a -> 'b -> 'c) -> 'a t -> 'b t -> 'c t
- map2 f g1 g2transforms two generators- g1and- g2by applying- fto each pair of generated elements.
- val map3 : ('a -> 'b -> 'c -> 'd) -> 'a t -> 'b t -> 'c t -> 'd t
- map3 f g1 g2 g3transforms three generators- g1,- g2, and- g3by applying- fto each triple of generated elements.
- val map_keep_input : ('a -> 'b) -> 'a t -> ('a * 'b) t
- map_keep_input f gtransforms a generator- gby applying- fto each generated element. Returns both the generated element from- gand the output from- f.
- val oneofl : 'a list -> 'a t
- Constructs a generator that selects among a given list of values. 
- val oneofa : 'a array -> 'a t
- Constructs a generator that selects among a given array of values. 
- val frequency : (int * 'a t) list -> 'a t
- Constructs a generator that selects among a given list of generators. Each of the given generators are chosen based on a positive integer weight. 
- val frequencyl : (int * 'a) list -> 'a t
- Constructs a generator that selects among a given list of values. Each of the given values are chosen based on a positive integer weight. 
- val frequencya : (int * 'a) array -> 'a t
- Constructs a generator that selects among a given array of values. Each of the array entries are chosen based on a positive integer weight. 
- val shuffle_a : 'a array -> unit t
- Shuffles the array in place. 
- val shuffle_l : 'a list -> 'a list t
- Creates a generator of shuffled lists. 
- val shuffle_w_l : (int * 'a) list -> 'a list t
- Creates a generator of weighted shuffled lists. A given list is shuffled on each generation according to the weights of its elements. An element with a larger weight is more likely to be at the front of the list than an element with a smaller weight. If we want to pick random elements from the (head of) list but need to prioritize some elements over others, this generator can be useful. - Example: given a weighted list - [1, "one"; 5, "five"; 10, "ten"], the generator is more likely to generate- ["ten"; "five"; "one"]or- ["five"; "ten"; "one"]than- ["one"; "ten"; "five"]because "ten" and "five" have larger weights than "one".- since
- 0.11
 
- val unit : unit t
- The unit generator. 
- val bool : bool t
- The boolean generator. 
- val float : float t
- Generates floating point numbers. 
- val pfloat : float t
- Generates positive floating point numbers (0. included). 
- val nfloat : float t
- Generates negative floating point numbers. (-0. included) 
- val float_bound_inclusive : float -> float t
- float_bound_inclusive boundreturns a random floating-point number between 0 and- bound(inclusive). If- boundis negative, the result is negative or zero. If- boundis 0, the result is 0.- since
- 0.11
 
- val float_bound_exclusive : float -> float t
- float_bound_exclusive boundreturns a random floating-point number between 0 and- bound(exclusive). If- boundis negative, the result is negative or zero.- raises Invalid_argument
- if - boundis zero.
 - since
- 0.11
 
- val float_range : float -> float -> float t
- float_range low highgenerates floating-point numbers within- lowand- high(inclusive)- raises Invalid_argument
- if - high < lowor if the range is larger than- max_float.
 - since
- 0.11
 
- val (--.) : float -> float -> float t
- Synonym for - float_range- since
- 0.11
 
- val nat : int t
- Generates small natural numbers. 
- val big_nat : int t
- Generates natural numbers, possibly large. - since
- 0.10
 
- val neg_int : int t
- Generates non-strictly negative integers (0 included). 
- val pint : int t
- Generates non-strictly positive integers uniformly (0 included). 
- val int : int t
- Generates integers uniformly. 
- val small_nat : int t
- Small integers (< 100) - since
- 0.5.1
 
- val int_bound : int -> int t
- Uniform integer generator producing integers within - 0... bound. For- bound < 2^{30} - 1uses- Random.State.intfor integer generation.- raises Invalid_argument
- if the argument is negative. 
 
- val int_range : int -> int -> int t
- Uniform integer generator producing integers within - low,high.- raises Invalid_argument
- if - low > highor if the range is larger than- max_int.
 
- val graft_corners : 'a t -> 'a list -> unit -> 'a t
- graft_corners gen l ()makes a new generator that enumerates the corner cases in- land then behaves like- g.- since
- 0.6
 
- val ui32 : int32 t
- Generates (unsigned) - int32values.
- val ui64 : int64 t
- Generates (unsigned) - int64values.
- val list : 'a t -> 'a list t
- Builds a list generator from an element generator. List size is generated by - nat.
- val list_size : int t -> 'a t -> 'a list t
- Builds a list generator from a (non-negative) size generator and an element generator. 
- val list_repeat : int -> 'a t -> 'a list t
- list_repeat i gbuilds a list generator from exactly- ielements generated by- g.
- val array : 'a t -> 'a array t
- Builds an array generator from an element generator. Array size is generated by - nat.
- val array_size : int t -> 'a t -> 'a array t
- Builds an array generator from a (non-negative) size generator and an element generator. 
- val array_repeat : int -> 'a t -> 'a array t
- array_repeat i gbuilds an array generator from exactly- ielements generated by- g.
- val char : char t
- Generates characters upto character code 255. 
- val printable : char t
- Generates printable characters. 
- val numeral : char t
- Generates numeral characters. 
- val char_range : char -> char -> char t
- Generates chars between the two bounds, inclusive. Example: - char_range 'a' 'z'for all lower case ascii letters.- since
- 0.13
 
- val string_size : ?gen:char t -> int t -> string t
- Builds a string generator from a (non-negative) size generator. Accepts an optional character generator (the default is - char).
- val string : ?gen:char t -> string t
- Builds a string generator. String size is generated by - nat. Accepts an optional character generator (the default is- char). See also- string_ofand- string_readablefor versions without optional parameters.
- val string_of : char t -> string t
- Builds a string generator using the given character generator. - since
- 0.11
 
- val string_readable : string t
- Builds a string generator using the - charcharacter generator.- since
- 0.11
 
- val small_string : ?gen:char t -> string t
- Builds a string generator, length is - small_natAccepts an optional character generator (the default is- char).
- val flatten_l : 'a t list -> 'a list t
- Generate a list of elements from individual generators - since
- 0.13
 
- val flatten_a : 'a t array -> 'a array t
- Generate an array of elements from individual generators - since
- 0.13
 
- val flatten_res : ('a t, 'e) Pervasives.result -> ('a, 'e) Pervasives.result t
- Generate a result from - Ok g, an error from- Error e- since
- 0.13
 
- val sized : 'a sized -> 'a t
- Creates a generator from a size-bounded generator by first generating a size using - natand passing the result to the size-bounded generator.
- val sized_size : int t -> 'a sized -> 'a t
- Creates a generator from a size-bounded generator by first generating a size using the integer generator and passing the result to the size-bounded generator. - since
- 0.5
 
- val fix : (('a -> 'b t) -> 'a -> 'b t) -> 'a -> 'b t
- Parametrized fixpoint combinator for generating recursive values. - The fixpoint is parametrized over an arbitrary state ('a), and the fixpoint computation may change the value of this state in the recursive calls. - In particular, this can be used for size-bounded generators ('a is int). The passed size-parameter should decrease to ensure termination. 
- val generate : ?rand:Random.State.t -> n:int -> 'a t -> 'a list
- generate ~n ggenerates- ninstances of- g.
- val generate1 : ?rand:Random.State.t -> 'a t -> 'a
- generate1 ggenerates one instance of- g.