Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 94a4f7d3ef121dc9291cc0566822165d > files > 271

ghc-MissingH-devel-1.1.0.3-2.fc14.x86_64.rpm

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
<title>src/Data/Hash/MD5/Zord64_HARD.lhs</title>
<link type='text/css' rel='stylesheet' href='hscolour.css' />
</head>
<body>
<pre><a name="line-1"></a><span class='hs-varop'>&gt;--</span> <span class='hs-cpp'>#</span><span class='hs-varid'>hide</span>
<a name="line-2"></a><span class='hs-varop'>&gt;</span> <span class='hs-keyword'>module</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Hash</span><span class='hs-varop'>.</span><span class='hs-conid'>MD5</span><span class='hs-varop'>.</span><span class='hs-conid'>Zord64_HARD</span> <span class='hs-layout'>(</span><span class='hs-conid'>Zord64</span><span class='hs-layout'>)</span> <span class='hs-keyword'>where</span>
</pre>
<pre><a name="line-1"></a><span class='hs-varop'>&gt;</span> <span class='hs-keyword'>import</span> <span class='hs-conid'>Word</span>
<a name="line-2"></a><span class='hs-varop'>&gt;</span> <span class='hs-keyword'>import</span> <span class='hs-conid'>Bits</span>
</pre>
<pre><a name="line-1"></a><span class='hs-varop'>&gt;</span> <span class='hs-keyword'>data</span> <span class='hs-conid'>Zord64</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>W64</span> <span class='hs-layout'>{</span><span class='hs-varid'>lo</span><span class='hs-layout'>,</span><span class='hs-varid'>hi</span><span class='hs-keyglyph'>::</span><span class='hs-conid'>Word32</span><span class='hs-layout'>}</span> <span class='hs-keyword'>deriving</span> <span class='hs-layout'>(</span><span class='hs-conid'>Eq</span><span class='hs-layout'>,</span> <span class='hs-conid'>Ord</span><span class='hs-layout'>,</span> <span class='hs-conid'>Bounded</span><span class='hs-layout'>)</span>
</pre>
<pre><a name="line-1"></a><span class='hs-varop'>&gt;</span> <span class='hs-definition'>w64ToInteger</span> <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>lo</span><span class='hs-layout'>,</span><span class='hs-varid'>hi</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>hi</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>toInteger</span> <span class='hs-varid'>lo</span> <span class='hs-varop'>+</span> <span class='hs-num'>0x100000000</span> <span class='hs-varop'>*</span> <span class='hs-varid'>toInteger</span> <span class='hs-varid'>hi</span>
<a name="line-2"></a><span class='hs-varop'>&gt;</span> <span class='hs-definition'>integerToW64</span> <span class='hs-varid'>x</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>case</span> <span class='hs-varid'>x</span> <span class='hs-varop'>`quotRem`</span> <span class='hs-num'>0x100000000</span> <span class='hs-keyword'>of</span>
<a name="line-3"></a><span class='hs-varop'>&gt;</span>                  <span class='hs-layout'>(</span><span class='hs-varid'>h</span><span class='hs-layout'>,</span><span class='hs-varid'>l</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>fromInteger</span> <span class='hs-varid'>l</span><span class='hs-layout'>,</span> <span class='hs-varid'>hi</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>fromInteger</span> <span class='hs-varid'>h</span><span class='hs-layout'>}</span>
</pre>
<pre><a name="line-1"></a><span class='hs-varop'>&gt;</span> <span class='hs-keyword'>instance</span> <span class='hs-conid'>Show</span> <span class='hs-conid'>Zord64</span>
</pre>
<pre><a name="line-1"></a><span class='hs-varop'>&gt;</span> <span class='hs-keyword'>instance</span> <span class='hs-conid'>Read</span> <span class='hs-conid'>Zord64</span>
</pre>
<pre><a name="line-1"></a><span class='hs-varop'>&gt;</span> <span class='hs-keyword'>instance</span> <span class='hs-conid'>Num</span> <span class='hs-conid'>Zord64</span> <span class='hs-keyword'>where</span>
<a name="line-2"></a><span class='hs-varop'>&gt;</span>  <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>lo_a</span><span class='hs-layout'>,</span><span class='hs-varid'>hi</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>hi_a</span><span class='hs-layout'>}</span> <span class='hs-varop'>+</span> <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>lo_b</span><span class='hs-layout'>,</span><span class='hs-varid'>hi</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>hi_b</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>lo'</span><span class='hs-layout'>,</span> <span class='hs-varid'>hi</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>hi'</span><span class='hs-layout'>}</span>
<a name="line-3"></a><span class='hs-varop'>&gt;</span>   <span class='hs-keyword'>where</span> <span class='hs-varid'>lo'</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>lo_a</span> <span class='hs-varop'>+</span> <span class='hs-varid'>lo_b</span>
<a name="line-4"></a><span class='hs-varop'>&gt;</span>         <span class='hs-varid'>hi'</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>hi_a</span> <span class='hs-varop'>+</span> <span class='hs-varid'>hi_b</span> <span class='hs-varop'>+</span> <span class='hs-keyword'>if</span> <span class='hs-varid'>lo'</span> <span class='hs-varop'>&lt;</span> <span class='hs-varid'>lo_a</span> <span class='hs-keyword'>then</span> <span class='hs-num'>1</span> <span class='hs-keyword'>else</span> <span class='hs-num'>0</span>
<a name="line-5"></a><span class='hs-varop'>&gt;</span>  <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>lo_a</span><span class='hs-layout'>,</span><span class='hs-varid'>hi</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>hi_a</span><span class='hs-layout'>}</span> <span class='hs-comment'>-</span> <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>lo_b</span><span class='hs-layout'>,</span><span class='hs-varid'>hi</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>hi_b</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>lo'</span><span class='hs-layout'>,</span> <span class='hs-varid'>hi</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>hi'</span><span class='hs-layout'>}</span>
<a name="line-6"></a><span class='hs-varop'>&gt;</span>   <span class='hs-keyword'>where</span> <span class='hs-varid'>lo'</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>lo_a</span> <span class='hs-comment'>-</span> <span class='hs-varid'>lo_b</span>
<a name="line-7"></a><span class='hs-varop'>&gt;</span>         <span class='hs-varid'>hi'</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>hi_a</span> <span class='hs-comment'>-</span> <span class='hs-varid'>hi_b</span> <span class='hs-varop'>+</span> <span class='hs-keyword'>if</span> <span class='hs-varid'>lo'</span> <span class='hs-varop'>&gt;</span> <span class='hs-varid'>lo_a</span> <span class='hs-keyword'>then</span> <span class='hs-num'>1</span> <span class='hs-keyword'>else</span> <span class='hs-num'>0</span>
<a name="line-8"></a><span class='hs-varop'>&gt;</span>  <span class='hs-varid'>fromInteger</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>integerToW64</span>
</pre>
<pre><a name="line-1"></a><span class='hs-varop'>&gt;</span> <span class='hs-keyword'>instance</span> <span class='hs-conid'>Bits</span> <span class='hs-conid'>Zord64</span> <span class='hs-keyword'>where</span>
<a name="line-2"></a><span class='hs-varop'>&gt;</span>  <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>lo_a</span><span class='hs-layout'>,</span><span class='hs-varid'>hi</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>hi_a</span><span class='hs-layout'>}</span> <span class='hs-varop'>.&amp;.</span> <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>lo_b</span><span class='hs-layout'>,</span><span class='hs-varid'>hi</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>hi_b</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>lo'</span><span class='hs-layout'>,</span> <span class='hs-varid'>hi</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>hi'</span><span class='hs-layout'>}</span>
<a name="line-3"></a><span class='hs-varop'>&gt;</span>   <span class='hs-keyword'>where</span> <span class='hs-varid'>lo'</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>lo_a</span> <span class='hs-varop'>.&amp;.</span> <span class='hs-varid'>lo_b</span>
<a name="line-4"></a><span class='hs-varop'>&gt;</span>         <span class='hs-varid'>hi'</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>hi_a</span> <span class='hs-varop'>.&amp;.</span> <span class='hs-varid'>hi_b</span>
<a name="line-5"></a><span class='hs-varop'>&gt;</span>  <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>lo_a</span><span class='hs-layout'>,</span><span class='hs-varid'>hi</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>hi_a</span><span class='hs-layout'>}</span> <span class='hs-varop'>.|.</span> <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>lo_b</span><span class='hs-layout'>,</span><span class='hs-varid'>hi</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>hi_b</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>lo'</span><span class='hs-layout'>,</span> <span class='hs-varid'>hi</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>hi'</span><span class='hs-layout'>}</span>
<a name="line-6"></a><span class='hs-varop'>&gt;</span>   <span class='hs-keyword'>where</span> <span class='hs-varid'>lo'</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>lo_a</span> <span class='hs-varop'>.|.</span> <span class='hs-varid'>lo_b</span>
<a name="line-7"></a><span class='hs-varop'>&gt;</span>         <span class='hs-varid'>hi'</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>hi_a</span> <span class='hs-varop'>.|.</span> <span class='hs-varid'>hi_b</span>
<a name="line-8"></a><span class='hs-varop'>&gt;</span>  <span class='hs-varid'>shift</span> <span class='hs-varid'>w</span> <span class='hs-num'>0</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>w</span>
<a name="line-9"></a><span class='hs-varop'>&gt;</span>  <span class='hs-varid'>shift</span> <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>lo</span><span class='hs-layout'>,</span><span class='hs-varid'>hi</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>hi</span><span class='hs-layout'>}</span> <span class='hs-varid'>x</span>
<a name="line-10"></a><span class='hs-varop'>&gt;</span>   <span class='hs-keyglyph'>|</span> <span class='hs-varid'>x</span> <span class='hs-varop'>&gt;</span> <span class='hs-num'>63</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span><span class='hs-keyglyph'>=</span><span class='hs-num'>0</span><span class='hs-layout'>,</span><span class='hs-varid'>hi</span><span class='hs-keyglyph'>=</span><span class='hs-num'>0</span><span class='hs-layout'>}</span>
<a name="line-11"></a><span class='hs-varop'>&gt;</span>   <span class='hs-keyglyph'>|</span> <span class='hs-varid'>x</span> <span class='hs-varop'>&gt;</span> <span class='hs-num'>31</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span> <span class='hs-keyglyph'>=</span> <span class='hs-num'>0</span><span class='hs-layout'>,</span> <span class='hs-varid'>hi</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>shift</span> <span class='hs-varid'>lo</span> <span class='hs-layout'>(</span><span class='hs-varid'>x</span><span class='hs-comment'>-</span><span class='hs-num'>32</span><span class='hs-layout'>)</span><span class='hs-layout'>}</span>
<a name="line-12"></a><span class='hs-varop'>&gt;</span>   <span class='hs-keyglyph'>|</span> <span class='hs-varid'>x</span> <span class='hs-varop'>&gt;</span> <span class='hs-num'>0</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>shift</span> <span class='hs-varid'>lo</span> <span class='hs-varid'>x</span><span class='hs-layout'>,</span> <span class='hs-varid'>hi</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>shift</span> <span class='hs-varid'>hi</span> <span class='hs-varid'>x</span> <span class='hs-varop'>.|.</span> <span class='hs-varid'>shift</span> <span class='hs-varid'>lo</span> <span class='hs-layout'>(</span><span class='hs-varid'>x</span><span class='hs-comment'>-</span><span class='hs-num'>32</span><span class='hs-layout'>)</span><span class='hs-layout'>}</span>
<a name="line-13"></a><span class='hs-varop'>&gt;</span>   <span class='hs-keyglyph'>|</span> <span class='hs-varid'>x</span> <span class='hs-varop'>&lt;</span> <span class='hs-comment'>-</span><span class='hs-num'>63</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span><span class='hs-keyglyph'>=</span><span class='hs-num'>0</span><span class='hs-layout'>,</span><span class='hs-varid'>hi</span><span class='hs-keyglyph'>=</span><span class='hs-num'>0</span><span class='hs-layout'>}</span>
<a name="line-14"></a><span class='hs-varop'>&gt;</span>   <span class='hs-keyglyph'>|</span> <span class='hs-varid'>x</span> <span class='hs-varop'>&lt;</span> <span class='hs-comment'>-</span><span class='hs-num'>31</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>shift</span> <span class='hs-varid'>hi</span> <span class='hs-layout'>(</span><span class='hs-varid'>x</span><span class='hs-varop'>+</span><span class='hs-num'>32</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>hi</span> <span class='hs-keyglyph'>=</span> <span class='hs-num'>0</span><span class='hs-layout'>}</span>
<a name="line-15"></a><span class='hs-varop'>&gt;</span>   <span class='hs-keyglyph'>|</span> <span class='hs-varid'>x</span> <span class='hs-varop'>&lt;</span> <span class='hs-num'>0</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>shift</span> <span class='hs-varid'>lo</span> <span class='hs-varid'>x</span> <span class='hs-varop'>.|.</span> <span class='hs-varid'>shift</span> <span class='hs-varid'>hi</span> <span class='hs-layout'>(</span><span class='hs-varid'>x</span><span class='hs-varop'>+</span><span class='hs-num'>32</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>hi</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>shift</span> <span class='hs-varid'>hi</span> <span class='hs-varid'>x</span><span class='hs-layout'>}</span>
<a name="line-16"></a><span class='hs-varop'>&gt;</span>  <span class='hs-varid'>complement</span> <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>lo</span><span class='hs-layout'>,</span><span class='hs-varid'>hi</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>hi</span><span class='hs-layout'>}</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>W64</span><span class='hs-layout'>{</span><span class='hs-varid'>lo</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>complement</span> <span class='hs-varid'>lo</span><span class='hs-layout'>,</span><span class='hs-varid'>hi</span><span class='hs-keyglyph'>=</span><span class='hs-varid'>complement</span> <span class='hs-varid'>hi</span><span class='hs-layout'>}</span>
</pre>
<pre><a name="line-1"></a><span class='hs-varop'>&gt;</span> <span class='hs-keyword'>instance</span> <span class='hs-conid'>Integral</span> <span class='hs-conid'>Zord64</span> <span class='hs-keyword'>where</span>
<a name="line-2"></a><span class='hs-varop'>&gt;</span>  <span class='hs-varid'>toInteger</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>w64ToInteger</span>
</pre>
<pre><a name="line-1"></a><span class='hs-varop'>&gt;</span> <span class='hs-keyword'>instance</span> <span class='hs-conid'>Real</span> <span class='hs-conid'>Zord64</span>
<a name="line-2"></a><span class='hs-varop'>&gt;</span> <span class='hs-keyword'>instance</span> <span class='hs-conid'>Enum</span> <span class='hs-conid'>Zord64</span>
</pre>
</body>
</html>