[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