trunc_sat.wat (643B)
1 (module 2 (func (export "test_main") (result i32) 3 ;; Sum of saturated conversions: 4 ;; i32.trunc_sat_f32_s(NaN) = 0 5 ;; i32.trunc_sat_f32_s(+inf) = 2147483647 (INT32_MAX) 6 ;; i32.trunc_sat_f32_s(-inf) = -2147483648 (INT32_MIN) 7 ;; Adding INT32_MAX + INT32_MIN wraps to -1; +0 leaves -1. 8 ;; Finally i32.trunc_sat_f32_u(42.5) = 42; -1 + 42 + 1 = 42. 9 f32.const nan 10 i32.trunc_sat_f32_s 11 f32.const inf 12 i32.trunc_sat_f32_s 13 i32.add 14 f32.const -inf 15 i32.trunc_sat_f32_s 16 i32.add 17 f32.const 42.5 18 i32.trunc_sat_f32_u 19 i32.add 20 i32.const 1 21 i32.add))