From 84cca2119c5f493823cc65a3796fe37e4a9c643d Mon Sep 17 00:00:00 2001 From: Tianyi Zheng Date: Mon, 1 Nov 2021 17:06:35 +0000 Subject: [PATCH] Rewrite maths/fibonacci.py (#5734) * Rewrite parts of Vector and Matrix methods * Refactor determinant method and add unit tests Refactor determinant method to create separate minor and cofactor methods. Add respective unit tests for new methods. Rename methods using snake case to follow Python naming conventions. * Reorganize Vector and Matrix methods * Update linear_algebra/README.md Co-authored-by: John Law * Fix punctuation and wording * Apply suggestions from code review Co-authored-by: John Law * Deduplicate euclidean length method for Vector * Add more unit tests for Euclidean length method * Fix bug in unit test for euclidean_length * Remove old comments for magnitude method * Rewrite maths/fibonacci.py * Rewrite timer and add unit tests * Fix typos in fib_binet unit tests * Fix typos in fib_binet unit tests * Clean main method Co-authored-by: John Law --- maths/fibonacci.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/maths/fibonacci.py b/maths/fibonacci.py index b009ea9df..9b193b74a 100644 --- a/maths/fibonacci.py +++ b/maths/fibonacci.py @@ -95,8 +95,8 @@ def fib_binet(n: int) -> list[int]: NOTE 1: this function diverges from fib_iterative at around n = 71, likely due to compounding floating-point arithmetic errors - NOTE 2: this function overflows on n >= 1475 because of the size limitations - of Python floats + NOTE 2: this function doesn't accept n >= 1475 because it overflows + thereafter due to the size limitations of Python floats >>> fib_binet(0) [0] >>> fib_binet(1)