Skip to content

Instantly share code, notes, and snippets.

@hden
Created November 11, 2013 15:25
Show Gist options
  • Select an option

  • Save hden/7414883 to your computer and use it in GitHub Desktop.

Select an option

Save hden/7414883 to your computer and use it in GitHub Desktop.
Fibonacci via fast doubling
# Fibonacci via fast doubling
fibo = (n) ->
if n is 0
[0, 1]
else
[a, b] = fibo ~~(n / 2)
c = a * (2 * b - a)
d = b * b + a * a
if n % 2 is 0 then [c, d] else [d, c + d]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment