grisette-0.7.0.0: Symbolic evaluation as a library
Copyright(c) Sirui Lu 2024
LicenseBSD-3-Clause (see the LICENSE file)
Maintainersiruilu@cs.washington.edu
StabilityExperimental
PortabilityGHC only
Safe HaskellSafe-Inferred
LanguageHaskell2010

Grisette.Internal.SymPrim.FP

Description

 
Synopsis

Documentation

type ValidFP (eb :: Nat) (sb :: Nat) = ValidFloat eb sb Source #

A type-level proof that the given bit-widths are valid for a floating-point number.

newtype FP (eb :: Nat) (sb :: Nat) Source #

IEEE 754 floating-point number with eb exponent bits and sb significand bits.

>>> :set -XDataKinds
>>> 1.0 + 2.0 :: FP 11 53
3.0

More operations are available. Please refer to Grisette.Core for more information.

Constructors

FP 

Fields

Instances

Instances details
BitCast Int16 FP16 Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

bitCast :: Int16 -> FP16 Source #

BitCast Int32 FP32 Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

bitCast :: Int32 -> FP32 Source #

BitCast Int64 FP64 Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

bitCast :: Int64 -> FP64 Source #

BitCast Word16 FP16 Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

bitCast :: Word16 -> FP16 Source #

BitCast Word32 FP32 Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

bitCast :: Word32 -> FP32 Source #

BitCast Word64 FP64 Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

bitCast :: Word64 -> FP64 Source #

BitCast FP16 Int16 Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

bitCast :: FP16 -> Int16 Source #

BitCast FP16 Word16 Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

bitCast :: FP16 -> Word16 Source #

BitCast FP32 Int32 Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

bitCast :: FP32 -> Int32 Source #

BitCast FP32 Word32 Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

bitCast :: FP32 -> Word32 Source #

BitCast FP32 Float Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

bitCast :: FP32 -> Float Source #

BitCast FP64 Int64 Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

bitCast :: FP64 -> Int64 Source #

BitCast FP64 Word64 Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

bitCast :: FP64 -> Word64 Source #

BitCast FP64 Double Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

bitCast :: FP64 -> Double Source #

BitCast Double FP64 Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

bitCast :: Double -> FP64 Source #

BitCast Float FP32 Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

bitCast :: Float -> FP32 Source #

(Typeable mode, ValidFP eb sb) => UnifiedSymEq mode (FP eb sb) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymEq

Methods

withBaseSymEq :: (If (IsConMode mode) (Eq (FP eb sb)) (SymEq (FP eb sb)) => r) -> r Source #

(Typeable mode, ValidFP eb sb) => UnifiedSymOrd mode (FP eb sb) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord (FP eb sb)) (SymOrd (FP eb sb)) => r) -> r Source #

ValidFP eb sb => Lift (FP eb sb :: Type) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

lift :: Quote m => FP eb sb -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => FP eb sb -> Code m (FP eb sb) #

