aboutsummaryrefslogtreecommitdiff
path: root/src/arch/common.h
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2024-10-04 12:01:41 +0200
committerSebastiano Tronto <sebastiano@tronto.net>2024-10-04 12:01:41 +0200
commit80b065f757240af7920862b3e09f32a6dc06d392 (patch)
treec0223ba1f0a3254305f59637b3fb25bd58698cf8 /src/arch/common.h
parentfd111a1a51b8293f79db6284331af50824df92b9 (diff)
downloadnissy-core-80b065f757240af7920862b3e09f32a6dc06d392.tar.gz
nissy-core-80b065f757240af7920862b3e09f32a6dc06d392.zip
Table-based transformations (will revert immediately)
This commit changes transformations to being based on a lookup table intead of a big switch. This is something I had planned for a long time and the code is nicer with this change. But unfortunately the performance is noticeably worse, so I'll revert all these changes in the next commit. I wanted to push this anyway so we can keep track of this.
Diffstat (limited to 'src/arch/common.h')
-rw-r--r--src/arch/common.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/arch/common.h b/src/arch/common.h
index 346403b..1469b30 100644
--- a/src/arch/common.h
+++ b/src/arch/common.h
@@ -1,4 +1,11 @@
1#define ZERO_CUBE cubefrompieces( \
2 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
3#define SOLVED_CUBE cubefrompieces( \
4 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
1STATIC void pieces(cube_t *, uint8_t [static 8], uint8_t [static 12]); 5STATIC void pieces(cube_t *, uint8_t [static 8], uint8_t [static 12]);
6STATIC_INLINE cube_t cubefrompieces(uint8_t, uint8_t, uint8_t, uint8_t,
7 uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t,
8 uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t);
2STATIC_INLINE bool equal(cube_t, cube_t); 9STATIC_INLINE bool equal(cube_t, cube_t);
3STATIC_INLINE cube_t invertco(cube_t); 10STATIC_INLINE cube_t invertco(cube_t);
4STATIC_INLINE cube_t compose_epcpeo(cube_t, cube_t); 11STATIC_INLINE cube_t compose_epcpeo(cube_t, cube_t);

Generated with cgit - Back to sebastiano.tronto.net