feldspar-language-0.4.0.2: A functional embedded language for DSP and parallelism

Feldspar.Core.Functions.Num

Description

Numeric operations

Synopsis

Documentation

class (Type a, Num a, FullProp (Size a)) => Numeric a where

Numeric types. The relation to the standard Num class is

instance Numeric a => Num (Data a)

Methods

fromIntegerNum :: Integer -> Data a

absNum :: Data a -> Data a

signumNum :: Data a -> Data a

addNum :: Data a -> Data a -> Data a

subNum :: Data a -> Data a -> Data a

mulNum :: Data a -> Data a -> Data a

rangeToSize :: Range Integer -> Tagged a (Size a)

defaultAbs :: Numeric a => (Size a -> Size a) -> Data a -> Data a

defaultSignum :: Numeric a => (Size a -> Size a) -> Data a -> Data a

defaultAdd :: Numeric a => (Size a -> Size a -> Size a) -> Data a -> Data a -> Data a

defaultSub :: Numeric a => (Size a -> Size a -> Size a) -> Data a -> Data a -> Data a

defaultMul :: Numeric a => (Size a -> Size a -> Size a) -> Data a -> Data a -> Data a

optAbs :: (Numeric a, BoundedInt b, Size a ~ Range b) => Data a -> Data a

optSignum :: (Numeric a, BoundedInt b, Size a ~ Range b) => Data a -> Data a

optAdd :: (Numeric a, Num (Size a)) => Data a -> Data a -> Data a

optSub :: (Numeric a, Num (Size a)) => Data a -> Data a -> Data a

optMul :: (Numeric a, Num (Size a)) => Data a -> Data a -> Data a

rangeProp :: forall a. (Bounded a, Integral a, Size a ~ Range a) => Range Integer -> Tagged a (Size a)