aboutsummaryrefslogtreecommitdiff
path: root/src/cube.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/cube.h')
-rw-r--r--src/cube.h59
1 files changed, 35 insertions, 24 deletions
diff --git a/src/cube.h b/src/cube.h
index f182b27..483a89a 100644
--- a/src/cube.h
+++ b/src/cube.h
@@ -3,33 +3,44 @@
3 3
4#include <stdio.h> 4#include <stdio.h>
5 5
6#include "cubetypes.h"
7#include "env.h" 6#include "env.h"
7#include "pf.h"
8#include "utils.h" 8#include "utils.h"
9 9
10void compose(Cube *c2, Cube *c1); /* Use c2 as an alg on c1 */ 10Cube admissible_ep(Cube cube, PieceFilter f);
11void compose_centers(Cube *c2, Cube *c1); 11int array_ep_to_epos(int *ep, int *eps_solved);
12void compose_corners(Cube *c2, Cube *c1); 12Cube arrays_to_cube(CubeArray *arr, PieceFilter f);
13void compose_edges(Cube *c2, Cube *c1); 13Cube compose(Cube c2, Cube c1); /* Use c2 as an alg on c1 */
14void copy_cube(Cube *src, Cube *dst); 14Cube compose_filtered(Cube c2, Cube c1, PieceFilter f);
15void copy_cube_centers(Cube *src, Cube *dst); 15void cube_to_arrays(Cube cube, CubeArray *arr, PieceFilter f);
16void copy_cube_corners(Cube *src, Cube *dst); 16int edge_slice(Edge e); /* E=0, S=1, M=2 */
17void copy_cube_edges(Cube *src, Cube *dst); 17bool equal(Cube c1, Cube c2);
18bool equal(Cube *c1, Cube *c2); 18Cube inverse_cube(Cube cube);
19void invert_cube(Cube *cube); 19bool is_admissible(Cube cube);
20void invert_cube_centers(Cube *cube); 20bool is_solved(Cube cube);
21void invert_cube_corners(Cube *cube); 21bool is_block_solved(Cube cube, Block);
22void invert_cube_edges(Cube *cube); 22bool is_solved_center(Cube cube, Center c);
23bool is_admissible(Cube *cube); 23bool is_solved_corner(Cube cube, Corner c);
24bool is_solved(Cube *cube); 24bool is_solved_edge(Cube cube, Edge e);
25void make_solved(Cube *cube); 25void epos_to_partial_ep(int epos, int *ep, int *ss);
26void make_solved_centers(Cube *cube); 26void epos_to_compatible_ep(int epos, int *ep, int *ss);
27void make_solved_corners(Cube *cube); 27void fix_eorleoud(CubeArray *arr);
28void make_solved_edges(Cube *cube); 28void fix_cofbcorl(CubeArray *arr);
29void print_cube(Cube *cube); 29Cube fourval_to_cube(int eofb, int ep, int coud, int cp);
30int where_is_center(Center x, Cube *c); 30void free_cubearray(CubeArray *arr, PieceFilter f);
31int where_is_corner(Corner k, Cube *c); 31Cube move_via_arrays(CubeArray *arr, Cube c, PieceFilter pf);
32int where_is_edge(Edge e, Cube *c); 32CubeArray * new_cubearray(Cube cube, PieceFilter f);
33void print_cube(Cube cube);
34Center what_center_at(Cube cube, Center c);
35Corner what_corner_at(Cube cube, Corner c);
36Edge what_edge_at(Cube cube, Edge e);
37int what_orientation_corner(int co, Corner c);
38int what_orientation_edge(int eo, Edge e);
39Center where_is_center(Cube cube, Center c);
40Corner where_is_corner(Cube cube, Corner c);
41Edge where_is_edge(Cube cube, Edge e);
42
43void init_cube();
33 44
34#endif 45#endif
35 46

Generated with cgit - Back to sebastiano.tronto.net