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

Numeric.Rounded.Hardware.Vector.Storable

Synopsis

Conversion between VS.Vector a and VS.Vector (Rounded r a)

coercion :: forall a (r :: RoundingMode). Coercion (Vector a) (Vector (Rounded r a)) Source #

fromVectorOfRounded :: forall (r :: RoundingMode) a. Vector (Rounded r a) -> Vector a Source #

toVectorOfRounded :: forall a (r :: RoundingMode). Vector a -> Vector (Rounded r a) Source #

coercionM :: forall s a (r :: RoundingMode). Coercion (MVector s a) (MVector s (Rounded r a)) Source #

fromMVectorOfRounded :: forall s (r :: RoundingMode) a. MVector s (Rounded r a) -> MVector s a Source #

toMVectorOfRounded :: forall s a (r :: RoundingMode). MVector s a -> MVector s (Rounded r a) Source #

Specialized functions

roundedSum :: RoundedRing_Vector vector a => RoundingMode -> vector a -> a Source #

Equivalent to \r -> foldl (roundedAdd r) 0

zipWith_roundedAdd :: RoundedRing_Vector vector a => RoundingMode -> vector a -> vector a -> vector a Source #

Equivalent to zipWith . roundedAdd

zipWith_roundedSub :: RoundedRing_Vector vector a => RoundingMode -> vector a -> vector a -> vector a Source #

Equivalent to zipWith . roundedSub

zipWith_roundedMul :: RoundedRing_Vector vector a => RoundingMode -> vector a -> vector a -> vector a Source #

Equivalent to zipWith . roundedMul

zipWith3_roundedFusedMultiplyAdd :: RoundedRing_Vector vector a => RoundingMode -> vector a -> vector a -> vector a -> vector a Source #

Equivalent to zipWith3 . roundedFusedMultiplyAdd

zipWith_roundedDiv :: RoundedFractional_Vector vector a => RoundingMode -> vector a -> vector a -> vector a Source #

Equivalent to zipWith . roundedDiv

map_roundedSqrt :: RoundedSqrt_Vector vector a => RoundingMode -> vector a -> vector a Source #

Equivalent to map . roundedSqrt

sum :: forall (r :: RoundingMode) a. (Rounding r, Storable a, RoundedRing_Vector Vector a) => Vector (Rounded r a) -> Rounded r a Source #

Equivalent to sum

zipWith_add :: forall (r :: RoundingMode) a. (Rounding r, Storable a, RoundedRing_Vector Vector a) => Vector (Rounded r a) -> Vector (Rounded r a) -> Vector (Rounded r a) Source #

Equivalent to zipWith (+)

zipWith_sub :: forall (r :: RoundingMode) a. (Rounding r, Storable a, RoundedRing_Vector Vector a) => Vector (Rounded r a) -> Vector (Rounded r a) -> Vector (Rounded r a) Source #

Equivalent to zipWith (-)

zipWith_mul :: forall (r :: RoundingMode) a. (Rounding r, Storable a, RoundedRing_Vector Vector a) => Vector (Rounded r a) -> Vector (Rounded r a) -> Vector (Rounded r a) Source #

Equivalent to zipWith (*)

zipWith3_fusedMultiplyAdd :: forall (r :: RoundingMode) a. (Rounding r, Storable a, RoundedRing_Vector Vector a) => Vector (Rounded r a) -> Vector (Rounded r a) -> Vector (Rounded r a) -> Vector (Rounded r a) Source #

Equivalent to zipWith3 fusedMultiplyAdd

zipWith_div :: forall (r :: RoundingMode) a. (Rounding r, Storable a, RoundedFractional_Vector Vector a) => Vector (Rounded r a) -> Vector (Rounded r a) -> Vector (Rounded r a) Source #

Equivalent to zipWith (/)

map_sqrt :: forall (r :: RoundingMode) a. (Rounding r, Storable a, RoundedSqrt_Vector Vector a) => Vector (Rounded r a) -> Vector (Rounded r a) Source #

Equivalent to map sqrt