package batteries
Install
Dune Dependency
Authors
Maintainers
Sources
md5=1fd7bddce07cf5d244fc9427f7b5e4d4
sha512=c0f2a0fdc8253e0ea999d8d4c58bfbf32b18d251a2e1d9656bf279de5f01a33e9aabac3af4d95f465f8b671e7711ebd37218043face233340a0c11b08fa62f78
doc/batteries.unthreaded/BatBounded/index.html
Module BatBounded
Source
Bounded values
This module implements values which must fall within given bounds.
`o
pen or `c
losed or `u
nbounded bounds
The type of a bounding function with limits specified by bounds
val bounding_of_ord :
default_low:'b ->
default_high:'b ->
('a -> 'b) ->
('a -> 'a -> BatOrd.order) ->
('a, 'b) bounding_f
bounding_of_ord ~default_low ~default_high conv ord
will returning a bounding function using ord
for value comparison and default_low
and default_high
for values which fall outside of the requested range. conv
is used to convert values which are in-range to the result type.
val bounding_of_ord_chain :
low:('a -> 'b) ->
high:('a -> 'b) ->
('a -> 'b) ->
('a -> 'a -> BatOrd.order) ->
('a, 'b) bounding_f
bounding_of_ord_chain ?low ?high ord
is like bounding_of_ord
except that functions are used to handle out of range values rather than single default values.
val saturate_of_ord :
bounds:('a bound_t * 'a bound_t) ->
('a -> 'a -> BatOrd.order) ->
'a ->
'a
saturate_of_ord ~bounds:(low, high) ord
will returning a bounding function using ord
for value comparison and low
and high
for values which fall outside of the requested range.
val opt_of_ord :
bounds:('a bound_t * 'a bound_t) ->
('a -> 'a -> BatOrd.order) ->
'a ->
'a option
opt_of_ord ~bounds:(low, high) ord
will returning a bounding function using ord
for value comparison and None
for values which fall outside of the requested range.
module Make
(M : BoundedType) :
S with type base_u = M.base_t with type u = M.t with type t = private M.t
Functor to build an implementation of a bounded type given the bounded values definition M
module MakeNumeric
(M : BoundedNumericType) :
NumericSig
with type base_u = M.base_t
with type u = M.t
with type t = private M.t