apply f gn
Signature: f:Gen<('a > 'b)> > gn:Gen<'a> > Gen<'b>
Type parameters: 'a, 'b

Apply the given Gen function to the given generator, aka the applicative <*> operator.
CompiledName: Apply

array2DOf g
Signature: g:Gen<'a> > Gen<'a [,]>
Type parameters: 'a

Generates a 2D array. The square root of the size is the maximum number of rows and columns.
CompiledName: Array2DOf

array2DOfDim (rows, cols) g
Signature: (rows:int * cols:int) > g:Gen<'a> > Gen<'a [,]>
Type parameters: 'a

Generates a 2D array of the given dimensions.
CompiledName: Array2DOf

arrayOf g
Signature: g:Gen<'a> > Gen<'a []>
Type parameters: 'a

Generates an array using the specified generator. The maximum length is the size+1.
CompiledName: ArrayOf

arrayOfLength n g
Signature: n:int > g:Gen<'a> > Gen<'a []>
Type parameters: 'a

Generates an array of a specified length.
CompiledName: ArrayOf

choose (l, h)
Signature: (l:int * h:int) > Gen<int>

Generates an integer between l and h, inclusive.
CompiledName: Choose

constant v
Signature: v:'b > Gen<'b>
Type parameters: 'b

Always generate the same instance v. See also fresh.
CompiledName: Constant

elements xs
Signature: xs:seq<'a> > Gen<'a>
Type parameters: 'a

Build a generator that randomly generates one of the values in the given nonempty seq.
CompiledName: Elements

elementsArr values
Signature: values:'?211037 array > Gen<'?211037>
Type parameters: '?211037

Build a generator that randomly generates one of the values in the given nonempty seq.
CompiledName: Elements

eval size seed arg3
Signature: size:int > seed:StdGen > Gen<'b> > 'b
Type parameters: 'b

Generates a value of the give size with the given seed.
CompiledName: Eval

