Минимум/максимум Haskell, Дважды Постоянный

Я думаю, что Python является хорошей альтернативой; это - очень мощный язык, также можно легко сделать много вещей (не скучный вообще).

7
задан Claudiu 23 November 2009 в 01:30
поделиться

2 ответа

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
7
ответ дан 7 December 2019 в 03:17
поделиться

GHC.Float имеет функцию [floatRange] [2] :

floatRange :: a -> (Int, Int) Source

постоянная функция, возвращающая наименьшее и наибольшее значения, которые может принять экспонента

, что должно быть тем, что вы хотите.

2
ответ дан 7 December 2019 в 03:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: