nissy-core

The "engine" of nissy, including the H48 optimal solver.
git clone https://git.tronto.net/nissy-core
Download | Log | Files | Refs | README | LICENSE

eo.h (1269B)


      1 STATIC uint64_t coordinate_eo_coord(cube_t, const unsigned char *);
      2 STATIC cube_t coordinate_eo_cube(uint64_t, const unsigned char *);
      3 STATIC bool coordinate_eo_isnasty(uint64_t, const unsigned char *);
      4 STATIC size_t coordinate_eo_gendata(unsigned char *);
      5 
      6 STATIC coord_t coordinate_eo = {
      7 	.name = "EO",
      8 	.coord = &coordinate_eo_coord,
      9 	.cube = &coordinate_eo_cube,
     10 	.isnasty = &coordinate_eo_isnasty,
     11 	.gendata = coordinate_eo_gendata,
     12 	.max = POW_2_11,
     13 	.trans_mask = TM_SINGLE(TRANS_UFr),
     14 	.moves_mask_gendata = MM18_ALLMOVES,
     15 	.moves_mask_solve = MM18_ALLMOVES,
     16 	.is_admissible = &solution_lastqt_cw,
     17 	.solution_prune = NULL,
     18 	.is_solvable = &is_eo_even,
     19 	.is_solved = NULL,
     20 	.allow_niss = true,
     21 	.pruning_distribution = {
     22 		[0] = 1,
     23 		[1] = 2,
     24 		[2] = 25,
     25 		[3] = 202,
     26 		[4] = 620,
     27 		[5] = 900,
     28 		[6] = 285,
     29 		[7] = 13,
     30 	},
     31 	.pruning_max = 7,
     32 	.sym = {0},
     33 };
     34 
     35 STATIC uint64_t
     36 coordinate_eo_coord(cube_t c, const unsigned char *data)
     37 {
     38 	return coord_eo(c);
     39 }
     40 
     41 STATIC cube_t
     42 coordinate_eo_cube(uint64_t c, const unsigned char *data)
     43 {
     44 	cube_t cube = SOLVED_CUBE;
     45 	set_eo(&cube, c);
     46 	return cube;
     47 }
     48 
     49 STATIC bool
     50 coordinate_eo_isnasty(uint64_t c, const unsigned char *data)
     51 {
     52 	return false;
     53 }
     54 
     55 STATIC size_t
     56 coordinate_eo_gendata(unsigned char *data)
     57 {
     58 	return 0;
     59 }