MLton 20210117

# MLtonReal

    signature MLTON_REAL =
       sig
          type t

          val fromWord: word -> t
          val fromLargeWord: LargeWord.word -> t
          val toWord: IEEEReal.rounding_mode -> t -> word
          val toLargeWord: IEEEReal.rounding_mode -> t -> LargeWord.word
       end

- type t

  the type of reals. For MLton.LargeReal this is LargeReal.real, for MLton.Real this is Real.real, for MLton.Real32 this is Real32.real, for MLton.Real64 this is Real64.real.

- fromWord w

- fromLargeWord w

  convert the word w to a real value. If the value of w is larger than (the appropriate) REAL.maxFinite, then infinity is returned. If w cannot be exactly represented as a real value, then the current rounding mode is used to determine the resulting value.

- toWord mode r

- toLargeWord mode r

  convert the argument r to a word type using the specified rounding mode. They raise Overflow if the result is not representable, in particular, if r is an infinity. They raise Domain if r is NaN.

- MLton.Real32.castFromWord w

- MLton.Real64.castFromWord w

  convert the argument w to a real type as a bit-wise cast.

- MLton.Real32.castToWord r

- MLton.Real64.castToWord r

  convert the argument r to a word type as a bit-wise cast.