Skip to content

Commit a38d1e0

Browse files
committed
Get wasm multi-conditionals passing!
1 parent 192314d commit a38d1e0

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

test/components_guide/rustler/math_test.exs

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -71,26 +71,29 @@ defmodule ComponentsGuide.Rustler.MathTest do
7171
wasm_source = """
7272
(module
7373
(func $validate (param $num i32) (result i32)
74-
(if (result i32)
75-
(i32.lt_u (local.get $num) (i32.const 1))
76-
(then return (i32.const 0))
77-
(else (if (result i32)
78-
(i32.gt_u (local.get $num) (i32.const 255))
79-
(then return (i32.const 0))
80-
(else return (i32.const 1))
81-
))
82-
)
74+
(local $lt i32)
75+
(local $gt i32)
76+
(i32.lt_s (local.get $num) (i32.const 1))
77+
local.set $lt
78+
(i32.gt_s (local.get $num) (i32.const 255))
79+
local.set $gt
80+
(i32.or (local.get $lt) (local.get $gt))
81+
i32.eqz
8382
)
8483
(export "validate" (func $validate))
8584
)
8685
"""
8786

87+
assert Math.wasm_example(wasm_source, "validate", -1) == 0
8888
assert Math.wasm_example(wasm_source, "validate", 0) == 0
8989
assert Math.wasm_example(wasm_source, "validate", 1) == 1
90+
assert Math.wasm_example(wasm_source, "validate", 2) == 1
9091
assert Math.wasm_example(wasm_source, "validate", 10) == 1
9192
assert Math.wasm_example(wasm_source, "validate", 13) == 1
9293
assert Math.wasm_example(wasm_source, "validate", 255) == 1
9394
assert Math.wasm_example(wasm_source, "validate", 256) == 0
95+
assert Math.wasm_example(wasm_source, "validate", 257) == 0
96+
assert Math.wasm_example(wasm_source, "validate", 2000) == 0
9497
end
9598

9699
# defwasm multiply(a, b) do

0 commit comments

Comments
 (0)