Data.Ratio
| Авторские права | (c) Университет Глазго, 2001 |
|---|---|
| Лицензия | В стиле BSD (см. файл libraries/base/LICENSE) |
| Сопровождающий | libraries@haskell.org |
| Стабильность | стабильный |
| Переносимость | переносимый |
| Безопасный Haskell | Безопасный |
| Язык | Haskell2010 |
Описание
Стандартные функции для рациональных чисел
data Ratio a Исходный код
Рациональные числа с числителем и знаменателем типа Integral.
Обратите внимание, что экземпляры Ratio наследуют недостатки параметра типа. Например, экземпляр Num для Ratio Natural имеет проблемы, сходные с проблемами Natural.
Экземпляры
| Integral a => Lift (Ratio a :: Type) Источник | |
| Eq a => Eq (Ratio a) Источник | Начиная с: base-2.1 |
| Integral a => Ord (Ratio a) Источник | Начиная с: base-2.0.1 |
Определено в GHC.Internal.Real | |
| (Data a, Integral a) => Data (Ratio a) Источник | Начиная с: base-4.0.0.0 |
Определено в GHC.Internal.Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Ratio a -> c (Ratio a) Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Ratio a) Источник toConstr :: Ratio a -> Constr Источник dataTypeOf :: Ratio a -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Ratio a)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Ratio a)) Источник gmapT :: (forall b. Data b => b -> b) -> Ratio a -> Ratio a Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ratio a -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ratio a -> r Источник gmapQ :: (forall d. Data d => d -> u) -> Ratio a -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> Ratio a -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> Ratio a -> m (Ratio a) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Ratio a -> m (Ratio a) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Ratio a -> m (Ratio a) Источник | |
| Integral a => Enum (Ratio a) Источник | Начиная с: base-2.0.1 |
Определено в GHC.Internal.Real Методыsucc :: Ratio a -> Ratio a Источник pred :: Ratio a -> Ratio a Источник toEnum :: Int -> Ratio a Источник fromEnum :: Ratio a -> Int Источник enumFrom :: Ratio a -> [Ratio a] Источник enumFromThen :: Ratio a -> Ratio a -> [Ratio a] Источник enumFromTo :: Ratio a -> Ratio a -> [Ratio a] Источник enumFromThenTo :: Ratio a -> Ratio a -> Ratio a -> [Ratio a] Источник | |
| (Storable a, Integral a) => Storable (Ratio a) Источник | Начиная с: base-4.8.0.0 |
Определено в GHC.Internal.Foreign.Storable МетодыsizeOf :: Ratio a -> Int Источник alignment :: Ratio a -> Int Источник peekElemOff :: Ptr (Ratio a) -> Int -> IO (Ratio a) Источник pokeElemOff :: Ptr (Ratio a) -> Int -> Ratio a -> IO () Источник peekByteOff :: Ptr b -> Int -> IO (Ratio a) Источник pokeByteOff :: Ptr b -> Int -> Ratio a -> IO () Источник | |
| Integral a => Num (Ratio a) Источник | Начиная с: base-2.0.1 |
Определено в GHC.Internal.Real | |
| (Integral a, Read a) => Read (Ratio a) Источник | Начиная с: base-2.1 |
| Integral a => Fractional (Ratio a) Источник | Начиная с: base-2.0.1 |
| Integral a => Real (Ratio a) Источник | Начиная с: base-2.0.1 |
type Rational = Ratio Integer Источник
Рациональные числа произвольной точности, представленные как отношение двух значений Integer. Рациональное число можно создать с помощью оператора %.
(%) :: Integral a => a -> a -> Ratio a infixl 7 Источник
Образует отношение двух целых чисел.
numerator :: Ratio a -> a Источник
Извлекает числитель несократимой дроби: числитель и знаменатель не имеют общих множителей, а знаменатель положителен.
denominator :: Ratio a -> a Источник
Извлекает знаменатель несократимой дроби: числитель и знаменатель не имеют общих множителей, а знаменатель положителен.
approxRational :: RealFrac a => a -> a -> Rational Источник
approxRational, применённая к двум вещественным дробным числам x и epsilon, возвращает самое простое рациональное число в пределах epsilon от x. Рациональное число y называется более простым, чем другое y', если
-
abs (numerator y) <= abs (numerator y'), и -
denominator y <= denominator y'.
Любой вещественный интервал содержит единственное самое простое рациональное число; в частности, обратите внимание, что 0/1 — самое простое рациональное число из всех.
© 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/Data-Ratio.html