Haskell最小/最大双常数

Cla*_*diu 7 floating-point haskell constants

在Haskell中是否有任何方法可以得到常数,这是可以用双精度表示的最大和最小可能的正有理数大于零?

eph*_*ent 7

maxNonInfiniteFloat :: RealFloat a => a -> a
maxNonInfiniteFloat a = encodeFloat m n where
    b = floatRadix a
    e = floatDigits a
    (_, e') = floatRange a
    m = b ^ e - 1
    n = e' - e

minPositiveFloat :: RealFloat a => a -> a
minPositiveFloat a = encodeFloat 1 $ fst (floatRange a) - floatDigits a
Run Code Online (Sandbox Code Playgroud)