Mlang.Bir_roundops
module type RoundOpsInterface = sig ... end
Rounding operations to use in the interpreter
module type RoundOpsFunctor =
functor (N : Bir_number.NumberInterface) ->
RoundOpsInterface with type t = N.t
The actual implementation of rounding operations depends on the chosen representation of numbers, hence we need a functor
module DefaultRoundOps : RoundOpsFunctor
Default rounding operations: those used in the PC/single-thread context
module MultiRoundOps : RoundOpsFunctor
Multithread rounding operations: those used in the PC/multi-thread context
module MainframeRoundOps (L : sig ... end) : RoundOpsFunctor
Mainframe rounding operations: those used in the mainframe context. As the behavior depends on the sie of the `long` type, this size must be given as an argument (and should be either 32 or 64).