diff options
| author | Sebastiano Tronto <sebastiano@tronto.net> | 2024-04-13 15:48:19 +0200 |
|---|---|---|
| committer | Sebastiano Tronto <sebastiano@tronto.net> | 2024-04-13 15:48:19 +0200 |
| commit | 3ab2f98170908277f70191846e84e5dde185a056 (patch) | |
| tree | 4c243866a0c004bc061e56975b48367d0ac276b6 /constants.h | |
| parent | a18d4b0ba97b301193597a963a77a40ef7c2254b (diff) | |
| download | cubecore-3ab2f98170908277f70191846e84e5dde185a056.tar.gz cubecore-3ab2f98170908277f70191846e84e5dde185a056.zip | |
removed fast
Diffstat (limited to '')
| -rw-r--r-- | constants.h (renamed from tables.h) | 66 |
1 files changed, 66 insertions, 0 deletions
| @@ -1,6 +1,72 @@ | |||
| 1 | #define NORMAL 0 | 1 | #define NORMAL 0 |
| 2 | #define INVERSE 1 | 2 | #define INVERSE 1 |
| 3 | 3 | ||
| 4 | #define _2p11 2048U | ||
| 5 | #define _2p12 4096U | ||
| 6 | #define _3p7 2187U | ||
| 7 | #define _3p8 6561U | ||
| 8 | #define _12c4 495U | ||
| 9 | #define _8c4 70U | ||
| 10 | |||
| 11 | #define _c_ufr 0U | ||
| 12 | #define _c_ubl 1U | ||
| 13 | #define _c_dfl 2U | ||
| 14 | #define _c_dbr 3U | ||
| 15 | #define _c_ufl 4U | ||
| 16 | #define _c_ubr 5U | ||
| 17 | #define _c_dfr 6U | ||
| 18 | #define _c_dbl 7U | ||
| 19 | |||
| 20 | #define _e_uf 0U | ||
| 21 | #define _e_ub 1U | ||
| 22 | #define _e_db 2U | ||
| 23 | #define _e_df 3U | ||
| 24 | #define _e_ur 4U | ||
| 25 | #define _e_ul 5U | ||
| 26 | #define _e_dl 6U | ||
| 27 | #define _e_dr 7U | ||
| 28 | #define _e_fr 8U | ||
| 29 | #define _e_fl 9U | ||
| 30 | #define _e_bl 10U | ||
| 31 | #define _e_br 11U | ||
| 32 | |||
| 33 | #define _eoshift 4U | ||
| 34 | #define _coshift 5U | ||
| 35 | |||
| 36 | #define _pbits 0xFU | ||
| 37 | #define _esepbit1 0x4U | ||
| 38 | #define _esepbit2 0x8U | ||
| 39 | #define _csepbit 0x4U | ||
| 40 | #define _eobit 0x10U | ||
| 41 | #define _cobits 0xF0U | ||
| 42 | #define _cobits2 0x60U | ||
| 43 | #define _ctwist_cw 0x20U | ||
| 44 | #define _ctwist_ccw 0x40U | ||
| 45 | #define _eflip 0x10U | ||
| 46 | #define _error 0xFFU | ||
| 47 | |||
| 48 | typedef enum { | ||
| 49 | U, U2, U3, D, D2, D3, | ||
| 50 | R, R2, R3, L, L2, L3, | ||
| 51 | F, F2, F3, B, B2, B3 | ||
| 52 | } move_t; | ||
| 53 | |||
| 54 | typedef enum { | ||
| 55 | UFr, ULr, UBr, URr, DFr, DLr, DBr, DRr, | ||
| 56 | RUr, RFr, RDr, RBr, LUr, LFr, LDr, LBr, | ||
| 57 | FUr, FRr, FDr, FLr, BUr, BRr, BDr, BLr, | ||
| 58 | |||
| 59 | UFm, ULm, UBm, URm, DFm, DLm, DBm, DRm, | ||
| 60 | RUm, RFm, RDm, RBm, LUm, LFm, LDm, LBm, | ||
| 61 | FUm, FRm, FDm, FLm, BUm, BRm, BDm, BLm | ||
| 62 | } trans_t; | ||
| 63 | |||
| 64 | _static cube_t zero = { .corner = {0}, .edge = {0} }; | ||
| 65 | _static cube_t solved = { | ||
| 66 | .corner = {0, 1, 2, 3, 4, 5, 6, 7}, | ||
| 67 | .edge = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11} | ||
| 68 | }; | ||
| 69 | |||
| 4 | _static cube_t move_table[] = { | 70 | _static cube_t move_table[] = { |
| 5 | [U] = { | 71 | [U] = { |
| 6 | .corner = {5, 4, 2, 3, 0, 1, 6, 7}, | 72 | .corner = {5, 4, 2, 3, 0, 1, 6, 7}, |
