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

test.h (1154B)


      1 #define TEST_H
      2 
      3 #include <inttypes.h>
      4 #include <stdarg.h>
      5 #include <stdbool.h>
      6 #include <stdio.h>
      7 #include <stdlib.h>
      8 #include <string.h>
      9 
     10 #include "../src/utils/compilers.h"
     11 #include "../src/utils/wrapthread.h"
     12 #include "../src/nissy.h"
     13 #include "../src/arch/arch.h"
     14 #include "../src/core/core_types.h"
     15 #include "../src/solvers/solutions_types_macros.h"
     16 #include "../src/solvers/tables_types_macros.h"
     17 #include "../src/solvers/h48/coordinate_types_macros.h"
     18 #include "../src/solvers/h48/map_types_macros.h"
     19 #include "../src/solvers/h48/gendata_types_macros.h"
     20 #include "../src/solvers/coord/types_macros.h"
     21 
     22 #define STRLENMAX 10000
     23 
     24 /* Basic functions used in most tests */
     25 oriented_cube_t solvedcube(void);
     26 bool iserror(oriented_cube_t);
     27 bool isconsistent(oriented_cube_t);
     28 bool issolvable(oriented_cube_t);
     29 bool issolved(oriented_cube_t);
     30 oriented_cube_t readcube(char *);
     31 int64_t writecube(oriented_cube_t, size_t n, char *);
     32 
     33 /* Test function to be implemented by all tests */
     34 void run(void);
     35 
     36 void log_stderr(const char *str, void *unused)
     37 {
     38 	fprintf(stderr, "%s", str);
     39 }
     40 
     41 int main(void) {
     42 	nissy_setlogger(log_stderr, NULL);
     43 	run();
     44 	return 0;
     45 }