rounded-hw-0.4.0: Directed rounding for built-in floating types
Safe HaskellSafe-Inferred
LanguageHaskell2010

Numeric.Rounded.Hardware.Interval.NonEmpty

Documentation

data Interval a Source #

Constructors

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

Instances

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

Defined in Numeric.Rounded.Hardware.Interval.NonEmpty

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.NonEmpty

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

Defined in Numeric.Rounded.Hardware.Interval.NonEmpty

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

Defined in Numeric.Rounded.Hardware.Interval.NonEmpty

Generic (Interval a) Source # 
Instance details

Defined in Numeric.Rounded.Hardware.Interval.NonEmpty

Associated Types

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

Methods

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

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

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

Defined in Numeric.Rounded.Hardware.Interval.NonEmpty

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

Defined in Numeric.Rounded.Hardware.Interval.NonEmpty

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

Defined in Numeric.Rounded.Hardware.Interval.NonEmpty

Methods

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

show :: Interval a -> String #

showList :: [Interval a] -> ShowS #

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

Defined in Numeric.Rounded.Hardware.Interval.NonEmpty

Methods

rnf :: Interval a -> () #

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

Defined in Numeric.Rounded.Hardware.Interval.NonEmpty

Associated Types

type EndPoint (Interval a) Source #

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

Defined in Numeric.Rounded.Hardware.Interval.NonEmpty

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

Defined in Numeric.Rounded.Hardware.Interval.NonEmpty

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.NonEmpty

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

Defined in Numeric.Rounded.Hardware.Interval.NonEmpty

type Rep (Interval a) = D1 ('MetaData "Interval" "Numeric.Rounded.Hardware.Interval.NonEmpty" "rounded-hw-0.4.0-3WAAI20vt2HBtLAkTAeX6n" '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))))
type EndPoint (Interval a) Source # 
Instance details

Defined in Numeric.Rounded.Hardware.Interval.NonEmpty

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

Defined in Numeric.Rounded.Hardware.Interval.NonEmpty

newtype Vector (Interval a) = V_Interval (Vector (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 #