@@ -71,26 +71,29 @@ defmodule ComponentsGuide.Rustler.MathTest do
71
71
wasm_source = """
72
72
(module
73
73
(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
83
82
)
84
83
(export "validate" (func $validate))
85
84
)
86
85
"""
87
86
87
+ assert Math . wasm_example ( wasm_source , "validate" , - 1 ) == 0
88
88
assert Math . wasm_example ( wasm_source , "validate" , 0 ) == 0
89
89
assert Math . wasm_example ( wasm_source , "validate" , 1 ) == 1
90
+ assert Math . wasm_example ( wasm_source , "validate" , 2 ) == 1
90
91
assert Math . wasm_example ( wasm_source , "validate" , 10 ) == 1
91
92
assert Math . wasm_example ( wasm_source , "validate" , 13 ) == 1
92
93
assert Math . wasm_example ( wasm_source , "validate" , 255 ) == 1
93
94
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
94
97
end
95
98
96
99
# defwasm multiply(a, b) do
0 commit comments