[MLton-commit] r6874
    Vesa Karvonen 
    vesak at mlton.org
       
    Sun Sep 21 05:53:12 PDT 2008
    
    
  
Allow that FixedInt.precision <= Word.wordSize, which happens to be the
case with Poly/ML 5.2 on amd64.
----------------------------------------------------------------------
U   mltonlib/trunk/com/ssh/generic/unstable/detail/value/hash.sml
----------------------------------------------------------------------
Modified: mltonlib/trunk/com/ssh/generic/unstable/detail/value/hash.sml
===================================================================
--- mltonlib/trunk/com/ssh/generic/unstable/detail/value/hash.sml	2008-09-20 22:08:10 UTC (rev 6873)
+++ mltonlib/trunk/com/ssh/generic/unstable/detail/value/hash.sml	2008-09-21 12:53:12 UTC (rev 6874)
@@ -172,7 +172,13 @@
       val real = mkReal RealOps.ops
       val word = prim id
 
-      val fixedInt = viaWord id op mod (Iso.swap Word.isoFixedInt)
+      val fixedInt =
+          case FixedInt.precision
+           of NONE => fail "FixedInt.precision = NONE"
+            | SOME p =>
+              if p <= Word.wordSize
+              then prim Word.fromFixedInt
+              else viaWord id op mod (Iso.swap Word.isoFixedInt)
       val largeInt = viaWord id op mod (Iso.swap Word.isoLargeInt)
 
       val largeReal = mkReal LargeRealOps.ops
    
    
More information about the MLton-commit
mailing list