Skip to content

Instantly share code, notes, and snippets.

@rigibun
Created November 30, 2013 04:40
import std.stdio;
template Fibonacci(int n) {
static if (n == 0)
const Fibonacci = 0;
else static if(n == 1)
const Fibonacci = 1;
else static if(n == -1)
const Fibonacci = 1;
else static if(n > 1)
const Fibonacci = Fibonacci!(n - 1) + Fibonacci!(n - 2);
else
const Fibonacci = Fibonacci!(n + 2) - Fibonacci!(n + 1);
}
void main() {
Fibonacci!(0).writeln;
Fibonacci!(-1).writeln;
Fibonacci!(-2).writeln;
Fibonacci!(-3).writeln;
Fibonacci!(-9).writeln;
Fibonacci!(-10).writeln;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment