| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
GHC.Types.Literal.Floating
Synopsis
- data LitFloating
- data LitFloatingType
- data ConstantFoldingPrecision
- floatToLitFloating :: Float -> LitFloating
- doubleToLitFloating :: Double -> LitFloating
- rationalToLitFloating :: Rational -> LitFloating
- unsafeLitFloatingToRational :: LitFloating -> Rational
- litFloatingToHostFloat :: LitFloating -> Float
- litFloatingToHostDouble :: LitFloating -> Double
- pprLitFloating :: LitFloatingType -> LitFloating -> SDoc
- litRationalToFloatOp :: ConstantFoldingPrecision -> Rational -> LitFloating
- litFloatingUnaryOp :: ConstantFoldingPrecision -> (forall t. Fractional t => t -> t) -> LitFloating -> LitFloating
- litFloatingBinaryOp :: ConstantFoldingPrecision -> (forall t. Fractional t => t -> t -> t) -> LitFloating -> LitFloating -> LitFloating
- litFloatingTernaryOp :: ConstantFoldingPrecision -> (forall t. Fractional t => t -> t -> t -> t) -> LitFloating -> LitFloating -> LitFloating -> LitFloating
- litFloatingComparisonOp :: ConstantFoldingPrecision -> (forall t. Ord t => t -> t -> res) -> LitFloating -> LitFloating -> res
- truncateLitFloating :: ConstantFoldingPrecision -> LitFloating -> Integer
- decodeLitFloating :: LitFloatingType -> Platform -> LitFloating -> (Integer, Int)
- encodeLitFloat :: Integer -> Int -> LitFloating
- encodeLitDouble :: Integer -> Int -> LitFloating
- isZeroLF :: LitFloating -> Bool
- isPositiveZeroLF :: LitFloating -> Bool
- isPositiveLF :: LitFloating -> Bool
- isOneLF :: LitFloating -> Bool
- isFiniteLF :: LitFloating -> Bool
- isPositiveZero :: RealFloat a => a -> Bool
- litFloatingIsNonStandardNaN :: LitFloatingType -> LitFloating -> Bool
Documentation
data LitFloating Source #
Represents a known Float# or Double# literal on the target machine.
Instances
| NFData LitFloating Source # | |
Defined in GHC.Types.Literal.Floating Methods rnf :: LitFloating -> () Source # | |
| Binary LitFloating Source # | |
Defined in GHC.Types.Literal.Floating Methods put_ :: WriteBinHandle -> LitFloating -> IO () Source # put :: WriteBinHandle -> LitFloating -> IO (Bin LitFloating) Source # get :: ReadBinHandle -> IO LitFloating Source # | |
| Eq LitFloating Source # | This instance intentionally disagrees with the equality predicate
|
Defined in GHC.Types.Literal.Floating Methods (==) :: LitFloating -> LitFloating -> Bool Source # (/=) :: LitFloating -> LitFloating -> Bool Source # | |
| Ord LitFloating Source # | The ordering represented by this instance is pretty arbitrary and may change without notice. Do not rely on its behavior! |
Defined in GHC.Types.Literal.Floating Methods compare :: LitFloating -> LitFloating -> Ordering Source # (<) :: LitFloating -> LitFloating -> Bool Source # (<=) :: LitFloating -> LitFloating -> Bool Source # (>) :: LitFloating -> LitFloating -> Bool Source # (>=) :: LitFloating -> LitFloating -> Bool Source # max :: LitFloating -> LitFloating -> LitFloating Source # min :: LitFloating -> LitFloating -> LitFloating Source # | |
| Data LitFloating Source # | |
Defined in GHC.Types.Literal.Floating Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LitFloating -> c LitFloating Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LitFloating Source # toConstr :: LitFloating -> Constr Source # dataTypeOf :: LitFloating -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LitFloating) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LitFloating) Source # gmapT :: (forall b. Data b => b -> b) -> LitFloating -> LitFloating Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LitFloating -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LitFloating -> r Source # gmapQ :: (forall d. Data d => d -> u) -> LitFloating -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> LitFloating -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> LitFloating -> m LitFloating Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LitFloating -> m LitFloating Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LitFloating -> m LitFloating Source # | |
| Show LitFloating Source # | |
Defined in GHC.Types.Literal.Floating | |
data LitFloatingType Source #
Instances
data ConstantFoldingPrecision Source #
Constructors
| FloatPrecision | |
| DoublePrecision | |
| ExcessPrecision |
unsafeLitFloatingToRational :: LitFloating -> Rational Source #
Attempts to convert a LitFloating to a rational number.
Returns nonsense if its argument is a NaN or an infinity.
Equates 0.0 with -0.0.
pprLitFloating :: LitFloatingType -> LitFloating -> SDoc Source #
Arithmetic on floating-point literals
litFloatingUnaryOp :: ConstantFoldingPrecision -> (forall t. Fractional t => t -> t) -> LitFloating -> LitFloating Source #
litFloatingBinaryOp :: ConstantFoldingPrecision -> (forall t. Fractional t => t -> t -> t) -> LitFloating -> LitFloating -> LitFloating Source #
litFloatingTernaryOp :: ConstantFoldingPrecision -> (forall t. Fractional t => t -> t -> t -> t) -> LitFloating -> LitFloating -> LitFloating -> LitFloating Source #
litFloatingComparisonOp :: ConstantFoldingPrecision -> (forall t. Ord t => t -> t -> res) -> LitFloating -> LitFloating -> res Source #
decodeLitFloating :: LitFloatingType -> Platform -> LitFloating -> (Integer, Int) Source #
encodeLitFloat :: Integer -> Int -> LitFloating Source #
encodeLitDouble :: Integer -> Int -> LitFloating Source #
isZeroLF :: LitFloating -> Bool Source #
isPositiveZeroLF :: LitFloating -> Bool Source #
isPositiveLF :: LitFloating -> Bool Source #
Is this a positive floating-point value?
Handles negative zero, infinities and signed NaNs.
isOneLF :: LitFloating -> Bool Source #
isFiniteLF :: LitFloating -> Bool Source #
Returns True if its argument represents a real number, and False if its argument represents a NaN or an infinity.
isPositiveZero :: RealFloat a => a -> Bool Source #