diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-01-08 00:36:43 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-01-08 00:42:05 +0900 |
| commit | e631486866eed1a1d68911d79aa7b5415e94815a (patch) | |
| tree | c904a4e85c12e318732a0abcd591f1f441f51042 /tests/wasm.sh | |
| parent | 41d24c967eb5fce3f811fc567f60204c77dada15 (diff) | |
| download | ducc-e631486866eed1a1d68911d79aa7b5415e94815a.tar.gz ducc-e631486866eed1a1d68911d79aa7b5415e94815a.tar.zst ducc-e631486866eed1a1d68911d79aa7b5415e94815a.zip | |
feat: fib() now compiles to wasm target
Diffstat (limited to 'tests/wasm.sh')
| -rw-r--r-- | tests/wasm.sh | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/wasm.sh b/tests/wasm.sh index d024989..e97c05f 100644 --- a/tests/wasm.sh +++ b/tests/wasm.sh @@ -23,3 +23,34 @@ cat > expected <<'EOF' EOF diff -u expected output + + +cat > main.c <<'EOF' +int fib(int n) { + if (n <= 1) { + return 1; + } else { + return fib(n - 1) + fib(n - 2); + } +} +EOF + +"$ducc" "${CFLAGS:-}" --wasm -o main.wat main.c + +wat2wasm main.wat -o main.wasm + +cat > main.mjs <<'EOF' +import { readFile } from 'fs/promises'; + +const wasmBuffer = await readFile('./main.wasm'); +const { instance } = await WebAssembly.instantiate(wasmBuffer); + +console.log(instance.exports.fib(10)); +EOF +node main.mjs > output + +cat > expected <<'EOF' +89 +EOF + +diff -u expected output |