filter predicate generator
Signature: predicate:('a18 > bool) > generator:Gen<'a18> > Gen<'a18>
Type parameters: 'a18

Generates a value that satisfies a predicate. Contrary to tryFilter, this function keeps retrying
by increasing the size of the original generator ad infinitum. Make sure there is a high probability that
the predicate is satisfied.
The filter function is an alias for the where function. These two functions are identical, but coexist
so that you can choose the word that makes your code most readable in your given context.
CompiledName: Filter

four g
Signature: g:Gen<'b> > Gen<'b * 'b * 'b * 'b>
Type parameters: 'b

Build a generator that generates a 4tuple of the values generated by the given generator.
CompiledName: Four

frequency xs
Signature: xs:seq<int * Gen<'a18>> > Gen<'a18>
Type parameters: 'a18

Build a generator that generates a value from one of the generators in the given nonempty seq, with
given probabilities. The sum of the probabilities must be larger than zero.
CompiledName: Frequency

frequencySeqWeightAndValue (...)
Signature: weightedValues:seq<WeightAndValue<Gen<'a>>> > Gen<'a>
Type parameters: 'a

Build a generator that generates a value from one of the generators in the given nonempty seq, with
given probabilities. The sum of the probabilities must be larger than zero.
CompiledName: Frequency

frequencyTupleArr weightedValues
Signature: weightedValues:(int * Gen<'a>) [] > Gen<'a>
Type parameters: 'a

Build a generator that generates a value from one of the generators in the given nonempty seq, with
given probabilities. The sum of the probabilities must be larger than zero.
CompiledName: Frequency

frequencyWeightAndValueArr (...)
Signature: weightedValues:WeightAndValue<Gen<'a>> [] > Gen<'a>
Type parameters: 'a

Build a generator that generates a value from one of the generators in the given nonempty seq, with
given probabilities. The sum of the probabilities must be larger than zero.
CompiledName: Frequency

fresh fv
Signature: fv:(unit > '?211019) > Gen<'?211019>
Type parameters: '?211019

Generate a fresh instance every time the generator is called. Useful for mutable objects.
See also constant.
CompiledName: Fresh

freshFunc fv
Signature: fv:Func<'?211021> > Gen<'?211021>
Type parameters: '?211021

Generate a fresh instance every time the generatoris called. Useful for mutable objects.
See also constant.
CompiledName: Fresh

growingElements xs
Signature: xs:seq<'?211041> > Gen<'?211041>
Type parameters: '?211041

Build a generator that takes a nonempty sequence and randomly generates
one of the values among an initial segment of that sequence. The size of
this initial segment increases with the size parameter. Essentially this
generator is Gen.elements but taking also the runtime size into account.
CompiledName: GrowingElements

listOf gn
Signature: gn:Gen<'a> > Gen<'a list>
Type parameters: 'a

Generates a list of random length. The maximum length depends on the
size parameter.
CompiledName: ListOf

listOfLength n arb
Signature: n:int > arb:Gen<'a18> > Gen<'a18 list>
Type parameters: 'a18

Generates a list of given length, containing values generated by the given generator.
CompiledName: ListOf

map f gen
Signature: f:('a > 'b) > gen:Gen<'a> > Gen<'b>
Type parameters: 'a, 'b

Apply the function f to the value in the generator, yielding a new generator.
CompiledName: Map

map2 f a b
Signature: f:('c > 'd > 'e) > a:Gen<'c> > b:Gen<'d> > Gen<'e>
Type parameters: 'c, 'd, 'e

Map the given function over values to a function over generators of those values.
CompiledName: Map2

map3 f a b c
Signature: f:('a18 > 'a19 > 'a20 > 'a21) > a:Gen<'a18> > b:Gen<'a19> > c:Gen<'a20> > Gen<'a21>
Type parameters: 'a18, 'a19, 'a20, 'a21

Map the given function over values to a function over generators of those values.
CompiledName: Map3

map4 f a b c d
Signature: f:('?211070 > '?211071 > '?211072 > '?211073 > '?211074) > a:Gen<'?211070> > b:Gen<'?211071> > c:Gen<'?211072> > d:Gen<'?211073> > Gen<'?211074>
Type parameters: '?211070, '?211071, '?211072, '?211073, '?211074

Map the given function over values to a function over generators of those values.
CompiledName: Map4

map5 f a b c d e
Signature: f:('a18 > 'a19 > 'a20 > 'a21 > 'a22 > 'a23) > a:Gen<'a18> > b:Gen<'a19> > c:Gen<'a20> > d:Gen<'a21> > e:Gen<'a22> > Gen<'a23>
Type parameters: 'a18, 'a19, 'a20, 'a21, 'a22, 'a23

Map the given function over values to a function over generators of those values.
CompiledName: Map5

map6 f a b c d e g
Signature: f:('?211085 > '?211086 > '?211087 > '?211088 > '?211089 > '?211090 > '?211091) > a:Gen<'?211085> > b:Gen<'?211086> > c:Gen<'?211087> > d:Gen<'?211088> > e:Gen<'?211089> > g:Gen<'?211090> > Gen<'?211091>
Type parameters: '?211085, '?211086, '?211087, '?211088, '?211089, '?211090, '?211091

Map the given function over values to a function over generators of those values.
CompiledName: Map6

nonEmptyListOf gn
Signature: gn:Gen<'b> > Gen<'b list>
Type parameters: 'b

Generates a nonempty list of random length. The maximum length
depends on the size parameter.
CompiledName: NonEmptyListOf

oneof gens
Signature: gens:seq<Gen<'a>> > Gen<'a>
Type parameters: 'a

Build a generator that generates a value from one of the generators in the given nonempty seq, with
equal probability.
CompiledName: OneOf

oneOfArr generators
Signature: generators:Gen<'?211045> array > Gen<'?211045>
Type parameters: '?211045

Build a generator that generates a value from one of the given generators, with
equal probability.
CompiledName: OneOf

optionOf g
Signature: g:Gen<'b> > Gen<'b option>
Type parameters: 'b

Generate an option value that is 'None' 1/8 of the time.

piles k sum
Signature: k:int > sum:int > Gen<int []>

Generates a random array of length k where the sum of
all elements equals the given sum.
CompiledName: Piles

resize newSize arg2
Signature: newSize:int > Gen<'b> > Gen<'b>
Type parameters: 'b

Override the current size of the test. resize n g invokes generator g with size parameter n.
CompiledName: Resize

sample size n generator
Signature: size:int > n:int > generator:Gen<'b> > 'b list
Type parameters: 'b

Generates n values of the given size.
CompiledName: Sample

sequence l
Signature: l:seq<Gen<'a>> > Gen<'a list>
Type parameters: 'a

Sequence the given enumerable of generators into a generator of a list.
CompiledName: SequenceToList

sequenceToArr generators
Signature: generators:Gen<'b> array > Gen<'b []>
Type parameters: 'b

Sequence the given array of generators into a generator of a array.
CompiledName: Sequence

sequenceToSeq generators
Signature: generators:seq<Gen<'?211109>> > Gen<seq<'?211109>>
Type parameters: '?211109

Sequence the given enumerable of generators into a generator of an enumerable.
CompiledName: Sequence

shuffle xs
Signature: xs:seq<'?211117> > Gen<'?211117 array>
Type parameters: '?211117

Generates a random permutation of the given sequence.
CompiledName: Shuffle

sized fgen
Signature: fgen:(int > Gen<'b>) > Gen<'b>
Type parameters: 'b

Obtain the current size. sized g calls g, passing it the current size as a parameter.
CompiledName: Sized

sizedFunc sizedGen
Signature: sizedGen:Func<int,Gen<'?211028>> > Gen<'?211028>
Type parameters: '?211028

Obtain the current size. sized g calls g, passing it the current size as a parameter.
CompiledName: Sized

subListOf l
Signature: l:seq<'?211136> > Gen<'?211136 list>
Type parameters: '?211136

Generates sublists of the given sequence.
CompiledName: SubListOfToList

subListOfArr s
Signature: s:'?211140 array > Gen<IList<'?211140>>
Type parameters: '?211140

Generates sublists of the given arguments.
CompiledName: SubListOf

subListOfToIList s
Signature: s:seq<'?211138> > Gen<IList<'?211138>>
Type parameters: '?211138

Generates sublists of the given IEnumerable.
CompiledName: SubListOf

suchThat
Signature: ('?211129 > bool) > Gen<'?211129> > Gen<'?211129>
Type parameters: '?211129

Generates a value that satisfies a predicate. Contrary to suchThatOption, this function keeps retrying
by increasing the size of the original generator ad infinitum. Make sure there is a high probability that
the predicate is satisfied.
CompiledName: SuchThat

suchThatOption
Signature: ('?211123 > bool) > Gen<'?211123> > Gen<'?211123 option>
Type parameters: '?211123

Tries to generate a value that satisfies a predicate. This function 'gives up' by generating None
if the given original generator did not generate any values that satisfied the predicate, after trying to
get values by increasing its size.
CompiledName: SuchThatOption

three g
Signature: g:Gen<'b> > Gen<'b * 'b * 'b>
Type parameters: 'b

Build a generator that generates a 3tuple of the values generated by the given generator.
CompiledName: Three

tryFilter predicate generator
Signature: predicate:('?211121 > bool) > generator:Gen<'?211121> > Gen<'?211121 option>
Type parameters: '?211121

Tries to generate a value that satisfies a predicate. This function 'gives up' by generating None
if the given original generator did not generate any values that satisfied the predicate, after trying to
get values by increasing its size.
The tryFilter function is an alias for the tryWhere function. These two functions are identical, but coexist
so that you can choose the word that makes your code most readable in your given context.
CompiledName: TryFilter

tryWhere predicate generator
Signature: predicate:('a > bool) > generator:Gen<'a> > Gen<'a option>
Type parameters: 'a

Tries to generate a value that satisfies a predicate. This function 'gives up' by generating None
if the given original generator did not generate any values that satisfied the predicate, after trying to
get values by increasing its size.
The tryWhere function is also aliased as tryFilter . These two functions are identical, but coexist
so that you can choose the word that makes your code most readable in your given context.
CompiledName: TryWhere

two g
Signature: g:Gen<'a18> > Gen<'a18 * 'a18>
Type parameters: 'a18

Build a generator that generates a 2tuple of the values generated by the given generator.
CompiledName: Two

unzip g
Signature: g:Gen<'?211100 * '?211101> > Gen<'?211100> * Gen<'?211101>
Type parameters: '?211100, '?211101

Split a generator of pairs into a pair of generators.

unzip3 g
Signature: g:Gen<'?211103 * '?211104 * '?211105> > Gen<'?211103> * Gen<'?211104> * Gen<'?211105>
Type parameters: '?211103, '?211104, '?211105

Split a generator of 3tuples into a 3tuple of generators.

where predicate generator
Signature: predicate:('b > bool) > generator:Gen<'b> > Gen<'b>
Type parameters: 'b

Generates a value that satisfies a predicate. Contrary to tryWhere, this function keeps retrying
by increasing the size of the original generator ad infinitum. Make sure there is a high probability that
the predicate is satisfied.
The where function is also aliased as filter . These two functions are identical, but coexist
so that you can choose the word that makes your code most readable in your given context.
CompiledName: Where

zip f g
Signature: f:Gen<'?211093> > g:Gen<'?211094> > Gen<'?211093 * '?211094>
Type parameters: '?211093, '?211094

Combine two generators into a generator of pairs.

zip3 f g h
Signature: f:Gen<'?211096> > g:Gen<'?211097> > h:Gen<'?211098> > Gen<'?211096 * '?211097 * '?211098>
Type parameters: '?211096, '?211097, '?211098

Combine three generators into a generator of 3tuples.
