Spec-Zone.ru › Haskell 8

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

Методы

pi :: a Source

exp :: a -> a Source

log :: a -> a Source

sqrt :: a -> a Source

(**) :: a -> a -> a infixr 8 Source

logBase :: a -> a -> a Source

sin :: a -> a Source

cos :: a -> a Source

tan :: a -> a Source

asin :: a -> a Source

acos :: a -> a Source

atan :: a -> a Source

sinh :: a -> a Source

cosh :: a -> a Source

tanh :: a -> a Source

asinh :: a -> a Source

acosh :: a -> a Source

atanh :: a -> a Source

log1p :: a -> a Source

log1p x вычисляет log (1 + x), но обеспечивает более точные результаты для малых (абсолютных) значений x, если это возможно.

Since: base-4.9.0.0

expm1 :: a -> a Source

expm1 x вычисляет exp x - 1, но обеспечивает более точные результаты для малых (абсолютных) значений x, если это возможно.

Since: base-4.9.0.0

log1pexp :: a -> a Source

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 :: a -> a Source

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

END_OF_DOCUMENT_MARKER
Экземпляры
Подробности о экземплярах
Floating Double

Since: base-2.1

Подробности о экземпляре

Определено в GHC.Float

Методы

pi :: Double Source

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

log1pexp :: Double -> Double Source

log1mexp :: Double -> Double Source

Floating Float

Since: base-2.1

Подробности экземпляра

Определено в GHC.Float

Краткое описание методов

pi :: Float Source

exp :: Float -> Float Source

log :: Float -> Float Source

sqrt :: Float -> Float Source

(**) :: Float -> Float -> Float Source

logBase :: Float -> Float -> Float Source

sin :: Float -> Float Source

cos :: Float -> Float Source

tan :: Float -> Float Source

asin :: Float -> Float Source

acos :: Float -> Float Source

atan :: Float -> Float Source

sinh :: Float -> Float Source

cosh :: Float -> Float Source

tanh :: Float -> Float Source

asinh :: Float -> Float Source

acosh :: Float -> Float Source

atanh :: Float -> Float Source

log1p :: Float -> Float Source

expm1 :: Float -> Float Source

log1pexp :: Float -> Float Source

log1mexp :: Float -> Float Source

Floating CDouble
Подробности экземпляра

Определено в Foreign.C.Types

Методы

pi :: CDouble Исходный код

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
Instance details

Определено в Foreign.C.Types

Методы

pi :: CFloat Source

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

log1pexp :: CFloat -> CFloat Source

log1mexp :: CFloat -> CFloat Source

Floating a => Floating (Down a)

С версии: base-4.14.0.0

Подробности экземпляра

Определено в Data.Ord

Методы

pi :: Down a Источник

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 Источник

log1pexp :: Down a -> Down a Источник

log1mexp :: Down a -> Down a Источник

Floating a => Floating (Identity a)

С: base-4.9.0.0

Подробности экземпляра

Определено в Data.Functor.Identity

Краткое описание методов

pi :: Identity a Source

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

log1pexp :: Identity a -> Identity a Source

log1mexp :: Identity a -> Identity a Source

RealFloat a => Floating (Complex a)

С версии: base-2.1

Подробности экземпляра

Определено в Data.Complex

Методы

pi :: Complex a Исходный код

exp :: Complex a -> Complex a Исходный код

log :: Complex a -> Complex a Исходный код

sqrt :: Complex a -> Complex a Исходный код

(**) :: Complex a -> Complex a -> Complex a Исходный код

logBase :: Complex a -> Complex a -> Complex a Исходный код

sin :: Complex a -> Complex a Исходный код

cos :: Complex a -> Complex a Исходный код

tan :: Complex a -> Complex a Исходный код

asin :: Complex a -> Complex a Исходный код

acos :: Complex a -> Complex a Исходный код

atan :: Complex a -> Complex a Исходный код

