Data.Ratio
Copyright | (c) The University of Glasgow 2001 |
---|---|
License | BSD-style (see the file libraries/base/LICENSE) |
Maintainer | [email protected] |
Stability | stable |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell2010 |
Description
Standard functions on rational numbers
Rational numbers, with numerator and denominator of some Integral
type.
Note that Ratio
's instances inherit the deficiencies from the type parameter's. For example, Ratio Natural
's Num
instance has similar problems to Natural
's.
Instances
Integral a => Enum (Ratio a) | Since: base-2.0.1 |
Defined in GHC.Real Methodssucc :: 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) | Since: base-2.1 |
Integral a => Fractional (Ratio a) | Since: base-2.0.1 |
(Data a, Integral a) => Data (Ratio a) | Since: base-4.0.0.0 |
Defined in Data.Data Methodsgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Ratio a -> c (Ratio a) Source gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Ratio a) Source toConstr :: Ratio a -> Constr Source dataTypeOf :: Ratio a -> DataType Source dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Ratio a)) Source dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Ratio a)) Source gmapT :: (forall b. Data b => b -> b) -> Ratio a -> Ratio a Source gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ratio a -> r Source gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ratio a -> r Source gmapQ :: (forall d. Data d => d -> u) -> Ratio a -> [u] Source gmapQi :: Int -> (forall d. Data d => d -> u) -> Ratio a -> u Source gmapM :: Monad m => (forall d. Data d => d -> m d) -> Ratio a -> m (Ratio a) Source gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Ratio a -> m (Ratio a) Source gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Ratio a -> m (Ratio a) Source | |
Integral a => Num (Ratio a) | Since: base-2.0.1 |
Defined in GHC.Real | |
Integral a => Ord (Ratio a) | Since: base-2.0.1 |
(Integral a, Read a) => Read (Ratio a) | Since: base-2.1 |
Integral a => Real (Ratio a) | Since: base-2.0.1 |
Defined in GHC.Real MethodstoRational :: Ratio a -> Rational Source | |
Integral a => RealFrac (Ratio a) | Since: base-2.0.1 |
Show a => Show (Ratio a) | Since: base-2.0.1 |
(Storable a, Integral a) => Storable (Ratio a) | Since: base-4.8.0.0 |
Defined in Foreign.Storable MethodssizeOf :: Ratio a -> Int Source alignment :: Ratio a -> Int Source peekElemOff :: Ptr (Ratio a) -> Int -> IO (Ratio a) Source pokeElemOff :: Ptr (Ratio a) -> Int -> Ratio a -> IO () Source peekByteOff :: Ptr b -> Int -> IO (Ratio a) Source pokeByteOff :: Ptr b -> Int -> Ratio a -> IO () Source |
type Rational = Ratio Integer Source
Arbitrary-precision rational numbers, represented as a ratio of two Integer
values. A rational number may be constructed using the %
operator.
(%) :: Integral a => a -> a -> Ratio a infixl 7 Source
Forms the ratio of two integral numbers.
numerator :: Ratio a -> a Source
Extract the numerator of the ratio in reduced form: the numerator and denominator have no common factor and the denominator is positive.
denominator :: Ratio a -> a Source
Extract the denominator of the ratio in reduced form: the numerator and denominator have no common factor and the denominator is positive.
approxRational :: RealFrac a => a -> a -> Rational Source
approxRational
, applied to two real fractional numbers x
and epsilon
, returns the simplest rational number within epsilon
of x
. A rational number y
is said to be simpler than another y'
if
-
abs (numerator y) <= abs (numerator y')
, and -
denominator y <= denominator y'
.
Any real interval contains a unique simplest rational; in particular, note that 0/1
is the simplest rational of all.
© 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