@@ -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