Improved non-recursive version of contFrac in contextFraction.pl. #920
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This version uses a loop instead of a recursive function. Benchmarking shows it is at least twice as fast. It also should use less memory overhead as it does not store the steps in constructing the continued fraction in arrays. It only keeps what is needed to continue. That is the last two values of the convergent numerator and denominator.
A basic unit test is added to check that this does the right thing. Note that this unit test works with both this branch and the code in develop. Demonstrating that they both generate the same fractions.
I have had this sitting here since March. This is a good change, and I don't know why I didn't put it in sooner.