rounded-hw-0.2.0: Directed rounding for built-in floating types
Safe HaskellNone
LanguageHaskell2010

Numeric.Rounded.Hardware.Interval

Documentation

data Interval a Source #

Constructors

I !(Rounded 'TowardNegInf a) !(Rounded 'TowardInf a) 
Empty 

Instances

Instances details
(Prim a, Ord a, Fractional a) => IArray UArray (Interval a) Source # 
Instance details

Defined in Numeric.Rounded.Hardware.Interval

Methods

bounds :: Ix i => UArray i (Interval a) -> (i, i) #

numElements :: Ix i => UArray i (Interval a) -> Int

unsafeArray :: Ix i => (i, i) -> [(Int, Interval a)] -> UArray i (Interval a)

unsafeAt :: Ix i => UArray i (Interval a) -> Int -> Interval a

unsafeReplace :: Ix i => UArray i (Interval a) -> [(Int, Interval a)] -> UArray i (Interval a)

unsafeAccum :: Ix i => (Interval a -> e' -> Interval a) -> UArray i (Interval a) -> [(Int, e')] -> UArray i (Interval a)

unsafeAccumArray :: Ix i => (Interval a -> e' -> Interval a) -> Interval a -> (i, i) -> [(Int, e')] -> UArray i (Interval a)

(Unbox a, Ord a, Fractional a) => Vector Vector (Interval a) Source # 
Instance details

Defined in Numeric.Rounded.Hardware.Interval

(Unbox a, Ord a, Fractional a) => MVector MVector (Interval a) Source # 
Instance details

Defined in Numeric.Rounded.Hardware.Interval

(Num a, RoundedFractional a, RoundedSqrt a, Eq a, RealFloat a, RealFloatConstants a) => Floating (Interval a) Source # 
Instance details

Defined in Numeric.Rounded.Hardware.Interval

(Num a, RoundedFractional a) => Fractional (Interval a) Source # 
Instance details

Defined in Numeric.Rounded.Hardware.Interval

(Num a, RoundedRing a) => Num (Interval a) Source # 
Instance details

Defined in Numeric.Rounded.Hardware.Interval

Show a => Show (Interval a) Source # 
Instance details

Defined in Numeric.Rounded.Hardware.Interval

Methods

showsPrec :: Int -> Interval a -> ShowS #

show :: Interval a -> String #

showList :: [Interval a] -> ShowS #

Generic (Interval a) Source # 
Instance details

Defined in Numeric.Rounded.Hardware.Interval

Associated Types

type Rep (Interval a) :: Type -> Type #

Methods

from :: Interval a -> Rep (Interval a) x #

to :: Rep (Interval a) x -> Interval a #

NFData a => NFData (Interval a) Source # 
Instance details

Defined in Numeric.Rounded.Hardware.Interval

Methods

rnf :: Interval a -> () #

(Unbox a, Ord a, Fractional a) => Unbox (Interval a) Source # 
Instance details

Defined in Numeric.Rounded.Hardware.Interval

(Num a, RoundedRing a, RealFloat a) => IsInterval (Interval a) Source # 
Instance details

Defined in Numeric.Rounded.Hardware.Interval

Associated Types

type EndPoint (Interval a) Source #

(Prim a, Ord a, Fractional a) => MArray (STUArray s) (Interval a) (ST s) Source # 
Instance details

Defined in Numeric.Rounded.Hardware.Interval

Methods

getBounds :: Ix i => STUArray s i (Interval a) -> ST s (i, i) #

getNumElements :: Ix i => STUArray s i (Interval a) -> ST s Int

newArray :: Ix i => (i, i) -> Interval a -> ST s (STUArray s i (Interval a)) #

newArray_ :: Ix i => (i, i) -> ST s (STUArray s i (Interval a)) #

unsafeNewArray_ :: Ix i => (i, i) -> ST s (STUArray s i (Interval a))

unsafeRead :: Ix i => STUArray s i (Interval a) -> Int -> ST s (Interval a)

unsafeWrite :: Ix i => STUArray s i (Interval a) -> Int -> Interval a -> ST s ()

newtype MVector s (Interval a) Source # 
Instance details

Defined in Numeric.Rounded.Hardware.Interval

newtype MVector s (Interval a) = MV_Interval (MVector s (a, a))
type Rep (Interval a) Source # 
Instance details

Defined in Numeric.Rounded.Hardware.Interval

type Rep (Interval a) = D1 ('MetaData "Interval" "Numeric.Rounded.Hardware.Interval" "rounded-hw-0.2.0-G2mMTdTBXOG87Ub6xfZ4rG" 'False) (C1 ('MetaCons "I" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Rounded 'TowardNegInf a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Rounded 'TowardInf a))) :+: C1 ('MetaCons "Empty" 'PrefixI 'False) (U1 :: Type -> Type))
newtype Vector (Interval a) Source # 
Instance details

Defined in Numeric.Rounded.Hardware.Interval

newtype Vector (Interval a) = V_Interval (Vector (a, a))
type EndPoint (Interval a) Source # 
Instance details

Defined in Numeric.Rounded.Hardware.Interval

type EndPoint (Interval a) = a

increasing :: (forall r. Rounding r => Rounded r a -> Rounded r a) -> Interval a -> Interval a Source #

maxI :: Ord a => Interval a -> Interval a -> Interval a Source #

minI :: Ord a => Interval a -> Interval a -> Interval a Source #

powInt :: (Ord a, Num a, RoundedRing a) => Interval a -> Int -> Interval a Source #