(ValidFP eb sb, r ~ (eb + sb)) => BitCast (IntN r) (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

bitCast :: IntN r -> FP eb sb Source #

(ValidFP eb sb, r ~ (eb + sb)) => BitCast (WordN r) (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

bitCast :: WordN r -> FP eb sb Source #

ValidFloat eb sb => Arbitrary (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

arbitrary :: Gen (FP eb sb) #

shrink :: FP eb sb -> [FP eb sb] #

ValidFloat eb sb => Floating (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

pi :: FP eb sb #

exp :: FP eb sb -> FP eb sb #

log :: FP eb sb -> FP eb sb #

sqrt :: FP eb sb -> FP eb sb #

(**) :: FP eb sb -> FP eb sb -> FP eb sb #

logBase :: FP eb sb -> FP eb sb -> FP eb sb #

sin :: FP eb sb -> FP eb sb #

cos :: FP eb sb -> FP eb sb #

tan :: FP eb sb -> FP eb sb #

asin :: FP eb sb -> FP eb sb #

acos :: FP eb sb -> FP eb sb #

atan :: FP eb sb -> FP eb sb #

sinh :: FP eb sb -> FP eb sb #

cosh :: FP eb sb -> FP eb sb #

tanh :: FP eb sb -> FP eb sb #

asinh :: FP eb sb -> FP eb sb #

acosh :: FP eb sb -> FP eb sb #

atanh :: FP eb sb -> FP eb sb #

log1p :: FP eb sb -> FP eb sb #

expm1 :: FP eb sb -> FP eb sb #

log1pexp :: FP eb sb -> FP eb sb #

log1mexp :: FP eb sb -> FP eb sb #

ValidFloat eb sb => RealFloat (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

floatRadix :: FP eb sb -> Integer #

floatDigits :: FP eb sb -> Int #

floatRange :: FP eb sb -> (Int, Int) #

decodeFloat :: FP eb sb -> (Integer, Int) #

encodeFloat :: Integer -> Int -> FP eb sb #

exponent :: FP eb sb -> Int #

significand :: FP eb sb -> FP eb sb #

scaleFloat :: Int -> FP eb sb -> FP eb sb #

isNaN :: FP eb sb -> Bool #

isInfinite :: FP eb sb -> Bool #

isDenormalized :: FP eb sb -> Bool #

isNegativeZero :: FP eb sb -> Bool #

isIEEE :: FP eb sb -> Bool #

atan2 :: FP eb sb -> FP eb sb -> FP eb sb #

ValidFloat eb sb => Num (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

(+) :: FP eb sb -> FP eb sb -> FP eb sb #

(-) :: FP eb sb -> FP eb sb -> FP eb sb #

(*) :: FP eb sb -> FP eb sb -> FP eb sb #

negate :: FP eb sb -> FP eb sb #

abs :: FP eb sb -> FP eb sb #

signum :: FP eb sb -> FP eb sb #

fromInteger :: Integer -> FP eb sb #

ValidFloat eb sb => Fractional (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

(/) :: FP eb sb -> FP eb sb -> FP eb sb #

recip :: FP eb sb -> FP eb sb #

fromRational :: Rational -> FP eb sb #

ValidFloat eb sb => Real (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

toRational :: FP eb sb -> Rational #

ValidFloat eb sb => RealFrac (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

properFraction :: Integral b => FP eb sb -> (b, FP eb sb) #

truncate :: Integral b => FP eb sb -> b #

round :: Integral b => FP eb sb -> b #

ceiling :: Integral b => FP eb sb -> b #

floor :: Integral b => FP eb sb -> b #

Show (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

showsPrec :: Int -> FP eb sb -> ShowS #

show :: FP eb sb -> String #

showList :: [FP eb sb] -> ShowS #

NFData (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

rnf :: FP eb sb -> () #

Eq (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

(==) :: FP eb sb -> FP eb sb -> Bool #

(/=) :: FP eb sb -> FP eb sb -> Bool #

ValidFP eb sb => Ord (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

compare :: FP eb sb -> FP eb sb -> Ordering #

(<) :: FP eb sb -> FP eb sb -> Bool #

(<=) :: FP eb sb -> FP eb sb -> Bool #

(>) :: FP eb sb -> FP eb sb -> Bool #

(>=) :: FP eb sb -> FP eb sb -> Bool #

max :: FP eb sb -> FP eb sb -> FP eb sb #

min :: FP eb sb -> FP eb sb -> FP eb sb #

ValidFP eb fb => EvalSym (FP eb fb) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.EvalSym

Methods

evalSym :: Bool -> Model -> FP eb fb -> FP eb fb Source #

ValidFP eb sb => ExtractSym (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ExtractSym

Methods

extractSym :: FP eb sb -> SymbolSet Source #

ValidFP eb sb => IEEEConstants (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.IEEEFP

ValidFP eb sb => SymIEEEFPTraits (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.IEEEFP

ValidFP eb sb => Mergeable (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.Mergeable

ValidFP eb sb => PPrint (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.PPrint

Methods

pformat :: FP eb sb -> Doc ann Source #

pformatPrec :: Int -> FP eb sb -> Doc ann Source #

pformatList :: [FP eb sb] -> Doc ann Source #

ValidFP eb sb => SubstSym (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.SubstSym

Methods

substSym :: LinkedRep cb sb0 => TypedSymbol cb -> sb0 -> FP eb sb -> FP eb sb Source #

ValidFP eb sb => SymEq (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.SymEq

Methods

(.==) :: FP eb sb -> FP eb sb -> SymBool Source #

(./=) :: FP eb sb -> FP eb sb -> SymBool Source #

ValidFP eb sb => SymOrd (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.SymOrd

Methods

(.<) :: FP eb sb -> FP eb sb -> SymBool Source #

(.<=) :: FP eb sb -> FP eb sb -> SymBool Source #

(.>) :: FP eb sb -> FP eb sb -> SymBool Source #

(.>=) :: FP eb sb -> FP eb sb -> SymBool Source #

symCompare :: FP eb sb -> FP eb sb -> Union Ordering Source #

ValidFP eb sb => AllSyms (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.AllSyms

Methods

allSymsS :: FP eb sb -> [SomeSym] -> [SomeSym] Source #

allSyms :: FP eb sb -> [SomeSym] Source #

ValidFP eb sb => NonFuncSBVRep (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Instances.SupportedPrim

Associated Types

type NonFuncSBVBaseType n (FP eb sb) Source #

ValidFP eb sb => PEvalFloatingTerm (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Instances.PEvalFloatingTerm

Methods

pevalSqrtTerm :: Term (FP eb sb) -> Term (FP eb sb) Source #

withSbvFloatingTermConstraint :: forall (n :: Nat) proxy r. KnownIsZero n => proxy n -> (Floating (SBVType n (FP eb sb)) => r) -> r Source #

sbvSqrtTerm :: forall (n :: Nat) proxy. KnownIsZero n => proxy n -> SBVType n (FP eb sb) -> SBVType n (FP eb sb) Source #

ValidFP eb sb => PEvalFractionalTerm (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Instances.PEvalFractionalTerm

Methods

pevalFdivTerm :: Term (FP eb sb) -> Term (FP eb sb) -> Term (FP eb sb) Source #

pevalRecipTerm :: Term (FP eb sb) -> Term (FP eb sb) Source #

withSbvFractionalTermConstraint :: forall (n :: Nat) proxy r. KnownIsZero n => proxy n -> (Fractional (SBVType n (FP eb sb)) => r) -> r Source #

sbvFdivTerm :: forall (n :: Nat) proxy. KnownIsZero n => proxy n -> SBVType n (FP eb sb) -> SBVType n (FP eb sb) -> SBVType n (FP eb sb) Source #

sbvRecipTerm :: forall (n :: Nat) proxy. KnownIsZero n => proxy n -> SBVType n (FP eb sb) -> SBVType n (FP eb sb) Source #

ValidFP eb sb => PEvalNumTerm (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Instances.PEvalNumTerm

Methods

pevalAddNumTerm :: Term (FP eb sb) -> Term (FP eb sb) -> Term (FP eb sb) Source #

pevalNegNumTerm :: Term (FP eb sb) -> Term (FP eb sb) Source #

pevalMulNumTerm :: Term (FP eb sb) -> Term (FP eb sb) -> Term (FP eb sb) Source #

pevalAbsNumTerm :: Term (FP eb sb) -> Term (FP eb sb) Source #

pevalSignumNumTerm :: Term (FP eb sb) -> Term (FP eb sb) Source #

withSbvNumTermConstraint :: forall (n :: Nat) proxy r. KnownIsZero n => proxy n -> (Num (SBVType n (FP eb sb)) => r) -> r Source #

sbvAddNumTerm :: forall proxy (n :: Nat). KnownIsZero n => proxy n -> SBVType n (FP eb sb) -> SBVType n (FP eb sb) -> SBVType n (FP eb sb) Source #

sbvNegNumTerm :: forall proxy (n :: Nat). KnownIsZero n => proxy n -> SBVType n (FP eb sb) -> SBVType n (FP eb sb) Source #

sbvMulNumTerm :: forall proxy (n :: Nat). KnownIsZero n => proxy n -> SBVType n (FP eb sb) -> SBVType n (FP eb sb) -> SBVType n (FP eb sb) Source #

sbvAbsNumTerm :: forall proxy (n :: Nat). KnownIsZero n => proxy n -> SBVType n (FP eb sb) -> SBVType n (FP eb sb) Source #

sbvSignumNumTerm :: forall proxy (n :: Nat). KnownIsZero n => proxy n -> SBVType n (FP eb sb) -> SBVType n (FP eb sb) Source #

ValidFP eb sb => PEvalOrdTerm (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Instances.PEvalOrdTerm

Methods

pevalLtOrdTerm :: Term (FP eb sb) -> Term (FP eb sb) -> Term Bool Source #

pevalLeOrdTerm :: Term (FP eb sb) -> Term (FP eb sb) -> Term Bool Source #

withSbvOrdTermConstraint :: forall (n :: Nat) proxy r. KnownIsZero n => proxy n -> (OrdSymbolic (SBVType n (FP eb sb)) => r) -> r Source #

sbvLtOrdTerm :: forall (n :: Nat) proxy. KnownIsZero n => proxy n -> SBVType n (FP eb sb) -> SBVType n (FP eb sb) -> SBV Bool Source #

sbvLeOrdTerm :: forall (n :: Nat) proxy. KnownIsZero n => proxy n -> SBVType n (FP eb sb) -> SBVType n (FP eb sb) -> SBV Bool Source #

ValidFP eb sb => SBVRep (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Instances.SupportedPrim

Associated Types

type SBVType n (FP eb sb) Source #

ValidFP eb sb => SupportedNonFuncPrim (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Instances.SupportedPrim

Methods

conNonFuncSBVTerm :: forall (n :: Nat) proxy. KnownIsZero n => proxy n -> FP eb sb -> SBV (NonFuncSBVBaseType n (FP eb sb)) Source #

symNonFuncSBVTerm :: forall m (n :: Nat) proxy. (SBVFreshMonad m, KnownIsZero n) => proxy n -> String -> m (SBV (NonFuncSBVBaseType n (FP eb sb))) Source #

withNonFuncPrim :: forall (n :: Nat) proxy r. KnownIsZero n => proxy n -> ((SymVal (NonFuncSBVBaseType n (FP eb sb)), EqSymbolic (SBVType n (FP eb sb)), Mergeable (SBVType n (FP eb sb)), SMTDefinable (SBVType n (FP eb sb)), Mergeable (SBVType n (FP eb sb)), SBVType n (FP eb sb) ~ SBV (NonFuncSBVBaseType n (FP eb sb)), PrimConstraint n (FP eb sb)) => r) -> r Source #

ValidFP eb sb => SupportedPrim (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Instances.SupportedPrim

Methods

termCache :: Cache (Term (FP eb sb)) Source #

pformatCon :: FP eb sb -> String Source #

pformatSym :: TypedSymbol (FP eb sb) -> String Source #

defaultValue :: FP eb sb Source #

defaultValueDynamic :: proxy (FP eb sb) -> ModelValue Source #

pevalITETerm :: Term Bool -> Term (FP eb sb) -> Term (FP eb sb) -> Term (FP eb sb) Source #

pevalEqTerm :: Term (FP eb sb) -> Term (FP eb sb) -> Term Bool Source #

conSBVTerm :: forall (n :: Nat) proxy. KnownIsZero n => proxy n -> FP eb sb -> SBVType n (FP eb sb) Source #

symSBVName :: TypedSymbol (FP eb sb) -> Int -> String Source #

symSBVTerm :: forall m (n :: Nat) proxy. (SBVFreshMonad m, KnownIsZero n) => proxy n -> String -> m (SBVType n (FP eb sb)) Source #

withPrim :: forall (n :: Nat) p a. KnownIsZero n => p n -> ((PrimConstraint n (FP eb sb), SMTDefinable (SBVType n (FP eb sb)), Mergeable (SBVType n (FP eb sb)), Typeable (SBVType n (FP eb sb))) => a) -> a Source #

sbvIte :: forall (n :: Nat) proxy. KnownIsZero n => proxy n -> SBV Bool -> SBVType n (FP eb sb) -> SBVType n (FP eb sb) -> SBVType n (FP eb sb) Source #

sbvEq :: forall (n :: Nat) proxy. KnownIsZero n => proxy n -> SBVType n (FP eb sb) -> SBVType n (FP eb sb) -> SBV Bool Source #

parseSMTModelResult :: Int -> ([([CV], CV)], CV) -> FP eb sb Source #

ValidFP eb sb => SupportedPrimConstraint (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Instances.SupportedPrim

Associated Types

type PrimConstraint n (FP eb sb) Source #

ValidFP eb sb => SymRep (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymFP

Associated Types

type SymType (FP eb sb) Source #

ValidFP eb sb => Hashable (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

hashWithSalt :: Int -> FP eb sb -> Int #

hash :: FP eb sb -> Int #

(ValidFP eb sb, r ~ (eb + sb)) => BitCast (FP eb sb) (IntN r) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

bitCast :: FP eb sb -> IntN r Source #

(ValidFP eb sb, r ~ (eb + sb)) => BitCast (FP eb sb) (WordN r) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

bitCast :: FP eb sb -> WordN r Source #

ValidFP eb sb => GenSym (FP eb sb) (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.GenSym

Methods

fresh :: MonadFresh m => FP eb sb -> m (Union (FP eb sb)) Source #

ValidFP eb sb => GenSymSimple (FP eb sb) (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.GenSym

Methods

simpleFresh :: MonadFresh m => FP eb sb -> m (FP eb sb) Source #

ValidFP eb sb => Solvable (FP eb sb) (SymFP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymFP

Methods

con :: FP eb sb -> SymFP eb sb Source #

conView :: SymFP eb sb -> Maybe (FP eb sb) Source #

sym :: Symbol -> SymFP eb sb Source #

ssym :: Identifier -> SymFP eb sb Source #

isym :: Identifier -> Int -> SymFP eb sb Source #

ValidFP eb sb => ToCon (FP eb sb) (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToCon

Methods

toCon :: FP eb sb -> Maybe (FP eb sb) Source #

ValidFP eb sb => ToCon (SymFP eb sb) (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToCon

Methods

toCon :: SymFP eb sb -> Maybe (FP eb sb) Source #

ValidFP eb sb => ToSym (FP eb sb) (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: FP eb sb -> FP eb sb Source #

ValidFP eb sb => ToSym (FP eb sb) (SymFP eb sb) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: FP eb sb -> SymFP eb sb Source #

ValidFP eb sb => LinkedRep (FP eb sb) (SymFP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymFP

Methods

underlyingTerm :: SymFP eb sb -> Term (FP eb sb) Source #

wrapTerm :: Term (FP eb sb) -> SymFP eb sb Source #

type NonFuncSBVBaseType _1 (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Instances.SupportedPrim

type NonFuncSBVBaseType _1 (FP eb sb) = FloatingPoint eb sb
type PrimConstraint _1 (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Instances.SupportedPrim

type PrimConstraint _1 (FP eb sb) = ValidFP eb sb
type SBVType _1 (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Instances.SupportedPrim

type SBVType _1 (FP eb sb) = SBV (FloatingPoint eb sb)
type SymType (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymFP

type SymType (FP eb sb) = SymFP eb sb

type FP16 = FP 5 11 Source #

IEEE 754 half-precision floating-point number.

type FP32 = FP 8 24 Source #

IEEE 754 single-precision floating-point number.

type FP64 = FP 11 53 Source #

IEEE 754 double-precision floating-point number.

withValidFPProofs :: forall eb sb r. ValidFP eb sb => ((KnownNat (eb + sb), BVIsNonZero (eb + sb), 1 <= (eb + sb), 1 <= eb, 1 <= sb) => r) -> r Source #

Some type-level witnesses that could be derived from ValidFP.

data FPRoundingMode Source #

Rounding mode for floating-point operations.

Constructors

RNE

Round to nearest, ties to even.

RNA

Round to nearest, ties to away from zero.

RTP

Round towards positive infinity.

RTN

Round towards negative infinity.

RTZ

Round towards zero.

Instances

Instances details
Arbitrary FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Generic FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Associated Types

type Rep FPRoundingMode :: Type -> Type #

Show FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

NFData FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

rnf :: FPRoundingMode -> () #

Eq FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Ord FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

EvalSym FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.EvalSym

ExtractSym FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ExtractSym

IEEEFPRoundingMode FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.IEEEFP

Mergeable FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.Mergeable

PPrint FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.PPrint

SubstSym FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.SubstSym

SymEq FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.SymEq

SymOrd FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.SymOrd

AllSyms FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.AllSyms

NonFuncSBVRep FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Instances.SupportedPrim

Associated Types

type NonFuncSBVBaseType n FPRoundingMode Source #

PEvalOrdTerm FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Instances.PEvalOrdTerm

SBVRep FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Instances.SupportedPrim

Associated Types

type SBVType n FPRoundingMode Source #

SupportedNonFuncPrim FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Instances.SupportedPrim

SupportedPrim FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Instances.SupportedPrim

SupportedPrimConstraint FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Instances.SupportedPrim

Associated Types

type PrimConstraint n FPRoundingMode Source #

SymRep FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymFP

Associated Types

type SymType FPRoundingMode Source #

Hashable FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

GenSym FPRoundingMode FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.GenSym

GenSymSimple FPRoundingMode FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.GenSym

Solvable FPRoundingMode SymFPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymFP

ToCon FPRoundingMode FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToCon

ToCon SymFPRoundingMode FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToCon

ToSym FPRoundingMode FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

ToSym FPRoundingMode SymFPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

LinkedRep FPRoundingMode SymFPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymFP

Typeable mode => UnifiedSymEq mode FPRoundingMode Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymEq

Typeable mode => UnifiedSymOrd mode FPRoundingMode Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Lift FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

Methods

lift :: Quote m => FPRoundingMode -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => FPRoundingMode -> Code m FPRoundingMode #

type Rep FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.FP

type Rep FPRoundingMode = D1 ('MetaData "FPRoundingMode" "Grisette.Internal.SymPrim.FP" "grisette-0.7.0.0-3DYM4wcz8TiF8sSQ1gvVO8" 'False) ((C1 ('MetaCons "RNE" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RNA" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RTP" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RTN" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RTZ" 'PrefixI 'False) (U1 :: Type -> Type))))
type SymType FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymFP

type NonFuncSBVBaseType _1 FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Instances.SupportedPrim

type PrimConstraint n FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Instances.SupportedPrim

type SBVType _1 FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Instances.SupportedPrim

allFPRoundingMode :: [FPRoundingMode] Source #

All IEEE 754 rounding modes.