sinh :: Complex a -> Complex a Исходный код

cosh :: Complex a -> Complex a Исходный код

tanh :: Complex a -> Complex a Исходный код

asinh :: Complex a -> Complex a Исходный код

acosh :: Complex a -> Complex a Исходный код

atanh :: Complex a -> Complex a Исходный код

log1p :: Complex a -> Complex a Исходный код

expm1 :: Complex a -> Complex a Исходный код

log1pexp :: Complex a -> Complex a Исходный код

log1mexp :: Complex a -> Complex a Исходный код

Floating a => Floating (Op a b)
Instance details

Определено в Data.Functor.Contravariant

Краткое описание методов

pi :: Op a b Source

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

log1pexp :: Op a b -> Op a b Source

log1mexp :: Op a b -> Op a b Source

Floating a => Floating (Const a b)

Since: base-4.9.0.0

Подробности экземпляра

Определено в Data.Functor.Const

Методы

pi :: Const a b Источник

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 Источник

log1pexp :: Const a b -> Const a b Источник

log1mexp :: 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 :: a -> Int Source

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

умножает число с плавающей запятой на целую степень основания

isNaN :: a -> Bool Source

True если аргумент является значением IEEE "не число" (NaN)

isInfinite :: a -> Bool Source

True если аргумент является бесконечностью IEEE или отрицательной бесконечностью

isDenormalized :: a -> Bool Source

True если аргумент слишком мал, чтобы быть представленным в нормализованном формате

isNegativeZero :: a -> Bool Source

True если аргумент является отрицательным нулём IEEE

isIEEE :: a -> Bool Source

True если аргумент является числом с плавающей запятой IEEE

atan2 :: a -> a -> a Source

версия арктангенса, принимающая два вещественных аргумента с плавающей запятой. Для вещественных чисел с плавающей запятой x и y, atan2 y x вычисляет угол (от положительной оси x) вектора из начала координат в точку (x,y). atan2 y x возвращает значение в диапазоне [-pi, pi]. Следует семантике Common Lisp для начала координат, когда поддерживаются знаковые нули. atan2 y 1, где y в типе, который RealFloat, должна возвращать то же значение, что и atan y. Представлена функция atan2, но разработчики могут предоставить более точное реализацию.

Экземпляры
Подробности экземпляров
RealFloat Double

С версии: base-2.1

Подробности экземпляра

Определено в GHC.Float

Методы

floatRadix :: Double -> Integer Исходный код

floatDigits :: Double -> Int Исходный код

floatRange :: Double -> (Int, Int) Исходный код

decodeFloat :: Double -> (Integer, Int) Исходный код

encodeFloat :: Integer -> Int -> Double Исходный код

exponent :: Double -> Int Исходный код

significand :: Double -> Double Исходный код

scaleFloat :: Int -> Double -> Double Исходный код

isNaN :: Double -> Bool Исходный код

isInfinite :: Double -> Bool Исходный код

isDenormalized :: Double -> Bool Исходный код

isNegativeZero :: Double -> Bool Исходный код

isIEEE :: Double -> Bool Исходный код

atan2 :: Double -> Double -> Double Исходный код

RealFloat Float

С версии: base-2.1

Подробности экземпляра

Определено в GHC.Float

Методы

floatRadix :: Float -> Integer Исходный код

floatDigits :: Float -> Int Исходный код

floatRange :: Float -> (Int, Int) Исходный код

decodeFloat :: Float -> (Integer, Int) Исходный код

encodeFloat :: Integer -> Int -> Float Исходный код

exponent :: Float -> Int Исходный код

significand :: Float -> Float Исходный код

scaleFloat :: Int -> Float -> Float Исходный код

isNaN :: Float -> Bool Исходный код

isInfinite :: Float -> Bool Исходный код

isDenormalized :: Float -> Bool Исходный код

isNegativeZero :: Float -> Bool Исходный код

