Skip to content

Commit 874cf2b

Browse files
committed
detect mixups with nearest
1 parent 239dcdc commit 874cf2b

File tree

1 file changed

+20
-21
lines changed

1 file changed

+20
-21
lines changed

test/core/rounding-variants.wast

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -64,29 +64,29 @@
6464
(assert_return (invoke "f64.sqrt_ceil" (f64.const 0x1.fffffffffffffp1023)) (f64.const 0x1p512))
6565
(assert_return (invoke "f64.sqrt_ceil" (f64.const 0x1.ffffffffffffep1023)) (f64.const 0x1.fffffffffffffp511))
6666
(assert_return (invoke "f32.convert_ceil_i32_s" (i32.const -1)) (f32.const -0x1p0))
67-
(assert_return (invoke "f32.convert_ceil_i32_s" (i32.const 2147483647)) (f32.const 0x1p31))
67+
(assert_return (invoke "f32.convert_ceil_i32_s" (i32.const 16777217)) (f32.const 0x1.000002p24))
6868
(assert_return (invoke "f32.convert_ceil_i64_s" (i64.const 2251799817879552)) (f32.const 0x1.000002p51))
6969
(assert_return (invoke "f32.convert_ceil_i64_s" (i64.const -9221120237036896256)) (f32.const -0x1.ffdffep62))
7070
(assert_return (invoke "f64.convert_ceil_i64_s" (i64.const -9221120237036896256)) (f64.const -0x1.ffdfffffffp62))
71-
(assert_return (invoke "f64.convert_ceil_i64_s" (i64.const 9223372036854775807)) (f64.const 0x1p63))
71+
(assert_return (invoke "f64.convert_ceil_i64_s" (i64.const 9223372036854775295)) (f64.const 0x1p63))
7272
(assert_return (invoke "f64.convert_ceil_i64_u" (i64.const -9221120237036896256)) (f64.const 0x1.00100000008p63))
73-
(assert_return (invoke "f64.convert_ceil_i64_u" (i64.const 9223372036854775807)) (f64.const 0x1p63))
73+
(assert_return (invoke "f64.convert_ceil_i64_u" (i64.const -1025)) (f64.const 0x1p64))
7474
(assert_return (invoke "f64.sqrt_floor" (f64.const 0x1.ffffffffffffdp1023)) (f64.const 0x1.ffffffffffffep511))
75-
(assert_return (invoke "f64.sqrt_floor" (f64.const 0x1.fffffffffffffp1023)) (f64.const 0x1.fffffffffffffp511))
75+
(assert_return (invoke "f64.sqrt_floor" (f64.const 0x1.ffe3fffffffffp1022)) (f64.const 0x1.69fffffffffffp511))
7676
(assert_return (invoke "f64.add_floor" (f64.const 0x1.f333333333338p-983) (f64.const 0x1.3262a3d08p-1036)) (f64.const 0x1.f333333333338p-983))
7777
(assert_return (invoke "f64.add_floor" (f64.const -0x1.39dee72a8b9f5p527) (f64.const -0x1.fffffffffffffp1023)) (f64.const -inf))
7878
(assert_return (invoke "f64.add_floor" (f64.const 0x1.9738b89bc6e7fp-972) (f64.const 0x1.f333333333338p-983)) (f64.const 0x1.97771f022d4e5p-972))
7979
(assert_return (invoke "f64.add_floor" (f64.const -0x1.39dee72a8b9f5p527) (f64.const -0x1.fffffffffffffp1023)) (f64.const -inf))
8080
(assert_return (invoke "f64.sub_floor" (f64.const 0x1p-1074) (f64.const 0x1.ffffffffffffdp1023)) (f64.const -0x1.ffffffffffffdp1023))
8181
(assert_return (invoke "f64.sub_floor" (f64.const -0x1.2d0a2c4f1323ap-535) (f64.const 0x1.fffffffffffffp1023)) (f64.const -inf))
8282
(assert_return (invoke "f64.convert_floor_i64_s" (i64.const -4611686293305294848)) (f64.const -0x1.000001p62))
83-
(assert_return (invoke "f64.convert_floor_i64_s" (i64.const -4611694814520410111)) (f64.const -0x1.00002p62))
83+
(assert_return (invoke "f64.convert_floor_i64_s" (i64.const -9223372036854775295)) (f64.const -0x1p63))
8484
(assert_return (invoke "f32.add_trunc" (f32.const -0x1.84153ep-52) (f32.const -0x1.2fe95p-72)) (f32.const -0x1.84155p-52))
8585
(assert_return (invoke "f32.add_trunc" (f32.const -0x1.84153ep-52) (f32.const 0x1.7f3bccp-25)) (f32.const 0x1.7f3bcap-25))
8686
(assert_return (invoke "f32.sub_trunc" (f32.const 0x1p-149) (f32.const 0x1.7a6bcap-3)) (f32.const -0x1.7a6bc8p-3))
8787
(assert_return (invoke "f32.sub_trunc" (f32.const 0x1p-149) (f32.const -0x1p1)) (f32.const 0x1p1))
8888
(assert_return (invoke "f32.mul_trunc" (f32.const 0x1p-149) (f32.const -0x1.84153ep-52)) (f32.const -0x0p+0))
89-
(assert_return (invoke "f32.mul_trunc" (f32.const 0x1p-149) (f32.const 0x1.000002p0)) (f32.const 0x1p-149))
89+
(assert_return (invoke "f32.mul_trunc" (f32.const 0x1p-149) (f32.const 0x1.800002p0)) (f32.const 0x1p-149))
9090
(assert_return (invoke "f32.div_trunc" (f32.const 0x1.7p-145) (f32.const 0x1.cep-142)) (f32.const 0x1.97d3aap-4))
9191
(assert_return (invoke "f32.div_trunc" (f32.const 0x1p-149) (f32.const -0x1.a3d70ap-15)) (f32.const -0x1.383p-135))
9292
(assert_return (invoke "f64.add_trunc" (f64.const -0x1.2d0a2c4f1323ap-535) (f64.const 0x1p0)) (f64.const 0x1.fffffffffffffp-1))
@@ -102,47 +102,46 @@
102102
(assert_return (invoke "f32.convert_trunc_i64_s" (i64.const 1923660277)) (f32.const 0x1.caa2e6p30))
103103
(assert_return (invoke "f32.convert_trunc_i64_s" (i64.const -9223372036854775807)) (f32.const -0x0.ffffffp63))
104104
(assert_return (invoke "f32.demote_trunc_f64" (f64.const 0x1.d50afcab2f9p44)) (f32.const 0x1.d50afcp44))
105-
(assert_return (invoke "f32.demote_trunc_f64" (f64.const -0x1.d50afcab2f9p44)) (f32.const -0x1.d50afcp44))
105+
(assert_return (invoke "f32.demote_trunc_f64" (f64.const -0x1.fffffffffffffp1023)) (f32.const -0x1.fffffep127))
106106
(assert_return (invoke "f64.convert_trunc_i64_s" (i64.const -9223372036854775807)) (f64.const -0x0.fffffffffffff8p63))
107107
(assert_return (invoke "f64.convert_trunc_i64_s" (i64.const 9223372036854775806)) (f64.const 0x0.fffffffffffff8p63))
108-
109108
(assert_return (invoke "f32.sqrt_ceil" (f32.const 0x1p-149)) (f32.const 0x1.6a09e8p-75))
110109
(assert_return (invoke "f32.add_ceil" (f32.const 0x1.fffffcp-127) (f32.const 0x1.7a6bcap-3)) (f32.const 0x1.7a6bccp-3))
111110
(assert_return (invoke "f32.sub_ceil" (f32.const 0x1p-149) (f32.const -0x0.ffffffp1)) (f32.const 0x1p1))
112111
(assert_return (invoke "f32.mul_ceil" (f32.const 0x1p-149) (f32.const 0x1.000002p0)) (f32.const 0x1p-148))
113112
(assert_return (invoke "f32.div_ceil" (f32.const 0x1p-149) (f32.const 0x1.fffffcp-127)) (f32.const 0x1.000004p-23))
114113
(assert_return (invoke "f64.add_ceil" (f64.const 0x1.7a6bca5c20a9fp-3) (f64.const 0x1.fffffffffffffp1023)) (f64.const inf))
115114
(assert_return (invoke "f64.sub_ceil" (f64.const 0x1.7a6bca5c20a9fp-3) (f64.const -0x1.fffffffffffffp1023)) (f64.const inf))
116-
(assert_return (invoke "f64.mul_ceil" (f64.const 0x1p-1074) (f64.const 0x1.9e3779b97f4a8p0)) (f64.const 0x1p-1073))
115+
(assert_return (invoke "f64.mul_ceil" (f64.const 0x1p-1073) (f64.const 0x1.9e3779b97f4a8p0)) (f64.const 0x1p-1072))
117116
(assert_return (invoke "f64.div_ceil" (f64.const 0x1p-1074) (f64.const 0x1.7a6bca5c20a9fp-3)) (f64.const 0x1.8p-1072))
118-
(assert_return (invoke "f32.convert_ceil_i32_u" (i32.const -1)) (f32.const 0x1p32))
117+
(assert_return (invoke "f32.convert_ceil_i32_u" (i32.const -129)) (f32.const 0x1p32))
119118
(assert_return (invoke "f32.convert_ceil_i64_u" (i64.const -9223372036854775807)) (f32.const 0x1.000002p63))
120119
(assert_return (invoke "f32.demote_ceil_f64" (f64.const 0x1.fffffcp-1052)) (f32.const 0x1p-149))
121120
(assert_return (invoke "f64.convert_ceil_i32_s" (i32.const -1073741825)) (f64.const -0x1.00000004p30))
122121
(assert_return (invoke "f64.convert_ceil_i32_u" (i32.const -1)) (f64.const 0x1.fffffffep31))
123122
(assert_return (invoke "f64.promote_ceil_f32" (f32.const 0x1.7a6bcap-3)) (f64.const 0x1.7a6bcap-3))
124-
(assert_return (invoke "f32.sqrt_floor" (f32.const 0x1p-149)) (f32.const 0x1.6a09e6p-75))
125-
(assert_return (invoke "f32.add_floor" (f32.const 0x1p-149) (f32.const -0x0.ffffffp1)) (f32.const -0x0.ffffffp1))
126-
(assert_return (invoke "f32.sub_floor" (f32.const 0x1p-149) (f32.const 0x1.7a6bcap-3)) (f32.const -0x1.7a6bcap-3))
127-
(assert_return (invoke "f32.mul_floor" (f32.const 0x1p-149) (f32.const -0x0.ffffffp1)) (f32.const -0x1p-148))
123+
(assert_return (invoke "f32.sqrt_floor" (f32.const 0x1.8p-148)) (f32.const 0x1.3988ep-74))
124+
(assert_return (invoke "f32.add_floor" (f32.const -0x1.fffffep126) (f32.const -0x0.ffffffp125)) (f32.const -0x1.4p127))
125+
(assert_return (invoke "f32.sub_floor" (f32.const -0x1.fffffep126) (f32.const 0x1p-148)) (f32.const -0x1p127))
126+
(assert_return (invoke "f32.mul_floor" (f32.const -0x1.fffffep127) (f32.const 0x1.8p-148)) (f32.const -0x1.8p-20))
128127
(assert_return (invoke "f32.div_floor" (f32.const 0x1p-149) (f32.const -0x1p1)) (f32.const -0x1p-149))
129-
(assert_return (invoke "f64.mul_floor" (f64.const 0x1.3504f333f9de6p1) (f64.const -0x1.ffffffffffffdp1023)) (f64.const -inf))
128+
(assert_return (invoke "f64.mul_floor" (f64.const 0x1.ff007fc01fefap38) (f64.const -0x1.0080000000003p985)) (f64.const -inf))
130129
(assert_return (invoke "f64.div_floor" (f64.const 0x1.7a6bca5c20a9fp-3) (f64.const -0x1.f1e9af28p-1045)) (f64.const -inf))
130+
(assert_return (invoke "f64.div_floor" (f64.const 0x1.3ec7a13ca219bp809) (f64.const 0x1p-1074)) (f64.const 0x1.fffffffffffffp1023))
131131
(assert_return (invoke "f32.convert_floor_i32_s" (i32.const -1073741825)) (f32.const -0x1.000002p30))
132132
(assert_return (invoke "f32.convert_floor_i32_u" (i32.const -1)) (f32.const 0x1.fffffep31))
133-
(assert_return (invoke "f32.convert_floor_i64_s" (i64.const -9223372036854775807)) (f32.const -0x1p63))
134-
(assert_return (invoke "f32.convert_floor_i64_u" (i64.const -9223372036854775807)) (f32.const 0x1p63))
133+
(assert_return (invoke "f32.convert_floor_i64_s" (i64.const -262505707157575316)) (f32.const -0x1.d24dc8p57))
134+
(assert_return (invoke "f32.convert_floor_i64_u" (i64.const -2241774542048937483)) (f32.const 0x1.c1c73ap63))
135135
(assert_return (invoke "f32.demote_floor_f64" (f64.const -0x1p-1074)) (f32.const -0x1p-149))
136136
(assert_return (invoke "f64.convert_floor_i64_u" (i64.const -4503599627370499)) (f64.const 0x1.ffdffffffffffp63))
137-
138137
(assert_return (invoke "f64.convert_floor_i32_s" (i32.const -1073741825)) (f64.const -0x1.00000004p30))
139138
(assert_return (invoke "f64.convert_floor_i32_u" (i32.const -1)) (f64.const 0x1.fffffffep31))
140139
(assert_return (invoke "f64.promote_floor_f32" (f32.const 0x1.7a6bcap-3)) (f64.const 0x1.7a6bcap-3))
141-
(assert_return (invoke "f32.sqrt_trunc" (f32.const 0x1p-149)) (f32.const 0x1.6a09e6p-75))
140+
(assert_return (invoke "f32.sqrt_trunc" (f32.const 0x1.8p-148)) (f32.const 0x1.3988ep-74))
142141
(assert_return (invoke "f64.sqrt_trunc" (f64.const 0x1.ffffffffffffdp1023)) (f64.const 0x1.ffffffffffffep511))
143-
(assert_return (invoke "f64.sqrt_trunc" (f64.const 0x1.fffffffffffffp1023)) (f64.const 0x1.fffffffffffffp511))
142+
(assert_return (invoke "f64.sqrt_trunc" (f64.const 0x1.ffe3fffffffffp1022)) (f64.const 0x1.69fffffffffffp511))
144143
(assert_return (invoke "f32.convert_trunc_i32_u" (i32.const -1)) (f32.const 0x1.fffffep31))
145-
(assert_return (invoke "f32.convert_trunc_i64_u" (i64.const -9223372036854775807)) (f32.const 0x1p63))
144+
(assert_return (invoke "f32.convert_trunc_i64_u" (i64.const -2241774542048937483)) (f32.const 0x1.c1c73ap63))
146145
(assert_return (invoke "f64.convert_trunc_i32_s" (i32.const -1073741825)) (f64.const -0x1.00000004p30))
147146
(assert_return (invoke "f64.convert_trunc_i32_u" (i32.const -1)) (f64.const 0x1.fffffffep31))
148147
(assert_return (invoke "f64.convert_trunc_i64_u" (i64.const -4503599627370499)) (f64.const 0x1.ffdffffffffffp63))

0 commit comments

Comments
 (0)