Spec-Zone.ru › Haskell 8

Числовые

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

Содержание

  • Отображение
  • Чтение
  • Разное

Описание

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

Отображение

showSigned Исходный код

Аргументы

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

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

-> Int

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

-> a

значение для отображения

-> ShowS

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

showIntAtBase :: (Integral a, Show a) => a -> (Int -> Char) -> a -> ShowS Исходный код

Отображает неотрицательное Integral число, используя базу, указанную в первом аргументе, и представление символов, указанное во втором.

showInt :: Integral a => a -> ShowS Исходный код

Отображает неотрицательные Integral числа в системе счисления по основанию 10.

showHex :: (Integral a, Show a) => a -> ShowS Исходный код

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

showOct :: (Integral a, Show 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 в C printf.

>>> showHFloat (212.21 :: Double) ""
"0x1.a86b851eb851fp7"
>>> showHFloat (-12.76 :: Float) ""
"-0x1.9851ecp3"
>>> showHFloat (-0 :: Double) ""
"-0x0p+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

Читает беззнаковое Integral значение в произвольной базе.

readDec :: (Eq a, Num a) => ReadS a Source

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

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

readOct :: (Eq a, Num a) => ReadS a Source

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

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

readHex :: (Eq a, Num a) => ReadS a Source

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

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

readFloat :: RealFrac a => ReadS a Source

Читает беззнаковое RealFrac значение, выраженное в десятичной экспоненциальной записи.

lexDigits :: ReadS String Source

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

Разное

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

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

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 если это возможно.

С версии: base-4.9.0.0

expm1 :: a -> a Source

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

С версии: 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.

С версии: 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.

С версии: base-4.9.0.0

Примеры реализации
Подробности примеров реализации
Floating Double

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

Подробности реализации

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

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

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

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

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

© 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/Numeric.html

Spec-Zone.ru

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