Up

Module type S_bounded

Signature

include S
type 'a gen
type 'a obs
type 'a shr
type t
val gen : t gen
val obs : t obs
val shrinker : t shr
val gen_between : lower_bound:t Core_kernel.Maybe_bound.t -> upper_bound:t Core_kernel.Maybe_bound.t -> t gen

gen_between and obs_between produce generators and observers for values satisfying lower_bound and upper_bound. Both functions raise an exception if no values satisfy both lower_bound and upper_bound.

val obs_between : lower_bound:t Core_kernel.Maybe_bound.t -> upper_bound:t Core_kernel.Maybe_bound.t -> t obs