-
Notifications
You must be signed in to change notification settings - Fork 8
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
Fix dependencies and update to Rust2021 #118
Closed
Closed
Conversation
This file contains 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
This implements a utility function to determine the geometrical extents of a set of points.
So far this really only covers insertion.
Entry impls Positionable, but any user-defined type may do so as well.
Many items in the tree module are mere implementation details and do not need to be exposed publicly.
A separate structure can be constructed from the tree to associate arbitrary data from a closure to each node. On this structure one can then execute computational queries.
Also it is no longer unsafe as this is not quite the right use case for that keyword.
This slightly changes the semantics, but no test was looking into this peculiarity so it's okay to remove it.
There are two traits: Tree defines tree construction alone, whereas TreeWalk wraps up computational queries on the trees.
This is arguably the more useful quantity than the extent (i.e. the half-width).
The construction routines of Node have been integrated into NodeWithData to form a new type NTree. The construction benchmarks have been adapted. The query functionality does not work yet.
All tests have been reinstated and run successfully.
Tree interface
The operational behaviour of a tree is defined by what was TreeWalk before. Hence, TreeWalk has been renamed to Tree. The former Tree trait was removed on the other hand, as the constructors it defines do not hold generally. One may for example write a tree without associated data (such as the current Node) and still implement Tree<P, N, O, ()> for it.
Every tree should at least provide information about its structure and geometry, so that one can write generic algorithms that directly work with the structure outside the tree implementation.
This separates these concerns and leads to a cleaner interface. For convenience and clear semantics two new trivial wrapper traits `Tree` and `PureTree` have been added to comprise the functionality that makes up trees with and without associated data.
This also allows to benchmark `PureNTree` versus `NTree`.
Common tree abstractions now live in the `tree` module, the dimension-unspecific implementations in `ntree` and `util` now also contains `Positionable` and `Entry` as they fit nowhere else (although they might warrant another module at some point.
It is not necessary to deal with the accumulation of values in the query implementations. It is simpler to pass some callback that handles state changes by closing over its environment.
Restructure traits
Update documentation
Updates the requirements on [nalgebra](https://github.com/rustsim/nalgebra) to permit the latest version. - [Release notes](https://github.com/rustsim/nalgebra/releases) - [Changelog](https://github.com/dimforge/nalgebra/blob/dev/CHANGELOG.md) - [Commits](dimforge/nalgebra@v0.21.0...v0.22.0) Signed-off-by: dependabot-preview[bot] <[email protected]>
…a-0.22 Update nalgebra requirement from 0.21 to 0.22
Updates the requirements on [approx](https://github.com/brendanzab/approx) to permit the latest version. - [Release notes](https://github.com/brendanzab/approx/releases) - [Commits](https://github.com/brendanzab/approx/commits) Signed-off-by: dependabot-preview[bot] <[email protected]>
Updates the requirements on [nalgebra](https://github.com/rustsim/nalgebra) to permit the latest version. - [Release notes](https://github.com/rustsim/nalgebra/releases) - [Changelog](https://github.com/dimforge/nalgebra/blob/dev/CHANGELOG.md) - [Commits](dimforge/nalgebra@v0.22.0...v0.23.0) Signed-off-by: dependabot-preview[bot] <[email protected]>
Update approx requirement from 0.3 to 0.4
…a-0.23 Update nalgebra requirement from 0.22 to 0.23
Updates the requirements on [rand](https://github.com/rust-random/rand) to permit the latest version. - [Release notes](https://github.com/rust-random/rand/releases) - [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md) - [Commits](rust-random/rand@0.7.0...0.8.0) Signed-off-by: dependabot-preview[bot] <[email protected]>
Update rand requirement from 0.7 to 0.8
Updates the requirements on [itertools](https://github.com/bluss/rust-itertools) to permit the latest version. - [Release notes](https://github.com/bluss/rust-itertools/releases) - [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md) - [Commits](rust-itertools/itertools@v0.9.0...v0.10.0) Signed-off-by: dependabot-preview[bot] <[email protected]>
Updates the requirements on [nalgebra](https://github.com/rustsim/nalgebra) to permit the latest version. - [Release notes](https://github.com/rustsim/nalgebra/releases) - [Changelog](https://github.com/dimforge/nalgebra/blob/dev/CHANGELOG.md) - [Commits](dimforge/nalgebra@v0.23.0...v0.24.0) Signed-off-by: dependabot-preview[bot] <[email protected]>
…a-0.24 Update nalgebra requirement from 0.23 to 0.24
Updates the requirements on [quickcheck](https://github.com/BurntSushi/quickcheck) to permit the latest version. - [Release notes](https://github.com/BurntSushi/quickcheck/releases) - [Commits](BurntSushi/quickcheck@quickcheck_macros-0.9.0...1.0.1) Signed-off-by: dependabot-preview[bot] <[email protected]>
…eck-1.0 Update quickcheck requirement from 0.9 to 1.0
Updates the requirements on [nalgebra](https://github.com/dimforge/nalgebra) to permit the latest version. - [Release notes](https://github.com/dimforge/nalgebra/releases) - [Changelog](https://github.com/dimforge/nalgebra/blob/dev/CHANGELOG.md) - [Commits](dimforge/nalgebra@v0.24.0...v0.25.0) Signed-off-by: dependabot-preview[bot] <[email protected]>
…a-0.25 Update nalgebra requirement from 0.24 to 0.25
Updates the requirements on [approx](https://github.com/brendanzab/approx) to permit the latest version. - [Release notes](https://github.com/brendanzab/approx/releases) - [Commits](brendanzab/approx@v0.4.0...v0.5.0) Signed-off-by: dependabot-preview[bot] <[email protected]>
Update approx requirement from 0.4 to 0.5
…-file Upgrade to GitHub-native Dependabot
…ls-0.10 Update itertools requirement from 0.9 to 0.10
Updates the requirements on [nalgebra](https://github.com/dimforge/nalgebra) to permit the latest version. - [Release notes](https://github.com/dimforge/nalgebra/releases) - [Changelog](https://github.com/dimforge/nalgebra/blob/dev/CHANGELOG.md) - [Commits](dimforge/nalgebra@v0.25.0...v0.28.0) --- updated-dependencies: - dependency-name: nalgebra dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]>
…a-0.28 Update nalgebra requirement from 0.25 to 0.28
Updates the requirements on [nalgebra](https://github.com/dimforge/nalgebra) to permit the latest version. - [Release notes](https://github.com/dimforge/nalgebra/releases) - [Changelog](https://github.com/dimforge/nalgebra/blob/dev/CHANGELOG.md) - [Commits](dimforge/nalgebra@v0.28.0...v0.29.0) --- updated-dependencies: - dependency-name: nalgebra dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]>
…a-0.29 Update nalgebra requirement from 0.28 to 0.29
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.
Closes #101
I just wanted to update to Rust2021, and then I realized it doesn't build as is because of PRs like #116
And then I tried to fix the dependencies to make it compile, and it got fairly involved in there... But I didn't change any logic, and cargo test builds correctly but fails a bunch of tests. At this point, I'm not willing to invest time to investigate the actual logical failures.