/* Copyright 2021 Mozilla Foundation
*
* Licensed under the Apache License , Version 2 . 0 ( the " License " ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing , software
* distributed under the License is distributed on an " AS IS " BASIS ,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND , either express or implied .
* See the License for the specific language governing permissions and
* limitations under the License .
*/
// ./test/core/int_exprs.wast
// ./test/core/int_exprs.wast:6
let $0 = instantiate(`(module
(func (export "i32.no_fold_cmp_s_offset" ) (param $$x i32) (param $$y i32) (result i32)
(i32.lt_s (i32.add (local.get $$x) (i32.const 1 )) (i32.add (local.get $$y) (i32.const 1 ))))
(func (export "i32.no_fold_cmp_u_offset" ) (param $$x i32) (param $$y i32) (result i32)
(i32.lt_u (i32.add (local.get $$x) (i32.const 1 )) (i32.add (local.get $$y) (i32.const 1 ))))
(func (export "i64.no_fold_cmp_s_offset" ) (param $$x i64) (param $$y i64) (result i32)
(i64.lt_s (i64.add (local.get $$x) (i64.const 1 )) (i64.add (local.get $$y) (i64.const 1 ))))
(func (export "i64.no_fold_cmp_u_offset" ) (param $$x i64) (param $$y i64) (result i32)
(i64.lt_u (i64.add (local.get $$x) (i64.const 1 )) (i64.add (local.get $$y) (i64.const 1 ))))
)`);
// ./test/core/int_exprs.wast:18
assert_return(() => invoke($0 , `i32.no_fold_cmp_s_offset`, [2147483647 , 0 ]), [value("i32" , 1 )]);
// ./test/core/int_exprs.wast:19
assert_return(() => invoke($0 , `i32.no_fold_cmp_u_offset`, [-1 , 0 ]), [value("i32" , 1 )]);
// ./test/core/int_exprs.wast:20
assert_return(
() => invoke($0 , `i64.no_fold_cmp_s_offset`, [9223372036854775807 n, 0 n]),
[value("i32" , 1 )],
);
// ./test/core/int_exprs.wast:21
assert_return(() => invoke($0 , `i64.no_fold_cmp_u_offset`, [-1 n, 0 n]), [value("i32" , 1 )]);
// ./test/core/int_exprs.wast:25
let $1 = instantiate(`(module
(func (export "i64.no_fold_wrap_extend_s" ) (param $$x i64) (result i64)
(i64.extend_i32_s (i32.wrap_i64 (local.get $$x))))
)`);
// ./test/core/int_exprs.wast:30
assert_return(
() => invoke($1 , `i64.no_fold_wrap_extend_s`, [4538991236898928 n]),
[value("i64" , 1079009392 n)],
);
// ./test/core/int_exprs.wast:31
assert_return(
() => invoke($1 , `i64.no_fold_wrap_extend_s`, [45230338458316960 n]),
[value("i64" , -790564704 n)],
);
// ./test/core/int_exprs.wast:35
let $2 = instantiate(`(module
(func (export "i64.no_fold_wrap_extend_u" ) (param $$x i64) (result i64)
(i64.extend_i32_u (i32.wrap_i64 (local.get $$x))))
)`);
// ./test/core/int_exprs.wast:40
assert_return(
() => invoke($2 , `i64.no_fold_wrap_extend_u`, [4538991236898928 n]),
[value("i64" , 1079009392 n)],
);
// ./test/core/int_exprs.wast:44
let $3 = instantiate(`(module
(func (export "i32.no_fold_shl_shr_s" ) (param $$x i32) (result i32)
(i32.shr_s (i32.shl (local.get $$x) (i32.const 1 )) (i32.const 1 )))
(func (export "i32.no_fold_shl_shr_u" ) (param $$x i32) (result i32)
(i32.shr_u (i32.shl (local.get $$x) (i32.const 1 )) (i32.const 1 )))
(func (export "i64.no_fold_shl_shr_s" ) (param $$x i64) (result i64)
(i64.shr_s (i64.shl (local.get $$x) (i64.const 1 )) (i64.const 1 )))
(func (export "i64.no_fold_shl_shr_u" ) (param $$x i64) (result i64)
(i64.shr_u (i64.shl (local.get $$x) (i64.const 1 )) (i64.const 1 )))
)`);
// ./test/core/int_exprs.wast:56
assert_return(() => invoke($3 , `i32.no_fold_shl_shr_s`, [-2147483648 ]), [value("i32" , 0 )]);
// ./test/core/int_exprs.wast:57
assert_return(() => invoke($3 , `i32.no_fold_shl_shr_u`, [-2147483648 ]), [value("i32" , 0 )]);
// ./test/core/int_exprs.wast:58
assert_return(() => invoke($3 , `i64.no_fold_shl_shr_s`, [-9223372036854775808 n]), [value("i64" , 0 n)]);
// ./test/core/int_exprs.wast:59
assert_return(() => invoke($3 , `i64.no_fold_shl_shr_u`, [-9223372036854775808 n]), [value("i64" , 0 n)]);
// ./test/core/int_exprs.wast:63
let $4 = instantiate(`(module
(func (export "i32.no_fold_shr_s_shl" ) (param $$x i32) (result i32)
(i32.shl (i32.shr_s (local.get $$x) (i32.const 1 )) (i32.const 1 )))
(func (export "i32.no_fold_shr_u_shl" ) (param $$x i32) (result i32)
(i32.shl (i32.shr_u (local.get $$x) (i32.const 1 )) (i32.const 1 )))
(func (export "i64.no_fold_shr_s_shl" ) (param $$x i64) (result i64)
(i64.shl (i64.shr_s (local.get $$x) (i64.const 1 )) (i64.const 1 )))
(func (export "i64.no_fold_shr_u_shl" ) (param $$x i64) (result i64)
(i64.shl (i64.shr_u (local.get $$x) (i64.const 1 )) (i64.const 1 )))
)`);
// ./test/core/int_exprs.wast:75
assert_return(() => invoke($4 , `i32.no_fold_shr_s_shl`, [1 ]), [value("i32" , 0 )]);
// ./test/core/int_exprs.wast:76
assert_return(() => invoke($4 , `i32.no_fold_shr_u_shl`, [1 ]), [value("i32" , 0 )]);
// ./test/core/int_exprs.wast:77
assert_return(() => invoke($4 , `i64.no_fold_shr_s_shl`, [1 n]), [value("i64" , 0 n)]);
// ./test/core/int_exprs.wast:78
assert_return(() => invoke($4 , `i64.no_fold_shr_u_shl`, [1 n]), [value("i64" , 0 n)]);
// ./test/core/int_exprs.wast:82
let $5 = instantiate(`(module
(func (export "i32.no_fold_div_s_mul" ) (param $$x i32) (result i32)
(i32.mul (i32.div_s (local.get $$x) (i32.const 6 )) (i32.const 6 )))
(func (export "i32.no_fold_div_u_mul" ) (param $$x i32) (result i32)
(i32.mul (i32.div_u (local.get $$x) (i32.const 6 )) (i32.const 6 )))
(func (export "i64.no_fold_div_s_mul" ) (param $$x i64) (result i64)
(i64.mul (i64.div_s (local.get $$x) (i64.const 6 )) (i64.const 6 )))
(func (export "i64.no_fold_div_u_mul" ) (param $$x i64) (result i64)
(i64.mul (i64.div_u (local.get $$x) (i64.const 6 )) (i64.const 6 )))
)`);
// ./test/core/int_exprs.wast:94
assert_return(() => invoke($5 , `i32.no_fold_div_s_mul`, [1 ]), [value("i32" , 0 )]);
// ./test/core/int_exprs.wast:95
assert_return(() => invoke($5 , `i32.no_fold_div_u_mul`, [1 ]), [value("i32" , 0 )]);
// ./test/core/int_exprs.wast:96
assert_return(() => invoke($5 , `i64.no_fold_div_s_mul`, [1 n]), [value("i64" , 0 n)]);
// ./test/core/int_exprs.wast:97
assert_return(() => invoke($5 , `i64.no_fold_div_u_mul`, [1 n]), [value("i64" , 0 n)]);
// ./test/core/int_exprs.wast:101
let $6 = instantiate(`(module
(func (export "i32.no_fold_div_s_self" ) (param $$x i32) (result i32)
(i32.div_s (local.get $$x) (local.get $$x)))
(func (export "i32.no_fold_div_u_self" ) (param $$x i32) (result i32)
(i32.div_u (local.get $$x) (local.get $$x)))
(func (export "i64.no_fold_div_s_self" ) (param $$x i64) (result i64)
(i64.div_s (local.get $$x) (local.get $$x)))
(func (export "i64.no_fold_div_u_self" ) (param $$x i64) (result i64)
(i64.div_u (local.get $$x) (local.get $$x)))
)`);
// ./test/core/int_exprs.wast:113
assert_trap(() => invoke($6 , `i32.no_fold_div_s_self`, [0 ]), `integer divide by zero`);
// ./test/core/int_exprs.wast:114
assert_trap(() => invoke($6 , `i32.no_fold_div_u_self`, [0 ]), `integer divide by zero`);
// ./test/core/int_exprs.wast:115
assert_trap(() => invoke($6 , `i64.no_fold_div_s_self`, [0 n]), `integer divide by zero`);
// ./test/core/int_exprs.wast:116
assert_trap(() => invoke($6 , `i64.no_fold_div_u_self`, [0 n]), `integer divide by zero`);
// ./test/core/int_exprs.wast:120
let $7 = instantiate(`(module
(func (export "i32.no_fold_rem_s_self" ) (param $$x i32) (result i32)
(i32.rem_s (local.get $$x) (local.get $$x)))
(func (export "i32.no_fold_rem_u_self" ) (param $$x i32) (result i32)
(i32.rem_u (local.get $$x) (local.get $$x)))
(func (export "i64.no_fold_rem_s_self" ) (param $$x i64) (result i64)
(i64.rem_s (local.get $$x) (local.get $$x)))
(func (export "i64.no_fold_rem_u_self" ) (param $$x i64) (result i64)
(i64.rem_u (local.get $$x) (local.get $$x)))
)`);
// ./test/core/int_exprs.wast:132
assert_trap(() => invoke($7 , `i32.no_fold_rem_s_self`, [0 ]), `integer divide by zero`);
// ./test/core/int_exprs.wast:133
assert_trap(() => invoke($7 , `i32.no_fold_rem_u_self`, [0 ]), `integer divide by zero`);
// ./test/core/int_exprs.wast:134
assert_trap(() => invoke($7 , `i64.no_fold_rem_s_self`, [0 n]), `integer divide by zero`);
// ./test/core/int_exprs.wast:135
assert_trap(() => invoke($7 , `i64.no_fold_rem_u_self`, [0 n]), `integer divide by zero`);
// ./test/core/int_exprs.wast:139
let $8 = instantiate(`(module
(func (export "i32.no_fold_mul_div_s" ) (param $$x i32) (result i32)
(i32.div_s (i32.mul (local.get $$x) (i32.const 6 )) (i32.const 6 )))
(func (export "i32.no_fold_mul_div_u" ) (param $$x i32) (result i32)
(i32.div_u (i32.mul (local.get $$x) (i32.const 6 )) (i32.const 6 )))
(func (export "i64.no_fold_mul_div_s" ) (param $$x i64) (result i64)
(i64.div_s (i64.mul (local.get $$x) (i64.const 6 )) (i64.const 6 )))
(func (export "i64.no_fold_mul_div_u" ) (param $$x i64) (result i64)
(i64.div_u (i64.mul (local.get $$x) (i64.const 6 )) (i64.const 6 )))
)`);
// ./test/core/int_exprs.wast:151
assert_return(() => invoke($8 , `i32.no_fold_mul_div_s`, [-2147483648 ]), [value("i32" , 0 )]);
// ./test/core/int_exprs.wast:152
assert_return(() => invoke($8 , `i32.no_fold_mul_div_u`, [-2147483648 ]), [value("i32" , 0 )]);
// ./test/core/int_exprs.wast:153
assert_return(() => invoke($8 , `i64.no_fold_mul_div_s`, [-9223372036854775808 n]), [value("i64" , 0 n)]);
// ./test/core/int_exprs.wast:154
assert_return(() => invoke($8 , `i64.no_fold_mul_div_u`, [-9223372036854775808 n]), [value("i64" , 0 n)]);
// ./test/core/int_exprs.wast:158
let $9 = instantiate(`(module
(func (export "i32.no_fold_div_s_2" ) (param $$x i32) (result i32)
(i32.div_s (local.get $$x) (i32.const 2 )))
(func (export "i64.no_fold_div_s_2" ) (param $$x i64) (result i64)
(i64.div_s (local.get $$x) (i64.const 2 )))
)`);
// ./test/core/int_exprs.wast:166
assert_return(() => invoke($9 , `i32.no_fold_div_s_2`, [-11 ]), [value("i32" , -5 )]);
// ./test/core/int_exprs.wast:167
assert_return(() => invoke($9 , `i64.no_fold_div_s_2`, [-11 n]), [value("i64" , -5 n)]);
// ./test/core/int_exprs.wast:171
let $10 = instantiate(`(module
(func (export "i32.no_fold_rem_s_2" ) (param $$x i32) (result i32)
(i32.rem_s (local.get $$x) (i32.const 2 )))
(func (export "i64.no_fold_rem_s_2" ) (param $$x i64) (result i64)
(i64.rem_s (local.get $$x) (i64.const 2 )))
)`);
// ./test/core/int_exprs.wast:179
assert_return(() => invoke($10 , `i32.no_fold_rem_s_2`, [-11 ]), [value("i32" , -1 )]);
// ./test/core/int_exprs.wast:180
assert_return(() => invoke($10 , `i64.no_fold_rem_s_2`, [-11 n]), [value("i64" , -1 n)]);
// ./test/core/int_exprs.wast:184
let $11 = instantiate(`(module
(func (export "i32.div_s_0" ) (param $$x i32) (result i32)
(i32.div_s (local.get $$x) (i32.const 0 )))
(func (export "i32.div_u_0" ) (param $$x i32) (result i32)
(i32.div_u (local.get $$x) (i32.const 0 )))
(func (export "i64.div_s_0" ) (param $$x i64) (result i64)
(i64.div_s (local.get $$x) (i64.const 0 )))
(func (export "i64.div_u_0" ) (param $$x i64) (result i64)
(i64.div_u (local.get $$x) (i64.const 0 )))
)`);
// ./test/core/int_exprs.wast:196
assert_trap(() => invoke($11 , `i32.div_s_0`, [71 ]), `integer divide by zero`);
// ./test/core/int_exprs.wast:197
assert_trap(() => invoke($11 , `i32.div_u_0`, [71 ]), `integer divide by zero`);
// ./test/core/int_exprs.wast:198
assert_trap(() => invoke($11 , `i64.div_s_0`, [71 n]), `integer divide by zero`);
// ./test/core/int_exprs.wast:199
assert_trap(() => invoke($11 , `i64.div_u_0`, [71 n]), `integer divide by zero`);
// ./test/core/int_exprs.wast:203
let $12 = instantiate(`(module
(func (export "i32.div_s_3" ) (param $$x i32) (result i32)
(i32.div_s (local.get $$x) (i32.const 3 )))
(func (export "i32.div_u_3" ) (param $$x i32) (result i32)
(i32.div_u (local.get $$x) (i32.const 3 )))
(func (export "i64.div_s_3" ) (param $$x i64) (result i64)
(i64.div_s (local.get $$x) (i64.const 3 )))
(func (export "i64.div_u_3" ) (param $$x i64) (result i64)
(i64.div_u (local.get $$x) (i64.const 3 )))
)`);
// ./test/core/int_exprs.wast:215
assert_return(() => invoke($12 , `i32.div_s_3`, [71 ]), [value("i32" , 23 )]);
// ./test/core/int_exprs.wast:216
assert_return(() => invoke($12 , `i32.div_s_3`, [1610612736 ]), [value("i32" , 536870912 )]);
// ./test/core/int_exprs.wast:217
assert_return(() => invoke($12 , `i32.div_u_3`, [71 ]), [value("i32" , 23 )]);
// ./test/core/int_exprs.wast:218
assert_return(() => invoke($12 , `i32.div_u_3`, [-1073741824 ]), [value("i32" , 1073741824 )]);
// ./test/core/int_exprs.wast:219
assert_return(() => invoke($12 , `i64.div_s_3`, [71 n]), [value("i64" , 23 n)]);
// ./test/core/int_exprs.wast:220
assert_return(
() => invoke($12 , `i64.div_s_3`, [3458764513820540928 n]),
[value("i64" , 1152921504606846976 n)],
);
// ./test/core/int_exprs.wast:221
assert_return(() => invoke($12 , `i64.div_u_3`, [71 n]), [value("i64" , 23 n)]);
// ./test/core/int_exprs.wast:222
assert_return(
() => invoke($12 , `i64.div_u_3`, [-4611686018427387904 n]),
[value("i64" , 4611686018427387904 n)],
);
// ./test/core/int_exprs.wast:226
let $13 = instantiate(`(module
(func (export "i32.div_s_5" ) (param $$x i32) (result i32)
(i32.div_s (local.get $$x) (i32.const 5 )))
(func (export "i32.div_u_5" ) (param $$x i32) (result i32)
(i32.div_u (local.get $$x) (i32.const 5 )))
(func (export "i64.div_s_5" ) (param $$x i64) (result i64)
(i64.div_s (local.get $$x) (i64.const 5 )))
(func (export "i64.div_u_5" ) (param $$x i64) (result i64)
(i64.div_u (local.get $$x) (i64.const 5 )))
)`);
// ./test/core/int_exprs.wast:238
assert_return(() => invoke($13 , `i32.div_s_5`, [71 ]), [value("i32" , 14 )]);
// ./test/core/int_exprs.wast:239
assert_return(() => invoke($13 , `i32.div_s_5`, [1342177280 ]), [value("i32" , 268435456 )]);
// ./test/core/int_exprs.wast:240
assert_return(() => invoke($13 , `i32.div_u_5`, [71 ]), [value("i32" , 14 )]);
// ./test/core/int_exprs.wast:241
assert_return(() => invoke($13 , `i32.div_u_5`, [-1610612736 ]), [value("i32" , 536870912 )]);
// ./test/core/int_exprs.wast:242
assert_return(() => invoke($13 , `i64.div_s_5`, [71 n]), [value("i64" , 14 n)]);
// ./test/core/int_exprs.wast:243
assert_return(
() => invoke($13 , `i64.div_s_5`, [5764607523034234880 n]),
[value("i64" , 1152921504606846976 n)],
);
// ./test/core/int_exprs.wast:244
assert_return(() => invoke($13 , `i64.div_u_5`, [71 n]), [value("i64" , 14 n)]);
// ./test/core/int_exprs.wast:245
assert_return(
() => invoke($13 , `i64.div_u_5`, [-6917529027641081856 n]),
[value("i64" , 2305843009213693952 n)],
);
// ./test/core/int_exprs.wast:249
let $14 = instantiate(`(module
(func (export "i32.div_s_7" ) (param $$x i32) (result i32)
(i32.div_s (local.get $$x) (i32.const 7 )))
(func (export "i32.div_u_7" ) (param $$x i32) (result i32)
(i32.div_u (local.get $$x) (i32.const 7 )))
(func (export "i64.div_s_7" ) (param $$x i64) (result i64)
(i64.div_s (local.get $$x) (i64.const 7 )))
(func (export "i64.div_u_7" ) (param $$x i64) (result i64)
(i64.div_u (local.get $$x) (i64.const 7 )))
)`);
// ./test/core/int_exprs.wast:261
assert_return(() => invoke($14 , `i32.div_s_7`, [71 ]), [value("i32" , 10 )]);
// ./test/core/int_exprs.wast:262
assert_return(() => invoke($14 , `i32.div_s_7`, [1879048192 ]), [value("i32" , 268435456 )]);
// ./test/core/int_exprs.wast:263
assert_return(() => invoke($14 , `i32.div_u_7`, [71 ]), [value("i32" , 10 )]);
// ./test/core/int_exprs.wast:264
assert_return(() => invoke($14 , `i32.div_u_7`, [-536870912 ]), [value("i32" , 536870912 )]);
// ./test/core/int_exprs.wast:265
assert_return(() => invoke($14 , `i64.div_s_7`, [71 n]), [value("i64" , 10 n)]);
// ./test/core/int_exprs.wast:266
assert_return(
() => invoke($14 , `i64.div_s_7`, [8070450532247928832 n]),
[value("i64" , 1152921504606846976 n)],
);
// ./test/core/int_exprs.wast:267
assert_return(() => invoke($14 , `i64.div_u_7`, [71 n]), [value("i64" , 10 n)]);
// ./test/core/int_exprs.wast:268
assert_return(
() => invoke($14 , `i64.div_u_7`, [-2305843009213693952 n]),
[value("i64" , 2305843009213693952 n)],
);
// ./test/core/int_exprs.wast:272
let $15 = instantiate(`(module
(func (export "i32.rem_s_3" ) (param $$x i32) (result i32)
(i32.rem_s (local.get $$x) (i32.const 3 )))
(func (export "i32.rem_u_3" ) (param $$x i32) (result i32)
(i32.rem_u (local.get $$x) (i32.const 3 )))
(func (export "i64.rem_s_3" ) (param $$x i64) (result i64)
(i64.rem_s (local.get $$x) (i64.const 3 )))
(func (export "i64.rem_u_3" ) (param $$x i64) (result i64)
(i64.rem_u (local.get $$x) (i64.const 3 )))
)`);
// ./test/core/int_exprs.wast:284
assert_return(() => invoke($15 , `i32.rem_s_3`, [71 ]), [value("i32" , 2 )]);
// ./test/core/int_exprs.wast:285
assert_return(() => invoke($15 , `i32.rem_s_3`, [1610612736 ]), [value("i32" , 0 )]);
// ./test/core/int_exprs.wast:286
assert_return(() => invoke($15 , `i32.rem_u_3`, [71 ]), [value("i32" , 2 )]);
// ./test/core/int_exprs.wast:287
assert_return(() => invoke($15 , `i32.rem_u_3`, [-1073741824 ]), [value("i32" , 0 )]);
// ./test/core/int_exprs.wast:288
assert_return(() => invoke($15 , `i64.rem_s_3`, [71 n]), [value("i64" , 2 n)]);
// ./test/core/int_exprs.wast:289
assert_return(() => invoke($15 , `i64.rem_s_3`, [3458764513820540928 n]), [value("i64" , 0 n)]);
// ./test/core/int_exprs.wast:290
assert_return(() => invoke($15 , `i64.rem_u_3`, [71 n]), [value("i64" , 2 n)]);
// ./test/core/int_exprs.wast:291
assert_return(() => invoke($15 , `i64.rem_u_3`, [-4611686018427387904 n]), [value("i64" , 0 n)]);
// ./test/core/int_exprs.wast:295
let $16 = instantiate(`(module
(func (export "i32.rem_s_5" ) (param $$x i32) (result i32)
(i32.rem_s (local.get $$x) (i32.const 5 )))
(func (export "i32.rem_u_5" ) (param $$x i32) (result i32)
(i32.rem_u (local.get $$x) (i32.const 5 )))
(func (export "i64.rem_s_5" ) (param $$x i64) (result i64)
(i64.rem_s (local.get $$x) (i64.const 5 )))
(func (export "i64.rem_u_5" ) (param $$x i64) (result i64)
(i64.rem_u (local.get $$x) (i64.const 5 )))
)`);
// ./test/core/int_exprs.wast:307
assert_return(() => invoke($16 , `i32.rem_s_5`, [71 ]), [value("i32" , 1 )]);
// ./test/core/int_exprs.wast:308
assert_return(() => invoke($16 , `i32.rem_s_5`, [1342177280 ]), [value("i32" , 0 )]);
// ./test/core/int_exprs.wast:309
assert_return(() => invoke($16 , `i32.rem_u_5`, [71 ]), [value("i32" , 1 )]);
// ./test/core/int_exprs.wast:310
assert_return(() => invoke($16 , `i32.rem_u_5`, [-1610612736 ]), [value("i32" , 0 )]);
// ./test/core/int_exprs.wast:311
assert_return(() => invoke($16 , `i64.rem_s_5`, [71 n]), [value("i64" , 1 n)]);
// ./test/core/int_exprs.wast:312
assert_return(() => invoke($16 , `i64.rem_s_5`, [5764607523034234880 n]), [value("i64" , 0 n)]);
// ./test/core/int_exprs.wast:313
assert_return(() => invoke($16 , `i64.rem_u_5`, [71 n]), [value("i64" , 1 n)]);
// ./test/core/int_exprs.wast:314
assert_return(() => invoke($16 , `i64.rem_u_5`, [-6917529027641081856 n]), [value("i64" , 0 n)]);
// ./test/core/int_exprs.wast:318
let $17 = instantiate(`(module
(func (export "i32.rem_s_7" ) (param $$x i32) (result i32)
(i32.rem_s (local.get $$x) (i32.const 7 )))
(func (export "i32.rem_u_7" ) (param $$x i32) (result i32)
(i32.rem_u (local.get $$x) (i32.const 7 )))
(func (export "i64.rem_s_7" ) (param $$x i64) (result i64)
(i64.rem_s (local.get $$x) (i64.const 7 )))
(func (export "i64.rem_u_7" ) (param $$x i64) (result i64)
(i64.rem_u (local.get $$x) (i64.const 7 )))
)`);
// ./test/core/int_exprs.wast:330
assert_return(() => invoke($17 , `i32.rem_s_7`, [71 ]), [value("i32" , 1 )]);
// ./test/core/int_exprs.wast:331
assert_return(() => invoke($17 , `i32.rem_s_7`, [1879048192 ]), [value("i32" , 0 )]);
// ./test/core/int_exprs.wast:332
assert_return(() => invoke($17 , `i32.rem_u_7`, [71 ]), [value("i32" , 1 )]);
// ./test/core/int_exprs.wast:333
assert_return(() => invoke($17 , `i32.rem_u_7`, [-536870912 ]), [value("i32" , 0 )]);
// ./test/core/int_exprs.wast:334
assert_return(() => invoke($17 , `i64.rem_s_7`, [71 n]), [value("i64" , 1 n)]);
// ./test/core/int_exprs.wast:335
assert_return(() => invoke($17 , `i64.rem_s_7`, [8070450532247928832 n]), [value("i64" , 0 n)]);
// ./test/core/int_exprs.wast:336
assert_return(() => invoke($17 , `i64.rem_u_7`, [71 n]), [value("i64" , 1 n)]);
// ./test/core/int_exprs.wast:337
assert_return(() => invoke($17 , `i64.rem_u_7`, [-2305843009213693952 n]), [value("i64" , 0 n)]);
// ./test/core/int_exprs.wast:341
let $18 = instantiate(`(module
(func (export "i32.no_fold_div_neg1" ) (param $$x i32) (result i32)
(i32.div_s (local.get $$x) (i32.const -1 )))
(func (export "i64.no_fold_div_neg1" ) (param $$x i64) (result i64)
(i64.div_s (local.get $$x) (i64.const -1 )))
)`);
// ./test/core/int_exprs.wast:349
assert_trap(() => invoke($18 , `i32.no_fold_div_neg1`, [-2147483648 ]), `integer overflow`);
// ./test/core/int_exprs.wast:350
assert_trap(() => invoke($18 , `i64.no_fold_div_neg1`, [-9223372036854775808 n]), `integer overflow`);
Messung V0.5 in Prozent C=84 H=100 G=92
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-06-11)
¤
*© Formatika GbR, Deutschland