15 lines
376 B
Plaintext
15 lines
376 B
Plaintext
(module
|
|
;; recursive, refactored to use s-expressions and named variables
|
|
(func $fact_f64 (export "fact_f64") (param $n f64) (result f64)
|
|
(if (result f64) (f64.lt (get_local $n) (f64.const 1))
|
|
(then f64.const 1)
|
|
(else
|
|
(f64.mul
|
|
(get_local $n)
|
|
(call $fact_f64 (f64.sub (get_local $n) (f64.const 1)))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|