Corwin
6e0d58a674
add precision support for fixnums
2023-06-02 00:03:27 +01:00
Corwin
b5704afe5e
remove usize
2023-06-01 18:52:03 +01:00
Corwin
9fa8f75202
upcast multiply
2023-05-30 22:21:12 +01:00
Gwilym Inzani
da5aed83e3
Use bilge rather than modular-bitfield ( #430 )
...
Thought I'd give bilge a go rather than modular bitfield after reading
this blog post:
https://hecatia-elegua.github.io/blog/no-more-bit-fiddling/
- [ ] Changelog updated / no changelog update needed
2023-05-30 20:41:46 +01:00
Corwin
a178e28b77
Optimise Normalisation ( #435 )
...
This only optimises the relevant blocks during normalisation.
The benchmark in CI goes from 12023166 cycles to 9260517 cycles, a
decrease of 23%.
- [x] no changelog update needed
2023-05-26 18:23:33 +01:00
Corwin
7e111e0327
remove unused import
2023-05-25 19:30:38 +01:00
Corwin
9c15adf6c8
only normalise the relevant blocks
2023-05-25 19:25:26 +01:00
Corwin
1b687b787d
Inline always in new_from_parts ( #433 )
...
Mentioned here that we should probably do it:
https://github.com/agbrs/agb/discussions/370#discussioncomment-4650702
From decompiling, it seems that this normally happens, but lets at least
ensure it if you don't have lto enabled.
- [x] no changelog update needed
2023-05-24 01:47:03 +01:00
Gwilym Inzani
8c1c725dfa
Inline always in new_from_parts
2023-05-23 21:46:25 +01:00
Gwilym Inzani
98484783b4
Minor speed up for tiles ( #432 )
...
We currently do lots of redundant hash calculations while changing a
tile in vram. We can cache the value and then use the entry API to reuse
it.
- [x] no changelog update needed
2023-05-23 21:41:25 +01:00
Gwilym Inzani
9ec0836da9
Put the capacity check back in
2023-05-23 21:29:05 +01:00
Gwilym Inzani
903157325f
Don't recalculate the hash
2023-05-23 21:20:49 +01:00
Gwilym Inzani
d393ad7e99
Bypass some duplicated work if you use the entry API
2023-05-23 21:10:27 +01:00
Corwin
1bb70aa24b
Remove workarounds ( #426 )
...
Removes some workaronds for rust bugs
- [x] no changelog update needed
2023-05-23 20:29:35 +01:00
Corwin
6b7088773e
remove codegen units
2023-05-23 20:12:42 +01:00
Corwin
d638134d37
remove codegen-units
...
these were added as a workaround for rust bugs
2023-05-23 20:10:24 +01:00
Corwin
37c30586c3
remove profiles from some projects
...
these projects are not tested or run on the gba or
are dependencies and therefore follow the binaries settings
2023-05-23 20:10:21 +01:00
Gwilym Inzani
6e441efe92
Remove the need for binutils ( #425 )
...
Just uses `global_asm!` instead.
- [x] Changelog updated / no changelog update needed
2023-05-21 20:35:06 +01:00
Gwilym Inzani
7cf66e67e5
Update agb version in amplitude
2023-05-21 16:49:06 +01:00
Gwilym Inzani
0278fc8158
Add changelog entry for removing binutils dependency
2023-05-21 16:38:06 +01:00
Gwilym Inzani
1b27bf4613
Remove codegen-units = 1
since it won't be needed any more
2023-05-21 16:37:35 +01:00
Gwilym Inzani
958f32b177
Include macros.inc properly
2023-05-21 16:37:35 +01:00
Gwilym Inzani
78bad29f88
Add codegen-units=1 to prevent miscompiles
2023-05-21 16:37:35 +01:00
Gwilym Inzani
fe23bee18b
Prevent multiple include errors
2023-05-21 16:37:35 +01:00
Gwilym Inzani
878402a5b6
Don't install arm-none-eabi-binutils
2023-05-21 16:37:35 +01:00
Gwilym Inzani
2de1b08f42
Remove references to arm-none-eabi
2023-05-21 16:37:35 +01:00
Gwilym Inzani
5ab0176ddb
Entirely remove the need for binutils
2023-05-21 16:37:34 +01:00
Corwin
2012f2ec35
Fix alignment of thumb functions defined in assembly ( #431 )
...
- [x] Changelog updated / no changelog update needed
2023-05-18 19:25:48 +01:00
Corwin
df696a1093
align after section
2023-05-18 12:06:30 +01:00
Corwin
e1426d8ef7
correct non thumb-interwork return
2023-05-17 23:25:27 +01:00
Corwin
9f3259d770
fix alignment of thumb functions defined in assembly
2023-05-17 19:56:57 +01:00
Gwilym Inzani
644e94f8ed
Use bilge rather than modular-bitfield
2023-05-17 15:01:22 +01:00
Gwilym Inzani
458280b68f
Refactor and slightly improve hashmap ( #429 )
...
Started as an attempt to make it easier to develop the hashmap, ended up
with me benchmarking everything :).
- [x] no changelog update needed
2023-05-16 22:25:11 +01:00
Gwilym Inzani
d9803fb873
Fix doc links
2023-05-16 20:44:07 +01:00
Gwilym Inzani
362bfc1430
Explicity wrap the multiplication
2023-05-16 20:18:08 +01:00
Corwin
8735597435
Add more to changelog ( #428 )
...
Adds a bunch of things missing from the changelog
- [x] Changelog updated
2023-05-12 19:37:20 +01:00
Corwin
93cd560ddc
add more to the changelog relating to changes made for no_game
2023-05-12 19:25:18 +01:00
Corwin
84f22c0b30
Add a no game ( #427 )
...
This adds a "no game" to replace the template.
* Inspired by how Love2D has a default game that says "No Game".
* This screen:
https://youtube.com/clip/Ugkx6atqwerxyyUSiVrFhmAh7pK2xNgjHxI9
- [x] Changelog updated
2023-05-11 20:08:28 +01:00
Corwin
8aee2753f9
add changelog
2023-05-11 19:59:13 +01:00
Gwilym Inzani
70e2927d1e
GBA hated this bit_mix function
2023-05-10 19:21:07 +01:00
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