what4-1.5.1: Solver-agnostic symbolic values support for issuing queries
Copyright(c) Galois Inc 2019-2020
LicenseBSD3
Maintainerrdockins@galois.com
Safe HaskellSafe-Inferred
LanguageHaskell2010

What4.Utils.IncrHash

Description

A basic datatype for incremental hashing which supports a monoid instance. Currently this is simply implemented as bitwise xor for simplicity.

If we later wish to experiment with other incremenal hash algorithms, this module abstracts over the implementation details.

Documentation

data IncrHash Source #

Instances

Instances details
Monoid IncrHash Source # 
Instance details

Defined in What4.Utils.IncrHash

Semigroup IncrHash Source # 
Instance details

Defined in What4.Utils.IncrHash

Methods

(<>) :: IncrHash -> IncrHash -> IncrHash

sconcat :: NonEmpty IncrHash -> IncrHash

stimes :: Integral b => b -> IncrHash -> IncrHash

Eq IncrHash Source # 
Instance details

Defined in What4.Utils.IncrHash

Methods

(==) :: IncrHash -> IncrHash -> Bool

(/=) :: IncrHash -> IncrHash -> Bool

Ord IncrHash Source # 
Instance details

Defined in What4.Utils.IncrHash

Methods

compare :: IncrHash -> IncrHash -> Ordering

(<) :: IncrHash -> IncrHash -> Bool

(<=) :: IncrHash -> IncrHash -> Bool

(>) :: IncrHash -> IncrHash -> Bool

(>=) :: IncrHash -> IncrHash -> Bool

max :: IncrHash -> IncrHash -> IncrHash

min :: IncrHash -> IncrHash -> IncrHash

Hashable IncrHash Source # 
Instance details

Defined in What4.Utils.IncrHash

Methods

hashWithSalt :: Int -> IncrHash -> Int

hash :: IncrHash -> Int

toIncrHash :: Hashable a => a -> IncrHash Source #

toIncrHashWithSalt :: Hashable a => Int -> a -> IncrHash Source #