Skip to content

Commit 77f7c01

Browse files
committed
Fix fibonacci impl in benchmark tests
The previous implementation was always 1 number ahead. Fixing this is not important at all, but it was bugging me.
1 parent be060cd commit 77f7c01

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

tests/SelfTest/UsageTests/Benchmark.tests.cpp

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,23 @@
1616

1717
namespace {
1818
std::uint64_t Fibonacci(std::uint64_t number) {
19-
return number < 2 ? 1 : Fibonacci(number - 1) + Fibonacci(number - 2);
19+
return number < 2 ? number : Fibonacci(number - 1) + Fibonacci(number - 2);
2020
}
2121
}
2222

2323
TEST_CASE("Benchmark Fibonacci", "[!benchmark]") {
24-
CHECK(Fibonacci(0) == 1);
24+
CHECK(Fibonacci(0) == 0);
2525
// some more asserts..
26-
CHECK(Fibonacci(5) == 8);
26+
CHECK(Fibonacci(5) == 5);
2727
// some more asserts..
2828

29-
BENCHMARK("Fibonacci 20") {
29+
REQUIRE( Fibonacci( 20 ) == 6'765 );
30+
BENCHMARK( "Fibonacci 20" ) {
3031
return Fibonacci(20);
3132
};
3233

33-
BENCHMARK("Fibonacci 25") {
34+
REQUIRE( Fibonacci( 25 ) == 75'025 );
35+
BENCHMARK( "Fibonacci 25" ) {
3436
return Fibonacci(25);
3537
};
3638

0 commit comments

Comments
 (0)