isIEEE :: Float -> Bool Исходный код

atan2 :: Float -> Float -> Float Исходный код

RealFloat CDouble
Подробности экземпляра

Определено в Foreign.C.Types

Методы

floatRadix :: CDouble -> Целое число Исходный код

floatDigits :: CDouble -> Целое Исходный код

floatRange :: CDouble -> (Целое, Целое) Исходный код

decodeFloat :: CDouble -> (Целое число, Целое) Исходный код

encodeFloat :: Целое число -> Целое -> CDouble Исходный код

exponent :: CDouble -> Целое Исходный код

significand :: CDouble -> CDouble Исходный код

scaleFloat :: Целое -> CDouble -> CDouble Исходный код

isNaN :: CDouble -> Булево Исходный код

isInfinite :: CDouble -> Булево Исходный код

isDenormalized :: CDouble -> Булево Исходный код

isNegativeZero :: CDouble -> Булево Исходный код

isIEEE :: CDouble -> Булево Исходный код

atan2 :: CDouble -> CDouble -> CDouble Исходный код

RealFloat CFloat
Подробности экземпляра

Определено в Foreign.C.Types

Методы

floatRadix :: CFloat -> Целое число Исходный код

floatDigits :: CFloat -> Целое Исходный код

floatRange :: CFloat -> (Целое, Целое) Исходный код

decodeFloat :: CFloat -> (Целое число, Целое) Исходный код

RealFloat a => RealFloat (Down a)

С момента: base-4.14.0.0

Подробности экземпляра

Определено в Data.Ord

Краткое описание методов

floatRadix :: Down a -> Integer Source

floatDigits :: Down a -> Int Source

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

decodeFloat :: Down a -> (Integer, Int) Source

encodeFloat :: Integer -> Int -> Down a Source

exponent :: Down a -> Int Source

significand :: Down a -> Down a Source

scaleFloat :: Int -> Down a -> Down a Source

isNaN :: Down a -> Bool Source

isInfinite :: Down a -> Bool Source

isDenormalized :: Down a -> Bool Source

isNegativeZero :: Down a -> Bool Source

isIEEE :: Down a -> Bool Source

atan2 :: Down a -> Down a -> Down a Source

RealFloat a => RealFloat (Identity a)

С версии: base-4.9.0.0

Подробности экземпляра

Определено в Data.Functor.Identity

Краткое описание методов

floatRadix :: Identity a -> Integer Source

floatDigits :: Identity a -> Int Source

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

decodeFloat :: Identity a -> (Integer, Int) Source

encodeFloat :: Integer -> Int -> Identity a Source

exponent :: Identity a -> Int Source

significand :: Identity a -> Identity a Source

scaleFloat :: Int -> Identity a -> Identity a Source

isNaN :: Identity a -> Bool Source

isInfinite :: Identity a -> Bool Source

isDenormalized :: Identity a -> Bool Source

isNegativeZero :: Identity a -> Bool Source

isIEEE :: Identity a -> Bool Source

atan2 :: Identity a -> Identity a -> Identity a Source

RealFloat a => RealFloat (Const a b)

С версии: base-4.9.0.0

Подробности экземпляра

Определено в 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)

тогда

  1. n >= 1
  2. x = 0.d1d2...dn * (base**e)
  3. 0 <= di <= base-1

fromRat :: RealFloat a => Rational -> a Source

Преобразует значение Rational в любой тип из класса RealFloat.

fromRat' :: RealFloat a => Rational -> a Source

minExpt :: Int Source

maxExpt :: Int Source

expt :: Integer -> Int -> Integer Source

expts :: Array Int Integer Source

maxExpt10 :: Int 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

sqrtFloat :: Float -> Float Source

fabsFloat :: 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

showSignedFloat 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

data Float Source

Числа с плавающей точкой одинарной точности. Желательно, чтобы этот тип имел не меньше диапазона и точности, чем тип IEEE одинарной точности.

