module HashAddressed.HashFunction where

import Essentials

{-| Hash function supported by the @hash-addressed@ library

    Currently only SHA-256 is supported, but others
    may be added in the future.
-}
data HashFunction =
    SHA_256 -- ^ SHA-256
  deriving stock (HashFunction -> HashFunction -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: HashFunction -> HashFunction -> Bool
$c/= :: HashFunction -> HashFunction -> Bool
== :: HashFunction -> HashFunction -> Bool
$c== :: HashFunction -> HashFunction -> Bool
Eq, Eq HashFunction
HashFunction -> HashFunction -> Bool
HashFunction -> HashFunction -> Ordering
HashFunction -> HashFunction -> HashFunction
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: HashFunction -> HashFunction -> HashFunction
$cmin :: HashFunction -> HashFunction -> HashFunction
max :: HashFunction -> HashFunction -> HashFunction
$cmax :: HashFunction -> HashFunction -> HashFunction
>= :: HashFunction -> HashFunction -> Bool
$c>= :: HashFunction -> HashFunction -> Bool
> :: HashFunction -> HashFunction -> Bool
$c> :: HashFunction -> HashFunction -> Bool
<= :: HashFunction -> HashFunction -> Bool
$c<= :: HashFunction -> HashFunction -> Bool
< :: HashFunction -> HashFunction -> Bool
$c< :: HashFunction -> HashFunction -> Bool
compare :: HashFunction -> HashFunction -> Ordering
$ccompare :: HashFunction -> HashFunction -> Ordering
Ord)