module Number: Number
module type Spec = sig
.. end
Specification of general number properties
module type Verified_spec = sig
.. end
Specification of numbers with constraint checks
module type S = sig
.. end
Signature of numbers that have a verified (t
) and unverified (repr
)
representation and a function to verify the latter.
module type S0 = sig
.. end
Signature of numbers that also have a zero
module Make_verified (
Spec
:
Verified_spec
)
: S
with type repr = Spec.t
with type t = private Spec.t
Functor for making constrained numbers from specifications.
module Make_verified_unsafe (
Spec
:
Verified_spec
)
: S
with type repr = Spec.t
with type t = Spec.t
module type Verified_std_spec = sig
.. end
Specification used for standard numbers (Int.t
, Int32.t
, Int63.t
Int64.t
, Nativeint.t
, Float.t
) to enrich them with Pos.t
,
Pos0.t
, Neg.t
, and Neg0.t
modules, and the Make_bounded
and
Make_bounded_unsafe
functors.
module type Verified_std = sig
.. end
Signature of standard numbers (Int.t
, Int32.t
, Int63.t
Int64.t
, Nativeint.t
, Float.t
) to enrich them with Pos.t
,
Pos0.t
, Neg.t
, and Neg0.t
modules, and the Make_bounded
and
Make_bounded_unsafe
functors.
module Make_verified_std (
Spec
:
Verified_std_spec
)
: Verified_std
with type repr = Spec.t
Functor for enriching standard numbers (Int.t
, Int32.t
, Int63.t
Int64.t
, Nativeint.t
, Float.t
) with Pos.t
, Pos0.t
, Neg.t
,
and Neg0.t
modules, and the Make_bounded
and Make_bounded_unsafe
functors.