Конструкторы

F# Float#
Примеры реализации
Подробности примеров реализации
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

Обратите внимание, что из-за наличия NaN, пример реализации Float's Eq не удовлетворяет рефлексивности.

>>> 0/0 == (0/0 :: Float)
False

Также обратите внимание, что пример реализации Float's Eq не удовлетворяет подстановке:

>>> 0 == (-0 :: Float)
True
>>> recip 0 == recip (-0 :: Float)
False
Подробности примера реализации

Определено в GHC.Classes

Методы

(==) :: Float -> Float -> Bool Исходный код

(/=) :: Float -> Float -> Bool Исходный код

Floating Float

С момента: base-2.1

Instance details

Определено в GHC.Float

Краткое описание методов

pi :: Float Source

exp :: Float -> Float Source

log :: Float -> Float Source

sqrt :: Float -> Float Source

(**) :: Float -> Float -> Float Source

logBase :: Float -> Float -> Float Source

sin :: Float -> Float Source

cos :: Float -> Float Source

tan :: Float -> Float Source

asin :: Float -> Float Source

acos :: Float -> Float Source

atan :: Float -> Float Source

sinh :: Float -> Float Source

cosh :: Float -> Float Source

tanh :: Float -> Float Source

asinh :: Float -> Float Source

acosh :: Float -> Float Source

atanh :: Float -> Float Source

log1p :: Float -> Float Source

expm1 :: Float -> Float Source

log1pexp :: Float -> Float Source

log1mexp :: Float -> Float Source

Fractional Float

Обратите внимание, что из-за наличия NaN, не все элементы Float имеют мультипликативный обратный.

>>> 0/0 * (recip 0/0 :: Float)
NaN

Since: base-2.1

Instance details

Определено в GHC.Float

Краткое описание методов

(/) :: Float -> Float -> Float Source

recip :: Float -> Float Source

fromRational :: Rational -> Float Source

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

Обратите внимание, что из-за наличия NaN, не все элементы Float имеют аддитивное обратное.

>>> 0/0 + (negate 0/0 :: Float)
NaN

Также обратите внимание, что из-за наличия -0, экземпляр Float для Num не имеет аддитивной единицы.

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

Обратите внимание, что из-за наличия NaN, экземпляр Float для Ord не удовлетворяет рефлексивности.

>>> 0/0 <= (0/0 :: Float)
False

Также обратите внимание, что по той же причине, взаимодействия операторов Ord не соблюдаются экземпляром Float.

>>> (0/0 :: Float) > 1
False
>>> compare (0/0 :: Float) 1
GT
Подробности экземпляра

Определено в GHC.Classes

Методы

compare :: Float -> Float -> Ordering Исходный код

(<) :: Float -> Float -> Bool Исходный код

(<=) :: Float -> Float -> Bool Исходный код

(>) :: Float -> Float -> Bool Исходный код

(>=) :: Float -> Float -> Bool Исходный код

max :: Float -> Float -> Float Исходный код

min :: Float -> Float -> Float Исходный код

Read Float

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Read

Методы

readsPrec :: Int -> ReadS Float Исходный код

readList :: ReadS [Float] Исходный код

readPrec :: ReadPrec Float Исходный код

readListPrec :: ReadPrec [Float] Исходный код

Вещественное Float

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Float

Методы

toRational :: Float -> Рациональное Исходный код

RealFloat Float

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Float

Методы

floatRadix :: Float -> Целое Исходный код

floatDigits :: Float -> Целое Исходный код

floatRange :: Float -> (Целое, Целое) Исходный код

decodeFloat :: Float -> (Целое, Целое) Исходный код

encodeFloat :: Целое -> Целое -> Float Исходный код

exponent :: Float -> Целое Исходный код

significand :: Float -> Float Исходный код

scaleFloat :: Целое -> Float -> Float Исходный код

