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 (1104B)


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