Fixed incorrect register lifetime in for loops
This commit is contained in:
26
tests/programs/fibonacci.q
Normal file
26
tests/programs/fibonacci.q
Normal file
@ -0,0 +1,26 @@
|
||||
main() {
|
||||
for i := 0..10 {
|
||||
assert fib1(i) == fib2(i)
|
||||
}
|
||||
}
|
||||
|
||||
fib1(n int) -> int {
|
||||
b := 0
|
||||
c := 1
|
||||
|
||||
for 0..n {
|
||||
a := b
|
||||
b = c
|
||||
c = a + b
|
||||
}
|
||||
|
||||
return b
|
||||
}
|
||||
|
||||
fib2(n int) -> int {
|
||||
if n <= 1 {
|
||||
return n
|
||||
}
|
||||
|
||||
return fib2(n - 1) + fib2(n - 2)
|
||||
}
|
Reference in New Issue
Block a user