moves.h (1035B)
1 #ifndef MOVES_H 2 #define MOVES_H 3 4 #include "alg.h" 5 #include "cube.h" 6 #include "env.h" 7 8 /* 9 * Tables are exposed to allow for faster moves in some cases. 10 */ 11 extern int epose_mtable[NMOVES][FACTORIAL12/FACTORIAL8]; 12 extern int eposs_mtable[NMOVES][FACTORIAL12/FACTORIAL8]; 13 extern int eposm_mtable[NMOVES][FACTORIAL12/FACTORIAL8]; 14 extern int eofb_mtable[NMOVES][POW2TO11]; 15 extern int eorl_mtable[NMOVES][POW2TO11]; 16 extern int eoud_mtable[NMOVES][POW2TO11]; 17 extern int cp_mtable[NMOVES][FACTORIAL8]; 18 extern int coud_mtable[NMOVES][POW3TO7]; 19 extern int cofb_mtable[NMOVES][POW3TO7]; 20 extern int corl_mtable[NMOVES][POW3TO7]; 21 extern int cpos_mtable[NMOVES][FACTORIAL6]; 22 23 Cube apply_alg(Alg *alg, Cube cube); 24 Cube apply_alg_generic(Alg *alg, Cube c, PieceFilter f, bool a); 25 Cube apply_move(Move m, Cube cube); 26 Alg * cleanup(Alg *alg); 27 28 void init_moves(void); 29 30 #endif