Skip to content

Commit

Permalink
TailRecursiveFibonacci
Browse files Browse the repository at this point in the history
  • Loading branch information
soldierHuang committed Apr 21, 2020
1 parent c2182e7 commit 4918344
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 2 deletions.
7 changes: 6 additions & 1 deletion TailRecursiveFibonacci/src/TailRecursiveFibonacci.jl
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
module TailRecursiveFibonacci

src = []
export
Benitor

src = [
"benitor",
]

for s = src
include("$(s).jl")
Expand Down
11 changes: 11 additions & 0 deletions TailRecursiveFibonacci/src/benitor.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
module Benitor

function fibonacciTail(n::Int,a,b)
if n <= 0
return b
end
return fibonacciTail(n-1 , b, a+b)
end


end # module
7 changes: 7 additions & 0 deletions TailRecursiveFibonacci/test/benitor.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
@test Benitor.fibonacciTail(0,1,0) == 0
@test Benitor.fibonacciTail(1,1,0) == 1
@test Benitor.fibonacciTail(2,1,0) == 1
@test Benitor.fibonacciTail(4,1,0) == 3
@test Benitor.fibonacciTail(10,1,0) == 55
@test Benitor.fibonacciTail(50,1,0) == 12586269025
@test Benitor.fibonacciTail(100,1,0) == 3736710778780434371
4 changes: 3 additions & 1 deletion TailRecursiveFibonacci/test/runtests.jl
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
using TailRecursiveFibonacci
using Test

tests = []
tests = [
"benitor",
]

@testset "TailRecursiveFibonacci.jl" begin
for t in tests
Expand Down

0 comments on commit 4918344

Please sign in to comment.