aboutsummaryrefslogtreecommitdiff
path: root/src/cubetypes.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/cubetypes.h')
-rw-r--r--src/cubetypes.h36
1 files changed, 28 insertions, 8 deletions
diff --git a/src/cubetypes.h b/src/cubetypes.h
index 8d38904..3752019 100644
--- a/src/cubetypes.h
+++ b/src/cubetypes.h
@@ -89,7 +89,7 @@ typedef struct command Command;
89typedef struct commandargs CommandArgs; 89typedef struct commandargs CommandArgs;
90typedef struct coordinate Coordinate; 90typedef struct coordinate Coordinate;
91typedef struct cube Cube; 91typedef struct cube Cube;
92typedef struct dfsarg DfsArg; 92/*typedef struct dfsarg DfsArg;*/
93typedef struct fstcube FstCube; 93typedef struct fstcube FstCube;
94typedef struct indexer Indexer; 94typedef struct indexer Indexer;
95typedef struct movable Movable; 95typedef struct movable Movable;
@@ -104,9 +104,9 @@ typedef struct transgroup TransGroup;
104 104
105typedef bool (*Checker) (Cube *); 105typedef bool (*Checker) (Cube *);
106typedef bool (*CubeTester) (Cube *, Alg *); 106typedef bool (*CubeTester) (Cube *, Alg *);
107typedef bool (*DfsMover) (DfsArg *); 107/*typedef bool (*DfsMover) (DfsArg *);*/
108typedef void (*DfsExtraCopier) (void *, void *); 108typedef void (*DfsExtraCopier) (void *, void *);
109typedef bool (*Validator) (Alg *); 109typedef Alg * (*Validator) (Alg *);
110typedef void (*Exec) (CommandArgs *); 110typedef void (*Exec) (CommandArgs *);
111typedef CommandArgs * (*ArgParser) (int, char **); 111typedef CommandArgs * (*ArgParser) (int, char **);
112typedef bool (*Tester) (void); 112typedef bool (*Tester) (void);
@@ -206,13 +206,16 @@ cube
206 int xp[6]; 206 int xp[6];
207}; 207};
208 208
209/*
209struct 210struct
210movable 211movable
211{ 212{
212 uint64_t val; 213 uint64_t val;
213 Trans t; 214 Trans t;
214}; 215};
216*/
215 217
218/*
216struct 219struct
217dfsarg 220dfsarg
218{ 221{
@@ -224,13 +227,28 @@ dfsarg
224 int d; 227 int d;
225 int bound; 228 int bound;
226 bool niss; 229 bool niss;
227 Move last[2];
228 Move lastinv[2];
229 AlgList * sols; 230 AlgList * sols;
230 pthread_mutex_t * sols_mutex; 231 pthread_mutex_t * sols_mutex;
231 Alg * current_alg; 232 Alg * current_alg;
232 void * extra; 233 void * extra;
233}; 234};
235*/
236
237/*
238struct
239dfsarg
240{
241 void * cube_data;
242 SolveOptions * opts;
243 int d;
244 int bound;
245 bool niss;
246 AlgList * sols;
247 Alg * current_alg;
248 Solver * solver;
249 Threader * threader;
250};
251*/
234 252
235struct 253struct
236fstcube 254fstcube
@@ -260,9 +278,9 @@ moveset
260{ 278{
261 char * name; 279 char * name;
262 bool (*allowed)(Move); 280 bool (*allowed)(Move);
263 bool (*allowed_next)(Move, Move, Move); 281 bool (*can_append)(Alg *, Move, bool);
282 bool (*cancel_niss)(Alg *);
264 Move sorted_moves[NMOVES+1]; 283 Move sorted_moves[NMOVES+1];
265 uint64_t mask[NMOVES][NMOVES];
266}; 284};
267 285
268struct 286struct
@@ -304,10 +322,11 @@ step
304 PruneData * pd[MAX_N_COORD]; 322 PruneData * pd[MAX_N_COORD];
305 bool pd_compact[MAX_N_COORD]; 323 bool pd_compact[MAX_N_COORD];
306 Validator is_valid; 324 Validator is_valid;
307 DfsMover custom_move_checkstop; 325 /*DfsMover custom_move_checkstop;*/
308 DfsExtraCopier copy_extra; 326 DfsExtraCopier copy_extra;
309}; 327};
310 328
329/*
311struct 330struct
312threaddatasolve 331threaddatasolve
313{ 332{
@@ -317,6 +336,7 @@ threaddatasolve
317 AlgListNode ** node; 336 AlgListNode ** node;
318 pthread_mutex_t * start_mutex; 337 pthread_mutex_t * start_mutex;
319}; 338};
339*/
320 340
321struct 341struct
322threaddatagenpt 342threaddatagenpt

Generated with cgit - Back to sebastiano.tronto.net