Spec-Zone.ru › Haskell 9

Числовые типы

Авторские права (c) Университет Глазго, 2002
Лицензия в стиле BSD (см. файл libraries/base/LICENSE)
Сопровождающий libraries@haskell.org
Стабильность предварительная
Переносимость переносимый
Безопасный Haskell Безопасный
Язык Haskell2010

Содержание

  • Вывод
  • Чтение
  • Разное

Описание

Разные вспомогательные функции, главным образом для чтения и вывода значений типа RealFloat.

Вывод

showSigned Источник

Аргументы

:: Real a
=> (a -> ShowS)

функция, которая может выводить значения без знака

-> Int

приоритет окружающего контекста

-> a

выводимое значение

-> ShowS

Преобразует значение Real, которое может быть отрицательным, в строку.

showIntAtBase :: Integral a => a -> (Int -> Char) -> a -> ShowS Источник

Выводит неотрицательное число Integral в системе счисления, заданной первым аргументом, используя представление символами, заданное вторым аргументом.

showInt :: Integral a => a -> ShowS Источник

Выводит неотрицательные числа Integral в десятичной системе счисления.

showBin :: Integral a => a -> ShowS Источник

Выводит неотрицательные числа Integral в двоичной системе счисления.

showHex :: Integral a => a -> ShowS Источник

Выводит неотрицательные числа Integral в шестнадцатеричной системе счисления.

showOct :: Integral a => a -> ShowS Источник

Выводит неотрицательные числа Integral в восьмеричной системе счисления.

showEFloat :: RealFloat a => Maybe Int -> a -> ShowS Источник

Выводит значение RealFloat со знаком в научной (экспоненциальной) нотации (например, 2.45e2, 1.5e-3).

При вызове showEFloat digs val, если digs равно Nothing, значение выводится с полной точностью; если digs равно Just d, выводится не более d цифр после десятичной точки.

showFFloat :: RealFloat a => Maybe Int -> a -> ShowS Источник

Выводит значение RealFloat со знаком в стандартной десятичной нотации (например, 245000, 0.0015).

При вызове showFFloat digs val, если digs равно Nothing, значение выводится с полной точностью; если digs равно Just d, выводится не более d цифр после десятичной точки.

showGFloat :: RealFloat a => Maybe Int -> a -> ShowS Источник

Выводит значение RealFloat со знаком в стандартной десятичной нотации, если абсолютное значение аргумента находится между 0.1 и 9,999,999, и в научной нотации в противном случае.

При вызове showGFloat digs val, если digs равно Nothing, значение выводится с полной точностью; если digs равно Just d, выводится не более d цифр после десятичной точки.

showFFloatAlt :: RealFloat a => Maybe Int -> a -> ShowS Источник

Выводит значение RealFloat со знаком в стандартной десятичной нотации (например, 245000, 0.0015).

Работает как showFFloat, но десятичная точка гарантированно присутствует, даже если она не нужна.

Начиная с: base-4.7.0.0

showGFloatAlt :: RealFloat a => Maybe Int -> a -> ShowS Источник

Выводит значение RealFloat со знаком в стандартной десятичной нотации, если абсолютное значение аргумента находится между 0.1 и 9,999,999, и в научной нотации в противном случае.

Работает как showFFloat, но десятичная точка гарантированно присутствует, даже если она не нужна.

Начиная с: base-4.7.0.0

showFloat :: RealFloat a => a -> ShowS Источник

Выводит значение RealFloat со знаком с полной точностью в стандартной десятичной нотации, если абсолютное значение аргумента находится между 0.1 и 9,999,999, и в научной нотации в противном случае.

showHFloat :: RealFloat a => a -> ShowS Источник

Выводит число с плавающей точкой в шестнадцатеричном формате, подобно спецификатору %a в функции printf языка C.

>>> showHFloat (212.21 :: Double) ""
"0x1.a86b851eb851fp7"
>>> showHFloat (-12.76 :: Float) ""
"-0x1.9851ecp3"
>>> showHFloat (-0 :: Double) ""
"-0x0p+0"

Начиная с: base-4.11.0.0

floatToDigits :: RealFloat a => Integer -> a -> ([Int], Int) Источник

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

Чтение

Примечание: readInt является «двойственной» функцией по отношению к showIntAtBase, а readDec — «двойственной» по отношению к showInt. Несогласованность в именовании — историческая случайность.

readSigned :: Real a => ReadS a -> ReadS a Источник

Считывает значение Real со знаком, используя функцию чтения значения без знака.

readInt Источник

Аргументы

:: Num a
=> a

основание системы счисления

-> (Char -> Bool)

предикат, определяющий допустимые цифры в этой системе счисления

-> (Char -> Int)

функция, преобразующая символ допустимой цифры в Int

-> ReadS a

Считывает значение целого числа без знака в произвольной системе счисления.

readBin :: (Eq a, Num a) => ReadS a Источник

Считывает число без знака в двоичной записи.

>>> readBin "10011"
[(19,"")]

readDec :: (Eq a, Num a) => ReadS a Источник

Считывает число без знака в десятичной записи.

>>> readDec "0644"
[(644,"")]

readOct :: (Eq a, Num a) => ReadS a Источник

Считывает число без знака в восьмеричной записи.

>>> readOct "0644"
[(420,"")]

readHex :: (Eq a, Num a) => ReadS a Источник

Считывает число без знака в шестнадцатеричной записи. Допускаются как прописные, так и строчные буквы.

>>> readHex "deadbeef"
[(3735928559,"")]

readFloat :: RealFrac a => ReadS a Источник

Считывает значение RealFrac без знака, представленное в десятичной научной нотации.

