diff options
| author | Edvard Thörnros <edvard.thornros@gmail.com> | 2021-03-07 17:50:18 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-07 17:50:18 +0100 |
| commit | 09c830296fdb55efbc7f590337ce72f5ec75c04b (patch) | |
| tree | 2411baac44a8ce88fcb90e35db68fba018aefb81 /progs/bench | |
| parent | a9d943e2d93be0e741874cb1ef85488dacc6eeab (diff) | |
| parent | eab567c57dd41439ad4328a287baddda3e3270a8 (diff) | |
| download | sylt-09c830296fdb55efbc7f590337ce72f5ec75c04b.tar.gz | |
Merge pull request #91 from FredTheDino/compiler-rewrite
WIP: Rewrite the compiler
Diffstat (limited to 'progs/bench')
| -rw-r--r-- | progs/bench/fib.sy | 6 | ||||
| -rw-r--r-- | progs/bench/fib_iter.sy | 22 | ||||
| -rw-r--r-- | progs/bench/sum.sy | 14 |
3 files changed, 27 insertions, 15 deletions
diff --git a/progs/bench/fib.sy b/progs/bench/fib.sy index de68f5c..ad10e20 100644 --- a/progs/bench/fib.sy +++ b/progs/bench/fib.sy @@ -7,4 +7,8 @@ fib :: fn a:int -> int { ret fib(a - 1) + fib(a - 2) } // 23 is around where things start getting slow. -fib(23) <=> 28657 +start :: fn { + fib(23) <=> 28657 +} + +// flags: no_print diff --git a/progs/bench/fib_iter.sy b/progs/bench/fib_iter.sy index c51469a..7ed1021 100644 --- a/progs/bench/fib_iter.sy +++ b/progs/bench/fib_iter.sy @@ -1,14 +1,18 @@ // A Fibonacci implementation that is a little // less awful. But we run it 1000 times instead. -j := 0 -for , j < 1000, j = j + 1 { - a := 0 - b := 1 +start :: fn { + j := 0 + for , j < 1000, j = j + 1 { + a := 0 + b := 1 - for i := 0, i < 50, i = i + 1 { - c := a - a = b - b = c + b + for i := 0, i < 50, i = i + 1 { + c := a + a = b + b = c + b + } + a <=> 12586269025 } - a <=> 12586269025 } + +// flags: no_print diff --git a/progs/bench/sum.sy b/progs/bench/sum.sy index bb6870f..76fe392 100644 --- a/progs/bench/sum.sy +++ b/progs/bench/sum.sy @@ -1,6 +1,10 @@ -// Adds the numbers 0 to 10000 -sum := 0 -for i := 0, i <= 100000, i += 1 { - sum += i +// Adds the numbers 0 to 100000 +start :: fn { + sum := 0 + for i := 0, i <= 100000, i += 1 { + sum += i + } + sum <=> 5000050000 } -sum <=> 5000050000 + +// flags: no_print |
