h48

A prototype for an optimal Rubik's cube solver, work in progress.
git clone https://git.tronto.net/h48
Download | Log | Files | Refs | README | LICENSE

commit 82e0a6bf454f5684b44bb0a24db619e9ba0567a0
parent ae0e5295daa7618b6facebac31c3a88eaccfc368
Author: Sebastiano Tronto <sebastiano@tronto.net>
Date:   Tue,  1 Apr 2025 22:29:44 +0200

Make single-use struct field anonymous

Diffstat:
Msrc/solvers/coord/types_macros.h | 22++++++++++------------
1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/src/solvers/coord/types_macros.h b/src/solvers/coord/types_macros.h @@ -15,17 +15,6 @@ #define COORD_ISNASTY(d) (((d) & COORD_ISNASTY_MASK) >> COORD_ISNASTY_SHIFT) typedef struct { - size_t classes; - uint64_t max; - uint64_t (*coord)(cube_t); - cube_t (*cube)(uint64_t); - uint64_t max2; - uint64_t (*coord2)(cube_t); - cube_t (*cube2)(uint64_t); - cube_t (*merge)(cube_t, cube_t); -} symcoord_t; - -typedef struct { const char name[255]; uint64_t (*coord)(cube_t, const void *); cube_t (*cube)(uint64_t, const void *); @@ -36,5 +25,14 @@ typedef struct { uint64_t trans_mask; uint8_t axistrans[3]; bool (*is_admissible)(const solution_moves_t[static 1]); - symcoord_t sym; + struct { + size_t classes; + uint64_t max; + uint64_t (*coord)(cube_t); + cube_t (*cube)(uint64_t); + uint64_t max2; + uint64_t (*coord2)(cube_t); + cube_t (*cube2)(uint64_t); + cube_t (*merge)(cube_t, cube_t); + } sym; } coord_t;