GHC.Float
| Copyright | (c) The University of Glasgow 1994-2002 Portions obtained from hbc (c) Lennart Augusstson |
|---|---|
| License | see libraries/base/LICENSE |
| Maintainer | cvs-ghc@haskell.org |
| Stability | internal |
| Portability | non-portable (GHC Extensions) |
| Safe Haskell | Trustworthy |
| Language | Haskell2010 |
Содержание
Описание
Типы Float и Double, классы Floating и RealFloat и преобразование между Word32 и Float и Word64 и Double.
rationalToFloat :: Integer -> Integer -> Float Source
rationalToDouble :: Integer -> Integer -> Double Source
class Fractional a => Floating a where Source
Тригонометрические и гиперболические функции и связанные функции.
Отчет по Haskell не определяет законов для Floating. Однако, (+), (*) и exp обычно ожидается, что они определяют экспоненциальное поле и обладают следующими свойствами:
-
exp (a + b)=exp a * exp b -
exp (fromInteger 0)=fromInteger 1
Минимальное полное определение
pi, exp, log, sin, cos, asin, acos, atan, sinh, cosh, asinh, acosh, atanh
Методы
(**) :: a -> a -> a infixr 8 Source
log1p x вычисляет log (1 + x), но обеспечивает более точные результаты для малых (абсолютных) значений x, если это возможно.
Since: base-4.9.0.0
expm1 x вычисляет exp x - 1, но обеспечивает более точные результаты для малых (абсолютных) значений x, если это возможно.
Since: base-4.9.0.0
log1pexp x вычисляет log (1 + exp x), но обеспечивает более точные результаты, если это возможно.
Примеры:
- если
xявляется большим отрицательным числом,log (1 + exp x)будет неточным по причинам, указанным вlog1p. - если
exp xблизок к-1,log (1 + exp x)будет неточным по причинам, указанным вexpm1.
Since: base-4.9.0.0
log1mexp x вычисляет log (1 - exp x), но обеспечивает более точные результаты, если это возможно.
Примеры:
- если
xявляется большим отрицательным числом,log (1 - exp x)будет неточным по причинам, указанным вlog1p. - если
exp xблизок к1,log (1 - exp x)будет неточным по причинам, указанным вexpm1.
Since: base-4.9.0.0
Экземпляры
| Floating Double | Since: base-2.1 |
Определено в GHC.Float Методыexp :: Double -> Double Source log :: Double -> Double Source sqrt :: Double -> Double Source (**) :: Double -> Double -> Double Source logBase :: Double -> Double -> Double Source sin :: Double -> Double Source cos :: Double -> Double Source tan :: Double -> Double Source asin :: Double -> Double Source acos :: Double -> Double Source atan :: Double -> Double Source sinh :: Double -> Double Source cosh :: Double -> Double Source tanh :: Double -> Double Source asinh :: Double -> Double Source acosh :: Double -> Double Source atanh :: Double -> Double Source log1p :: Double -> Double Source expm1 :: Double -> Double Source | |
| Floating Float | Since: base-2.1 |
Определено в GHC.Float | |
| Floating CDouble | |
Определено в Foreign.C.Types Методыexp :: CDouble -> CDouble Исходный код log :: CDouble -> CDouble Исходный код sqrt :: CDouble -> CDouble Исходный код (**) :: CDouble -> CDouble -> CDouble Исходный код logBase :: CDouble -> CDouble -> CDouble Исходный код sin :: CDouble -> CDouble Исходный код cos :: CDouble -> CDouble Исходный код tan :: CDouble -> CDouble Исходный код asin :: CDouble -> CDouble Исходный код acos :: CDouble -> CDouble Исходный код atan :: CDouble -> CDouble Исходный код sinh :: CDouble -> CDouble Исходный код cosh :: CDouble -> CDouble Исходный код tanh :: CDouble -> CDouble Исходный код asinh :: CDouble -> CDouble Исходный код acosh :: CDouble -> CDouble Исходный код atanh :: CDouble -> CDouble Исходный код log1p :: CDouble -> CDouble Исходный код expm1 :: CDouble -> CDouble Исходный код log1pexp :: CDouble -> CDouble Исходный код log1mexp :: CDouble -> CDouble Исходный код | |
| Floating CFloat | |
Определено в Foreign.C.Types Методыexp :: CFloat -> CFloat Source log :: CFloat -> CFloat Source sqrt :: CFloat -> CFloat Source (**) :: CFloat -> CFloat -> CFloat Source logBase :: CFloat -> CFloat -> CFloat Source sin :: CFloat -> CFloat Source cos :: CFloat -> CFloat Source tan :: CFloat -> CFloat Source asin :: CFloat -> CFloat Source acos :: CFloat -> CFloat Source atan :: CFloat -> CFloat Source sinh :: CFloat -> CFloat Source cosh :: CFloat -> CFloat Source tanh :: CFloat -> CFloat Source asinh :: CFloat -> CFloat Source acosh :: CFloat -> CFloat Source atanh :: CFloat -> CFloat Source log1p :: CFloat -> CFloat Source expm1 :: CFloat -> CFloat Source | |
| Floating a => Floating (Down a) | С версии: base-4.14.0.0 |
Определено в Data.Ord Методыexp :: Down a -> Down a Источник log :: Down a -> Down a Источник sqrt :: Down a -> Down a Источник (**) :: Down a -> Down a -> Down a Источник logBase :: Down a -> Down a -> Down a Источник sin :: Down a -> Down a Источник cos :: Down a -> Down a Источник tan :: Down a -> Down a Источник asin :: Down a -> Down a Источник acos :: Down a -> Down a Источник atan :: Down a -> Down a Источник sinh :: Down a -> Down a Источник cosh :: Down a -> Down a Источник tanh :: Down a -> Down a Источник asinh :: Down a -> Down a Источник acosh :: Down a -> Down a Источник atanh :: Down a -> Down a Источник log1p :: Down a -> Down a Источник expm1 :: Down a -> Down a Источник | |
| Floating a => Floating (Identity a) | С: base-4.9.0.0 |
Определено в Data.Functor.Identity Краткое описание методовexp :: Identity a -> Identity a Source log :: Identity a -> Identity a Source sqrt :: Identity a -> Identity a Source (**) :: Identity a -> Identity a -> Identity a Source logBase :: Identity a -> Identity a -> Identity a Source sin :: Identity a -> Identity a Source cos :: Identity a -> Identity a Source tan :: Identity a -> Identity a Source asin :: Identity a -> Identity a Source acos :: Identity a -> Identity a Source atan :: Identity a -> Identity a Source sinh :: Identity a -> Identity a Source cosh :: Identity a -> Identity a Source tanh :: Identity a -> Identity a Source asinh :: Identity a -> Identity a Source acosh :: Identity a -> Identity a Source atanh :: Identity a -> Identity a Source log1p :: Identity a -> Identity a Source expm1 :: Identity a -> Identity a Source | |
| RealFloat a => Floating (Complex a) | С версии: base-2.1 |
Определено в Data.Functor.Contravariant Краткое описание методовexp :: Op a b -> Op a b Source log :: Op a b -> Op a b Source sqrt :: Op a b -> Op a b Source (**) :: Op a b -> Op a b -> Op a b Source logBase :: Op a b -> Op a b -> Op a b Source sin :: Op a b -> Op a b Source cos :: Op a b -> Op a b Source tan :: Op a b -> Op a b Source asin :: Op a b -> Op a b Source acos :: Op a b -> Op a b Source atan :: Op a b -> Op a b Source sinh :: Op a b -> Op a b Source cosh :: Op a b -> Op a b Source tanh :: Op a b -> Op a b Source asinh :: Op a b -> Op a b Source acosh :: Op a b -> Op a b Source atanh :: Op a b -> Op a b Source log1p :: Op a b -> Op a b Source expm1 :: Op a b -> Op a b Source | |
| Floating a => Floating (Const a b) | Since: base-4.9.0.0 |
Определено в Data.Functor.Const Методыexp :: Const a b -> Const a b Источник log :: Const a b -> Const a b Источник sqrt :: Const a b -> Const a b Источник (**) :: Const a b -> Const a b -> Const a b Источник logBase :: Const a b -> Const a b -> Const a b Источник sin :: Const a b -> Const a b Источник cos :: Const a b -> Const a b Источник tan :: Const a b -> Const a b Источник asin :: Const a b -> Const a b Источник acos :: Const a b -> Const a b Источник atan :: Const a b -> Const a b Источник sinh :: Const a b -> Const a b Источник cosh :: Const a b -> Const a b Источник tanh :: Const a b -> Const a b Источник asinh :: Const a b -> Const a b Источник acosh :: Const a b -> Const a b Источник atanh :: Const a b -> Const a b Источник log1p :: Const a b -> Const a b Источник expm1 :: Const a b -> Const a b Источник |
class (RealFrac a, Floating a) => RealFloat a where Источник
Эффективный, независимый от машины доступ к компонентам числа с плавающей точкой.
Минимальное полное определение
floatRadix, floatDigits, floatRange, decodeFloat, encodeFloat, isNaN, isInfinite, isDenormalized, isNegativeZero, isIEEE
Методы
floatRadix :: a -> Integer Source
функция-константа, возвращающая основание представления (часто 2)
floatDigits :: a -> Int Source
функция-константа, возвращающая количество цифр floatRadix в мантиссе
floatRange :: a -> (Int, Int) Source
функция-константа, возвращающая наименьшее и наибольшее значения, которые может принимать показатель
decodeFloat :: a -> (Integer, Int) Source
Функция decodeFloat при применении к вещественному числу с плавающей запятой возвращает мантиссу, выраженную как Integer, и соответствующий масштабированный показатель (целое Int). Если decodeFloat x дает (m,n), то x равно по значению m*b^^n, где b — основание представления с плавающей запятой, и кроме того, либо m и n оба равны нулю, либо же b^(d-1) <= abs m < b^d, где d — значение floatDigits x. В частности, decodeFloat 0 = (0,0). Если тип содержит отрицательный ноль, также decodeFloat (-0.0) = (0,0). Результат decodeFloat x неопределен, если одно из isNaN x или isInfinite x равно True.
encodeFloat :: Integer -> Int -> a Source
encodeFloat выполняет обратное преобразование decodeFloat в том смысле, что для конечных x за исключением -0.0, uncurry encodeFloat (decodeFloat x) = x. encodeFloat m n является одним из двух ближайших представимых чисел с плавающей запятой к m*b^^n (или ±Infinity в случае переполнения); обычно более близким, но если m содержит слишком много битов, результат может быть округлен в неправильном направлении.
exponent соответствует второму компоненту decodeFloat. exponent 0 = 0 и для конечных ненулевых x, exponent x = snd (decodeFloat x) + floatDigits x. Если x — конечное число с плавающей запятой, оно равно по значению significand x * b ^^ exponent x, где b — основание представления с плавающей запятой. Поведение неопределено для бесконечных или NaN значений.
significand :: a -> a Source
Первый компонент decodeFloat, масштабированный так, чтобы лежать в открытом интервале (-1,1), либо 0.0 или абсолютного значения >= 1/b, где b — основание представления с плавающей запятой. Поведение неопределено для бесконечных или NaN значений.
scaleFloat :: Int -> a -> a Source
умножает число с плавающей запятой на целую степень основания
True если аргумент является значением IEEE "не число" (NaN)
isInfinite :: a -> Bool Source
True если аргумент является бесконечностью IEEE или отрицательной бесконечностью
isDenormalized :: a -> Bool Source
True если аргумент слишком мал, чтобы быть представленным в нормализованном формате
isNegativeZero :: a -> Bool Source
True если аргумент является отрицательным нулём IEEE
True если аргумент является числом с плавающей запятой IEEE
версия арктангенса, принимающая два вещественных аргумента с плавающей запятой. Для вещественных чисел с плавающей запятой x и y, atan2 y x вычисляет угол (от положительной оси x) вектора из начала координат в точку (x,y). atan2 y x возвращает значение в диапазоне [-pi, pi]. Следует семантике Common Lisp для начала координат, когда поддерживаются знаковые нули. atan2 y 1, где y в типе, который RealFloat, должна возвращать то же значение, что и atan y. Представлена функция atan2, но разработчики могут предоставить более точное реализацию.
Экземпляры
Определено в Data.Functor.Const МетодыfloatRadix :: Const a b -> Integer Исходный код floatDigits :: Const a b -> Int Исходный код floatRange :: Const a b -> (Int, Int) Исходный код decodeFloat :: Const a b -> (Integer, Int) Исходный код encodeFloat :: Integer -> Int -> Const a b Исходный код exponent :: Const a b -> Int Исходный код significand :: Const a b -> Const a b Исходный код scaleFloat :: Int -> Const a b -> Const a b Исходный код isNaN :: Const a b -> Bool Исходный код isInfinite :: Const a b -> Bool Исходный код isDenormalized :: Const a b -> Bool Исходный код isNegativeZero :: Const a b -> Bool Исходный код isIEEE :: Const a b -> Bool Исходный код atan2 :: Const a b -> Const a b -> Const a b Исходный код |
data FFFormat Исходный код
Конструкторы
| FFExponent | |
| FFFixed | |
| FFGeneric |
stgDoubleToWord64 :: Double# -> Word# Исходный код
stgWord64ToDouble :: Word# -> Double# Исходный код
stgFloatToWord32 :: Float# -> Word# Исходный код
stgWord32ToFloat :: Word# -> Float# Исходный код
isDoubleFinite :: Double -> Int Исходный код
isDoubleNegativeZero :: Double -> Int Исходный код
isDoubleDenormalized :: Double -> Int Исходный код
isDoubleInfinite :: Double -> Int Исходный код
isDoubleNaN :: Double -> Int Исходный код
isFloatFinite :: Float -> Int Исходный код
isFloatNegativeZero :: Float -> Int Исходный код
isFloatDenormalized :: Float -> Int Исходный код
isFloatInfinite :: Float -> Int Исходный код
isFloatNaN :: Float -> Int Исходный код
log1mexpOrd :: (Ord a, Floating a) => a -> a Исходный код
Реализация по умолчанию для log1mexp требующей Ord для проверки против порога, чтобы решить, какую реализацию использовать.
showFloat :: RealFloat a => a -> ShowS Исходный код
Отобразить значение RealFloat с полным числом значащих цифр с использованием стандартной десятичной нотации для аргументов, абсолютное значение которых находится между 0.1 и 9,999,999, и в научной нотации в противном случае.
formatRealFloat :: RealFloat a => FFFormat -> Maybe Int -> a -> String Source
formatRealFloatAlt :: RealFloat a => FFFormat -> Maybe Int -> Bool -> a -> String Source
roundTo :: Int -> Int -> [Int] -> (Int, [Int]) Source
floatToDigits :: RealFloat a => Integer -> a -> ([Int], Int) Source
floatToDigits принимает основание и неотрицательное число RealFloat, и возвращает список цифр и показатель степени. В частности, если x>=0, и
floatToDigits base x = ([d1,d2,...,dn], e)
тогда
n >= 1
x = 0.d1d2...dn * (base**e)
0 <= di <= base-1
fromRat :: RealFloat a => Rational -> a Source
Преобразует значение Rational в любой тип из класса RealFloat.
fromRat' :: RealFloat a => Rational -> a Source
expt :: Integer -> Int -> Integer Source
expts :: Array Int Integer Source
expts10 :: Array Int Integer Source
integerLogBase :: Integer -> Integer -> Int Source
fromRat'' :: RealFloat a => Int -> Int -> Integer -> Integer -> a Source
plusFloat :: Float -> Float -> Float Source
minusFloat :: Float -> Float -> Float Source
timesFloat :: Float -> Float -> Float Source
divideFloat :: Float -> Float -> Float Source
negateFloat :: Float -> Float Source
gtFloat :: Float -> Float -> Bool Source
geFloat :: Float -> Float -> Bool Source
ltFloat :: Float -> Float -> Bool Source
leFloat :: Float -> Float -> Bool Source
expFloat :: Float -> Float Source
expm1Float :: Float -> Float Source
logFloat :: Float -> Float Source
log1pFloat :: Float -> Float Source
sinFloat :: Float -> Float Source
cosFloat :: Float -> Float Source
tanFloat :: Float -> Float Source
asinFloat :: Float -> Float Source
acosFloat :: Float -> Float Source
atanFloat :: Float -> Float Source
sinhFloat :: Float -> Float Source
coshFloat :: Float -> Float Source
tanhFloat :: Float -> Float Source
asinhFloat :: Float -> Float Source
acoshFloat :: Float -> Float Source
atanhFloat :: Float -> Float Source
powerFloat :: Float -> Float -> Float Source
plusDouble :: Double -> Double -> Double Source
minusDouble :: Double -> Double -> Double Source
timesDouble :: Double -> Double -> Double Source
divideDouble :: Double -> Double -> Double Source
negateDouble :: Double -> Double Source
gtDouble :: Double -> Double -> Bool Source
geDouble :: Double -> Double -> Bool Source
ltDouble :: Double -> Double -> Bool Source
leDouble :: Double -> Double -> Bool Source
double2Float :: Double -> Float Source
float2Double :: Float -> Double Source
expDouble :: Double -> Double Source
expm1Double :: Double -> Double Source
logDouble :: Double -> Double Source
log1pDouble :: Double -> Double Source
sqrtDouble :: Double -> Double Source
fabsDouble :: Double -> Double Source
sinDouble :: Double -> Double Source
cosDouble :: Double -> Double Source
tanDouble :: Double -> Double Source
asinDouble :: Double -> Double Source
acosDouble :: Double -> Double Source
atanDouble :: Double -> Double Source
sinhDouble :: Double -> Double Source
coshDouble :: Double -> Double Source
tanhDouble :: Double -> Double Source
asinhDouble :: Double -> Double Source
acoshDouble :: Double -> Double Source
atanhDouble :: Double -> Double Source
powerDouble :: Double -> Double -> Double Source
word2Double :: Word -> Double Source
word2Float :: Word -> Float Source
Аргументы
| :: RealFloat a | |
| => (a -> ShowS) | функция, которая может отображать беззнаковые значения |
| -> Int | приоритет окружающего контекста |
| -> a | значение для отображения |
| -> ShowS |
clamp :: Int -> Int -> Int Source
castWord32ToFloat :: Word32 -> Float Source
castWord32ToFloat w копирует биты из целочисленного значения в значение с плавающей точкой.
Since: base-4.10.0.0
castFloatToWord32 :: Float -> Word32 Source
castFloatToWord32 f копирует биты из значения с плавающей точкой в целочисленное значение.
Since: base-4.10.0.0
castWord64ToDouble :: Word64 -> Double Source
castWord64ToDouble w копирует биты из целочисленного значения в значение с плавающей точкой.
Since: base-4.10.0.0
castDoubleToWord64 :: Double -> Word64 Source
castFloatToWord64 f копирует биты из значения с плавающей точкой в целочисленное значение.
Since: base-4.10.0.0
Числа с плавающей точкой одинарной точности. Желательно, чтобы этот тип имел не меньше диапазона и точности, чем тип IEEE одинарной точности.
Примеры реализации
| Enum Float | С момента: base-2.1 |
Определено в GHC.Float Методыsucc :: Float -> Float Исходный код pred :: Float -> Float Исходный код toEnum :: Int -> Float Исходный код fromEnum :: Float -> Int Исходный код enumFrom :: Float -> [Float] Исходный код enumFromThen :: Float -> Float -> [Float] Исходный код enumFromTo :: Float -> Float -> [Float] Исходный код enumFromThenTo :: Float -> Float -> Float -> [Float] Исходный код | |
| Eq Float |
Обратите внимание, что из-за наличия >>> 0/0 == (0/0 :: Float) False Также обратите внимание, что пример реализации >>> 0 == (-0 :: Float) True >>> recip 0 == recip (-0 :: Float) False |
Определено в GHC.Classes | |
| Floating Float | С момента: base-2.1 |
Определено в GHC.Float | |
| Fractional Float |
Обратите внимание, что из-за наличия >>> 0/0 * (recip 0/0 :: Float) NaN Since: base-2.1 |
| Data Float | Since: base-4.0.0.0 |
Определено в Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Float -> c Float Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Float Исходный код toConstr :: Float -> Constr Исходный код dataTypeOf :: Float -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> МожетБыть (c Float) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> МожетБыть (c Float) Исходный код gmapT :: (forall b. Data b => b -> b) -> Float -> Float Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Float -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Float -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> Float -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> Float -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> Float -> m Float Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Float -> m Float Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Float -> m Float Исходный код | |
| Num Float |
Обратите внимание, что из-за наличия >>> 0/0 + (negate 0/0 :: Float) NaN Также обратите внимание, что из-за наличия -0, экземпляр >>> 0 + (-0 :: Float) 0.0 С: base-2.1 |
Определено в GHC.Float Методы(+) :: Float -> Float -> Float Исходный код (-) :: Float -> Float -> Float Исходный код (*) :: Float -> Float -> Float Исходный код negate :: Float -> Float Исходный код abs :: Float -> Float Исходный код signum :: Float -> Float Исходный код fromInteger :: Integer -> Float Исходный код | |
| Ord Float |
Обратите внимание, что из-за наличия >>> 0/0 <= (0/0 :: Float) False Также обратите внимание, что по той же причине, взаимодействия операторов >>> (0/0 :: Float) > 1 False >>> compare (0/0 :: Float) 1 GT |
| Show Float | Since: base-2.1 |
| Storable Float | Since: base-2.1 |
Определено в Foreign.Storable | |
| PrintfArg Float | Since: base-2.1 |
Определено в Text.Printf | |
| Generic1 (URec Float :: k -> Type) | Since: base-4.9.0.0 |
| Foldable (UFloat :: Type -> Type) | Since: base-4.9.0.0 |
Определено в GHC.Generics Методыcompare :: URec Float p -> URec Float p -> Ordering Источник (<) :: URec Float p -> URec Float p -> Bool Источник (<=) :: URec Float p -> URec Float p -> Bool Источник (>) :: URec Float p -> URec Float p -> Bool Источник (>=) :: URec Float p -> URec Float p -> Bool Источник max :: URec Float p -> URec Float p -> URec Float p Источник min :: URec Float p -> URec Float p -> URec Float p Источник | |
| Show (URec Float p) | |
| Generic (URec Float p) | |
| data URec Float (p :: k) |
Используется для маркировки случаев С: base-4.9.0.0 |
| type Rep1 (URec Float :: k -> Type) | |
Определено в GHC.Generics | |
| type Rep (URec Float p) | |
Определено в GHC.Generics |
Числа с плавающей запятой двойной точности. Желательно, чтобы этот тип был по крайней мере равен по диапазону и точности типу IEEE двойной точности.
Экземпляры
| Enum Double | С момента: base-2.1 |
Определено в GHC.Float Методыsucc :: Double -> Double Source pred :: Double -> Double Source toEnum :: Int -> Double Source fromEnum :: Double -> Int Source enumFrom :: Double -> [Double] Source enumFromThen :: Double -> Double -> [Double] Source enumFromTo :: Double -> Double -> [Double] Source enumFromThenTo :: Double -> Double -> Double -> [Double] Source | |
| Eq Double |
Обратите внимание, что из-за наличия >>> 0/0 == (0/0 :: Double) False Также обратите внимание, что >>> 0 == (-0 :: Double) True >>> recip 0 == recip (-0 :: Double) False |
| Floating Double | С момента: base-2.1 |
Определено в GHC.Float Методыexp :: Double -> Double Source log :: Double -> Double Source sqrt :: Double -> Double Source (**) :: Double -> Double -> Double Source logBase :: Double -> Double -> Double Source sin :: Double -> Double Source cos :: Double -> Double Source tan :: Double -> Double Source asin :: Double -> Double Source acos :: Double -> Double Source atan :: Double -> Double Source sinh :: Double -> Double Source cosh :: Double -> Double Source tanh :: Double -> Double Source asinh :: Double -> Double Source acosh :: Double -> Double Source atanh :: Double -> Double Source log1p :: Double -> Double Source expm1 :: Double -> Double Source | |
| Fractional Double |
Обратите внимание, что из-за наличия >>> 0/0 * (recip 0/0 :: Double) NaN С версии: base-2.1 |
| Data Double | С версии: base-4.0.0.0 |
Определено в Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Double -> c Double Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Double Исходный код toConstr :: Double -> Constr Исходный код dataTypeOf :: Double -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Double) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Double) Исходный код gmapT :: (forall b. Data b => b -> b) -> Double -> Double Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Double -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Double -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> Double -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> Double -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> Double -> m Double Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Double -> m Double Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Double -> m Double Исходный код | |
| Num Double |
Обратите внимание, что из-за наличия >>> 0/0 + (negate 0/0 :: Double) NaN Также обратите внимание, что из-за наличия -0, экземпляр >>> 0 + (-0 :: Double) 0.0 С момента: base-2.1 |
Определено в GHC.Float Методы(+) :: Double -> Double -> Double Исходный код (-) :: Double -> Double -> Double Исходный код (*) :: Double -> Double -> Double Исходный код negate :: Double -> Double Исходный код abs :: Double -> Double Исходный код signum :: Double -> Double Исходный код fromInteger :: Integer -> Double Исходный код | |
| Ord Double |
Обратите внимание, что из-за наличия >>> 0/0 <= (0/0 :: Double) False Также обратите внимание, что из-за этого взаимодействия операторов >>> (0/0 :: Double) > 1 False >>> compare (0/0 :: Double) 1 GT |
| Show Double | Since: base-2.1 |
| Storable Double | Since: base-2.1 |
Defined in Foreign.Storable МетодыsizeOf :: Double -> Int Source alignment :: Double -> Int Source peekElemOff :: Ptr Double -> Int -> IO Double Source pokeElemOff :: Ptr Double -> Int -> Double -> IO () Source peekByteOff :: Ptr b -> Int -> IO Double Source pokeByteOff :: Ptr b -> Int -> Double -> IO () Source | |
| PrintfArg Double | Since: base-2.1 |
Defined in Text.Printf | |
| Generic1 (URec Double :: k -> Type) | Since: base-4.9.0.0 |
| Foldable (UDouble :: Type -> Type) | Since: base-4.9.0.0 |
Определено в Data.Foldable Методыfold :: Monoid m => UDouble m -> m Исходный код foldMap :: Monoid m => (a -> m) -> UDouble a -> m Исходный код foldMap' :: Monoid m => (a -> m) -> UDouble a -> m Исходный код foldr :: (a -> b -> b) -> b -> UDouble a -> b Исходный код foldr' :: (a -> b -> b) -> b -> UDouble a -> b Исходный код foldl :: (b -> a -> b) -> b -> UDouble a -> b Исходный код foldl' :: (b -> a -> b) -> b -> UDouble a -> b Исходный код foldr1 :: (a -> a -> a) -> UDouble a -> a Исходный код foldl1 :: (a -> a -> a) -> UDouble a -> a Исходный код toList :: UDouble a -> [a] Исходный код null :: UDouble a -> Bool Исходный код length :: UDouble a -> Int Исходный код elem :: Eq a => a -> UDouble a -> Bool Исходный код maximum :: Ord a => UDouble a -> a Исходный код minimum :: Ord a => UDouble a -> a Исходный код sum :: Num a => UDouble a -> a Исходный код product :: Num a => UDouble a -> a Исходный код | |
| Traversable (UDouble :: Тип -> Тип) | С момента выпуска: base-4.9.0.0 |
Определено в Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> UDouble a -> f (UDouble b) Исходный код sequenceA :: Applicative f => UDouble (f a) -> f (UDouble a) Исходный код mapM :: Monad m => (a -> m b) -> UDouble a -> m (UDouble b) Исходный код sequence :: Monad m => UDouble (m a) -> m (UDouble a) Исходный код | |
| Functor (URec Double :: Тип -> Тип) | С момента выпуска: base-4.9.0.0 |
Определено в GHC.Generics | |
| Eq (URec Double p) | С момента выпуска: base-4.9.0.0 |
Определено в GHC.Generics | |
| Ord (URec Double p) | С момента выпуска: base-4.9.0.0 |
Определено в GHC.Generics Методыcompare :: URec Double p -> URec Double p -> Ordering Исходный код (<) :: URec Double p -> URec Double p -> Bool Исходный код (<=) :: URec Double p -> URec Double p -> Bool Исходный код (>) :: URec Double p -> URec Double p -> Bool Исходный код (>=) :: URec Double p -> URec Double p -> Bool Исходный код max :: URec Double p -> URec Double p -> URec Double p Исходный код min :: URec Double p -> URec Double p -> URec Double p Исходный код | |
| Show (URec Double p) | С момента: base-4.9.0.0 |
Определено в GHC.Generics | |
| Generic (URec Double p) | С момента: base-4.9.0.0 |
| data URec Double (p :: k) |
Используется для маркировки случаев С момента: base-4.9.0.0 |
| type Rep1 (URec Double :: k -> Type) | |
Определено в GHC.Generics | |
| type Rep (URec Double p) | |
Определено в GHC.Generics |
data Float# :: TYPE 'FloatRep Source
data Double# :: TYPE 'DoubleRep Source
double2Int :: Double -> Int Source
int2Double :: Int -> Double Source
float2Int :: Float -> Int Source
int2Float :: Int -> Float Source
Мономорфные операторы равенства
См. GHC.Classes#matching_overloaded_methods_in_rules
eqFloat :: Float -> Float -> Bool Source
eqDouble :: Double -> Double -> Bool Source
Экземпляры-сироты
| Enum Double | Since: base-2.1 |
Методыsucc :: Double -> Double Исходный код pred :: Double -> Double Исходный код toEnum :: Int -> Double Исходный код fromEnum :: Double -> Int Исходный код enumFrom :: Double -> [Double] Исходный код enumFromThen :: Double -> Double -> [Double] Исходный код enumFromTo :: Double -> Double -> [Double] Исходный код enumFromThenTo :: Double -> Double -> Double -> [Double] Исходный код | |
| Enum Float | Since: base-2.1 |
Методыsucc :: Float -> Float Исходный код pred :: Float -> Float Исходный код toEnum :: Int -> Float Исходный код fromEnum :: Float -> Int Исходный код enumFrom :: Float -> [Float] Исходный код enumFromThen :: Float -> Float -> [Float] Исходный код enumFromTo :: Float -> Float -> [Float] Исходный код enumFromThenTo :: Float -> Float -> Float -> [Float] Исходный код | |
| Fractional Double |
Обратите внимание, что из-за наличия >>> 0/0 * (recip 0/0 :: Double) NaN Since: base-2.1 |
| Fractional Float |
Обратите внимание, что из-за наличия >>> 0/0 * (recip 0/0 :: Float) NaN Since: base-2.1 |
| Num Double |
Обратите внимание, что из-за наличия >>> 0/0 + (negate 0/0 :: Double) NaN Также обратите внимание, что из-за наличия -0, экземпляр >>> 0 + (-0 :: Double) 0.0 Since: base-2.1 |
МетодыshowsPrec :: Int -> Double -> ShowS Исходный код show :: Double -> Строка Исходный код showList :: [Double] -> ShowS Исходный код | |
| Show Float | С версии: base-2.1 |
МетодыshowsPrec :: Int -> Float -> ShowS Исходный код show :: Float -> Строка Исходный код showList :: [Float] -> ShowS Исходный код | |
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/base-4.14.1.0/GHC-Float.html