Hi Bernard,
Thanks for reporting that. It was a silly error in the code that detects when a multiplication is by a power of two. I've fixed it in SVN trunk but it's probably something that should be back-ported to the 5.5 fixes branch. Note that you will have to run
"make compiler"
after "make"
to pick up the fix.

Best regards,
David

On 06/10/2012 17:41, Bernard Berthomieu wrote:
Hello,

When compiling the following function with 32 bit poly,
the compiler does not return (tried on Unixes).
No problem with 64 bit poly.

fun h x =
     let    val m = 0wx5bd1e995
     val h0 = Word.xorb( x, 0wx1e3779b9)
     val k0 = x * m
     val k1 = Word.xorb( k0, Word.>>( k0, Word.fromInt 24))
     val k2 = k1 * m
     val h1 = h0 * m
     in Word.xorb( h1, k2 )
     end;

Best Regards,
   Bernard.

_______________________________________________
polyml mailing list
[email protected]
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml
_______________________________________________
polyml mailing list
[email protected]
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml

Reply via email to