Module 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

Default rounding operations: those used in the PC/single-thread context

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).