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