- data Fix a = Fix {
- exponent :: Data DefaultInt
- mantissa :: Data a
- class Splittable t => Fixable t where
- fix :: Data DefaultInt -> t -> t
- getExp :: t -> Data DefaultInt
- freezeFix :: Type a => Fix a -> Data (DefaultInt, a)
- freezeFix' :: Bits a => DefaultInt -> Fix a -> Data a
- unfreezeFix :: Type a => Data (DefaultInt, a) -> Fix a
- unfreezeFix' :: DefaultInt -> Data a -> Fix a
- (?!) :: forall a. (Syntactic a, Splittable a) => Data Bool -> (a, a) -> a
- fixFold :: forall a b. Splittable a => (a -> b -> a) -> a -> Vector b -> a
Documentation
Abstract real number type with exponent and mantissa
Eq (Fix a) | |
(Range a ~ Size a, Bounded a, Numeric a, Bits a, Ord a, Real a, Integral a) => Fractional (Fix a) | |
(Range a ~ Size a, Bounded a, Numeric a, Bits a, Ord a, Real a) => Num (Fix a) | |
Show (Fix a) | |
Type a => EdgeInfo (Fix a) | |
Type a => Syntactic (Fix a) | |
(Type a, Bits a) => Splittable (Fix a) | |
Bits a => Fixable (Fix a) | |
Type a => MultiEdge (Fix a) Feldspar EdgeSize |
class Splittable t => Fixable t whereSource
Operations to get and set exponent
fix :: Data DefaultInt -> t -> tSource
getExp :: t -> Data DefaultIntSource
freezeFix :: Type a => Fix a -> Data (DefaultInt, a)Source
Convers an abstract real number to a pair of exponent and mantissa
freezeFix' :: Bits a => DefaultInt -> Fix a -> Data aSource
Convers an abstract real number to fixed point integer with given exponent
unfreezeFix :: Type a => Data (DefaultInt, a) -> Fix aSource
Converts a pair of exponent and mantissa to an abstract real number
unfreezeFix' :: DefaultInt -> Data a -> Fix aSource
Converts a fixed point integer with given exponent to an abstract real number