grisette-0.11.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 HaskellNone
LanguageHaskell2010

Grisette.Internal.Unified.Class.UnifiedFiniteBits

Description

 
Synopsis

Documentation

class UnifiedFiniteBits (mode :: EvalModeTag) a where Source #

A class that provides unified equality comparison.

We use this type class to help resolve the constraints for FiniteBits, FromBits and SymFiniteBits.

Methods

withBaseFiniteBits :: (If (IsConMode mode) (FiniteBits a, FromBits a) (SymFiniteBits a) => r) -> r Source #

Instances

Instances details
UnifiedFiniteBits 'C SomeIntN Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedFiniteBits

UnifiedFiniteBits 'C SomeWordN Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedFiniteBits

UnifiedFiniteBits 'S SomeSymIntN Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedFiniteBits

UnifiedFiniteBits 'S SomeSymWordN Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedFiniteBits

(KnownNat n, 1 <= n) => UnifiedFiniteBits 'C (IntN n) Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedFiniteBits

(KnownNat n, 1 <= n) => UnifiedFiniteBits 'C (WordN n) Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedFiniteBits

(KnownNat n, 1 <= n) => UnifiedFiniteBits 'S (SymIntN n) Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedFiniteBits

(KnownNat n, 1 <= n) => UnifiedFiniteBits 'S (SymWordN n) Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedFiniteBits

symTestBit :: forall (mode :: EvalModeTag) a. (DecideEvalMode mode, UnifiedFiniteBits mode a) => a -> Int -> GetBool mode Source #

Unified symTestBit.

symSetBitTo :: forall (mode :: EvalModeTag) a. (DecideEvalMode mode, UnifiedFiniteBits mode a) => a -> Int -> GetBool mode -> a Source #

Unified symSetBitTo.

symFromBits :: forall (mode :: EvalModeTag) a. (DecideEvalMode mode, UnifiedFiniteBits mode a) => [GetBool mode] -> a Source #

Unified symFromBits.

symBitBlast :: forall (mode :: EvalModeTag) a. (DecideEvalMode mode, UnifiedFiniteBits mode a) => a -> [GetBool mode] Source #

Unified symBitBlast.

symLsb :: forall (mode :: EvalModeTag) a. (DecideEvalMode mode, UnifiedFiniteBits mode a) => a -> GetBool mode Source #

Unified symLsb.

symMsb :: forall (mode :: EvalModeTag) a. (DecideEvalMode mode, UnifiedFiniteBits mode a) => a -> GetBool mode Source #

Unified symMsb.

symPopCount :: forall (mode :: EvalModeTag) a. (DecideEvalMode mode, UnifiedFiniteBits mode a, Num a, UnifiedITEOp mode a) => a -> a Source #

Unified symPopCount.

symCountLeadingZeros :: forall (mode :: EvalModeTag) a. (DecideEvalMode mode, UnifiedFiniteBits mode a, Num a, UnifiedITEOp mode a) => a -> a Source #

symCountTrailingZeros :: forall (mode :: EvalModeTag) a. (DecideEvalMode mode, UnifiedFiniteBits mode a, Num a, UnifiedITEOp mode a) => a -> a Source #