aboutsummaryrefslogtreecommitdiff
path: root/src/moves.h
blob: 14ae087256c5b310c337a0dad43d02babaaacbd8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef MOVES_H
#define MOVES_H

#include "alg.h"
#include "cube.h"
#include "env.h"

/*
 * Tables are exposed to allow for faster moves in some cases.
 */
extern int              epose_mtable[NMOVES][FACTORIAL12/FACTORIAL8];
extern int              eposs_mtable[NMOVES][FACTORIAL12/FACTORIAL8];
extern int              eposm_mtable[NMOVES][FACTORIAL12/FACTORIAL8];
extern int              eofb_mtable[NMOVES][POW2TO11];
extern int              eorl_mtable[NMOVES][POW2TO11];
extern int              eoud_mtable[NMOVES][POW2TO11];
extern int              cp_mtable[NMOVES][FACTORIAL8];
extern int              coud_mtable[NMOVES][POW3TO7];
extern int              cofb_mtable[NMOVES][POW3TO7];
extern int              corl_mtable[NMOVES][POW3TO7];
extern int              cpos_mtable[NMOVES][FACTORIAL6];

Cube        apply_alg(Alg *alg, Cube cube);
Cube        apply_alg_generic(Alg *alg, Cube c, PieceFilter f, bool a);
Cube        apply_move(Move m, Cube cube);
Alg *       cleanup(Alg *alg);

void        init_moves();

#endif

Generated with cgit - Back to sebastiano.tronto.net