Data.Ratio
| Copyright | (c) The University of Glasgow 2001 |
|---|---|
| License | BSD-style (see the file libraries/base/LICENSE) |
| Maintainer | libraries@haskell.org |
| Stability | stable |
| Portability | portable |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Описание
Стандартные функции для рациональных чисел
Рациональные числа с числителем и знаменателем некоторого типа Integral.
Обратите внимание, что экземпляры Ratio наследуют недостатки от параметра типа. Например, экземпляр Ratio Natural для Num имеет аналогичные проблемы, как у Natural.
Экземпляры
| Integral a => Enum (Ratio a) | С момента: base-2.0.1 |
Определено в GHC.Real Методыsucc :: Ratio a -> Ratio a Source pred :: Ratio a -> Ratio a Source toEnum :: Int -> Ratio a Source fromEnum :: Ratio a -> Int Source enumFrom :: Ratio a -> [Ratio a] Source enumFromThen :: Ratio a -> Ratio a -> [Ratio a] Source enumFromTo :: Ratio a -> Ratio a -> [Ratio a] Source enumFromThenTo :: Ratio a -> Ratio a -> Ratio a -> [Ratio a] Source | |
| Eq a => Eq (Ratio a) | С момента: base-2.1 |
| Integral a => Fractional (Ratio a) | С момента: base-2.0.1 |
| (Data a, Integral a) => Data (Ratio a) | С момента: base-4.0.0.0 |
Определено в 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 => Num (Ratio a) | С момента: base-2.0.1 |
Определено в GHC.Real Методы(+) :: Ratio a -> Ratio a -> Ratio a Исходный код (-) :: Ratio a -> Ratio a -> Ratio a Исходный код (*) :: Ratio a -> Ratio a -> Ratio a Исходный код negate :: Ratio a -> Ratio a Исходный код abs :: Ratio a -> Ratio a Исходный код signum :: Ratio a -> Ratio a Исходный код fromInteger :: Integer -> Ratio a Исходный код | |
| Integral a => Ord (Ratio a) | С момента: base-2.0.1 |
Определено в 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 () Исходный код |
type Рациональное = Ratio Целое число Исходный код
Рациональные числа произвольной точности, представленные как отношение двух Integer значений. Рациональное число можно построить, используя оператор %.
(%) :: Целочисленный a => a -> a -> Ratio a infixl 7 Исходный код
Образует отношение двух целых чисел.
числитель :: Ratio a -> a Исходный код
Извлечь числитель отношения в приведенной форме: числитель и знаменатель не имеют общего делителя, а знаменатель положительный.
знаменатель :: Ratio a -> a Исходный код
Извлечь знаменатель отношения в приведенной форме: числитель и знаменатель не имеют общего делителя, а знаменатель положительный.
approxRational :: Дробный a => a -> a -> Рациональное Исходный код
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/8.10.2/docs/html/libraries/base-4.14.1.0/Data-Ratio.html