grisette-0.9.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.Unified.Internal.Class.UnifiedFiniteBits

Description

 
Synopsis

Documentation

class UnifiedFiniteBits mode 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 'Con SomeIntN Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedFiniteBits

UnifiedFiniteBits 'Con SomeWordN Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedFiniteBits

UnifiedFiniteBits 'Sym SomeSymIntN Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedFiniteBits

UnifiedFiniteBits 'Sym SomeSymWordN Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedFiniteBits

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

Defined in Grisette.Unified.Internal.Class.UnifiedFiniteBits

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

Defined in Grisette.Unified.Internal.Class.UnifiedFiniteBits

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

Defined in Grisette.Unified.Internal.Class.UnifiedFiniteBits

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

Defined in Grisette.Unified.Internal.Class.UnifiedFiniteBits

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

Unified symTestBit.

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

Unified symSetBitTo.

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

Unified symFromBits.

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

Unified symBitBlast.

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

Unified symLsb.

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

Unified symMsb.

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

Unified symPopCount.

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

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