nissy-classic

Stable branch of nissy
git clone https://git.tronto.net/nissy-classic
Download | Log | Files | Refs | README | LICENSE

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