From b17411249b17133f35833c202e6c2e4bf43b3298 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Thu, 5 Sep 2024 10:04:34 +0200 Subject: More renaming --- src/core/constant_cubes.h | 228 +++++++++++++++++++-------------------- src/core/cube.h | 33 +++--- src/core/io_cube.h | 14 +-- src/core/moves.h | 86 +++++++-------- src/core/transform.h | 8 +- src/core/transform_with_switch.h | 8 +- 6 files changed, 189 insertions(+), 188 deletions(-) (limited to 'src/core') diff --git a/src/core/constant_cubes.h b/src/core/constant_cubes.h index e6a9e88..9657e1a 100644 --- a/src/core/constant_cubes.h +++ b/src/core/constant_cubes.h @@ -1,229 +1,229 @@ -#define MOVE_CUBE_U static_cube( \ +#define MOVE_CUBE_U STATIC_CUBE( \ 5, 4, 2, 3, 0, 1, 6, 7, 4, 5, 2, 3, 1, 0, 6, 7, 8, 9, 10, 11) -#define MOVE_CUBE_U2 static_cube( \ +#define MOVE_CUBE_U2 STATIC_CUBE( \ 1, 0, 2, 3, 5, 4, 6, 7, 1, 0, 2, 3, 5, 4, 6, 7, 8, 9, 10, 11) -#define MOVE_CUBE_U3 static_cube( \ +#define MOVE_CUBE_U3 STATIC_CUBE( \ 4, 5, 2, 3, 1, 0, 6, 7, 5, 4, 2, 3, 0, 1, 6, 7, 8, 9, 10, 11) -#define MOVE_CUBE_D static_cube( \ +#define MOVE_CUBE_D STATIC_CUBE( \ 0, 1, 7, 6, 4, 5, 2, 3, 0, 1, 7, 6, 4, 5, 2, 3, 8, 9, 10, 11) -#define MOVE_CUBE_D2 static_cube( \ +#define MOVE_CUBE_D2 STATIC_CUBE( \ 0, 1, 3, 2, 4, 5, 7, 6, 0, 1, 3, 2, 4, 5, 7, 6, 8, 9, 10, 11) -#define MOVE_CUBE_D3 static_cube( \ +#define MOVE_CUBE_D3 STATIC_CUBE( \ 0, 1, 6, 7, 4, 5, 3, 2, 0, 1, 6, 7, 4, 5, 3, 2, 8, 9, 10, 11) -#define MOVE_CUBE_R static_cube( \ +#define MOVE_CUBE_R STATIC_CUBE( \ 70, 1, 2, 69, 4, 32, 35, 7, 0, 1, 2, 3, 8, 5, 6, 11, 7, 9, 10, 4) -#define MOVE_CUBE_R2 static_cube( \ +#define MOVE_CUBE_R2 STATIC_CUBE( \ 3, 1, 2, 0, 4, 6, 5, 7, 0, 1, 2, 3, 7, 5, 6, 4, 11, 9, 10, 8) -#define MOVE_CUBE_R3 static_cube( \ +#define MOVE_CUBE_R3 STATIC_CUBE( \ 69, 1, 2, 70, 4, 35, 32, 7, 0, 1, 2, 3, 11, 5, 6, 8, 4, 9, 10, 7) -#define MOVE_CUBE_L static_cube( \ +#define MOVE_CUBE_L STATIC_CUBE( \ 0, 71, 68, 3, 33, 5, 6, 34, 0, 1, 2, 3, 4, 10, 9, 7, 8, 5, 6, 11) -#define MOVE_CUBE_L2 static_cube( \ +#define MOVE_CUBE_L2 STATIC_CUBE( \ 0, 2, 1, 3, 7, 5, 6, 4, 0, 1, 2, 3, 4, 6, 5, 7, 8, 10, 9, 11) -#define MOVE_CUBE_L3 static_cube( \ +#define MOVE_CUBE_L3 STATIC_CUBE( \ 0, 68, 71, 3, 34, 5, 6, 33, 0, 1, 2, 3, 4, 9, 10, 7, 8, 6, 5, 11) -#define MOVE_CUBE_F static_cube( \ +#define MOVE_CUBE_F STATIC_CUBE( \ 36, 1, 38, 3, 66, 5, 64, 7, 25, 1, 2, 24, 4, 5, 6, 7, 16, 19, 10, 11) -#define MOVE_CUBE_F2 static_cube( \ +#define MOVE_CUBE_F2 STATIC_CUBE( \ 2, 1, 0, 3, 6, 5, 4, 7, 3, 1, 2, 0, 4, 5, 6, 7, 9, 8, 10, 11) -#define MOVE_CUBE_F3 static_cube( \ +#define MOVE_CUBE_F3 STATIC_CUBE( \ 38, 1, 36, 3, 64, 5, 66, 7, 24, 1, 2, 25, 4, 5, 6, 7, 19, 16, 10, 11) -#define MOVE_CUBE_B static_cube( \ +#define MOVE_CUBE_B STATIC_CUBE( \ 0, 37, 2, 39, 4, 67, 6, 65, 0, 27, 26, 3, 4, 5, 6, 7, 8, 9, 17, 18) -#define MOVE_CUBE_B2 static_cube( \ +#define MOVE_CUBE_B2 STATIC_CUBE( \ 0, 3, 2, 1, 4, 7, 6, 5, 0, 2, 1, 3, 4, 5, 6, 7, 8, 9, 11, 10) -#define MOVE_CUBE_B3 static_cube( \ +#define MOVE_CUBE_B3 STATIC_CUBE( \ 0, 39, 2, 37, 4, 65, 6, 67, 0, 26, 27, 3, 4, 5, 6, 7, 8, 9, 18, 17) -#define TRANS_CUBE_UFr static_cube( \ +#define TRANS_CUBE_UFr STATIC_CUBE( \ 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11) -#define TRANS_CUBE_UFr_INVERSE static_cube( \ +#define TRANS_CUBE_UFr_INVERSE STATIC_CUBE( \ 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11) -#define TRANS_CUBE_ULr static_cube( \ +#define TRANS_CUBE_ULr STATIC_CUBE( \ 4, 5, 7, 6, 1, 0, 2, 3, 5, 4, 7, 6, 0, 1, 2, 3, 25, 26, 27, 24) -#define TRANS_CUBE_ULr_INVERSE static_cube( \ +#define TRANS_CUBE_ULr_INVERSE STATIC_CUBE( \ 5, 4, 6, 7, 0, 1, 3, 2, 4, 5, 6, 7, 1, 0, 3, 2, 27, 24, 25, 26) -#define TRANS_CUBE_UBr static_cube( \ +#define TRANS_CUBE_UBr STATIC_CUBE( \ 1, 0, 3, 2, 5, 4, 7, 6, 1, 0, 3, 2, 5, 4, 7, 6, 10, 11, 8, 9) -#define TRANS_CUBE_UBr_INVERSE static_cube( \ +#define TRANS_CUBE_UBr_INVERSE STATIC_CUBE( \ 1, 0, 3, 2, 5, 4, 7, 6, 1, 0, 3, 2, 5, 4, 7, 6, 10, 11, 8, 9) -#define TRANS_CUBE_URr static_cube( \ +#define TRANS_CUBE_URr STATIC_CUBE( \ 5, 4, 6, 7, 0, 1, 3, 2, 4, 5, 6, 7, 1, 0, 3, 2, 27, 24, 25, 26) -#define TRANS_CUBE_URr_INVERSE static_cube( \ +#define TRANS_CUBE_URr_INVERSE STATIC_CUBE( \ 4, 5, 7, 6, 1, 0, 2, 3, 5, 4, 7, 6, 0, 1, 2, 3, 25, 26, 27, 24) -#define TRANS_CUBE_DFr static_cube( \ +#define TRANS_CUBE_DFr STATIC_CUBE( \ 2, 3, 0, 1, 6, 7, 4, 5, 3, 2, 1, 0, 6, 7, 4, 5, 9, 8, 11, 10) -#define TRANS_CUBE_DFr_INVERSE static_cube( \ +#define TRANS_CUBE_DFr_INVERSE STATIC_CUBE( \ 2, 3, 0, 1, 6, 7, 4, 5, 3, 2, 1, 0, 6, 7, 4, 5, 9, 8, 11, 10) -#define TRANS_CUBE_DLr static_cube( \ +#define TRANS_CUBE_DLr STATIC_CUBE( \ 7, 6, 4, 5, 2, 3, 1, 0, 6, 7, 4, 5, 2, 3, 0, 1, 26, 25, 24, 27) -#define TRANS_CUBE_DLr_INVERSE static_cube( \ +#define TRANS_CUBE_DLr_INVERSE STATIC_CUBE( \ 7, 6, 4, 5, 2, 3, 1, 0, 6, 7, 4, 5, 2, 3, 0, 1, 26, 25, 24, 27) -#define TRANS_CUBE_DBr static_cube( \ +#define TRANS_CUBE_DBr STATIC_CUBE( \ 3, 2, 1, 0, 7, 6, 5, 4, 2, 3, 0, 1, 7, 6, 5, 4, 11, 10, 9, 8) -#define TRANS_CUBE_DBr_INVERSE static_cube( \ +#define TRANS_CUBE_DBr_INVERSE STATIC_CUBE( \ 3, 2, 1, 0, 7, 6, 5, 4, 2, 3, 0, 1, 7, 6, 5, 4, 11, 10, 9, 8) -#define TRANS_CUBE_DRr static_cube( \ +#define TRANS_CUBE_DRr STATIC_CUBE( \ 6, 7, 5, 4, 3, 2, 0, 1, 7, 6, 5, 4, 3, 2, 1, 0, 24, 27, 26, 25) -#define TRANS_CUBE_DRr_INVERSE static_cube( \ +#define TRANS_CUBE_DRr_INVERSE STATIC_CUBE( \ 6, 7, 5, 4, 3, 2, 0, 1, 7, 6, 5, 4, 3, 2, 1, 0, 24, 27, 26, 25) -#define TRANS_CUBE_RUr static_cube( \ +#define TRANS_CUBE_RUr STATIC_CUBE( \ 64, 67, 65, 66, 37, 38, 36, 39, 20, 23, 22, 21, 24, 27, 26, 25, 0, 1, 2, 3) -#define TRANS_CUBE_RUr_INVERSE static_cube( \ +#define TRANS_CUBE_RUr_INVERSE STATIC_CUBE( \ 32, 34, 35, 33, 70, 68, 69, 71, 8, 9, 10, 11, 16, 19, 18, 17, 20, 23, 22, 21) -#define TRANS_CUBE_RFr static_cube( \ +#define TRANS_CUBE_RFr STATIC_CUBE( \ 38, 37, 36, 39, 64, 67, 66, 65, 24, 27, 26, 25, 23, 20, 21, 22, 19, 16, 17, 18) -#define TRANS_CUBE_RFr_INVERSE static_cube( \ +#define TRANS_CUBE_RFr_INVERSE STATIC_CUBE( \ 36, 39, 38, 37, 66, 65, 64, 67, 25, 26, 27, 24, 21, 22, 23, 20, 16, 19, 18, 17) -#define TRANS_CUBE_RDr static_cube( \ +#define TRANS_CUBE_RDr STATIC_CUBE( \ 67, 64, 66, 65, 38, 37, 39, 36, 23, 20, 21, 22, 27, 24, 25, 26, 2, 3, 0, 1) -#define TRANS_CUBE_RDr_INVERSE static_cube( \ +#define TRANS_CUBE_RDr_INVERSE STATIC_CUBE( \ 33, 35, 34, 32, 71, 69, 68, 70, 10, 11, 8, 9, 17, 18, 19, 16, 21, 22, 23, 20) -#define TRANS_CUBE_RBr static_cube( \ +#define TRANS_CUBE_RBr STATIC_CUBE( \ 37, 38, 39, 36, 67, 64, 65, 66, 27, 24, 25, 26, 20, 23, 22, 21, 17, 18, 19, 16) -#define TRANS_CUBE_RBr_INVERSE static_cube( \ +#define TRANS_CUBE_RBr_INVERSE STATIC_CUBE( \ 37, 38, 39, 36, 67, 64, 65, 66, 27, 24, 25, 26, 20, 23, 22, 21, 17, 18, 19, 16) -#define TRANS_CUBE_LUr static_cube( \ +#define TRANS_CUBE_LUr STATIC_CUBE( \ 65, 66, 64, 67, 36, 39, 37, 38, 21, 22, 23, 20, 26, 25, 24, 27, 1, 0, 3, 2) -#define TRANS_CUBE_LUr_INVERSE static_cube( \ +#define TRANS_CUBE_LUr_INVERSE STATIC_CUBE( \ 34, 32, 33, 35, 68, 70, 71, 69, 9, 8, 11, 10, 19, 16, 17, 18, 22, 21, 20, 23) -#define TRANS_CUBE_LFr static_cube( \ +#define TRANS_CUBE_LFr STATIC_CUBE( \ 36, 39, 38, 37, 66, 65, 64, 67, 25, 26, 27, 24, 21, 22, 23, 20, 16, 19, 18, 17) -#define TRANS_CUBE_LFr_INVERSE static_cube( \ +#define TRANS_CUBE_LFr_INVERSE STATIC_CUBE( \ 38, 37, 36, 39, 64, 67, 66, 65, 24, 27, 26, 25, 23, 20, 21, 22, 19, 16, 17, 18) -#define TRANS_CUBE_LDr static_cube( \ +#define TRANS_CUBE_LDr STATIC_CUBE( \ 66, 65, 67, 64, 39, 36, 38, 37, 22, 21, 20, 23, 25, 26, 27, 24, 3, 2, 1, 0) -#define TRANS_CUBE_LDr_INVERSE static_cube( \ +#define TRANS_CUBE_LDr_INVERSE STATIC_CUBE( \ 35, 33, 32, 34, 69, 71, 70, 68, 11, 10, 9, 8, 18, 17, 16, 19, 23, 20, 21, 22) -#define TRANS_CUBE_LBr static_cube( \ +#define TRANS_CUBE_LBr STATIC_CUBE( \ 39, 36, 37, 38, 65, 66, 67, 64, 26, 25, 24, 27, 22, 21, 20, 23, 18, 17, 16, 19) -#define TRANS_CUBE_LBr_INVERSE static_cube( \ +#define TRANS_CUBE_LBr_INVERSE STATIC_CUBE( \ 39, 36, 37, 38, 65, 66, 67, 64, 26, 25, 24, 27, 22, 21, 20, 23, 18, 17, 16, 19) -#define TRANS_CUBE_FUr static_cube( \ +#define TRANS_CUBE_FUr STATIC_CUBE( \ 68, 70, 69, 71, 32, 34, 33, 35, 16, 19, 18, 17, 9, 8, 11, 10, 5, 4, 7, 6) -#define TRANS_CUBE_FUr_INVERSE static_cube( \ +#define TRANS_CUBE_FUr_INVERSE STATIC_CUBE( \ 68, 70, 69, 71, 32, 34, 33, 35, 16, 19, 18, 17, 9, 8, 11, 10, 5, 4, 7, 6) -#define TRANS_CUBE_FRr static_cube( \ +#define TRANS_CUBE_FRr STATIC_CUBE( \ 32, 34, 35, 33, 70, 68, 69, 71, 8, 9, 10, 11, 16, 19, 18, 17, 20, 23, 22, 21) -#define TRANS_CUBE_FRr_INVERSE static_cube( \ +#define TRANS_CUBE_FRr_INVERSE STATIC_CUBE( \ 64, 67, 65, 66, 37, 38, 36, 39, 20, 23, 22, 21, 24, 27, 26, 25, 0, 1, 2, 3) -#define TRANS_CUBE_FDr static_cube( \ +#define TRANS_CUBE_FDr STATIC_CUBE( \ 70, 68, 71, 69, 34, 32, 35, 33, 19, 16, 17, 18, 8, 9, 10, 11, 7, 6, 5, 4) -#define TRANS_CUBE_FDr_INVERSE static_cube( \ +#define TRANS_CUBE_FDr_INVERSE STATIC_CUBE( \ 69, 71, 68, 70, 33, 35, 32, 34, 17, 18, 19, 16, 11, 10, 9, 8, 4, 5, 6, 7) -#define TRANS_CUBE_FLr static_cube( \ +#define TRANS_CUBE_FLr STATIC_CUBE( \ 34, 32, 33, 35, 68, 70, 71, 69, 9, 8, 11, 10, 19, 16, 17, 18, 22, 21, 20, 23) -#define TRANS_CUBE_FLr_INVERSE static_cube( \ +#define TRANS_CUBE_FLr_INVERSE STATIC_CUBE( \ 65, 66, 64, 67, 36, 39, 37, 38, 21, 22, 23, 20, 26, 25, 24, 27, 1, 0, 3, 2) -#define TRANS_CUBE_BUr static_cube( \ +#define TRANS_CUBE_BUr STATIC_CUBE( \ 69, 71, 68, 70, 33, 35, 32, 34, 17, 18, 19, 16, 11, 10, 9, 8, 4, 5, 6, 7) -#define TRANS_CUBE_BUr_INVERSE static_cube( \ +#define TRANS_CUBE_BUr_INVERSE STATIC_CUBE( \ 70, 68, 71, 69, 34, 32, 35, 33, 19, 16, 17, 18, 8, 9, 10, 11, 7, 6, 5, 4) -#define TRANS_CUBE_BRr static_cube( \ +#define TRANS_CUBE_BRr STATIC_CUBE( \ 35, 33, 32, 34, 69, 71, 70, 68, 11, 10, 9, 8, 18, 17, 16, 19, 23, 20, 21, 22) -#define TRANS_CUBE_BRr_INVERSE static_cube( \ +#define TRANS_CUBE_BRr_INVERSE STATIC_CUBE( \ 66, 65, 67, 64, 39, 36, 38, 37, 22, 21, 20, 23, 25, 26, 27, 24, 3, 2, 1, 0) -#define TRANS_CUBE_BDr static_cube( \ +#define TRANS_CUBE_BDr STATIC_CUBE( \ 71, 69, 70, 68, 35, 33, 34, 32, 18, 17, 16, 19, 10, 11, 8, 9, 6, 7, 4, 5) -#define TRANS_CUBE_BDr_INVERSE static_cube( \ +#define TRANS_CUBE_BDr_INVERSE STATIC_CUBE( \ 71, 69, 70, 68, 35, 33, 34, 32, 18, 17, 16, 19, 10, 11, 8, 9, 6, 7, 4, 5) -#define TRANS_CUBE_BLr static_cube( \ +#define TRANS_CUBE_BLr STATIC_CUBE( \ 33, 35, 34, 32, 71, 69, 68, 70, 10, 11, 8, 9, 17, 18, 19, 16, 21, 22, 23, 20) -#define TRANS_CUBE_BLr_INVERSE static_cube( \ +#define TRANS_CUBE_BLr_INVERSE STATIC_CUBE( \ 67, 64, 66, 65, 38, 37, 39, 36, 23, 20, 21, 22, 27, 24, 25, 26, 2, 3, 0, 1) -#define TRANS_CUBE_UFm static_cube( \ +#define TRANS_CUBE_UFm STATIC_CUBE( \ 4, 5, 6, 7, 0, 1, 2, 3, 0, 1, 2, 3, 5, 4, 7, 6, 9, 8, 11, 10) -#define TRANS_CUBE_UFm_INVERSE static_cube( \ +#define TRANS_CUBE_UFm_INVERSE STATIC_CUBE( \ 4, 5, 6, 7, 0, 1, 2, 3, 0, 1, 2, 3, 5, 4, 7, 6, 9, 8, 11, 10) -#define TRANS_CUBE_ULm static_cube( \ +#define TRANS_CUBE_ULm STATIC_CUBE( \ 0, 1, 3, 2, 5, 4, 6, 7, 4, 5, 6, 7, 0, 1, 2, 3, 24, 27, 26, 25) -#define TRANS_CUBE_ULm_INVERSE static_cube( \ +#define TRANS_CUBE_ULm_INVERSE STATIC_CUBE( \ 0, 1, 3, 2, 5, 4, 6, 7, 4, 5, 6, 7, 0, 1, 2, 3, 24, 27, 26, 25) -#define TRANS_CUBE_UBm static_cube( \ +#define TRANS_CUBE_UBm STATIC_CUBE( \ 5, 4, 7, 6, 1, 0, 3, 2, 1, 0, 3, 2, 4, 5, 6, 7, 11, 10, 9, 8) -#define TRANS_CUBE_UBm_INVERSE static_cube( \ +#define TRANS_CUBE_UBm_INVERSE STATIC_CUBE( \ 5, 4, 7, 6, 1, 0, 3, 2, 1, 0, 3, 2, 4, 5, 6, 7, 11, 10, 9, 8) -#define TRANS_CUBE_URm static_cube( \ +#define TRANS_CUBE_URm STATIC_CUBE( \ 1, 0, 2, 3, 4, 5, 7, 6, 5, 4, 7, 6, 1, 0, 3, 2, 26, 25, 24, 27) -#define TRANS_CUBE_URm_INVERSE static_cube( \ +#define TRANS_CUBE_URm_INVERSE STATIC_CUBE( \ 1, 0, 2, 3, 4, 5, 7, 6, 5, 4, 7, 6, 1, 0, 3, 2, 26, 25, 24, 27) -#define TRANS_CUBE_DFm static_cube( \ +#define TRANS_CUBE_DFm STATIC_CUBE( \ 6, 7, 4, 5, 2, 3, 0, 1, 3, 2, 1, 0, 7, 6, 5, 4, 8, 9, 10, 11) -#define TRANS_CUBE_DFm_INVERSE static_cube( \ +#define TRANS_CUBE_DFm_INVERSE STATIC_CUBE( \ 6, 7, 4, 5, 2, 3, 0, 1, 3, 2, 1, 0, 7, 6, 5, 4, 8, 9, 10, 11) -#define TRANS_CUBE_DLm static_cube( \ +#define TRANS_CUBE_DLm STATIC_CUBE( \ 3, 2, 0, 1, 6, 7, 5, 4, 7, 6, 5, 4, 2, 3, 0, 1, 27, 24, 25, 26) -#define TRANS_CUBE_DLm_INVERSE static_cube( \ +#define TRANS_CUBE_DLm_INVERSE STATIC_CUBE( \ 2, 3, 1, 0, 7, 6, 4, 5, 6, 7, 4, 5, 3, 2, 1, 0, 25, 26, 27, 24) -#define TRANS_CUBE_DBm static_cube( \ +#define TRANS_CUBE_DBm STATIC_CUBE( \ 7, 6, 5, 4, 3, 2, 1, 0, 2, 3, 0, 1, 6, 7, 4, 5, 10, 11, 8, 9) -#define TRANS_CUBE_DBm_INVERSE static_cube( \ +#define TRANS_CUBE_DBm_INVERSE STATIC_CUBE( \ 7, 6, 5, 4, 3, 2, 1, 0, 2, 3, 0, 1, 6, 7, 4, 5, 10, 11, 8, 9) -#define TRANS_CUBE_DRm static_cube( \ +#define TRANS_CUBE_DRm STATIC_CUBE( \ 2, 3, 1, 0, 7, 6, 4, 5, 6, 7, 4, 5, 3, 2, 1, 0, 25, 26, 27, 24) -#define TRANS_CUBE_DRm_INVERSE static_cube( \ +#define TRANS_CUBE_DRm_INVERSE STATIC_CUBE( \ 3, 2, 0, 1, 6, 7, 5, 4, 7, 6, 5, 4, 2, 3, 0, 1, 27, 24, 25, 26) -#define TRANS_CUBE_RUm static_cube( \ +#define TRANS_CUBE_RUm STATIC_CUBE( \ 68, 71, 69, 70, 33, 34, 32, 35, 21, 22, 23, 20, 25, 26, 27, 24, 0, 1, 2, 3) -#define TRANS_CUBE_RUm_INVERSE static_cube( \ +#define TRANS_CUBE_RUm_INVERSE STATIC_CUBE( \ 70, 68, 69, 71, 32, 34, 35, 33, 8, 9, 10, 11, 19, 16, 17, 18, 23, 20, 21, 22) -#define TRANS_CUBE_RFm static_cube( \ +#define TRANS_CUBE_RFm STATIC_CUBE( \ 34, 33, 32, 35, 68, 71, 70, 69, 25, 26, 27, 24, 22, 21, 20, 23, 19, 16, 17, 18) -#define TRANS_CUBE_RFm_INVERSE static_cube( \ +#define TRANS_CUBE_RFm_INVERSE STATIC_CUBE( \ 66, 65, 64, 67, 36, 39, 38, 37, 25, 26, 27, 24, 22, 21, 20, 23, 19, 16, 17, 18) -#define TRANS_CUBE_RDm static_cube( \ +#define TRANS_CUBE_RDm STATIC_CUBE( \ 71, 68, 70, 69, 34, 33, 35, 32, 22, 21, 20, 23, 26, 25, 24, 27, 2, 3, 0, 1) -#define TRANS_CUBE_RDm_INVERSE static_cube( \ +#define TRANS_CUBE_RDm_INVERSE STATIC_CUBE( \ 71, 69, 68, 70, 33, 35, 34, 32, 10, 11, 8, 9, 18, 17, 16, 19, 22, 21, 20, 23) -#define TRANS_CUBE_RBm static_cube( \ +#define TRANS_CUBE_RBm STATIC_CUBE( \ 33, 34, 35, 32, 71, 68, 69, 70, 26, 25, 24, 27, 21, 22, 23, 20, 17, 18, 19, 16) -#define TRANS_CUBE_RBm_INVERSE static_cube( \ +#define TRANS_CUBE_RBm_INVERSE STATIC_CUBE( \ 67, 64, 65, 66, 37, 38, 39, 36, 27, 24, 25, 26, 23, 20, 21, 22, 18, 17, 16, 19) -#define TRANS_CUBE_LUm static_cube( \ +#define TRANS_CUBE_LUm STATIC_CUBE( \ 69, 70, 68, 71, 32, 35, 33, 34, 20, 23, 22, 21, 27, 24, 25, 26, 1, 0, 3, 2) -#define TRANS_CUBE_LUm_INVERSE static_cube( \ +#define TRANS_CUBE_LUm_INVERSE STATIC_CUBE( \ 68, 70, 71, 69, 34, 32, 33, 35, 9, 8, 11, 10, 16, 19, 18, 17, 21, 22, 23, 20) -#define TRANS_CUBE_LFm static_cube( \ +#define TRANS_CUBE_LFm STATIC_CUBE( \ 32, 35, 34, 33, 70, 69, 68, 71, 24, 27, 26, 25, 20, 23, 22, 21, 16, 19, 18, 17) -#define TRANS_CUBE_LFm_INVERSE static_cube( \ +#define TRANS_CUBE_LFm_INVERSE STATIC_CUBE( \ 64, 67, 66, 65, 38, 37, 36, 39, 24, 27, 26, 25, 20, 23, 22, 21, 16, 19, 18, 17) -#define TRANS_CUBE_LDm static_cube( \ +#define TRANS_CUBE_LDm STATIC_CUBE( \ 70, 69, 71, 68, 35, 32, 34, 33, 23, 20, 21, 22, 24, 27, 26, 25, 3, 2, 1, 0) -#define TRANS_CUBE_LDm_INVERSE static_cube( \ +#define TRANS_CUBE_LDm_INVERSE STATIC_CUBE( \ 69, 71, 70, 68, 35, 33, 32, 34, 11, 10, 9, 8, 17, 18, 19, 16, 20, 23, 22, 21) -#define TRANS_CUBE_LBm static_cube( \ +#define TRANS_CUBE_LBm STATIC_CUBE( \ 35, 32, 33, 34, 69, 70, 71, 68, 27, 24, 25, 26, 23, 20, 21, 22, 18, 17, 16, 19) -#define TRANS_CUBE_LBm_INVERSE static_cube( \ +#define TRANS_CUBE_LBm_INVERSE STATIC_CUBE( \ 65, 66, 67, 64, 39, 36, 37, 38, 26, 25, 24, 27, 21, 22, 23, 20, 17, 18, 19, 16) -#define TRANS_CUBE_FUm static_cube( \ +#define TRANS_CUBE_FUm STATIC_CUBE( \ 64, 66, 65, 67, 36, 38, 37, 39, 16, 19, 18, 17, 8, 9, 10, 11, 4, 5, 6, 7) -#define TRANS_CUBE_FUm_INVERSE static_cube( \ +#define TRANS_CUBE_FUm_INVERSE STATIC_CUBE( \ 32, 34, 33, 35, 68, 70, 69, 71, 16, 19, 18, 17, 8, 9, 10, 11, 4, 5, 6, 7) -#define TRANS_CUBE_FRm static_cube( \ +#define TRANS_CUBE_FRm STATIC_CUBE( \ 36, 38, 39, 37, 66, 64, 65, 67, 9, 8, 11, 10, 16, 19, 18, 17, 21, 22, 23, 20) -#define TRANS_CUBE_FRm_INVERSE static_cube( \ +#define TRANS_CUBE_FRm_INVERSE STATIC_CUBE( \ 37, 38, 36, 39, 64, 67, 65, 66, 20, 23, 22, 21, 27, 24, 25, 26, 1, 0, 3, 2) -#define TRANS_CUBE_FDm static_cube( \ +#define TRANS_CUBE_FDm STATIC_CUBE( \ 66, 64, 67, 65, 38, 36, 39, 37, 19, 16, 17, 18, 9, 8, 11, 10, 6, 7, 4, 5) -#define TRANS_CUBE_FDm_INVERSE static_cube( \ +#define TRANS_CUBE_FDm_INVERSE STATIC_CUBE( \ 33, 35, 32, 34, 69, 71, 68, 70, 17, 18, 19, 16, 10, 11, 8, 9, 5, 4, 7, 6) -#define TRANS_CUBE_FLm static_cube( \ +#define TRANS_CUBE_FLm STATIC_CUBE( \ 38, 36, 37, 39, 64, 66, 67, 65, 8, 9, 10, 11, 19, 16, 17, 18, 23, 20, 21, 22) -#define TRANS_CUBE_FLm_INVERSE static_cube( \ +#define TRANS_CUBE_FLm_INVERSE STATIC_CUBE( \ 36, 39, 37, 38, 65, 66, 64, 67, 21, 22, 23, 20, 25, 26, 27, 24, 0, 1, 2, 3) -#define TRANS_CUBE_BUm static_cube( \ +#define TRANS_CUBE_BUm STATIC_CUBE( \ 65, 67, 64, 66, 37, 39, 36, 38, 17, 18, 19, 16, 10, 11, 8, 9, 5, 4, 7, 6) -#define TRANS_CUBE_BUm_INVERSE static_cube( \ +#define TRANS_CUBE_BUm_INVERSE STATIC_CUBE( \ 34, 32, 35, 33, 70, 68, 71, 69, 19, 16, 17, 18, 9, 8, 11, 10, 6, 7, 4, 5) -#define TRANS_CUBE_BRm static_cube( \ +#define TRANS_CUBE_BRm STATIC_CUBE( \ 39, 37, 36, 38, 65, 67, 66, 64, 10, 11, 8, 9, 18, 17, 16, 19, 22, 21, 20, 23) -#define TRANS_CUBE_BRm_INVERSE static_cube( \ +#define TRANS_CUBE_BRm_INVERSE STATIC_CUBE( \ 39, 36, 38, 37, 66, 65, 67, 64, 22, 21, 20, 23, 26, 25, 24, 27, 2, 3, 0, 1) -#define TRANS_CUBE_BDm static_cube( \ +#define TRANS_CUBE_BDm STATIC_CUBE( \ 67, 65, 66, 64, 39, 37, 38, 36, 18, 17, 16, 19, 11, 10, 9, 8, 7, 6, 5, 4) -#define TRANS_CUBE_BDm_INVERSE static_cube( \ +#define TRANS_CUBE_BDm_INVERSE STATIC_CUBE( \ 35, 33, 34, 32, 71, 69, 70, 68, 18, 17, 16, 19, 11, 10, 9, 8, 7, 6, 5, 4) -#define TRANS_CUBE_BLm static_cube( \ +#define TRANS_CUBE_BLm STATIC_CUBE( \ 37, 39, 38, 36, 67, 65, 64, 66, 11, 10, 9, 8, 17, 18, 19, 16, 20, 23, 22, 21) -#define TRANS_CUBE_BLm_INVERSE static_cube( \ +#define TRANS_CUBE_BLm_INVERSE STATIC_CUBE( \ 38, 37, 39, 36, 67, 64, 66, 65, 23, 20, 21, 22, 24, 27, 26, 25, 3, 2, 1, 0) diff --git a/src/core/cube.h b/src/core/cube.h index 1bb8bd0..2252a85 100644 --- a/src/core/cube.h +++ b/src/core/cube.h @@ -1,5 +1,5 @@ +STATIC cube_t solvecube(void); STATIC cube_t cubefromarray(uint8_t [static 8], uint8_t [static 12]); -STATIC cube_t solvedcube(void); STATIC bool isconsistent(cube_t); STATIC bool issolvable(cube_t); STATIC bool issolved(cube_t); @@ -7,19 +7,20 @@ STATIC bool iserror(cube_t); STATIC void getcube_fix(int64_t *, int64_t *, int64_t *, int64_t *); STATIC cube_t getcube(int64_t, int64_t, int64_t, int64_t); +/* This is used only in tests, use SOLVED_CUBE directly everywhere else */ STATIC cube_t -cubefromarray(uint8_t c[static 8], uint8_t e[static 12]) +solvedcube(void) { - return static_cube( - c[0], c[1], c[2], c[3], c[4], c[5], c[6], c[7], - e[0], e[1], e[2], e[3], e[4], e[5], e[6], e[7], - e[8], e[9], e[10], e[11]); + return SOLVED_CUBE; } STATIC cube_t -solvedcube(void) +cubefromarray(uint8_t c[static 8], uint8_t e[static 12]) { - return solved; + return STATIC_CUBE( + c[0], c[1], c[2], c[3], c[4], c[5], c[6], c[7], + e[0], e[1], e[2], e[3], e[4], e[5], e[6], e[7], + e[8], e[9], e[10], e[11]); } STATIC bool @@ -127,13 +128,13 @@ issolvable_co: bool issolved(cube_t cube) { - return equal(cube, solved); + return equal(cube, SOLVED_CUBE); } bool iserror(cube_t cube) { - return equal(cube, zero); + return equal(cube, ZERO_CUBE); } STATIC void @@ -149,11 +150,11 @@ getcube_fix(int64_t *ep, int64_t *eo, int64_t *cp, int64_t *co) indextoperm(*ep, 12, e); indextoperm(*cp, 8, c); if (permsign(e, 12) != permsign(c, 8)) { - _swap(c[0], c[1]); + SWAP(c[0], c[1]); *cp = permtoindex(c, 8); sumzerotodigits(*co, 8, 3, coarr); - _swap(coarr[0], coarr[1]); + SWAP(coarr[0], coarr[1]); *co = digitstosumzero(coarr, 8, 3); } } @@ -164,16 +165,16 @@ getcube(int64_t ep, int64_t eo, int64_t cp, int64_t co) uint8_t i, earr[12], carr[8], eoarr[12], coarr[8]; sumzerotodigits(eo, 12, 2, eoarr); - DBG_ASSERT(eoarr[0] != UINT8_ERROR, zero, "Error making EO"); + DBG_ASSERT(eoarr[0] != UINT8_ERROR, ZERO_CUBE, "Error making EO"); indextoperm(ep, 12, earr); - DBG_ASSERT(earr[0] != UINT8_ERROR, zero, "Error making EP"); + DBG_ASSERT(earr[0] != UINT8_ERROR, ZERO_CUBE, "Error making EP"); for (i = 0; i < 12; i++) earr[i] |= eoarr[i] << EOSHIFT; sumzerotodigits(co, 8, 3, coarr); - DBG_ASSERT(coarr[0] != UINT8_ERROR, zero, "Error making CO"); + DBG_ASSERT(coarr[0] != UINT8_ERROR, ZERO_CUBE, "Error making CO"); indextoperm(cp, 8, carr); - DBG_ASSERT(carr[0] != UINT8_ERROR, zero, "Error making CP"); + DBG_ASSERT(carr[0] != UINT8_ERROR, ZERO_CUBE, "Error making CP"); for (i = 0; i < 8; i++) carr[i] |= coarr[i] << COSHIFT; diff --git a/src/core/io_cube.h b/src/core/io_cube.h index cb0e4c7..9ae82d7 100644 --- a/src/core/io_cube.h +++ b/src/core/io_cube.h @@ -39,7 +39,7 @@ readcube(const char *format, const char *buf) return ioformat[i].read(buf); LOG("Cannot read cube in the given format\n"); - return zero; + return ZERO_CUBE; } void @@ -133,13 +133,13 @@ readcube_B32(const char *buf) for (i = 0; i < 8; i++) { c[i] = b32tocorner(buf[i]); - DBG_ASSERT(c[i] < 255, zero, + DBG_ASSERT(c[i] < 255, ZERO_CUBE, "Error reading B32 corner %d (char %d)\n", i, i); } for (i = 0; i < 12; i++) { e[i] = b32toedge(buf[i+9]); - DBG_ASSERT(e[i] < 255, zero, + DBG_ASSERT(e[i] < 255, ZERO_CUBE, "Error reading B32 edge %d (char %d)\n", i, i+9); } @@ -159,10 +159,10 @@ readcube_H48(const char *buf) while (*b == ' ' || *b == '\t' || *b == '\n') b++; if ((piece = readep(b)) == UINT8_ERROR) - return zero; + return ZERO_CUBE; b += 2; if ((orient = readeo(b)) == UINT8_ERROR) - return zero; + return ZERO_CUBE; b++; e[i] = piece | orient; } @@ -170,10 +170,10 @@ readcube_H48(const char *buf) while (*b == ' ' || *b == '\t' || *b == '\n') b++; if ((piece = readcp(b)) == UINT8_ERROR) - return zero; + return ZERO_CUBE; b += 3; if ((orient = readco(b)) == UINT8_ERROR) - return zero; + return ZERO_CUBE; b++; c[i] = piece | orient; } diff --git a/src/core/moves.h b/src/core/moves.h index 45cd804..b542235 100644 --- a/src/core/moves.h +++ b/src/core/moves.h @@ -1,5 +1,5 @@ -#define _move(M, c) compose(c, MOVE_CUBE_ ## M) -#define _premove(M, c) compose(MOVE_CUBE_ ## M, c) +#define MOVE(M, c) compose(c, MOVE_CUBE_ ## M) +#define PREMOVE(M, c) compose(MOVE_CUBE_ ## M, c) STATIC_INLINE bool allowednextmove(uint8_t *, uint8_t); @@ -70,44 +70,44 @@ move(cube_t c, uint8_t m) { switch (m) { case MOVE_U: - return _move(U, c); + return MOVE(U, c); case MOVE_U2: - return _move(U2, c); + return MOVE(U2, c); case MOVE_U3: - return _move(U3, c); + return MOVE(U3, c); case MOVE_D: - return _move(D, c); + return MOVE(D, c); case MOVE_D2: - return _move(D2, c); + return MOVE(D2, c); case MOVE_D3: - return _move(D3, c); + return MOVE(D3, c); case MOVE_R: - return _move(R, c); + return MOVE(R, c); case MOVE_R2: - return _move(R2, c); + return MOVE(R2, c); case MOVE_R3: - return _move(R3, c); + return MOVE(R3, c); case MOVE_L: - return _move(L, c); + return MOVE(L, c); case MOVE_L2: - return _move(L2, c); + return MOVE(L2, c); case MOVE_L3: - return _move(L3, c); + return MOVE(L3, c); case MOVE_F: - return _move(F, c); + return MOVE(F, c); case MOVE_F2: - return _move(F2, c); + return MOVE(F2, c); case MOVE_F3: - return _move(F3, c); + return MOVE(F3, c); case MOVE_B: - return _move(B, c); + return MOVE(B, c); case MOVE_B2: - return _move(B2, c); + return MOVE(B2, c); case MOVE_B3: - return _move(B3, c); + return MOVE(B3, c); default: LOG("move error, unknown move\n"); - return zero; + return ZERO_CUBE; } } @@ -116,44 +116,44 @@ premove(cube_t c, uint8_t m) { switch (m) { case MOVE_U: - return _premove(U3, c); + return PREMOVE(U3, c); case MOVE_U2: - return _premove(U2, c); + return PREMOVE(U2, c); case MOVE_U3: - return _premove(U, c); + return PREMOVE(U, c); case MOVE_D: - return _premove(D3, c); + return PREMOVE(D3, c); case MOVE_D2: - return _premove(D2, c); + return PREMOVE(D2, c); case MOVE_D3: - return _premove(D, c); + return PREMOVE(D, c); case MOVE_R: - return _premove(R3, c); + return PREMOVE(R3, c); case MOVE_R2: - return _premove(R2, c); + return PREMOVE(R2, c); case MOVE_R3: - return _premove(R, c); + return PREMOVE(R, c); case MOVE_L: - return _premove(L3, c); + return PREMOVE(L3, c); case MOVE_L2: - return _premove(L2, c); + return PREMOVE(L2, c); case MOVE_L3: - return _premove(L, c); + return PREMOVE(L, c); case MOVE_F: - return _premove(F3, c); + return PREMOVE(F3, c); case MOVE_F2: - return _premove(F2, c); + return PREMOVE(F2, c); case MOVE_F3: - return _premove(F, c); + return PREMOVE(F, c); case MOVE_B: - return _premove(B3, c); + return PREMOVE(B3, c); case MOVE_B2: - return _premove(B2, c); + return PREMOVE(B2, c); case MOVE_B3: - return _premove(B, c); + return PREMOVE(B, c); default: LOG("move error, unknown move\n"); - return zero; + return ZERO_CUBE; } } @@ -178,7 +178,7 @@ applymoves(cube_t cube, const char *buf) uint8_t r, m; const char *b; - DBG_ASSERT(isconsistent(cube), zero, + DBG_ASSERT(isconsistent(cube), ZERO_CUBE, "move error: inconsistent cube\n"); for (b = buf; *b != '\0'; b++) { @@ -198,11 +198,11 @@ applymoves_finish: applymoves_error: LOG("applymoves error\n"); - return zero; + return ZERO_CUBE; } STATIC cube_t frommoves(const char *buf) { - return applymoves(solved, buf); + return applymoves(SOLVED_CUBE, buf); } diff --git a/src/core/transform.h b/src/core/transform.h index a792c25..37de46b 100644 --- a/src/core/transform.h +++ b/src/core/transform.h @@ -110,7 +110,7 @@ transform_edges(cube_t c, uint8_t t) { cube_t ret, trans_cube, trans_inv; - DBG_ASSERT(t < 48, zero, + DBG_ASSERT(t < 48, ZERO_CUBE, "transform: invalid transformation %" PRIu8 ", must be between 0 and 47\n", t); @@ -128,7 +128,7 @@ transform_corners(cube_t c, uint8_t t) { cube_t ret, trans_cube, trans_inv; - DBG_ASSERT(t < 48, zero, + DBG_ASSERT(t < 48, ZERO_CUBE, "transform: invalid transformation %" PRIu8 ", must be between 0 and 47\n", t); @@ -146,7 +146,7 @@ transform(cube_t c, uint8_t t) { cube_t ret, trans_cube, trans_inv; - DBG_ASSERT(t < 48, zero, + DBG_ASSERT(t < 48, ZERO_CUBE, "transform: invalid transformation %" PRIu8 ", must be between 0 and 47\n", t); @@ -164,7 +164,7 @@ applytrans(cube_t cube, const char *buf) { uint8_t t; - DBG_ASSERT(isconsistent(cube), zero, + DBG_ASSERT(isconsistent(cube), ZERO_CUBE, "transformation error: inconsistent cube\n"); t = readtrans(buf); diff --git a/src/core/transform_with_switch.h b/src/core/transform_with_switch.h index 3ffd9af..83204d5 100644 --- a/src/core/transform_with_switch.h +++ b/src/core/transform_with_switch.h @@ -124,7 +124,7 @@ transform_edges(cube_t c, uint8_t t) return TRANS_EDGES_MIRRORED(BLm, c); default: LOG("transform error, unknown transformation %" PRIu8 "\n", t); - return zero; + return ZERO_CUBE; } } @@ -230,7 +230,7 @@ transform_corners(cube_t c, uint8_t t) return TRANS_CORNERS_MIRRORED(BLm, c); default: LOG("transform error, unknown transformation %" PRIu8 "\n", t); - return zero; + return ZERO_CUBE; } } @@ -336,7 +336,7 @@ transform(cube_t c, uint8_t t) return TRANS_MIRRORED(BLm, c); default: LOG("transform error, unknown transformation %" PRIu8 "\n", t); - return zero; + return ZERO_CUBE; } } @@ -345,7 +345,7 @@ applytrans(cube_t cube, const char *buf) { uint8_t t; - DBG_ASSERT(isconsistent(cube), zero, + DBG_ASSERT(isconsistent(cube), ZERO_CUBE, "transformation error: inconsistent cube\n"); t = readtrans(buf); -- cgit v1.3