Обратите внимание, что время выполнения этой функции линейно зависит от величины входных данных, которая может расти экспоненциально относительно размера ввода (например, "1e100000000" — очень большое число, несмотря на очень короткую текстовую запись). Поэтому при использовании этой функции следует избегать обработки недоверенных данных. Для разбора значений с плавающей точкой (например, Float) рекомендуется вместо неё использовать read, у которой нет этой проблемы.

lexDigits :: ReadS String Источник

Считывает непустую строку десятичных цифр.

Разное

fromRat :: RealFloat a => Rational -> a Источник

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

class Fractional a => Floating a where Источник

Тригонометрические и гиперболические функции, а также связанные с ними функции.

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

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

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

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

(**) :: a -> a -> a infixr 8 Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Начиная с: base-4.9.0.0

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

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

Начиная с: base-4.9.0.0

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

log1pexp x вычисляет log (1 + exp x), но, если возможно, обеспечивает более точные результаты.

Примеры:

  • если x — большое отрицательное число, log (1 + exp x) будет неточным по причинам, указанным в log1p.
  • если exp x близко к -1, log (1 + exp x) будет неточным по причинам, указанным в expm1.

Начиная с: base-4.9.0.0

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

log1mexp x вычисляет log (1 - exp x), но, если возможно, обеспечивает более точные результаты.

Примеры:

  • если x — большое отрицательное число, log (1 - exp x) будет неточным по причинам, указанным в log1p.
  • если exp x близко к 1, log (1 - exp x) будет неточным по причинам, указанным в expm1.

Начиная с: base-4.9.0.0

Экземпляры
Сведения об экземплярах
Floating CDouble Источник
Сведения об экземпляре

Определён в GHC.Internal.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 Источник
Сведения об экземпляре

Определён в GHC.Internal.Foreign.C.Types

Методы

pi :: CFloat Источник

exp :: CFloat -> CFloat Источник

log :: CFloat -> CFloat Источник

sqrt :: CFloat -> CFloat Источник

(**) :: CFloat -> CFloat -> CFloat Источник

logBase :: CFloat -> CFloat -> CFloat Источник

sin :: CFloat -> CFloat Источник

cos :: CFloat -> CFloat Источник

tan :: CFloat -> CFloat Источник

asin :: CFloat -> CFloat Источник

acos :: CFloat -> CFloat Источник

atan :: CFloat -> CFloat Источник

sinh :: CFloat -> CFloat Источник

cosh :: CFloat -> CFloat Источник

tanh :: CFloat -> CFloat Источник

asinh :: CFloat -> CFloat Источник

acosh :: CFloat -> CFloat Источник

atanh :: CFloat -> CFloat Источник

log1p :: CFloat -> CFloat Источник

expm1 :: CFloat -> CFloat Источник

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

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

Floating Double Источник

Начиная с: base-2.1

Сведения об экземпляре

Определён в GHC.Internal.Float

Методы

pi :: Double Источник

exp :: Double -> Double Источник

log :: Double -> Double Источник

sqrt :: Double -> Double Источник

(**) :: Double -> Double -> Double Источник

logBase :: Double -> Double -> Double Источник

sin :: Double -> Double Источник

cos :: Double -> Double Источник

tan :: Double -> Double Источник

asin :: Double -> Double Источник

acos :: Double -> Double Источник

atan :: Double -> Double Источник

sinh :: Double -> Double Источник

cosh :: Double -> Double Источник

tanh :: Double -> Double Источник

asinh :: Double -> Double Источник

acosh :: Double -> Double Источник

atanh :: Double -> Double Источник

log1p :: Double -> Double Источник

expm1 :: Double -> Double Источник

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

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

Floating Float Источник

Начиная с: base-2.1

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

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

Методы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 (Identity a) Исходный код

Начиная с: base-4.9.0.0

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

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

Методы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Floating a => Floating (Down a) Исходный код

Начиная с: base-4.14.0.0

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

Определено в GHC.Internal.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 (Op a b) Исходный код
Подробности экземпляра

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

Методы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Floating a => Floating (Const a b) Исходный код

Начиная с: base-4.9.0.0

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

Определено в GHC.Internal.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 Исходный код

Floating (f (g a)) => Floating (Compose f g a) Исходный код

Начиная с: base-4.20.0.0

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

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

Методы

pi :: Compose f g a Исходный код

exp :: Compose f g a -> Compose f g a Исходный код

log :: Compose f g a -> Compose f g a Исходный код

sqrt :: Compose f g a -> Compose f g a Исходный код

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

logBase :: Compose f g a -> Compose f g a -> Compose f g a Исходный код

sin :: Compose f g a -> Compose f g a Исходный код

cos :: Compose f g a -> Compose f g a Исходный код

tan :: Compose f g a -> Compose f g a Исходный код

asin :: Compose f g a -> Compose f g a Исходный код

acos :: Compose f g a -> Compose f g a Исходный код

atan :: Compose f g a -> Compose f g a Исходный код

sinh :: Compose f g a -> Compose f g a Исходный код

cosh :: Compose f g a -> Compose f g a Исходный код

tanh :: Compose f g a -> Compose f g a Исходный код

asinh :: Compose f g a -> Compose f g a Исходный код

acosh :: Compose f g a -> Compose f g a Исходный код

atanh :: Compose f g a -> Compose f g a Исходный код

log1p :: Compose f g a -> Compose f g a Исходный код

expm1 :: Compose f g a -> Compose f g a Исходный код

log1pexp :: Compose f g a -> Compose f g a Исходный код

log1mexp :: Compose f g a -> Compose f g a Исходный код

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.14.1/docs/libraries/base-4.22.0.0-66f8/Numeric.html

Spec-Zone.ru

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