isNaN :: Float -> Bool Исходный код

isInfinite :: Float -> Bool Исходный код

isDenormalized :: Float -> Bool Исходный код

isNegativeZero :: Float -> Bool Исходный код

isIEEE :: Float -> Bool Исходный код

atan2 :: Float -> Float -> Float Исходный код

Вещественная дробь Float

С момента: base-2.1

Instance details

Определено в GHC.Float

Методы

properFraction :: Integral b => Float -> (b, Float) Source

truncate :: Integral b => Float -> b Source

round :: Integral b => Float -> b Source

ceiling :: Integral b => Float -> b Source

floor :: Integral b => Float -> b Source

Show Float

Since: base-2.1

Instance details

Определено в GHC.Float

Методы

showsPrec :: Int -> Float -> ShowS Source

show :: Float -> String Source

showList :: [Float] -> ShowS Source

Storable Float

Since: base-2.1

Instance details

Определено в Foreign.Storable

Методы

sizeOf :: Float -> Int Source

alignment :: Float -> Int Source

peekElemOff :: Ptr Float -> Int -> IO Float Source

pokeElemOff :: Ptr Float -> Int -> Float -> IO () Source

peekByteOff :: Ptr b -> Int -> IO Float Source

pokeByteOff :: Ptr b -> Int -> Float -> IO () Source

peek :: Ptr Float -> IO Float Source

poke :: Ptr Float -> Float -> IO () Source

PrintfArg Float

Since: base-2.1

Instance details

Определено в Text.Printf

Методы

formatArg :: Float -> FieldFormatter Source

parseFormat :: Float -> ModifierParser Source

Generic1 (URec Float :: k -> Type)

Since: base-4.9.0.0

Instance details

Определено в GHC.Generics

Связанные типы

type Rep1 (URec Float) :: k -> Type Source

Методы

from1 :: forall (a :: k0). URec Float a -> Rep1 (URec Float) a Source

to1 :: forall (a :: k0). Rep1 (URec Float) a -> URec Float a Source

Foldable (UFloat :: Type -> Type)

Since: base-4.9.0.0

Подробности экземпляра

Определено в Data.Foldable

Методы

fold :: Monoid m => UFloat m -> m Исходный код

foldMap :: Monoid m => (a -> m) -> UFloat a -> m Исходный код

foldMap' :: Monoid m => (a -> m) -> UFloat a -> m Исходный код

foldr :: (a -> b -> b) -> b -> UFloat a -> b Исходный код

foldr' :: (a -> b -> b) -> b -> UFloat a -> b Исходный код

foldl :: (b -> a -> b) -> b -> UFloat a -> b Исходный код

foldl' :: (b -> a -> b) -> b -> UFloat a -> b Исходный код

foldr1 :: (a -> a -> a) -> UFloat a -> a Исходный код

foldl1 :: (a -> a -> a) -> UFloat a -> a Исходный код

toList :: UFloat a -> [a] Исходный код

null :: UFloat a -> Bool Исходный код

length :: UFloat a -> Int Исходный код

elem :: Eq a => a -> UFloat a -> Bool Исходный код

maximum :: Ord a => UFloat a -> a Исходный код

minimum :: Ord a => UFloat a -> a Исходный код

sum :: Num a => UFloat a -> a Исходный код

product :: Num a => UFloat a -> a Исходный код

Traversable (UFloat :: Type -> Type)

С: base-4.9.0.0

Подробности экземпляра

Определено в Data.Traversable

Методы

traverse :: Applicative f => (a -> f b) -> UFloat a -> f (UFloat b) Исходный код

sequenceA :: Applicative f => UFloat (f a) -> f (UFloat a) Исходный код

mapM :: Monad m => (a -> m b) -> UFloat a -> m (UFloat b) Исходный код

sequence :: Monad m => UFloat (m a) -> m (UFloat a) Исходный код

