From 6f4313bc1ed5be794146e6ca2fd73f48c7906061 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Mon, 1 May 2023 12:48:55 +0200 Subject: Reverted to 2.0.3 --- src/cube.h | 59 +++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 35 insertions(+), 24 deletions(-) (limited to 'src/cube.h') 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 @@ #include -#include "cubetypes.h" #include "env.h" +#include "pf.h" #include "utils.h" -void compose(Cube *c2, Cube *c1); /* Use c2 as an alg on c1 */ -void compose_centers(Cube *c2, Cube *c1); -void compose_corners(Cube *c2, Cube *c1); -void compose_edges(Cube *c2, Cube *c1); -void copy_cube(Cube *src, Cube *dst); -void copy_cube_centers(Cube *src, Cube *dst); -void copy_cube_corners(Cube *src, Cube *dst); -void copy_cube_edges(Cube *src, Cube *dst); -bool equal(Cube *c1, Cube *c2); -void invert_cube(Cube *cube); -void invert_cube_centers(Cube *cube); -void invert_cube_corners(Cube *cube); -void invert_cube_edges(Cube *cube); -bool is_admissible(Cube *cube); -bool is_solved(Cube *cube); -void make_solved(Cube *cube); -void make_solved_centers(Cube *cube); -void make_solved_corners(Cube *cube); -void make_solved_edges(Cube *cube); -void print_cube(Cube *cube); -int where_is_center(Center x, Cube *c); -int where_is_corner(Corner k, Cube *c); -int where_is_edge(Edge e, Cube *c); +Cube admissible_ep(Cube cube, PieceFilter f); +int array_ep_to_epos(int *ep, int *eps_solved); +Cube arrays_to_cube(CubeArray *arr, PieceFilter f); +Cube compose(Cube c2, Cube c1); /* Use c2 as an alg on c1 */ +Cube compose_filtered(Cube c2, Cube c1, PieceFilter f); +void cube_to_arrays(Cube cube, CubeArray *arr, PieceFilter f); +int edge_slice(Edge e); /* E=0, S=1, M=2 */ +bool equal(Cube c1, Cube c2); +Cube inverse_cube(Cube cube); +bool is_admissible(Cube cube); +bool is_solved(Cube cube); +bool is_block_solved(Cube cube, Block); +bool is_solved_center(Cube cube, Center c); +bool is_solved_corner(Cube cube, Corner c); +bool is_solved_edge(Cube cube, Edge e); +void epos_to_partial_ep(int epos, int *ep, int *ss); +void epos_to_compatible_ep(int epos, int *ep, int *ss); +void fix_eorleoud(CubeArray *arr); +void fix_cofbcorl(CubeArray *arr); +Cube fourval_to_cube(int eofb, int ep, int coud, int cp); +void free_cubearray(CubeArray *arr, PieceFilter f); +Cube move_via_arrays(CubeArray *arr, Cube c, PieceFilter pf); +CubeArray * new_cubearray(Cube cube, PieceFilter f); +void print_cube(Cube cube); +Center what_center_at(Cube cube, Center c); +Corner what_corner_at(Cube cube, Corner c); +Edge what_edge_at(Cube cube, Edge e); +int what_orientation_corner(int co, Corner c); +int what_orientation_edge(int eo, Edge e); +Center where_is_center(Cube cube, Center c); +Corner where_is_corner(Cube cube, Corner c); +Edge where_is_edge(Cube cube, Edge e); + +void init_cube(); #endif -- cgit v1.3