From 49b9c4a516f72e03d53277075f4580e2df8f0e63 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Mon, 27 May 2024 12:04:53 +0200 Subject: Some type fixes and some cleanup --- src/constants.h | 214 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 109 insertions(+), 105 deletions(-) (limited to 'src/constants.h') diff --git a/src/constants.h b/src/constants.h index 00061bd..1a5453c 100644 --- a/src/constants.h +++ b/src/constants.h @@ -1,9 +1,13 @@ -#define _2p11 2048U -#define _2p12 4096U -#define _3p7 2187U -#define _3p8 6561U -#define _12c4 495U -#define _8c4 70U +#define _bit_u8(i) (UINT8_C(1) << (uint8_t)(i)) +#define _bit_u32(i) (UINT32_C(1) << (uint32_t)(i)) +#define _bit_u64(i) (UINT64_C(1) << (uint64_t)(i)) + +#define _2p11 INT64_C(2048) +#define _2p12 INT64_C(4096) +#define _3p7 INT64_C(2187) +#define _3p8 INT64_C(6561) +#define _12c4 INT64_C(495) +#define _8c4 INT64_C(70) _static int64_t binomial[12][12] = { {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, @@ -20,111 +24,111 @@ _static int64_t binomial[12][12] = { {1, 11, 55, 165, 330, 462, 462, 330, 165, 55, 11, 1}, }; -#define _move_U 0U -#define _move_U2 1U -#define _move_U3 2U -#define _move_D 3U -#define _move_D2 4U -#define _move_D3 5U -#define _move_R 6U -#define _move_R2 7U -#define _move_R3 8U -#define _move_L 9U -#define _move_L2 10U -#define _move_L3 11U -#define _move_F 12U -#define _move_F2 13U -#define _move_F3 14U -#define _move_B 15U -#define _move_B2 16U -#define _move_B3 17U +#define _move_U UINT8_C(0) +#define _move_U2 UINT8_C(1) +#define _move_U3 UINT8_C(2) +#define _move_D UINT8_C(3) +#define _move_D2 UINT8_C(4) +#define _move_D3 UINT8_C(5) +#define _move_R UINT8_C(6) +#define _move_R2 UINT8_C(7) +#define _move_R3 UINT8_C(8) +#define _move_L UINT8_C(9) +#define _move_L2 UINT8_C(10) +#define _move_L3 UINT8_C(11) +#define _move_F UINT8_C(12) +#define _move_F2 UINT8_C(13) +#define _move_F3 UINT8_C(14) +#define _move_B UINT8_C(15) +#define _move_B2 UINT8_C(16) +#define _move_B3 UINT8_C(17) -#define _trans_UFr 0 -#define _trans_ULr 1 -#define _trans_UBr 2 -#define _trans_URr 3 -#define _trans_DFr 4 -#define _trans_DLr 5 -#define _trans_DBr 6 -#define _trans_DRr 7 -#define _trans_RUr 8 -#define _trans_RFr 9 -#define _trans_RDr 10 -#define _trans_RBr 11 -#define _trans_LUr 12 -#define _trans_LFr 13 -#define _trans_LDr 14 -#define _trans_LBr 15 -#define _trans_FUr 16 -#define _trans_FRr 17 -#define _trans_FDr 18 -#define _trans_FLr 19 -#define _trans_BUr 20 -#define _trans_BRr 21 -#define _trans_BDr 22 -#define _trans_BLr 23 +#define _trans_UFr UINT8_C(0) +#define _trans_ULr UINT8_C(1) +#define _trans_UBr UINT8_C(2) +#define _trans_URr UINT8_C(3) +#define _trans_DFr UINT8_C(4) +#define _trans_DLr UINT8_C(5) +#define _trans_DBr UINT8_C(6) +#define _trans_DRr UINT8_C(7) +#define _trans_RUr UINT8_C(8) +#define _trans_RFr UINT8_C(9) +#define _trans_RDr UINT8_C(10) +#define _trans_RBr UINT8_C(11) +#define _trans_LUr UINT8_C(12) +#define _trans_LFr UINT8_C(13) +#define _trans_LDr UINT8_C(14) +#define _trans_LBr UINT8_C(15) +#define _trans_FUr UINT8_C(16) +#define _trans_FRr UINT8_C(17) +#define _trans_FDr UINT8_C(18) +#define _trans_FLr UINT8_C(19) +#define _trans_BUr UINT8_C(20) +#define _trans_BRr UINT8_C(21) +#define _trans_BDr UINT8_C(22) +#define _trans_BLr UINT8_C(23) -#define _trans_UFm 24 -#define _trans_ULm 25 -#define _trans_UBm 26 -#define _trans_URm 27 -#define _trans_DFm 28 -#define _trans_DLm 29 -#define _trans_DBm 30 -#define _trans_DRm 31 -#define _trans_RUm 32 -#define _trans_RFm 33 -#define _trans_RDm 34 -#define _trans_RBm 35 -#define _trans_LUm 36 -#define _trans_LFm 37 -#define _trans_LDm 38 -#define _trans_LBm 39 -#define _trans_FUm 40 -#define _trans_FRm 41 -#define _trans_FDm 42 -#define _trans_FLm 43 -#define _trans_BUm 44 -#define _trans_BRm 45 -#define _trans_BDm 46 -#define _trans_BLm 47 +#define _trans_UFm UINT8_C(24) +#define _trans_ULm UINT8_C(25) +#define _trans_UBm UINT8_C(26) +#define _trans_URm UINT8_C(27) +#define _trans_DFm UINT8_C(28) +#define _trans_DLm UINT8_C(29) +#define _trans_DBm UINT8_C(30) +#define _trans_DRm UINT8_C(31) +#define _trans_RUm UINT8_C(32) +#define _trans_RFm UINT8_C(33) +#define _trans_RDm UINT8_C(34) +#define _trans_RBm UINT8_C(35) +#define _trans_LUm UINT8_C(36) +#define _trans_LFm UINT8_C(37) +#define _trans_LDm UINT8_C(38) +#define _trans_LBm UINT8_C(39) +#define _trans_FUm UINT8_C(40) +#define _trans_FRm UINT8_C(41) +#define _trans_FDm UINT8_C(42) +#define _trans_FLm UINT8_C(43) +#define _trans_BUm UINT8_C(44) +#define _trans_BRm UINT8_C(45) +#define _trans_BDm UINT8_C(46) +#define _trans_BLm UINT8_C(47) -#define _c_ufr 0U -#define _c_ubl 1U -#define _c_dfl 2U -#define _c_dbr 3U -#define _c_ufl 4U -#define _c_ubr 5U -#define _c_dfr 6U -#define _c_dbl 7U +#define _c_ufr UINT8_C(0) +#define _c_ubl UINT8_C(1) +#define _c_dfl UINT8_C(2) +#define _c_dbr UINT8_C(3) +#define _c_ufl UINT8_C(4) +#define _c_ubr UINT8_C(5) +#define _c_dfr UINT8_C(6) +#define _c_dbl UINT8_C(7) -#define _e_uf 0U -#define _e_ub 1U -#define _e_db 2U -#define _e_df 3U -#define _e_ur 4U -#define _e_ul 5U -#define _e_dl 6U -#define _e_dr 7U -#define _e_fr 8U -#define _e_fl 9U -#define _e_bl 10U -#define _e_br 11U +#define _e_uf UINT8_C(0) +#define _e_ub UINT8_C(1) +#define _e_db UINT8_C(2) +#define _e_df UINT8_C(3) +#define _e_ur UINT8_C(4) +#define _e_ul UINT8_C(5) +#define _e_dl UINT8_C(6) +#define _e_dr UINT8_C(7) +#define _e_fr UINT8_C(8) +#define _e_fl UINT8_C(9) +#define _e_bl UINT8_C(10) +#define _e_br UINT8_C(11) -#define _eoshift 4U -#define _coshift 5U +#define _eoshift UINT8_C(4) +#define _coshift UINT8_C(5) -#define _pbits 0xFU -#define _esepbit1 0x4U -#define _esepbit2 0x8U -#define _csepbit 0x4U -#define _eobit 0x10U -#define _cobits 0xF0U -#define _cobits2 0x60U -#define _ctwist_cw 0x20U -#define _ctwist_ccw 0x40U -#define _eflip 0x10U -#define _error 0xFFU +#define _pbits UINT8_C(0xF) +#define _esepbit1 UINT8_C(0x4) +#define _esepbit2 UINT8_C(0x8) +#define _csepbit UINT8_C(0x4) +#define _eobit UINT8_C(0x10) +#define _cobits UINT8_C(0xF0) +#define _cobits2 UINT8_C(0x60) +#define _ctwist_cw UINT8_C(0x20) +#define _ctwist_ccw UINT8_C(0x40) +#define _eflip UINT8_C(0x10) +#define _error UINT8_C(0xFF) _static cube_t zero = { .corner = {0}, .edge = {0} }; _static cube_t solved = { -- cgit v1.3