rounded-hw-0.1.0.0: Directed rounding for built-in floating types

Safe HaskellNone
LanguageHaskell2010

Numeric.Rounded.Hardware.Interval.NonEmpty

Documentation

data Interval a Source #

Constructors

I !(Rounded TowardNegInf a) !(Rounded TowardInf a) 
Instances
(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

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

Defined in Numeric.Rounded.Hardware.Interval.NonEmpty

(Num a, RoundedRing a) => Num (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 #

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 #

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

Defined in Numeric.Rounded.Hardware.Interval.NonEmpty

Methods

rnf :: Interval a -> () #

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

Defined in Numeric.Rounded.Hardware.Interval.NonEmpty

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

Defined in Numeric.Rounded.Hardware.Interval.NonEmpty

Associated Types

type EndPoint (Interval a) :: Type Source #

(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.1.0.0-Ifb4HiKrB91HX8bvMjgd5p" 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))))
newtype Vector (Interval a) Source # 
Instance details

Defined in Numeric.Rounded.Hardware.Interval.NonEmpty

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

Defined in Numeric.Rounded.Hardware.Interval.NonEmpty

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 #