Gwilym Inzani
a4a2856cb7
Stop searching if we've already overshot where it could be
2023-05-10 19:20:49 +01:00
Gwilym Inzani
bb5bd04b5f
Make clear faster
2023-05-10 18:13:32 +01:00
Gwilym Inzani
943fd1154f
Use const fn to make resizes a bit faster
2023-05-10 18:08:39 +01:00
Gwilym Inzani
65dd1341e5
Change hash mixing and add distance_histogram method
2023-05-10 17:49:48 +01:00
Gwilym Inzani
1fa4d8e970
Rename the tests to make them easier to compare
2023-05-10 16:20:58 +01:00
Gwilym Inzani
626e4da8e4
Massively improve high bit benchmarks with some bit mixing
2023-05-10 16:14:04 +01:00
Gwilym Inzani
82855ac66b
Remove unsafe from clone
2023-05-10 16:02:21 +01:00
Gwilym Inzani
925baced46
Use backing_vec_size rather than nodes.len()
2023-05-10 16:01:24 +01:00
Gwilym Inzani
c5341cb5fa
Add benchmarks
2023-05-10 16:01:16 +01:00
Gwilym Inzani
7873f9ed5c
More unsafe where needed
2023-05-09 22:43:06 +01:00
Gwilym Inzani
f530276638
Use a concrete type for hash
2023-05-09 22:38:04 +01:00
Gwilym Inzani
7b8ad58906
Extend clippy lints
2023-05-09 22:10:53 +01:00
Gwilym Inzani
05f387e41f
Don't do unsafe things with entries
2023-05-09 22:00:13 +01:00
Gwilym Inzani
722deafc2f
Add safety comments
2023-05-09 21:55:14 +01:00
Gwilym Inzani
35061ffb6a
deny(unreachable_pub)
2023-05-09 21:46:57 +01:00
Gwilym Inzani
68e68386a1
Improve implementation of next
2023-05-09 21:44:14 +01:00
Gwilym Inzani
b3e56e88f2
Use ? rather than if let
2023-05-09 21:39:35 +01:00
Gwilym Inzani
9205ba1d0d
Simplify get_mut implementation
2023-05-09 21:37:52 +01:00
Gwilym Inzani
917163f88b
Key value ref unchecked
2023-05-09 21:37:20 +01:00
Gwilym Inzani
dc8589479e
We know the location is correct here
2023-05-09 21:34:16 +01:00
Gwilym Inzani
4d4ca80004
Add a bit of unsafe in the entry API
2023-05-09 21:33:20 +01:00
Gwilym Inzani
6f1f7811e2
Copy standard library tests
2023-05-09 21:12:28 +01:00
Gwilym Inzani
f34f42ab4c
Implement debug
2023-05-09 21:12:22 +01:00
Gwilym Inzani
e9f6120b4c
Implement Eq and PartialEq
2023-05-09 21:09:44 +01:00
Gwilym Inzani
5decb42cf0
Implement clone for hashmap
2023-05-09 21:05:00 +01:00
Gwilym Inzani
1cdf23683a
Extract node_storage as well
2023-05-09 20:57:33 +01:00
Gwilym Inzani
5e04e8c03f
Extract node module
2023-05-09 20:43:23 +01:00
Corwin
a0ead37eb5
Add amplitude to build ( #424 )
...
- [x] no changelog update needed
2023-04-26 01:45:19 +01:00
Corwin
5f745d9409
Combo: Launch the correct game ( #423 )
...
- [x] no changelog update needed
2023-04-26 01:41:14 +01:00
Corwin
ea0149e6c3
add amplitude to build
2023-04-26 01:37:37 +01:00
Corwin
d08500d9c3
launch the correct game
2023-04-26 01:34:25 +01:00
Corwin
400abe5b31
Release v0.15.0
2023-04-25 21:51:29 +01:00
Corwin
b5d8201eb0
Add toolchain file for hashmap ( #422 )
...
- [x] no changelog update needed
2023-04-25 21:49:52 +01:00
Corwin
febee09e3a
add toolchain file
2023-04-25 21:43:17 +01:00
Corwin
68e981f3c8
Objects, again, again ( #402 )
...
* A redesign of objects giving the option of a more managed and an
unmanaged system.
* Managed system features
* Z ordering (should be efficient, based on a doubly linked list).
* More than 128 objects if some are disabled (not currently efficient).
* Unmanaged
* Same sprite system as before.
* You control how objects get put in to OAM with the unmanaged OAM.
TODO before this is mergable:
* [x] Docs pass, aim for everything to have docs as before.
* [x] Tests, some of these needs some run time testing.
* [x] Affine matrices, I'm not leaving this to die this time.
* [x] Some API redo, so the names make sense / are similar to before.
Future work:
* The Sprite loader should keep most recently used sprites around and
upon allocation of a new sprite try unloading the least recently used
sprite. (Performance wise this would be a disaster as it would be doing
dealloc and alloc in vblank, so really we want to "learn" how much
buffer we should maintain and try to get that during GC).
- [x] Changelog updated
2023-04-25 21:14:49 +01:00
Corwin
409798c3bf
use fancy way of getting and setting slots
2023-04-25 21:07:31 +01:00
Corwin
929eef1569
add deny
2023-04-25 21:01:04 +01:00
Corwin
d54560f362
fix warnings
2023-04-25 21:00:26 +01:00
Corwin
4ea75bc064
add amplitude to combo rom
2023-04-25 20:57:18 +01:00
Corwin
9dc3f46209
Make test runner sounder ( #421 )
...
- [x] no changelog update needed
2023-04-25 20:44:05 +01:00
Corwin
d44461610d
go back to tab spacing
2023-04-25 20:39:25 +01:00
Corwin
1eadd5bdf7
make it sounder
2023-04-25 20:34:47 +01:00
Gwilym Inzani
d45486b189
Maybe make the build faster by using the same settings for all crates ( #420 )
...
Just creating a PR so I can time the CI
- [x] Changelog updated / no changelog update needed
2023-04-25 20:32:53 +01:00
Corwin
e78a6624ff
add amplitude
2023-04-25 20:32:28 +01:00
Gwilym Inzani
9835f81b5f
Maybe make the build faster by using the same settings for all crates
2023-04-25 20:22:44 +01:00
Gwilym Inzani
3747d6192a
Ensure mod tests is at the end ( #419 )
...
Fixes build failure
- [x] Changelog updated / no changelog update needed
2023-04-25 20:17:13 +01:00
Gwilym Inzani
8e152f05c9
Ensure mod tests is at the end
2023-04-25 20:06:52 +01:00
Corwin
3ec9bd2610
Merge remote-tracking branch 'upstream/master' into new-objects
2023-04-23 20:44:46 +01:00
Corwin
8ab539acbb
add changelog entries
2023-04-23 20:43:09 +01:00
Corwin
94a8e2d4c3
add deprecation for old names
2023-04-23 20:41:42 +01:00