Functor (URec Float :: Type -> Type)

С: base-4.9.0.0

Подробности экземпляра

Определено в GHC.Generics

Методы

fmap :: (a -> b) -> URec Float a -> URec Float b Исходный код

(<$) :: a -> URec Float b -> URec Float a Исходный код

Eq (URec Float p)
Подробности экземпляра

Определено в GHC.Generics

Методы

(==) :: URec Float p -> URec Float p -> Bool Исходный код

(/=) :: URec Float p -> URec Float p -> Bool Исходный код

Ord (URec Float p)
Подробности экземпляра

Определено в 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)
Подробности экземпляра

Определено в GHC.Generics

Методы

showsPrec :: Int -> URec Float p -> ShowS Источник

show :: URec Float p -> String Источник

showList :: [URec Float p] -> ShowS Источник

Generic (URec Float p)
Подробности экземпляра

Определено в GHC.Generics

Связанные типы

type Rep (URec Float p) :: Type -> Type Источник

Методы

from :: URec Float p -> Rep (URec Float p) x Источник

to :: Rep (URec Float p) x -> URec Float p Источник

data URec Float (p :: k)

Используется для маркировки случаев Float#

С: base-4.9.0.0

Подробности экземпляра

Определено в GHC.Generics

data URec Float (p :: k) = UFloat {
  • uFloat# :: Float#
}
type Rep1 (URec Float :: k -> Type)
Подробности экземпляра

Определено в GHC.Generics

type Rep1 (URec Float :: k -> Type) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UFloat" 'PrefixI 'True) (S1 ('MetaSel ('Just "uFloat#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UFloat :: k -> Type)))
type Rep (URec Float p)
Сведения об экземпляре

Определено в GHC.Generics

