base-4.20.0.0: src/GHC/Float.hs
{-# LANGUAGE Safe #-}
{-# LANGUAGE MagicHash #-}
{-# OPTIONS_HADDOCK not-home #-}
-- |
--
-- Module : GHC.Float
-- Copyright : (c) The University of Glasgow 1994-2002
-- Portions obtained from hbc (c) Lennart Augusstson
-- License : see libraries/base/LICENSE
--
-- Maintainer : ghc-devs@haskell.org
-- Stability : internal
-- Portability : non-portable (GHC Extensions)
--
-- The types 'Float' and 'Double', the classes 'Floating' and 'RealFloat' and
-- casting between Word32 and Float and Word64 and Double.
--
module GHC.Float
(-- * Classes
Floating(..),
RealFloat(..),
-- * 'Float'
Float(..),
Float#,
-- ** Conversion
float2Int,
int2Float,
word2Float,
integerToFloat#,
naturalToFloat#,
rationalToFloat,
castWord32ToFloat,
castFloatToWord32,
castWord32ToFloat#,
castFloatToWord32#,
float2Double,
-- ** Operations
floorFloat,
ceilingFloat,
truncateFloat,
roundFloat,
properFractionFloat,
-- ** Predicate
isFloatDenormalized,
isFloatFinite,
isFloatInfinite,
isFloatNaN,
isFloatNegativeZero,
-- ** Comparison
gtFloat,
geFloat,
leFloat,
ltFloat,
-- ** Arithmetic
plusFloat,
minusFloat,
timesFloat,
divideFloat,
negateFloat,
expFloat,
expm1Float,
logFloat,
log1pFloat,
sqrtFloat,
fabsFloat,
sinFloat,
cosFloat,
tanFloat,
asinFloat,
acosFloat,
atanFloat,
sinhFloat,
coshFloat,
tanhFloat,
asinhFloat,
acoshFloat,
atanhFloat,
-- * 'Double'
Double(..),
Double#,
-- ** Conversion
double2Int,
int2Double,
word2Double,
integerToDouble#,
naturalToDouble#,
rationalToDouble,
castWord64ToDouble,
castDoubleToWord64,
castWord64ToDouble#,
castDoubleToWord64#,
double2Float,
-- ** Operations
floorDouble,
ceilingDouble,
truncateDouble,
roundDouble,
properFractionDouble,
-- ** Predicate
isDoubleDenormalized,
isDoubleFinite,
isDoubleInfinite,
isDoubleNaN,
isDoubleNegativeZero,
-- ** Comparison
gtDouble,
geDouble,
leDouble,
ltDouble,
-- ** Arithmetic
plusDouble,
minusDouble,
timesDouble,
divideDouble,
negateDouble,
expDouble,
expm1Double,
logDouble,
log1pDouble,
sqrtDouble,
fabsDouble,
sinDouble,
cosDouble,
tanDouble,
asinDouble,
acosDouble,
atanDouble,
sinhDouble,
coshDouble,
tanhDouble,
asinhDouble,
acoshDouble,
atanhDouble,
-- * Formatting
showFloat,
FFFormat(..),
formatRealFloat,
formatRealFloatAlt,
showSignedFloat,
-- * Operations
log1mexpOrd,
roundTo,
floatToDigits,
integerToBinaryFloat',
fromRat,
fromRat',
roundingMode#,
-- * Monomorphic equality operators
-- | See GHC.Classes#matching_overloaded_methods_in_rules
eqFloat,
eqDouble,
-- * Internal
-- | These may vanish in a future release
clamp,
expt,
expts,
expts10,
fromRat'',
maxExpt,
maxExpt10,
minExpt,
powerDouble,
powerFloat,
stgDoubleToWord64,
stgFloatToWord32,
stgWord64ToDouble,
stgWord32ToFloat
) where
import GHC.Internal.Float