-
Notifications
You must be signed in to change notification settings - Fork 100
Buffer Class Extension #417
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
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
Update `moc` to 0.7.0
ggreif
added a commit
that referenced
this pull request
Oct 21, 2022
Base Library Extension Doc: https://docs.google.com/document/d/1uKouujLL3KueLpqjjFV2gd4dqu_6GYD107WBb6_GSVE/edit - [x] Complete unit tests - [x] Consider making initCapacity an optional value with a default initial capacity - [x] While loop iterations over Arrays may be faster with an iterator due to a compiler optimization - [x] In functions where a new buffer is being constructed, have some consistent scheme for how to determine the new buffer's capacity. Should the new buffer have just enough space to hold its element, or be given some insertion leeway? - [x] Some class methods can be moved outside of the class since they don't need access to the underlying array - [x] Consider behavior of transpose on empty Buffers - [x] sort() can be optimized by hoisting helper functions - [x] Restore broken methods in Array.mo and Hash.mo - [x] Compare with original Buffer class and try to keep some level of backwards compatibility / deprecate old functions - [x] Fix naming to be consistent with user friendliness, other classes, and style / interface guide - [x] Add user friendly error messages / error checking - [x] Cleanup tests - [x] Add documentation for each function - [ ] Add examples for each function (put up as a separate PR) - [ ] A primitive array tabulate for var arrays would allow some nice optimizations (put up as a separate PR) - [x] Profile this class to see if a more scalable dynamic sequence is necessary and to resolve ambiguous design decisions This last point is related to the RRB Trees, Rope, and Finger Trees data structures that I was discussing before. For various reasons, I am leaning towards an RRB Tree implementation of a scalable sequence structure, if it is necessary. See a talk on this data structure here: https://www.youtube.com/watch?v=sPhpelUfu8Q Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Kento Sugama <[email protected]>
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.
This is a re-submit of #416, which didn't got squashed to
master
. All individual commits by Kento.Base Library Extension Doc: https://docs.google.com/document/d/1uKouujLL3KueLpqjjFV2gd4dqu_6GYD107WBb6_GSVE/edit
This last point is related to the RRB Trees, Rope, and Finger Trees data structures that I was discussing before. For various reasons, I am leaning towards an RRB Tree implementation of a scalable sequence structure, if it is necessary. See a talk on this data structure here: https://www.youtube.com/watch?v=sPhpelUfu8Q