-
Notifications
You must be signed in to change notification settings - Fork 63
Expand file tree
/
Copy pathfloat_exprs0.wast
More file actions
38 lines (34 loc) · 1.41 KB
/
float_exprs0.wast
File metadata and controls
38 lines (34 loc) · 1.41 KB
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
35
36
37
(module
(memory 0 0)
(memory $m 1 1)
(memory 0 0)
(func (export "init") (param $i i32) (param $x f64)
(f64.store $m (local.get $i) (local.get $x)))
(func (export "run") (param $n i32) (param $z f64)
(local $i i32)
(block $exit
(loop $cont
(f64.store $m
(local.get $i)
(f64.div (f64.load $m (local.get $i)) (local.get $z))
)
(local.set $i (i32.add (local.get $i) (i32.const 8)))
(br_if $cont (i32.lt_u (local.get $i) (local.get $n)))
)
)
)
(func (export "check") (param $i i32) (result f64) (f64.load $m (local.get $i)))
)
(invoke "init" (i32.const 0) (f64.const 15.1))
(invoke "init" (i32.const 8) (f64.const 15.2))
(invoke "init" (i32.const 16) (f64.const 15.3))
(invoke "init" (i32.const 24) (f64.const 15.4))
(assert_return (invoke "check" (i32.const 0)) (f64.const 15.1))
(assert_return (invoke "check" (i32.const 8)) (f64.const 15.2))
(assert_return (invoke "check" (i32.const 16)) (f64.const 15.3))
(assert_return (invoke "check" (i32.const 24)) (f64.const 15.4))
(invoke "run" (i32.const 32) (f64.const 3.0))
(assert_return (invoke "check" (i32.const 0)) (f64.const 0x1.4222222222222p+2))
(assert_return (invoke "check" (i32.const 8)) (f64.const 0x1.4444444444444p+2))
(assert_return (invoke "check" (i32.const 16)) (f64.const 0x1.4666666666667p+2))
(assert_return (invoke "check" (i32.const 24)) (f64.const 0x1.4888888888889p+2))