|
|
|
|
|
Description |
Primitive and helper functions supported by Feldspar
|
|
Synopsis |
|
noSizeProp :: a -> () | | noSizeProp2 :: a -> b -> () | | class (Eq a, Storable a) => Eq a where | | | optEq :: (Storable a, Size a ~ Range b, Ord b, Num b) => Data a -> Data a -> Data Bool | | optNeq :: (Storable a, Size a ~ Range b, Ord b, Num b) => Data a -> Data a -> Data Bool | | class (Ord a, Eq a, Storable a) => Ord a where | | | optLT :: (Storable a, Ord a, Size a ~ Range b, Ord b, Num b) => Data a -> Data a -> Data Bool | | optGT :: (Storable a, Ord a, Size a ~ Range b, Ord b, Num b) => Data a -> Data a -> Data Bool | | optLTE :: (Storable a, Ord a, Size a ~ Range b, Ord b, Num b) => Data a -> Data a -> Data Bool | | optGTE :: (Storable a, Ord a, Size a ~ Range b, Ord b, Num b) => Data a -> Data a -> Data Bool | | optMin :: (Ord a, Size a ~ Range b, Ord b, Num b) => Data a -> Data a -> Data a | | optMax :: (Ord a, Size a ~ Range b, Ord b, Num b) => Data a -> Data a -> Data a | | not :: Data Bool -> Data Bool | | (?) :: Computable a => Data Bool -> (a, a) -> a | | (&&) :: Data Bool -> Data Bool -> Data Bool | | (||) :: Data Bool -> Data Bool -> Data Bool | | (&&*) :: Computable a => (a -> Data Bool) -> (a -> Data Bool) -> a -> Data Bool | | (||*) :: Computable a => (a -> Data Bool) -> (a -> Data Bool) -> a -> Data Bool | | class (Numeric a, Integral a, Ord a, Storable a) => Integral a where | | | optRem :: (Integral a, Size a ~ Range b, Ord b, Num b, Enum b) => Data a -> Data a -> Data a | | optMod :: (Integral a, Size a ~ Range b, Ord b, Num b, Enum b) => Data a -> Data a -> Data a | | optSignedExp :: (Integral a, Bits a, Storable a, Size a ~ Range b, Ord b, Num b) => Data a -> Data a -> Data a | | optExp :: (Integral a, Storable a) => Data a -> Data a -> Data a | | for :: Computable a => Data Int -> Data Int -> a -> (Data Int -> a -> a) -> a | | unfoldCore :: (Computable state, Storable a) => Data Length -> state -> (Data Int -> state -> (Data a, state)) -> (Data [a], state) | | class (Num a, Storable a) => Numeric a where | | | absNum' :: (Numeric a, Num (Size a)) => Data a -> Data a | | optAbs :: (Numeric a, Size a ~ Range b, Num b, Ord b) => Data a -> Data a | | signumNum' :: (Numeric a, Num (Size a)) => Data a -> Data a | | optSignum :: (Numeric a, Size a ~ Range b, Num b, Ord 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 | | class (Fractional a, Storable a) => Fractional' a where | | | class (Bits a, Storable a) => Bits a where | | | optAnd :: (Bits a, Storable a) => Data a -> Data a -> Data a | | optOr :: (Bits a, Storable a) => Data a -> Data a -> Data a | | optXor :: (Bits a, Bits a, Storable a) => Data a -> Data a -> Data a | | allOnes :: (Eq a, Bits a) => a -> Bool | | optZero :: (a -> Data Int -> a) -> a -> Data Int -> a | | scanLeft :: Bits b => b -> Int | | countBits :: Bits b => b -> Int | | revBits :: Bits b => b -> b |
|
|
|
Misc.
|
|
|
|
|
|
|
| Methods | | | Instances | |
|
|
|
|
|
|
|
| Methods | | | Instances | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Selects the elements of the pair depending on the condition
|
|
|
|
|
|
|
Lazy conjunction, second argument only run if necessary
|
|
|
Lazy disjunction, second argument only run if necessary
|
|
|
| Methods | | | Instances | |
|
|
|
|
|
|
|
|
|
|
Loops
|
|
|
For-loop
for start end init body:
- start/end are the start/end indexes.
- init is the starting state.
- body computes the next state given the current loop index (ranging over
[start .. end]) and the current state.
|
|
|
A sequential "unfolding" of an vector
unfoldCore l init step:
- l is the length of the resulting vector.
- init is the initial state.
- step is a function computing a new element and the next state from the
current index and current state. The index is the position of the new
element in the output vector.
|
|
|
| Methods | | | Instances | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Methods | | | Instances | |
|
|
Bit manipulation
|
|
|
The following class provides functions for bit level manipulation
| | Methods | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Returns the number of leading zeroes for unsigned types.
For signed types it returns the number of unnecessary sign bits
| | | | | | |
| | Instances | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Produced by Haddock version 2.6.1 |