[MLton-commit] r7211
Wesley Terpstra
wesley at mlton.org
Tue Jul 7 14:46:08 PDT 2009
Regression checking multiple-step composition
----------------------------------------------------------------------
A mlton/trunk/regression/conversion.ok
A mlton/trunk/regression/conversion.sml
----------------------------------------------------------------------
Added: mlton/trunk/regression/conversion.ok
===================================================================
--- mlton/trunk/regression/conversion.ok 2009-07-07 15:18:12 UTC (rev 7210)
+++ mlton/trunk/regression/conversion.ok 2009-07-07 21:46:07 UTC (rev 7211)
@@ -0,0 +1,92 @@
+01237F7EFEFF
+01237F7EFEFF
+01237F7EFEFF
+01237F7EFEFF
+01237F7EFEFF
+FFFEFF01237F7EFEFF
+FFFEFF01237F7EFEFF
+FFFEFF01237F7EFEFF
+FFFEFF01237F7EFEFF
+FFFEFF01237F7EFEFF
+FFFEFF01237F7EFEFF
+FFFEFF01237F7EFEFF
+FFFEFFFFFEFF01237F7EFEFF
+FFFEFFFFFEFF01237F7EFEFF
+FFFEFFFFFEFF01237F7EFEFF
+FFFEFFFFFEFF01237F7EFEFF
+FFFEFFFFFEFFFFFEFF01237F7EFEFF
+FFFEFFFFFEFFFFFEFF01237F7EFEFF
+FFFEFFFFFEFFFFFEFF01237F7EFEFF
+FFFEFFFFFEFFFFFEFF01237F7EFEFF
+01237F7EFEFF
+01237F7EFFFEFFFF
+01237F7EFEFF
+01237F7EFEFF
+01237F7EFEFF
+7FFFFFFEFFFF01237F7EFEFF
+7FFFFFFEFFFF01237F7EFEFF
+7FFFFFFEFFFF01237F7EFEFF
+7FFFFFFEFFFF01237F7EFEFF
+7FFFFFFEFFFF01237F7EFEFF
+7FFFFFFEFFFF01237F7EFEFF
+FFFEFF01237F7EFEFF
+FFFEFF01237F7EFEFF
+FFFFFFFEFFFF01237F7EFFFEFFFF
+FFFFFFFEFFFF01237F7EFFFEFFFF
+FFFEFFFFFEFF01237F7EFEFF
+FFFEFFFFFEFF01237F7EFEFF
+FFFFFFFEFFFFFFFFFFFEFFFF01237F7EFFFEFFFF
+FFFFFFFEFFFFFFFFFFFEFFFF01237F7EFFFEFFFF
+FFFFFFFEFFFF7FFFFFFEFFFF01237F7EFEFF
+FFFFFFFEFFFF7FFFFFFEFFFF01237F7EFEFF
+FFFFFFFEFFFF7FFFFFFEFFFF01237F7EFEFF
+FFFFFFFEFFFF7FFFFFFEFFFF01237F7EFEFF
+FFFEFFFFFEFFFFFEFF01237F7EFEFF
+FFFEFFFFFEFFFFFEFF01237F7EFEFF
+FFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFEFFFF01237F7EFFFEFFFF
+FFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFEFFFF01237F7EFFFEFFFF
+FFFFFFFEFFFFFFFFFFFEFFFF7FFFFFFEFFFF01237F7EFEFF
+FFFFFFFEFFFFFFFFFFFEFFFF7FFFFFFEFFFF01237F7EFEFF
+FFFFFFFEFFFFFFFFFFFEFFFF7FFFFFFEFFFF01237F7EFEFF
+FFFFFFFEFFFFFFFFFFFEFFFF7FFFFFFEFFFF01237F7EFEFF
+01237F7EFEFF
+01237F7EFFFEFFFF
+01237F7EFEFF
+01237F7EFFFFFFFEFFFFFFFF
+FFFFFFFFFFFFFFFEFFFFFFFF01237F7EFFFFFFFEFFFFFFFF
+FFFEFF01237F7EFEFF
+7FFFFFFEFFFF01237F7EFEFF
+7FFFFFFFFFFEFFFFFFFF01237F7EFEFF
+7FFFFFFFFFFFFFFEFFFFFFFF7FFFFFFEFFFF01237F7EFEFF
+7FFFFFFFFFFFFFFEFFFFFFFF7FFFFFFEFFFF01237F7EFEFF
+7FFFFFFFFFFFFFFEFFFFFFFF7FFFFFFEFFFF01237F7EFEFF
+7FFFFFFFFFFFFFFEFFFFFFFF7FFFFFFEFFFF01237F7EFEFF
+7FFFFFFFFFFFFFFEFFFFFFFF7FFFFFFEFFFF01237F7EFEFF
+7FFFFFFFFFFFFFFEFFFFFFFF7FFFFFFEFFFF01237F7EFEFF
+FFFEFFFFFEFF01237F7EFEFF
+FFFEFFFFFEFF01237F7EFEFF
+FFFFFFFFFFFFFFFEFFFFFFFF7FFFFFFFFFFEFFFFFFFF01237F7EFEFF
+FFFFFFFFFFFFFFFEFFFFFFFF7FFFFFFFFFFEFFFFFFFF01237F7EFEFF
+01237F7EFEFF
+01237F7EFFFEFFFF
+01237F7EFEFF
+01237F7EFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF
+01237F7EFEFF
+01237F7EFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF
+7FFFFFFEFFFF01237F7EFEFF
+7FFFFFFFFFFEFFFFFFFF01237F7EFEFF
+7FFFFFFEFFFF01237F7EFEFF
+7FFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF01237F7EFEFF
+FFFEFF01237F7EFEFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF01237F7EFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF01237F7EFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF
+7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF7FFFFFFFFFFFFFFEFFFFFFFF7FFFFFFEFFFF01237F7EFEFF
+7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF7FFFFFFFFFFFFFFEFFFFFFFF7FFFFFFEFFFF01237F7EFEFF
+7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF7FFFFFFFFFFFFFFEFFFFFFFF7FFFFFFEFFFF01237F7EFEFF
+7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF7FFFFFFFFFFFFFFEFFFFFFFF7FFFFFFEFFFF01237F7EFEFF
+7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF7FFFFFFFFFFFFFFEFFFFFFFF7FFFFFFEFFFF01237F7EFEFF
+7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF7FFFFFFFFFFFFFFEFFFFFFFF7FFFFFFEFFFF01237F7EFEFF
+FFFFFFFFFFFFFFFEFFFFFFFF7FFFFFFFFFFFFFFEFFFFFFFF7FFFFFFEFFFF01237F7EFEFF
+FFFFFFFFFFFFFFFEFFFFFFFF7FFFFFFFFFFFFFFEFFFFFFFF7FFFFFFEFFFF01237F7EFEFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF7FFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF01237F7EFEFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF7FFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF01237F7EFEFF
Added: mlton/trunk/regression/conversion.sml
===================================================================
--- mlton/trunk/regression/conversion.sml 2009-07-07 15:18:12 UTC (rev 7210)
+++ mlton/trunk/regression/conversion.sml 2009-07-07 21:46:07 UTC (rev 7211)
@@ -0,0 +1,166 @@
+val w8t16 = Word16.fromLarge o Word8.toLarge
+val w16t32 = Word32.fromLarge o Word16.toLarge
+val w32t64 = Word64.fromLarge o Word32.toLarge
+
+(* All of these should become no-ops *)
+val id8_1 = Word8.fromLarge o Word8.toLarge
+val id8_2 = Word8.fromLarge o Word8.toLargeX
+val id8_3 = Word8.fromLarge o Word16.toLarge o Word16.fromLarge o Word8.toLarge
+val id8_4 = Word8.fromLarge o Word16.toLargeX o Word16.fromLarge o Word8.toLargeX
+val id8_5 = Word8.fromLarge o Word16.toLarge o Word16.fromLarge o Word8.toLargeX
+
+val id16_1 = Word16.fromLarge o Word16.toLarge
+val id16_2 = Word16.fromLarge o Word16.toLargeX
+val id16_3 = Word16.fromLarge o Word32.toLarge o Word32.fromLarge o Word16.toLarge
+val id16_4 = Word16.fromLarge o Word32.toLarge o Word32.fromLarge o Word16.toLargeX
+val id16_5 = Word16.fromLarge o Word32.toLargeX o Word32.fromLarge o Word16.toLarge
+val id16_6 = Word16.fromLarge o Word32.toLargeX o Word32.fromLarge o Word16.toLargeX
+val xx16_1 = Word16.fromLarge o Word8.toLarge o Word8.fromLarge o Word16.toLarge
+val xx16_2 = Word16.fromLarge o Word8.toLarge o Word8.fromLarge o Word16.toLargeX
+val xx16_3 = Word16.fromLarge o Word8.toLargeX o Word8.fromLarge o Word16.toLarge
+val xx16_4 = Word16.fromLarge o Word8.toLargeX o Word8.fromLarge o Word16.toLargeX
+
+val id32_1 = Word32.fromLarge o Word32.toLarge
+val id32_2 = Word32.fromLarge o Word32.toLargeX
+val id32_3 = Word32.fromLarge o Word64.toLarge o Word64.fromLarge o Word32.toLarge
+val id32_4 = Word32.fromLarge o Word64.toLarge o Word64.fromLarge o Word32.toLargeX
+val id32_5 = Word32.fromLarge o Word64.toLargeX o Word64.fromLarge o Word32.toLarge
+val id32_6 = Word32.fromLarge o Word64.toLargeX o Word64.fromLarge o Word32.toLargeX
+val xx32_1 = Word32.fromLarge o Word8.toLarge o Word8.fromLarge o Word32.toLarge
+val xx32_2 = Word32.fromLarge o Word8.toLarge o Word8.fromLarge o Word32.toLargeX
+val xx32_3 = Word32.fromLarge o Word16.toLargeX o Word16.fromLarge o Word32.toLarge
+val xx32_4 = Word32.fromLarge o Word16.toLargeX o Word16.fromLarge o Word32.toLargeX
+
+val id64_1 = Word64.fromLarge o Word64.toLarge
+val id64_2 = Word64.fromLarge o Word64.toLargeX
+val id64_3 = Word64.fromLarge o Word64.toLarge o Word64.fromLarge o Word64.toLarge
+val id64_4 = Word64.fromLarge o Word64.toLarge o Word64.fromLarge o Word64.toLargeX
+val id64_5 = Word64.fromLarge o Word64.toLargeX o Word64.fromLarge o Word64.toLarge
+val id64_6 = Word64.fromLarge o Word64.toLargeX o Word64.fromLarge o Word64.toLargeX
+val xx64_1 = Word64.fromLarge o Word32.toLarge o Word32.fromLarge o Word64.toLarge
+val xx64_2 = Word64.fromLarge o Word32.toLarge o Word32.fromLarge o Word64.toLargeX
+val xx64_3 = Word64.fromLarge o Word16.toLargeX o Word16.fromLarge o Word64.toLarge
+val xx64_4 = Word64.fromLarge o Word16.toLargeX o Word16.fromLarge o Word64.toLargeX
+
+val c8t16_1 = Word16.fromLarge o Word8.toLarge
+val c8t16_2 = Word16.fromLarge o Word8.toLargeX
+val c8t16_3 = Word16.fromLarge o Word8.toLarge o id8_3
+val c8t16_4 = Word16.fromLarge o Word8.toLarge o id8_4
+val c8t16_5 = Word16.fromLarge o Word8.toLarge o id8_5
+
+val c8t32_1 = Word32.fromLarge o Word16.toLarge o Word16.fromLarge o Word8.toLarge
+val c8t32_2 = Word32.fromLarge o Word16.toLarge o Word16.fromLarge o Word8.toLargeX
+val c8t32_3 = Word32.fromLarge o Word16.toLargeX o Word16.fromLarge o Word8.toLarge
+val c8t32_4 = Word32.fromLarge o Word16.toLargeX o Word16.fromLarge o Word8.toLargeX
+
+val c8t64_1 = Word64.fromLarge o Word16.toLarge o Word16.fromLarge o Word8.toLarge
+val c8t64_2 = Word64.fromLarge o Word16.toLarge o Word16.fromLarge o Word8.toLargeX
+val c8t64_3 = Word64.fromLarge o Word16.toLargeX o Word16.fromLarge o Word8.toLarge
+val c8t64_4 = Word64.fromLarge o Word16.toLargeX o Word16.fromLarge o Word8.toLargeX
+val c8t64_5 = Word64.fromLarge o Word8.toLarge o Word8.fromLarge o Word16.toLarge o Word16.fromLarge o Word8.toLarge
+val c8t64_6 = Word64.fromLarge o Word8.toLargeX o Word8.fromLarge o Word16.toLarge o Word16.fromLarge o Word8.toLargeX
+
+val c16t8_1 = Word8.fromLarge o Word16.toLarge
+val c16t8_2 = Word8.fromLarge o Word16.toLargeX
+val c16t8_3 = Word8.fromLarge o Word32.toLarge o Word32.fromLarge o Word16.toLargeX
+val c16t8_4 = id8_3 o Word8.fromLarge o Word16.toLargeX
+val c16t8_5 = id8_4 o Word8.fromLarge o Word16.toLarge
+val c16t8_6 = id8_5 o Word8.fromLarge o Word16.toLargeX
+
+(* These tests rely on Int = Int32 to be useful *)
+val w16t8z = Word8.fromInt o Word16.toInt
+val w16t8s = Word8.fromInt o Word16.toIntX
+
+val c16t32_1 = Word32.fromLarge o Word8.toLargeX o Word8.fromLarge o Word16.toLarge
+val c16t32_2 = Word32.fromLarge o Word8.toLarge o Word8.fromLarge o Word16.toLargeX
+val c16t32_3 = Word32.fromLarge o Word16.toLarge
+val c16t32_4 = Word32.fromLarge o Word16.toLargeX
+
+val c16t64_1 = Word64.fromLarge o Word32.toLarge o Word32.fromLarge o Word16.toLarge
+val c16t64_2 = Word64.fromLarge o Word32.toLarge o Word32.fromLarge o Word16.toLargeX
+val c16t64_3 = Word64.fromLarge o Word32.toLargeX o Word32.fromLarge o Word16.toLarge
+val c16t64_4 = Word64.fromLarge o Word32.toLargeX o Word32.fromLarge o Word16.toLargeX
+val c16t64_5 = Word64.fromLarge o Word8.toLarge o Word8.fromLarge o Word16.toLarge
+val c16t64_6 = Word64.fromLarge o Word8.toLarge o Word8.fromLarge o Word16.toLargeX
+val c16t64_7 = Word64.fromLarge o Word8.toLargeX o Word8.fromLarge o Word16.toLarge
+val c16t64_8 = Word64.fromLarge o Word8.toLargeX o Word8.fromLarge o Word16.toLargeX
+
+val c32t8_1 = id8_4 o Word8.fromLarge o Word32.toLarge o id32_1
+val c32t8_2 = id8_3 o Word8.fromLarge o Word32.toLargeX o id32_2
+val c32t8_3 = id8_2 o Word8.fromLarge o Word32.toLarge o id32_3
+val c32t8_4 = id8_1 o Word8.fromLarge o Word32.toLargeX o id32_4
+
+val c32t16_1 = Word16.fromLarge o Word8.toLarge o Word8.fromLarge o Word32.toLarge
+val c32t16_2 = Word16.fromLarge o Word8.toLarge o Word8.fromLarge o Word32.toLargeX
+val c32t16_3 = Word16.fromLarge o Word8.toLargeX o Word8.fromLarge o Word32.toLarge
+val c32t16_4 = Word16.fromLarge o Word8.toLargeX o Word8.fromLarge o Word32.toLargeX
+val c32t16_5 = Word16.fromLarge o Word64.toLarge o Word64.fromLarge o Word32.toLarge
+val c32t16_6 = Word16.fromLarge o Word64.toLargeX o Word64.fromLarge o Word32.toLarge
+val c32t16_7 = Word16.fromLarge o Word64.toLarge o Word64.fromLarge o Word32.toLargeX
+val c32t16_8 = Word16.fromLarge o Word64.toLargeX o Word64.fromLarge o Word32.toLargeX
+
+val c64t8_1 = id8_4 o Word8.fromLarge o Word64.toLarge o id64_1
+val c64t8_2 = id8_3 o Word8.fromLarge o Word64.toLargeX o id64_2
+val c64t8_3 = id8_2 o Word8.fromLarge o Word64.toLarge o id64_3
+val c64t8_4 = id8_1 o Word8.fromLarge o Word64.toLargeX o id64_4
+
+val c64t16_1 = Word16.fromLarge o Word8.toLarge o Word8.fromLarge o Word64.toLarge
+val c64t16_2 = Word16.fromLarge o Word8.toLarge o Word8.fromLarge o Word64.toLargeX
+val c64t16_3 = Word16.fromLarge o Word8.toLargeX o Word8.fromLarge o Word64.toLarge
+val c64t16_4 = Word16.fromLarge o Word8.toLargeX o Word8.fromLarge o Word64.toLargeX
+val c64t16_5 = Word16.fromLarge o Word32.toLarge o Word32.fromLarge o Word64.toLarge
+val c64t16_6 = Word16.fromLarge o Word32.toLargeX o Word32.fromLarge o Word64.toLarge
+val c64t16_7 = Word16.fromLarge o Word32.toLarge o Word32.fromLarge o Word64.toLargeX
+val c64t16_8 = Word16.fromLarge o Word32.toLargeX o Word32.fromLarge o Word64.toLargeX
+
+val f8t8 = [ id8_1, id8_2, id8_3, id8_4, id8_5 ]
+val f8t16 = [ c8t16_1, c8t16_2, c8t16_3, c8t16_4, c8t16_5 ]
+val f8t32 = [ c8t32_1, c8t32_2, c8t32_3, c8t32_4 ]
+val f8t64 = [ c8t64_1, c8t64_2, c8t64_3, c8t64_4, c8t64_5, c8t64_6 ]
+
+val f16t8 = [ c16t8_1, c16t8_2, c16t8_3, c16t8_5, c16t8_6, w16t8z, w16t8s ]
+val f16t16 = [ id16_1, id16_2, id16_3, id16_4, id16_5, id16_6, xx16_1, xx16_2, xx16_3, xx16_4 ]
+val f16t32 = [ c16t32_1, c16t32_2, c16t32_3, c16t32_4 ]
+val f16t64 = [ c16t64_1, c16t64_2, c16t64_3, c16t64_4, c16t64_6, c16t64_7, c16t64_8 ]
+
+val f32t8 = [ c32t8_1, c32t8_2, c32t8_3, c32t8_4 ]
+val f32t16 = [ c32t16_1, c32t16_2, c32t16_3, c32t16_4, c32t16_5, c32t16_6, c32t16_7, c32t16_8 ]
+val f32t32 = [ id32_1, id32_2, id32_3, id32_4, id32_5, id32_6, xx32_1, xx32_2, xx32_3, xx32_4 ]
+val f32t64 = [ ]
+
+val f64t8 = [ c64t8_1, c64t8_2, c64t8_3, c64t8_4 ]
+val f64t16 = [ c64t16_1, c64t16_2, c64t16_3, c64t16_4, c64t16_5, c64t16_6, c64t16_7, c64t16_8 ]
+val f64t32 = [ ]
+val f64t64 = [ id64_1, id64_2, id64_3, id64_4, id64_5, id64_6, xx64_1, xx64_2, xx64_3, xx64_4 ]
+
+val x8 = [ 0w0, 0w1, 0w2, 0w3, 0wx7f, 0wx7e, 0wxfe, 0wxff ]
+val x16 = [ 0wx7fff, 0wxfffe, 0wxffff ] @ List.map w8t16 x8
+val x32 = [ 0wx7fffffff, 0wxfffffffe, 0wxffffffff ] @ List.map w16t32 x16
+val x64 = [ 0wx7fffffffffffffff, 0wxfffffffffffffffe, 0wxffffffffffffffff ] @ List.map w32t64 x32
+
+fun doit (out, xl) f =
+ let
+ val () = List.app (print o out o f) xl
+ in
+ print "\n"
+ end
+
+val () = List.app (doit (Word8.toString, x8)) f8t8
+val () = List.app (doit (Word8.toString, x16)) f16t8
+val () = List.app (doit (Word8.toString, x32)) f32t8
+val () = List.app (doit (Word8.toString, x64)) f64t8
+
+val () = List.app (doit (Word16.toString, x8)) f8t16
+val () = List.app (doit (Word16.toString, x16)) f16t16
+val () = List.app (doit (Word16.toString, x32)) f32t16
+val () = List.app (doit (Word16.toString, x64)) f64t16
+
+val () = List.app (doit (Word32.toString, x8)) f8t32
+val () = List.app (doit (Word32.toString, x16)) f16t32
+val () = List.app (doit (Word32.toString, x32)) f32t32
+val () = List.app (doit (Word32.toString, x64)) f64t32
+
+val () = List.app (doit (Word64.toString, x8)) f8t64
+val () = List.app (doit (Word64.toString, x16)) f16t64
+val () = List.app (doit (Word64.toString, x32)) f32t64
+val () = List.app (doit (Word64.toString, x64)) f64t64
Property changes on: mlton/trunk/regression/conversion.sml
___________________________________________________________________
Name: svn:mergeinfo
+
More information about the MLton-commit
mailing list