type Rep (URec Float p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UFloat" 'PrefixI 'True) (S1 ('MetaSel ('Just "uFloat#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UFloat :: Type -> Type)))

data Double Source

Числа с плавающей запятой двойной точности. Желательно, чтобы этот тип был по крайней мере равен по диапазону и точности типу IEEE двойной точности.

Конструкторы

D# Double#
Экземпляры
Сведения об экземплярах
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

Обратите внимание, что из-за наличия NaN, Double экземпляр Eq не удовлетворяет рефлексивности.

>>> 0/0 == (0/0 :: Double)
False

Также обратите внимание, что Double экземпляр Eq не удовлетворяет подстановке:

>>> 0 == (-0 :: Double)
True
>>> recip 0 == recip (-0 :: Double)
False
Сведения об экземпляре

Определено в GHC.Classes

Методы

(==) :: Double -> Double -> Bool Source

(/=) :: Double -> Double -> Bool Source

Floating Double

С момента: base-2.1

Instance details

Определено в GHC.Float

Методы

pi :: Double Source

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

log1pexp :: Double -> Double Source

log1mexp :: Double -> Double Source

Fractional Double

Обратите внимание, что из-за наличия NaN, не все элементы Double имеют мультипликативный обратный.

>>> 0/0 * (recip 0/0 :: Double)
NaN

С версии: base-2.1

Instance details

Определено в GHC.Float

Методы

(/) :: Double -> Double -> Double Source

recip :: Double -> Double Source

fromRational :: Rational -> Double Source

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

Обратите внимание, что из-за наличия NaN, не все элементы Double имеют обратный элемент относительно сложения.

>>> 0/0 + (negate 0/0 :: Double)
NaN

Также обратите внимание, что из-за наличия -0, экземпляр Num для Double не имеет единицы сложения.

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

Обратите внимание, что из-за наличия NaN, экземпляр Ord для Double не удовлетворяет рефлексивности.

>>> 0/0 <= (0/0 :: Double)
False

Также обратите внимание, что из-за этого взаимодействия операторов Double экземпляра Ord не соблюдаются:

>>> (0/0 :: Double) > 1
False
>>> compare (0/0 :: Double) 1
GT
Подробности экземпляра

Определено в GHC.Classes

Методы

compare :: Double -> Double -> Ordering Исходный код

(<) :: Double -> Double -> Bool Исходный код

(<=) :: Double -> Double -> Bool Исходный код

(>) :: Double -> Double -> Bool Исходный код

(>=) :: Double -> Double -> Bool Исходный код

max :: Double -> Double -> Double Исходный код

min :: Double -> Double -> Double Исходный код

Read Double

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Read

Методы

readsPrec :: Int -> ReadS Double Исходный код

readList :: ReadS [Double] Исходный код

readPrec :: ReadPrec Double Исходный код

readListPrec :: ReadPrec [Double] Исходный код

Действительное Double

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Float

Методы

toRational :: Double -> Рациональное Исходный код

RealFloat Double

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Float

Методы

floatRadix :: Double -> Целое число Исходный код

floatDigits :: Double -> Целое число Исходный код

floatRange :: Double -> (Целое число, Целое число) Исходный код

decodeFloat :: Double -> (Целое число, Целое число) Исходный код

encodeFloat :: Целое число -> Целое число -> Double Исходный код

exponent :: Double -> Целое число Исходный код

significand :: Double -> Double Исходный код

scaleFloat :: Целое число -> Double -> Double Исходный код

isNaN :: Double -> Bool Исходный код

isInfinite :: Double -> Bool Исходный код

isDenormalized :: Double -> Bool Исходный код

isNegativeZero :: Double -> Bool Исходный код

isIEEE :: Double -> Bool Исходный код

atan2 :: Double -> Double -> Double Исходный код

RealFrac Double

С момента: base-2.1

Instance details

Defined in GHC.Float

Методы

properFraction :: Integral b => Double -> (b, Double) Source

truncate :: Integral b => Double -> b Source

round :: Integral b => Double -> b Source

ceiling :: Integral b => Double -> b Source

floor :: Integral b => Double -> b Source

Show Double

Since: base-2.1

Instance details

Defined in GHC.Float

Методы

showsPrec :: Int -> Double -> ShowS Source

show :: Double -> String Source

showList :: [Double] -> ShowS Source

Storable Double

Since: base-2.1

Instance details

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

peek :: Ptr Double -> IO Double Source

poke :: Ptr Double -> Double -> IO () Source

PrintfArg Double

Since: base-2.1

Instance details

Defined in Text.Printf

Методы

formatArg :: Double -> FieldFormatter Source

parseFormat :: Double -> ModifierParser Source

Generic1 (URec Double :: k -> Type)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Связанные типы

type Rep1 (URec Double) :: k -> Type Source

Методы

from1 :: forall (a :: k0). URec Double a -> Rep1 (URec Double) a Source

to1 :: forall (a :: k0). Rep1 (URec Double) a -> URec Double a Source

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

Методы

fmap :: (a -> b) -> URec Double a -> URec Double b Исходный код

(<$) :: a -> URec Double b -> URec Double a Исходный код

Eq (URec Double p)

С момента выпуска: base-4.9.0.0

Подробности экземпляра

Определено в GHC.Generics

Методы

(==) :: URec Double p -> URec Double p -> Bool Исходный код

(/=) :: URec Double p -> URec Double p -> Bool Исходный код

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

Методы

showsPrec :: Int -> URec Double p -> ShowS Исходный код

show :: URec Double p -> String Исходный код

showList :: [URec Double p] -> ShowS Исходный код

Generic (URec Double p)

С момента: base-4.9.0.0

Подробности экземпляра

Определено в GHC.Generics

Связанные типы

type Rep (URec Double p) :: Type -> Type Исходный код

Методы

from :: URec Double p -> Rep (URec Double p) x Исходный код

to :: Rep (URec Double p) x -> URec Double p Исходный код

data URec Double (p :: k)

Используется для маркировки случаев Double#

С момента: base-4.9.0.0

Подробности экземпляра

Определено в GHC.Generics

data URec Double (p :: k) = UDouble {
  • uDouble# :: Double#
}
type Rep1 (URec Double :: k -> Type)
Подробности экземпляра

Определено в GHC.Generics

type Rep1 (URec Double :: k -> Type) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UDouble" 'PrefixI 'True) (S1 ('MetaSel ('Just "uDouble#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UDouble :: k -> Type)))
type Rep (URec Double p)
Подробности экземпляра

Определено в GHC.Generics

type Rep (URec Double p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UDouble" 'PrefixI 'True) (S1 ('MetaSel ('Just "uDouble#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UDouble :: Type -> Type)))

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

Обратите внимание, что из-за наличия NaN, не все элементы Double имеют мультипликативную обратную величину.

>>> 0/0 * (recip 0/0 :: Double)
NaN

Since: base-2.1

Подробности экземпляра

Методы

(/) :: Double -> Double -> Double Исходный код

recip :: Double -> Double Исходный код

fromRational :: Rational -> Double Исходный код

Fractional Float

Обратите внимание, что из-за наличия NaN, не все элементы Float имеют мультипликативную обратную величину.

>>> 0/0 * (recip 0/0 :: Float)
NaN

Since: base-2.1

Подробности экземпляра

Методы

(/) :: Float -> Float -> Float Исходный код

recip :: Float -> Float Исходный код

fromRational :: Rational -> Float Исходный код

Num Double

Обратите внимание, что из-за наличия NaN, не все элементы Double имеют аддитивную обратную величину.

>>> 0/0 + (negate 0/0 :: Double)
NaN

Также обратите внимание, что из-за наличия -0, экземпляр Double для Num не имеет аддитивной единицы.

>>> 0 + (-0 :: Double)
0.0

Since: base-2.1

Подробности экземпляра

Методы

(+) :: Double -> Double -> Double Исходный код

(-) :: Double -> Double -> Double Исходный код

(*) :: Double -> Double -> Double Исходный код

negate :: Double -> Double Исходный код

abs :: Double -> Double Исходный код

signum :: Double -> Double Исходный код

fromInteger :: Integer -> Double Исходный код

Num Float

Обратите внимание, что из-за наличия NaN, не все элементы Float имеют аддитивную обратную величину.

>>> 0/0 + (negate 0/0 :: Float)
NaN

Также обратите внимание, что из-за наличия -0, экземпляр Float для Num не имеет аддитивной единицы.

>>> 0 + (-0 :: Float)
0.0

С: base-2.1

Подробности экземпляра

Методы

(+) :: Float -> Float -> Float Исходный код

(-) :: Float -> Float -> Float Исходный код

(*) :: Float -> Float -> Float Исходный код

negate :: Float -> Float Исходный код

abs :: Float -> Float Исходный код

signum :: Float -> Float Исходный код

fromInteger :: Integer -> Float Исходный код

Real Double

С: base-2.1

Подробности экземпляра

Методы

toRational :: Double -> Rational Исходный код

Real Float

С: base-2.1

Подробности экземпляра

Методы

toRational :: Float -> Rational Исходный код

RealFrac Double

С: base-2.1

Подробности экземпляра

Методы

properFraction :: Integral b => Double -> (b, Double) Исходный код

truncate :: Integral b => Double -> b Исходный код

round :: Integral b => Double -> b Исходный код

ceiling :: Integral b => Double -> b Исходный код

floor :: Integral b => Double -> b Исходный код

RealFrac Float

С: base-2.1

Подробности экземпляра

Методы

properFraction :: Integral b => Float -> (b, Float) Исходный код

truncate :: Integral b => Float -> b Исходный код

round :: Integral b => Float -> b Исходный код

ceiling :: Integral b => Float -> b Исходный код

floor :: Integral b => Float -> b Исходный код

Show Double

С: 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API