This file is indexed.

/usr/share/doc/libghc-foundation-doc/html/Foundation-Hashing.html is in libghc-foundation-doc 0.0.17-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

1
2
3
4
5
6
7
8
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Foundation.Hashing</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="file:///usr/share/javascript/mathjax/MathJax.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Foundation-Hashing.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Foundation-Hashing.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">foundation-0.0.17: Alternative prelude with batteries and no dependencies</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>License</th><td>BSD-style</td></tr><tr><th>Maintainer</th><td>Foundation</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Foundation.Hashing</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Specific methods</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc empty">&nbsp;</div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">class</span> <a href="#t:Hashable">Hashable</a> a <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><span class="keyword">class</span> <a href="#t:Hasher">Hasher</a> st</li><li class="src short"><span class="keyword">data</span> <a href="#t:FNV1_32">FNV1_32</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:FNV1_64">FNV1_64</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:FNV1a_32">FNV1a_32</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:FNV1a_64">FNV1a_64</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:Sip1_3">Sip1_3</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:Sip2_4">Sip2_4</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:Hashable" class="def">Hashable</a> a <span class="keyword">where</span> <a href="src/Foundation-Hashing-Hashable.html#Hashable" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></p><div class="doc"><p>Type with the ability to be hashed</p><p>Hashable doesn't have any specific rules, and it's
 made for raw speed. More specifically don't expect different
 type representing the same data to hash to the same value</p><pre>hashMix (1 :: Integer) /= hashMix (1 :: Word8)</pre><p>True</p></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Foundation-Hashing.html#v:hashMix">hashMix</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:hashMix" class="def">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; a -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div><div class="subs instances"><p id="control.i:Hashable" class="caption collapser" onclick="toggleSection('i:Hashable')">Instances</p><div id="section.i:Hashable" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:1" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:1')"></span> <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> <a href="Foundation.html#t:Int8">Int8</a></span> <a href="src/Foundation-Hashing-Hashable.html#line-60" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; <a href="Foundation.html#t:Int8">Int8</a> -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:2" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:2')"></span> <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> <a href="Foundation.html#t:Int16">Int16</a></span> <a href="src/Foundation-Hashing-Hashable.html#line-62" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; <a href="Foundation.html#t:Int16">Int16</a> -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:3" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:3')"></span> <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> <a href="Foundation.html#t:Int32">Int32</a></span> <a href="src/Foundation-Hashing-Hashable.html#line-64" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; <a href="Foundation.html#t:Int32">Int32</a> -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:4" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:4')"></span> <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> <a href="Foundation.html#t:Int64">Int64</a></span> <a href="src/Foundation-Hashing-Hashable.html#line-66" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; <a href="Foundation.html#t:Int64">Int64</a> -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:5" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:5')"></span> <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> <a href="Foundation.html#t:Integer">Integer</a></span> <a href="src/Foundation-Hashing-Hashable.html#line-68" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; <a href="Foundation.html#t:Integer">Integer</a> -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:6" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:6')"></span> <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> <a href="Foundation.html#t:Word8">Word8</a></span> <a href="src/Foundation-Hashing-Hashable.html#line-39" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; <a href="Foundation.html#t:Word8">Word8</a> -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:7" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:7')"></span> <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> <a href="Foundation.html#t:Word16">Word16</a></span> <a href="src/Foundation-Hashing-Hashable.html#line-41" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; <a href="Foundation.html#t:Word16">Word16</a> -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:8" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:8')"></span> <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> <a href="Foundation.html#t:Word32">Word32</a></span> <a href="src/Foundation-Hashing-Hashable.html#line-43" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; <a href="Foundation.html#t:Word32">Word32</a> -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:9" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:9')"></span> <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> <a href="Foundation.html#t:Word64">Word64</a></span> <a href="src/Foundation-Hashing-Hashable.html#line-45" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; <a href="Foundation.html#t:Word64">Word64</a> -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:10" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:10')"></span> <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> <a href="Foundation.html#t:Natural">Natural</a></span> <a href="src/Foundation-Hashing-Hashable.html#line-51" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; <a href="Foundation.html#t:Natural">Natural</a> -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:11" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:11')"></span> <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> <a href="Foundation-String.html#t:String">String</a></span> <a href="src/Foundation-Hashing-Hashable.html#line-80" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:11" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; <a href="Foundation-String.html#t:String">String</a> -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:12" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:12')"></span> <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> <a href="Foundation.html#t:Word256">Word256</a></span> <a href="src/Foundation-Hashing-Hashable.html#line-49" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:12" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; <a href="Foundation.html#t:Word256">Word256</a> -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:13" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:13')"></span> <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> <a href="Foundation.html#t:Word128">Word128</a></span> <a href="src/Foundation-Hashing-Hashable.html#line-47" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:13" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; <a href="Foundation.html#t:Word128">Word128</a> -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:14" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:14')"></span> <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> <a href="Foundation-Network-IPv4.html#t:IPv4">IPv4</a></span> <a href="src/Foundation-Hashing-Hashable.html#line-37" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:14" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; <a href="Foundation-Network-IPv4.html#t:IPv4">IPv4</a> -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:15" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:15')"></span> <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> <a href="Foundation-Network-IPv6.html#t:IPv6">IPv6</a></span> <a href="src/Foundation-Hashing-Hashable.html#line-48" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:15" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; <a href="Foundation-Network-IPv6.html#t:IPv6">IPv6</a> -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:16" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:16')"></span> <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> <a href="Foundation-UUID.html#t:UUID">UUID</a></span> <a href="src/Foundation-Hashing-Hashable.html#line-35" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:16" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; <a href="Foundation-UUID.html#t:UUID">UUID</a> -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:17" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:17')"></span> <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> a =&gt; <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> [a]</span> <a href="src/Foundation-Hashing-Hashable.html#line-90" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:17" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; [a] -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:18" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:18')"></span> <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> a =&gt; <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> (<a href="Foundation-Array.html#t:Array">Array</a> a)</span> <a href="src/Foundation-Hashing-Hashable.html#line-86" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:18" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; <a href="Foundation-Array.html#t:Array">Array</a> a -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:19" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:19')"></span> <a href="Foundation-Primitive.html#t:PrimType">PrimType</a> a =&gt; <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> (<a href="Foundation-Array-Internal.html#t:UArray">UArray</a> a)</span> <a href="src/Foundation-Hashing-Hashable.html#line-84" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:19" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; <a href="Foundation-Array-Internal.html#t:UArray">UArray</a> a -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:20" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:20')"></span> (<a href="Foundation-Hashing.html#t:Hashable">Hashable</a> a, <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> b) =&gt; <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> (a, b)</span> <a href="src/Foundation-Hashing-Hashable.html#line-93" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:20" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; (a, b) -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:21" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:21')"></span> (<a href="Foundation-Hashing.html#t:Hashable">Hashable</a> a, <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> b) =&gt; <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> (<a href="Foundation.html#t:Tuple2">Tuple2</a> a b)</span> <a href="src/Foundation-Hashing-Hashable.html#line-103" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:21" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; <a href="Foundation.html#t:Tuple2">Tuple2</a> a b -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:22" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:22')"></span> (<a href="Foundation-Hashing.html#t:Hashable">Hashable</a> a, <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> b, <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> c) =&gt; <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> (a, b, c)</span> <a href="src/Foundation-Hashing-Hashable.html#line-95" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:22" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; (a, b, c) -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:23" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:23')"></span> (<a href="Foundation-Hashing.html#t:Hashable">Hashable</a> a, <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> b, <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> c) =&gt; <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> (<a href="Foundation.html#t:Tuple3">Tuple3</a> a b c)</span> <a href="src/Foundation-Hashing-Hashable.html#line-105" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:23" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; <a href="Foundation.html#t:Tuple3">Tuple3</a> a b c -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:24" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:24')"></span> (<a href="Foundation-Hashing.html#t:Hashable">Hashable</a> a, <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> b, <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> c, <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> d) =&gt; <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> (a, b, c, d)</span> <a href="src/Foundation-Hashing-Hashable.html#line-97" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:24" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; (a, b, c, d) -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:25" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:25')"></span> (<a href="Foundation-Hashing.html#t:Hashable">Hashable</a> a, <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> b, <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> c, <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> d) =&gt; <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> (<a href="Foundation.html#t:Tuple4">Tuple4</a> a b c d)</span> <a href="src/Foundation-Hashing-Hashable.html#line-107" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:25" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; <a href="Foundation.html#t:Tuple4">Tuple4</a> a b c d -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:26" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:26')"></span> (<a href="Foundation-Hashing.html#t:Hashable">Hashable</a> a, <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> b, <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> c, <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> d, <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> e) =&gt; <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> (a, b, c, d, e)</span> <a href="src/Foundation-Hashing-Hashable.html#line-99" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:26" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; (a, b, c, d, e) -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hashable:Hashable:27" class="instance expander" onclick="toggleSection('i:ic:Hashable:Hashable:27')"></span> (<a href="Foundation-Hashing.html#t:Hashable">Hashable</a> a, <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> b, <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> c, <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> d, <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> e, <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> f) =&gt; <a href="Foundation-Hashing.html#t:Hashable">Hashable</a> (a, b, c, d, e, f)</span> <a href="src/Foundation-Hashing-Hashable.html#line-101" class="link">Source</a> <a href="#t:Hashable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hashable:Hashable:27" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashMix">hashMix</a> :: <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> st =&gt; (a, b, c, d, e, f) -&gt; st -&gt; st <a href="src/Foundation-Hashing-Hashable.html#hashMix" class="link">Source</a> <a href="#v:hashMix" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:Hasher" class="def">Hasher</a> st <a href="src/Foundation-Hashing-Hasher.html#Hasher" class="link">Source</a> <a href="#t:Hasher" class="selflink">#</a></p><div class="doc"><p>Incremental Hashing state. Represent an hashing algorithm</p><p>the base primitive of this class is <code>hashMix8</code>, append
 mix a Word8 in the state</p><p>The class allow to define faster mixing function that works on
 bigger Word size and any unboxed array of any PrimType elements</p></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src">hashNew, hashNewParam, hashMix8, hashEnd</p></div><div class="subs instances"><p id="control.i:Hasher" class="caption collapser" onclick="toggleSection('i:Hasher')">Instances</p><div id="section.i:Hasher" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hasher:Hasher:1" class="instance expander" onclick="toggleSection('i:ic:Hasher:Hasher:1')"></span> <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a></span> <a href="src/Foundation-Hashing-Hasher.html#line-106" class="link">Source</a> <a href="#t:Hasher" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hasher:Hasher:1" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> HashResult <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p><p class="src"><span class="keyword">type</span> HashInitParam <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashNew">hashNew</a> :: <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a></p><p class="src"><a href="#v:hashNewParam">hashNewParam</a> :: HashInitParam <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a></p><p class="src"><a href="#v:hashEnd">hashEnd</a> :: <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a> -&gt; HashResult <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a></p><p class="src"><a href="#v:hashMix8">hashMix8</a> :: <a href="Foundation.html#t:Word8">Word8</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a></p><p class="src"><a href="#v:hashMix16">hashMix16</a> :: <a href="Foundation.html#t:Word16">Word16</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a></p><p class="src"><a href="#v:hashMix32">hashMix32</a> :: <a href="Foundation.html#t:Word32">Word32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a></p><p class="src"><a href="#v:hashMix64">hashMix64</a> :: <a href="Foundation.html#t:Word64">Word64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a></p><p class="src"><a href="#v:hashMixBytes">hashMixBytes</a> :: <a href="Foundation-Primitive.html#t:PrimType">PrimType</a> e =&gt; <a href="Foundation-Array-Internal.html#t:UArray">UArray</a> e -&gt; <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hasher:Hasher:2" class="instance expander" onclick="toggleSection('i:ic:Hasher:Hasher:2')"></span> <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a></span> <a href="src/Foundation-Hashing-Hasher.html#line-88" class="link">Source</a> <a href="#t:Hasher" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hasher:Hasher:2" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> HashResult <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p><p class="src"><span class="keyword">type</span> HashInitParam <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashNew">hashNew</a> :: <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a></p><p class="src"><a href="#v:hashNewParam">hashNewParam</a> :: HashInitParam <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a></p><p class="src"><a href="#v:hashEnd">hashEnd</a> :: <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a> -&gt; HashResult <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a></p><p class="src"><a href="#v:hashMix8">hashMix8</a> :: <a href="Foundation.html#t:Word8">Word8</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a></p><p class="src"><a href="#v:hashMix16">hashMix16</a> :: <a href="Foundation.html#t:Word16">Word16</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a></p><p class="src"><a href="#v:hashMix32">hashMix32</a> :: <a href="Foundation.html#t:Word32">Word32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a></p><p class="src"><a href="#v:hashMix64">hashMix64</a> :: <a href="Foundation.html#t:Word64">Word64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a></p><p class="src"><a href="#v:hashMixBytes">hashMixBytes</a> :: <a href="Foundation-Primitive.html#t:PrimType">PrimType</a> e =&gt; <a href="Foundation-Array-Internal.html#t:UArray">UArray</a> e -&gt; <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hasher:Hasher:3" class="instance expander" onclick="toggleSection('i:ic:Hasher:Hasher:3')"></span> <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a></span> <a href="src/Foundation-Hashing-Hasher.html#line-97" class="link">Source</a> <a href="#t:Hasher" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hasher:Hasher:3" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> HashResult <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p><p class="src"><span class="keyword">type</span> HashInitParam <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashNew">hashNew</a> :: <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a></p><p class="src"><a href="#v:hashNewParam">hashNewParam</a> :: HashInitParam <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a></p><p class="src"><a href="#v:hashEnd">hashEnd</a> :: <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a> -&gt; HashResult <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a></p><p class="src"><a href="#v:hashMix8">hashMix8</a> :: <a href="Foundation.html#t:Word8">Word8</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a></p><p class="src"><a href="#v:hashMix16">hashMix16</a> :: <a href="Foundation.html#t:Word16">Word16</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a></p><p class="src"><a href="#v:hashMix32">hashMix32</a> :: <a href="Foundation.html#t:Word32">Word32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a></p><p class="src"><a href="#v:hashMix64">hashMix64</a> :: <a href="Foundation.html#t:Word64">Word64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a></p><p class="src"><a href="#v:hashMixBytes">hashMixBytes</a> :: <a href="Foundation-Primitive.html#t:PrimType">PrimType</a> e =&gt; <a href="Foundation-Array-Internal.html#t:UArray">UArray</a> e -&gt; <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hasher:Hasher:4" class="instance expander" onclick="toggleSection('i:ic:Hasher:Hasher:4')"></span> <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a></span> <a href="src/Foundation-Hashing-Hasher.html#line-79" class="link">Source</a> <a href="#t:Hasher" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hasher:Hasher:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> HashResult <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p><p class="src"><span class="keyword">type</span> HashInitParam <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashNew">hashNew</a> :: <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a></p><p class="src"><a href="#v:hashNewParam">hashNewParam</a> :: HashInitParam <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a></p><p class="src"><a href="#v:hashEnd">hashEnd</a> :: <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a> -&gt; HashResult <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a></p><p class="src"><a href="#v:hashMix8">hashMix8</a> :: <a href="Foundation.html#t:Word8">Word8</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a></p><p class="src"><a href="#v:hashMix16">hashMix16</a> :: <a href="Foundation.html#t:Word16">Word16</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a></p><p class="src"><a href="#v:hashMix32">hashMix32</a> :: <a href="Foundation.html#t:Word32">Word32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a></p><p class="src"><a href="#v:hashMix64">hashMix64</a> :: <a href="Foundation.html#t:Word64">Word64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a></p><p class="src"><a href="#v:hashMixBytes">hashMixBytes</a> :: <a href="Foundation-Primitive.html#t:PrimType">PrimType</a> e =&gt; <a href="Foundation-Array-Internal.html#t:UArray">UArray</a> e -&gt; <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hasher:Hasher:5" class="instance expander" onclick="toggleSection('i:ic:Hasher:Hasher:5')"></span> <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a></span> <a href="src/Foundation-Hashing-Hasher.html#line-59" class="link">Source</a> <a href="#t:Hasher" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hasher:Hasher:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> HashResult <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p><p class="src"><span class="keyword">type</span> HashInitParam <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashNew">hashNew</a> :: <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a></p><p class="src"><a href="#v:hashNewParam">hashNewParam</a> :: HashInitParam <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a> -&gt; <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a></p><p class="src"><a href="#v:hashEnd">hashEnd</a> :: <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a> -&gt; HashResult <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a></p><p class="src"><a href="#v:hashMix8">hashMix8</a> :: <a href="Foundation.html#t:Word8">Word8</a> -&gt; <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a> -&gt; <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a></p><p class="src"><a href="#v:hashMix16">hashMix16</a> :: <a href="Foundation.html#t:Word16">Word16</a> -&gt; <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a> -&gt; <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a></p><p class="src"><a href="#v:hashMix32">hashMix32</a> :: <a href="Foundation.html#t:Word32">Word32</a> -&gt; <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a> -&gt; <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a></p><p class="src"><a href="#v:hashMix64">hashMix64</a> :: <a href="Foundation.html#t:Word64">Word64</a> -&gt; <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a> -&gt; <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a></p><p class="src"><a href="#v:hashMixBytes">hashMixBytes</a> :: <a href="Foundation-Primitive.html#t:PrimType">PrimType</a> e =&gt; <a href="Foundation-Array-Internal.html#t:UArray">UArray</a> e -&gt; <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a> -&gt; <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Hasher:Hasher:6" class="instance expander" onclick="toggleSection('i:ic:Hasher:Hasher:6')"></span> <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a></span> <a href="src/Foundation-Hashing-Hasher.html#line-48" class="link">Source</a> <a href="#t:Hasher" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Hasher:Hasher:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> HashResult <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p><p class="src"><span class="keyword">type</span> HashInitParam <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashNew">hashNew</a> :: <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a></p><p class="src"><a href="#v:hashNewParam">hashNewParam</a> :: HashInitParam <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a> -&gt; <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a></p><p class="src"><a href="#v:hashEnd">hashEnd</a> :: <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a> -&gt; HashResult <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a></p><p class="src"><a href="#v:hashMix8">hashMix8</a> :: <a href="Foundation.html#t:Word8">Word8</a> -&gt; <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a> -&gt; <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a></p><p class="src"><a href="#v:hashMix16">hashMix16</a> :: <a href="Foundation.html#t:Word16">Word16</a> -&gt; <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a> -&gt; <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a></p><p class="src"><a href="#v:hashMix32">hashMix32</a> :: <a href="Foundation.html#t:Word32">Word32</a> -&gt; <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a> -&gt; <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a></p><p class="src"><a href="#v:hashMix64">hashMix64</a> :: <a href="Foundation.html#t:Word64">Word64</a> -&gt; <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a> -&gt; <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a></p><p class="src"><a href="#v:hashMixBytes">hashMixBytes</a> :: <a href="Foundation-Primitive.html#t:PrimType">PrimType</a> e =&gt; <a href="Foundation-Array-Internal.html#t:UArray">UArray</a> e -&gt; <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a> -&gt; <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a></p></div></div></td></tr></table></div></div></div><h1 id="g:1">Specific methods</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:FNV1_32" class="def">FNV1_32</a> <a href="src/Foundation-Hashing-FNV.html#FNV1_32" class="link">Source</a> <a href="#t:FNV1_32" class="selflink">#</a></p><div class="doc"><p>FNV1 32 bit state</p></div><div class="subs instances"><p id="control.i:FNV1_32" class="caption collapser" onclick="toggleSection('i:FNV1_32')">Instances</p><div id="section.i:FNV1_32" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FNV1_32:Hasher:1" class="instance expander" onclick="toggleSection('i:id:FNV1_32:Hasher:1')"></span> <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a></span> <a href="src/Foundation-Hashing-FNV.html#line-79" class="link">Source</a> <a href="#t:FNV1_32" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:FNV1_32:Hasher:1" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> HashResult <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p><p class="src"><span class="keyword">type</span> HashInitParam <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashNew">hashNew</a> :: <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a></p><p class="src"><a href="#v:hashNewParam">hashNewParam</a> :: HashInitParam <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a></p><p class="src"><a href="#v:hashEnd">hashEnd</a> :: <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a> -&gt; HashResult <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a></p><p class="src"><a href="#v:hashMix8">hashMix8</a> :: <a href="Foundation.html#t:Word8">Word8</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a></p><p class="src"><a href="#v:hashMix16">hashMix16</a> :: <a href="Foundation.html#t:Word16">Word16</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a></p><p class="src"><a href="#v:hashMix32">hashMix32</a> :: <a href="Foundation.html#t:Word32">Word32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a></p><p class="src"><a href="#v:hashMix64">hashMix64</a> :: <a href="Foundation.html#t:Word64">Word64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a></p><p class="src"><a href="#v:hashMixBytes">hashMixBytes</a> :: <a href="Foundation-Primitive.html#t:PrimType">PrimType</a> e =&gt; <a href="Foundation-Array-Internal.html#t:UArray">UArray</a> e -&gt; <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_32">FNV1_32</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:FNV1_64" class="def">FNV1_64</a> <a href="src/Foundation-Hashing-FNV.html#FNV1_64" class="link">Source</a> <a href="#t:FNV1_64" class="selflink">#</a></p><div class="doc"><p>FNV1 64 bit state</p></div><div class="subs instances"><p id="control.i:FNV1_64" class="caption collapser" onclick="toggleSection('i:FNV1_64')">Instances</p><div id="section.i:FNV1_64" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FNV1_64:Hasher:1" class="instance expander" onclick="toggleSection('i:id:FNV1_64:Hasher:1')"></span> <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a></span> <a href="src/Foundation-Hashing-FNV.html#line-97" class="link">Source</a> <a href="#t:FNV1_64" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:FNV1_64:Hasher:1" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> HashResult <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p><p class="src"><span class="keyword">type</span> HashInitParam <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashNew">hashNew</a> :: <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a></p><p class="src"><a href="#v:hashNewParam">hashNewParam</a> :: HashInitParam <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a></p><p class="src"><a href="#v:hashEnd">hashEnd</a> :: <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a> -&gt; HashResult <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a></p><p class="src"><a href="#v:hashMix8">hashMix8</a> :: <a href="Foundation.html#t:Word8">Word8</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a></p><p class="src"><a href="#v:hashMix16">hashMix16</a> :: <a href="Foundation.html#t:Word16">Word16</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a></p><p class="src"><a href="#v:hashMix32">hashMix32</a> :: <a href="Foundation.html#t:Word32">Word32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a></p><p class="src"><a href="#v:hashMix64">hashMix64</a> :: <a href="Foundation.html#t:Word64">Word64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a></p><p class="src"><a href="#v:hashMixBytes">hashMixBytes</a> :: <a href="Foundation-Primitive.html#t:PrimType">PrimType</a> e =&gt; <a href="Foundation-Array-Internal.html#t:UArray">UArray</a> e -&gt; <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1_64">FNV1_64</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:FNV1a_32" class="def">FNV1a_32</a> <a href="src/Foundation-Hashing-FNV.html#FNV1a_32" class="link">Source</a> <a href="#t:FNV1a_32" class="selflink">#</a></p><div class="doc"><p>FNV1a 32 bit state</p></div><div class="subs instances"><p id="control.i:FNV1a_32" class="caption collapser" onclick="toggleSection('i:FNV1a_32')">Instances</p><div id="section.i:FNV1a_32" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FNV1a_32:Hasher:1" class="instance expander" onclick="toggleSection('i:id:FNV1a_32:Hasher:1')"></span> <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a></span> <a href="src/Foundation-Hashing-FNV.html#line-88" class="link">Source</a> <a href="#t:FNV1a_32" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:FNV1a_32:Hasher:1" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> HashResult <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p><p class="src"><span class="keyword">type</span> HashInitParam <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashNew">hashNew</a> :: <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a></p><p class="src"><a href="#v:hashNewParam">hashNewParam</a> :: HashInitParam <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a></p><p class="src"><a href="#v:hashEnd">hashEnd</a> :: <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a> -&gt; HashResult <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a></p><p class="src"><a href="#v:hashMix8">hashMix8</a> :: <a href="Foundation.html#t:Word8">Word8</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a></p><p class="src"><a href="#v:hashMix16">hashMix16</a> :: <a href="Foundation.html#t:Word16">Word16</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a></p><p class="src"><a href="#v:hashMix32">hashMix32</a> :: <a href="Foundation.html#t:Word32">Word32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a></p><p class="src"><a href="#v:hashMix64">hashMix64</a> :: <a href="Foundation.html#t:Word64">Word64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a></p><p class="src"><a href="#v:hashMixBytes">hashMixBytes</a> :: <a href="Foundation-Primitive.html#t:PrimType">PrimType</a> e =&gt; <a href="Foundation-Array-Internal.html#t:UArray">UArray</a> e -&gt; <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_32">FNV1a_32</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:FNV1a_64" class="def">FNV1a_64</a> <a href="src/Foundation-Hashing-FNV.html#FNV1a_64" class="link">Source</a> <a href="#t:FNV1a_64" class="selflink">#</a></p><div class="doc"><p>FNV1a 64 bit state</p></div><div class="subs instances"><p id="control.i:FNV1a_64" class="caption collapser" onclick="toggleSection('i:FNV1a_64')">Instances</p><div id="section.i:FNV1a_64" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FNV1a_64:Hasher:1" class="instance expander" onclick="toggleSection('i:id:FNV1a_64:Hasher:1')"></span> <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a></span> <a href="src/Foundation-Hashing-FNV.html#line-106" class="link">Source</a> <a href="#t:FNV1a_64" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:FNV1a_64:Hasher:1" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> HashResult <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p><p class="src"><span class="keyword">type</span> HashInitParam <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashNew">hashNew</a> :: <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a></p><p class="src"><a href="#v:hashNewParam">hashNewParam</a> :: HashInitParam <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a></p><p class="src"><a href="#v:hashEnd">hashEnd</a> :: <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a> -&gt; HashResult <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a></p><p class="src"><a href="#v:hashMix8">hashMix8</a> :: <a href="Foundation.html#t:Word8">Word8</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a></p><p class="src"><a href="#v:hashMix16">hashMix16</a> :: <a href="Foundation.html#t:Word16">Word16</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a></p><p class="src"><a href="#v:hashMix32">hashMix32</a> :: <a href="Foundation.html#t:Word32">Word32</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a></p><p class="src"><a href="#v:hashMix64">hashMix64</a> :: <a href="Foundation.html#t:Word64">Word64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a></p><p class="src"><a href="#v:hashMixBytes">hashMixBytes</a> :: <a href="Foundation-Primitive.html#t:PrimType">PrimType</a> e =&gt; <a href="Foundation-Array-Internal.html#t:UArray">UArray</a> e -&gt; <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a> -&gt; <a href="Foundation-Hashing.html#t:FNV1a_64">FNV1a_64</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Sip1_3" class="def">Sip1_3</a> <a href="src/Foundation-Hashing-SipHash.html#Sip1_3" class="link">Source</a> <a href="#t:Sip1_3" class="selflink">#</a></p><div class="doc"><p>Sip State 1-3 (1 compression rounds, 3 digest rounds)</p></div><div class="subs instances"><p id="control.i:Sip1_3" class="caption collapser" onclick="toggleSection('i:Sip1_3')">Instances</p><div id="section.i:Sip1_3" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Sip1_3:Hasher:1" class="instance expander" onclick="toggleSection('i:id:Sip1_3:Hasher:1')"></span> <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a></span> <a href="src/Foundation-Hashing-SipHash.html#line-59" class="link">Source</a> <a href="#t:Sip1_3" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Sip1_3:Hasher:1" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> HashResult <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p><p class="src"><span class="keyword">type</span> HashInitParam <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashNew">hashNew</a> :: <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a></p><p class="src"><a href="#v:hashNewParam">hashNewParam</a> :: HashInitParam <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a> -&gt; <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a></p><p class="src"><a href="#v:hashEnd">hashEnd</a> :: <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a> -&gt; HashResult <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a></p><p class="src"><a href="#v:hashMix8">hashMix8</a> :: <a href="Foundation.html#t:Word8">Word8</a> -&gt; <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a> -&gt; <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a></p><p class="src"><a href="#v:hashMix16">hashMix16</a> :: <a href="Foundation.html#t:Word16">Word16</a> -&gt; <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a> -&gt; <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a></p><p class="src"><a href="#v:hashMix32">hashMix32</a> :: <a href="Foundation.html#t:Word32">Word32</a> -&gt; <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a> -&gt; <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a></p><p class="src"><a href="#v:hashMix64">hashMix64</a> :: <a href="Foundation.html#t:Word64">Word64</a> -&gt; <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a> -&gt; <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a></p><p class="src"><a href="#v:hashMixBytes">hashMixBytes</a> :: <a href="Foundation-Primitive.html#t:PrimType">PrimType</a> e =&gt; <a href="Foundation-Array-Internal.html#t:UArray">UArray</a> e -&gt; <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a> -&gt; <a href="Foundation-Hashing.html#t:Sip1_3">Sip1_3</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Sip2_4" class="def">Sip2_4</a> <a href="src/Foundation-Hashing-SipHash.html#Sip2_4" class="link">Source</a> <a href="#t:Sip2_4" class="selflink">#</a></p><div class="doc"><p>Sip State 2-4 (2 compression rounds, 4 digest rounds)</p></div><div class="subs instances"><p id="control.i:Sip2_4" class="caption collapser" onclick="toggleSection('i:Sip2_4')">Instances</p><div id="section.i:Sip2_4" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Sip2_4:Hasher:1" class="instance expander" onclick="toggleSection('i:id:Sip2_4:Hasher:1')"></span> <a href="Foundation-Hashing.html#t:Hasher">Hasher</a> <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a></span> <a href="src/Foundation-Hashing-SipHash.html#line-48" class="link">Source</a> <a href="#t:Sip2_4" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Sip2_4:Hasher:1" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> HashResult <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p><p class="src"><span class="keyword">type</span> HashInitParam <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:hashNew">hashNew</a> :: <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a></p><p class="src"><a href="#v:hashNewParam">hashNewParam</a> :: HashInitParam <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a> -&gt; <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a></p><p class="src"><a href="#v:hashEnd">hashEnd</a> :: <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a> -&gt; HashResult <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a></p><p class="src"><a href="#v:hashMix8">hashMix8</a> :: <a href="Foundation.html#t:Word8">Word8</a> -&gt; <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a> -&gt; <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a></p><p class="src"><a href="#v:hashMix16">hashMix16</a> :: <a href="Foundation.html#t:Word16">Word16</a> -&gt; <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a> -&gt; <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a></p><p class="src"><a href="#v:hashMix32">hashMix32</a> :: <a href="Foundation.html#t:Word32">Word32</a> -&gt; <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a> -&gt; <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a></p><p class="src"><a href="#v:hashMix64">hashMix64</a> :: <a href="Foundation.html#t:Word64">Word64</a> -&gt; <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a> -&gt; <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a></p><p class="src"><a href="#v:hashMixBytes">hashMixBytes</a> :: <a href="Foundation-Primitive.html#t:PrimType">PrimType</a> e =&gt; <a href="Foundation-Array-Internal.html#t:UArray">UArray</a> e -&gt; <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a> -&gt; <a href="Foundation-Hashing.html#t:Sip2_4">Sip2_4</a></p></div></div></td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.3</p></div></body></html>