1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
var ins = wasmEvalText(`
(module
(func (export "copysign_f64") (param f64 f64) (result f64)
f64.const 0x1.921fb54442d18p+0 (;=1.5708;)
local.get 0
f64.copysign
)
(func (export "copysign_f32") (param f32 f32) (result f32)
f32.const 0x1.921fb54442d18p+0 (;=1.5708;)
local.get 0
f32.copysign
)
(func (export "copysign_f64_2") (param f64 f64) (result f64)
local.get 1
f64.const 0x1.921fb54442d18p+0 (;=1.5708;)
f64.copysign
)
(func (export "copysign_f32_2") (param f32 f32) (result f32)
local.get 1
f32.const -0x1.921fb54442d18p+0 (;=1.5708;)
f32.copysign
)
)
`);
assertEq(ins.exports.copysign_f64(1, 0), 1.5707963267948966);
assertEq(ins.exports.copysign_f64(-1, 0), -1.5707963267948966);
assertEq(ins.exports.copysign_f32(1, 0), 1.5707963705062866);
assertEq(ins.exports.copysign_f32(-1, 0), -1.5707963705062866);
assertEq(ins.exports.copysign_f64_2(0, 1), 1);
assertEq(ins.exports.copysign_f64_2(0, -1), 1);
assertEq(ins.exports.copysign_f32_2(0, 1), -1);
assertEq(ins.exports.copysign_f32_2(0, -1), -1);
|