(completely optional) Use BigInt for fibonacci computation#3141
Merged
Conversation
Contributor
|
Not @legalcodes, but it LGTM |
legalcodes
suggested changes
Oct 22, 2019
Contributor
There was a problem hiding this comment.
Thanks a bunch Filip, FWIW I'm all for using BigInt in this context as you suggest.
Can you run compile.sh from src/_packages/dartpad_picker/ ?
Without doing so, the example still sees the old code.
I've raised #3143 to add this info to the main README so it's a little easier to find!
Contributor
Author
|
Oh sorry, I missed |
legalcodes
approved these changes
Oct 29, 2019
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
I'm not sure this is a good idea, from educational perspective. But it does show that we have
BigInt. And it shows attention to detail — Dart does think of big integers.This will continue computing fib until the number fits into memory. Nobody will scroll that far.
The current version shows "seams" when you scroll far enough -- the
intbecomes JavaScript'snumin the background, and switches to floating point when the int overflows, so you get numbers like 1.234234+e113.In contrast, the new version shows:
And then later: