int main() { std::cout << fib_r(15) << '\n'; std::cout << fib_i(15) << '\n'; auto fib = fib_g(20); for (auto i : fib) std::cout << i << ' '; return 0; }
void test(void) { const int max = 20000; for (int kk = 0; kk <= max; kk++) { const long_t result_iter = fib_iter(kk); const long_t result_g = fib_g(kk); // How far to overflow? const double frac = ((double) result_iter)/long_t_max; printf("%d: %llu, %llu (%.10lf)\n", kk, result_iter, result_g, frac); assert(result_iter == result_g); } }