what4-1.5.1: Solver-agnostic symbolic values support for issuing queries

Copyright | (c) Galois Inc 2019-2020
License | BSD3
Maintainer | rdockins@galois.com
Safe Haskell | Safe-Inferred
Language | Haskell2010

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 Methods mempty :: IncrHash Source # mappend :: IncrHash -> IncrHash -> IncrHash Source # mconcat :: [IncrHash] -> IncrHash Source #
Semigroup IncrHash Source # |
Instance details Defined in What4.Utils.IncrHash Methods (<>) :: IncrHash -> IncrHash -> IncrHash Source # sconcat :: NonEmpty IncrHash -> IncrHash Source # stimes :: Integral b => b -> IncrHash -> IncrHash Source #
Eq IncrHash Source # |
Instance details Defined in What4.Utils.IncrHash Methods (==) :: IncrHash -> IncrHash -> Bool Source # (/=) :: IncrHash -> IncrHash -> Bool Source #
Ord IncrHash Source # |
Instance details Defined in What4.Utils.IncrHash Methods compare :: IncrHash -> IncrHash -> Ordering Source # (<) :: IncrHash -> IncrHash -> Bool Source # (<=) :: IncrHash -> IncrHash -> Bool Source # (>) :: IncrHash -> IncrHash -> Bool Source # (>=) :: IncrHash -> IncrHash -> Bool Source # max :: IncrHash -> IncrHash -> IncrHash Source # min :: IncrHash -> IncrHash -> IncrHash Source #
Hashable IncrHash Source # |
Instance details Defined in What4.Utils.IncrHash Methods hashWithSalt :: Int -> IncrHash -> Int Source # hash :: IncrHash -> Int Source #

mkIncrHash :: Int -> IncrHash Source #

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

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