Copyright | (c) Galois Inc 2014-2022 |
---|---|
License | BSD3 |
Maintainer | [email protected] |
Stability | provisional |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
What4.FloatMode
Description
Desired instances for the IsInterpretedFloatExprBuilder
class are selected
via the different mode values from this module.
Synopsis
- data FloatMode
- data FloatModeRepr (a :: FloatMode) where
- FloatIEEERepr :: FloatModeRepr 'FloatIEEE
- FloatUninterpretedRepr :: FloatModeRepr 'FloatUninterpreted
- FloatRealRepr :: FloatModeRepr 'FloatReal
- type FloatIEEE = 'FloatIEEE
- type FloatUninterpreted = 'FloatUninterpreted
- type FloatReal = 'FloatReal
Documentation
Mode flag for how floating-point values should be interpreted.
Instances
TestEquality FloatModeRepr Source # | |
Defined in What4.FloatMode Methods testEquality :: forall (a :: FloatMode) (b :: FloatMode). FloatModeRepr a -> FloatModeRepr b -> Maybe (a :~: b) # | |
ShowF FloatModeRepr Source # | |
Defined in What4.FloatMode Methods withShow :: forall p q (tp :: FloatMode) a. p FloatModeRepr -> q tp -> (Show (FloatModeRepr tp) => a) -> a # showF :: forall (tp :: FloatMode). FloatModeRepr tp -> String # showsPrecF :: forall (tp :: FloatMode). Int -> FloatModeRepr tp -> String -> String # | |
KnownRepr FloatModeRepr FloatIEEE Source # | |
Defined in What4.FloatMode Methods | |
KnownRepr FloatModeRepr FloatReal Source # | |
Defined in What4.FloatMode Methods | |
KnownRepr FloatModeRepr FloatUninterpreted Source # | |
Defined in What4.FloatMode Methods |
data FloatModeRepr (a :: FloatMode) where Source #
Constructors
FloatIEEERepr :: FloatModeRepr 'FloatIEEE | |
FloatUninterpretedRepr :: FloatModeRepr 'FloatUninterpreted | |
FloatRealRepr :: FloatModeRepr 'FloatReal |
Instances
TestEquality FloatModeRepr Source # | |
Defined in What4.FloatMode Methods testEquality :: forall (a :: FloatMode) (b :: FloatMode). FloatModeRepr a -> FloatModeRepr b -> Maybe (a :~: b) # | |
ShowF FloatModeRepr Source # | |
Defined in What4.FloatMode Methods withShow :: forall p q (tp :: FloatMode) a. p FloatModeRepr -> q tp -> (Show (FloatModeRepr tp) => a) -> a # showF :: forall (tp :: FloatMode). FloatModeRepr tp -> String # showsPrecF :: forall (tp :: FloatMode). Int -> FloatModeRepr tp -> String -> String # | |
KnownRepr FloatModeRepr FloatIEEE Source # | |
Defined in What4.FloatMode Methods | |
KnownRepr FloatModeRepr FloatReal Source # | |
Defined in What4.FloatMode Methods | |
KnownRepr FloatModeRepr FloatUninterpreted Source # | |
Defined in What4.FloatMode Methods | |
Show (FloatModeRepr fm) Source # | |
Defined in What4.FloatMode Methods showsPrec :: Int -> FloatModeRepr fm -> ShowS # show :: FloatModeRepr fm -> String # showList :: [FloatModeRepr fm] -> ShowS # |
type FloatIEEE = 'FloatIEEE Source #
In this mode "interpreted" floating-point values are treated as bit-precise IEEE-754 floats.
type FloatUninterpreted = 'FloatUninterpreted Source #
In this mode "interpreted" floating-point values are treated as bitvectors of the appropriate width, and all operations on them are translated as uninterpreted functions.