35 lines
604 B
Text
35 lines
604 B
Text
;; tests/wasm/fib.wat
|
|
(module
|
|
(import "env" "log" (func $log (param i32 i32)))
|
|
|
|
(memory (export "memory") 1)
|
|
(data (i32.const 0) "fib called\n")
|
|
|
|
(func $fib_impl (param $n i32) (result i32)
|
|
local.get $n
|
|
i32.const 2
|
|
i32.lt_s
|
|
if (result i32)
|
|
local.get $n
|
|
else
|
|
local.get $n
|
|
i32.const 1
|
|
i32.sub
|
|
call $fib_impl
|
|
local.get $n
|
|
i32.const 2
|
|
i32.sub
|
|
call $fib_impl
|
|
i32.add
|
|
end
|
|
)
|
|
|
|
(func (export "fib") (param $n i32) (result i32)
|
|
i32.const 0
|
|
i32.const 11
|
|
call $log
|
|
|
|
local.get $n
|
|
call $fib_impl
|
|
)
|
|
)
|