aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TODO.txt58
-rw-r--r--cube.c6
-rw-r--r--cube.h68
-rw-r--r--old/061_coord_eo/00_solved.in (renamed from test/061_coord_eo/00_solved.in)0
-rw-r--r--old/061_coord_eo/00_solved.out (renamed from test/061_coord_eo/00_solved.out)0
-rw-r--r--old/061_coord_eo/01_U.in (renamed from test/061_coord_eo/01_U.in)0
-rw-r--r--old/061_coord_eo/01_U.out (renamed from test/061_coord_eo/01_U.out)0
-rw-r--r--old/061_coord_eo/02_U2.in (renamed from test/061_coord_eo/02_U2.in)0
-rw-r--r--old/061_coord_eo/02_U2.out (renamed from test/061_coord_eo/02_U2.out)0
-rw-r--r--old/061_coord_eo/03_U3.in (renamed from test/061_coord_eo/03_U3.in)0
-rw-r--r--old/061_coord_eo/03_U3.out (renamed from test/061_coord_eo/03_U3.out)0
-rw-r--r--old/061_coord_eo/04_D.in (renamed from test/061_coord_eo/04_D.in)0
-rw-r--r--old/061_coord_eo/04_D.out (renamed from test/061_coord_eo/04_D.out)0
-rw-r--r--old/061_coord_eo/07_R.in (renamed from test/061_coord_eo/07_R.in)0
-rw-r--r--old/061_coord_eo/07_R.out (renamed from test/061_coord_eo/07_R.out)0
-rw-r--r--old/061_coord_eo/08_R2.in (renamed from test/061_coord_eo/08_R2.in)0
-rw-r--r--old/061_coord_eo/08_R2.out (renamed from test/061_coord_eo/08_R2.out)0
-rw-r--r--old/061_coord_eo/10_L.in (renamed from test/061_coord_eo/10_L.in)0
-rw-r--r--old/061_coord_eo/10_L.out (renamed from test/061_coord_eo/10_L.out)0
-rw-r--r--old/061_coord_eo/13_F.in (renamed from test/061_coord_eo/13_F.in)0
-rw-r--r--old/061_coord_eo/13_F.out (renamed from test/061_coord_eo/13_F.out)0
-rw-r--r--old/061_coord_eo/14_F2.in (renamed from test/061_coord_eo/14_F2.in)0
-rw-r--r--old/061_coord_eo/14_F2.out (renamed from test/061_coord_eo/14_F2.out)0
-rw-r--r--old/061_coord_eo/15_F3.in (renamed from test/061_coord_eo/15_F3.in)0
-rw-r--r--old/061_coord_eo/15_F3.out (renamed from test/061_coord_eo/15_F3.out)0
-rw-r--r--old/061_coord_eo/16_B.in (renamed from test/061_coord_eo/16_B.in)0
-rw-r--r--old/061_coord_eo/16_B.out (renamed from test/061_coord_eo/16_B.out)0
-rw-r--r--old/061_coord_eo/17_B2.in (renamed from test/061_coord_eo/17_B2.in)0
-rw-r--r--old/061_coord_eo/17_B2.out (renamed from test/061_coord_eo/17_B2.out)0
-rw-r--r--old/061_coord_eo/18_B3.in (renamed from test/061_coord_eo/18_B3.in)0
-rw-r--r--old/061_coord_eo/18_B3.out (renamed from test/061_coord_eo/18_B3.out)0
-rw-r--r--old/061_coord_eo/20_scrambled.in (renamed from test/061_coord_eo/20_scrambled.in)0
-rw-r--r--old/061_coord_eo/20_scrambled.out (renamed from test/061_coord_eo/20_scrambled.out)0
-rw-r--r--old/061_coord_eo/coord_eo_tests.c (renamed from test/061_coord_eo/coord_eo_tests.c)0
-rw-r--r--old/benchmark/bench.c (renamed from benchmark/bench.c)0
-rwxr-xr-xold/benchmark/bench.sh (renamed from benchmark/bench.sh)0
-rw-r--r--old/benchmark/cube-bench.c (renamed from benchmark/cube-bench.c)0
-rw-r--r--old/benchmark/results/results-2023-10-31-18-54-37.txt32
-rw-r--r--old/benchmark/results/results-2023-10-31-19-13-49.txt32
-rw-r--r--old/benchmark/results/results-2023-11-01-20-55-21.txt32
-rw-r--r--old/benchmark/results/results-2023-11-03-23-08-50.txt18
-rw-r--r--old/benchmark/results/results-2023-11-03-23-10-40.txt32
-rw-r--r--old/benchmark/results/results-2023-11-04-10-22-43.txt32
-rw-r--r--old/benchmark/results/results-2023-11-04-10-23-11.txt32
-rw-r--r--old/benchmark/results/results-2023-11-04-10-23-43.txt32
-rw-r--r--old/benchmark/results/results-2023-11-04-10-24-08.txt32
-rw-r--r--old/benchmark/results/results-2023-11-04-10-52-05.txt32
-rw-r--r--old/benchmark/results/results-2023-11-04-10-53-06.txt32
-rw-r--r--old/benchmark/results/results-2023-11-04-10-57-46.txt32
-rw-r--r--old/benchmark/results/results-2023-11-10-15-49-45.txt28
-rw-r--r--old/benchmark/results/results.txt28
-rw-r--r--test/020_move/300_multimove_solved.in2
-rw-r--r--test/020_move/300_multimove_solved.out1
-rw-r--r--test/020_move/301_multimove_scrambled.in2
-rw-r--r--test/020_move/301_multimove_scrambled.out1
55 files changed, 489 insertions, 75 deletions
diff --git a/TODO.txt b/TODO.txt
index 30a9242..27ff198 100644
--- a/TODO.txt
+++ b/TODO.txt
@@ -1,43 +1,30 @@
1## Big change 1## Roadmap
2 2
3* Add tests for multiple moves 3See the sections below for details
4 4
5### More for moves 5* Implement some simple solver
6 6* Extend cube and moves to include centers
7* define macro to loop over moves e.g. #define FOREACHMOVE(action) 7* More complex optimal solvers, pruning tables
8 8* Benchmarks
9### API goals: 9* Multithreading (build-time option number of threads)
10 10* Other optimizations
11* manipulate move sequences (invert, unniss, cleanup, mirror / transform...) 11* NISS
12* solvers (optimal, generic, coordinates) 12* Move manipulation utilities
13* print cube (in various formats) 13* Coordinate solvers and other steps
14* print ptables (or layout data in such a way that can be printed 14* More output formats
15 easily, e.g. first bytes are null-terminated strig and can be 15* Adapters for other languages (at least python)
16 printed by user) 16* More documentation (or keep all in cube.h?)
17 17* Rename to libnissy
18### Solvers 18* Release 1.0
19
20* Actually do A*, no fixed depth
21* Use threading (see below)
22* Return strings, newline separated (see nissy_ffi)
23* Instead of depth, I need the following parameters:
24 int minmoves
25 int maxmoves
26 a parameter for all solutions / nmax / optimal / -O n
27* How to make the above nicer? can it be done with a minimal
28 amount of parameters (e.g. at most 2)?
29
30### Rename to libnissy
31
32* prefix public functions with libnissy_ or something similar
33* move() that takes a string (alg) as input
34 19
35## Solving 20## Solving
36 21
37### Generic solver 22### Simple (slow, light) solver
38 23
24* Decide on API for solve() (see above)
25* solve generic becomes private, use cube_fast_t instead of cube_t
26* write simple solver based on generic
39* tests: solve full cube (max 7-8 moves?) 27* tests: solve full cube (max 7-8 moves?)
40* more tests: eo and other stuff
41* benchmarks 28* benchmarks
42 29
43### Coordinates 30### Coordinates
@@ -110,8 +97,10 @@ What about symcoord?
110 97
111## Improvements and other things 98## Improvements and other things
112 99
100* Rename to libnissy (prefix public functions with nissy_?)
113* add centers (and moves...) 101* add centers (and moves...)
114* for CO: move to bits 5 and 6, no need for padding bit 102* for CO: move to bits 5 and 6, no need for padding bit
103* manipulate move sequences (invert, unniss, cleanup, mirror / transform...)
115* NISS: Add mask to moves (e.g. U | NISS where NISS = 32 or something); 104* NISS: Add mask to moves (e.g. U | NISS where NISS = 32 or something);
116 adapt readmoves and writemoves. 105 adapt readmoves and writemoves.
117* Consider adding centers and other moves (for avx2: centers in the 106* Consider adding centers and other moves (for avx2: centers in the
@@ -121,6 +110,9 @@ What about symcoord?
121 ascii art (color = 1 letter) 110 ascii art (color = 1 letter)
122 twizzle binary https://www.experiments.cubing.net/cubing.js/spec/binary/ 111 twizzle binary https://www.experiments.cubing.net/cubing.js/spec/binary/
123 reid? 112 reid?
113* print ptables (or layout data in such a way that can be printed
114 easily, e.g. first bytes are null-terminated strig and can be
115 printed by user)
124 116
125## "Front-end" 117## "Front-end"
126 118
diff --git a/cube.c b/cube.c
index 0088dc1..4806b95 100644
--- a/cube.c
+++ b/cube.c
@@ -3619,12 +3619,6 @@ applytrans(cube_t cube, char *buf)
3619 return fasttocube(fast); 3619 return fasttocube(fast);
3620} 3620}
3621 3621
3622int64_t
3623coord_eo(cube_t cube)
3624{
3625 return coord_fast_eo(cubetofast(cube));
3626}
3627
3628/****************************************************************************** 3622/******************************************************************************
3629Section: solvers 3623Section: solvers
3630 3624
diff --git a/cube.h b/cube.h
index d8896d8..791d167 100644
--- a/cube.h
+++ b/cube.h
@@ -106,50 +106,46 @@ cube_t readcube(char *format, char *buf);
106void writecube(char *format, cube_t cube, char *buf); 106void writecube(char *format, cube_t cube, char *buf);
107 107
108/****************************************************************************** 108/******************************************************************************
109Coordinates
110
111TODO description
112******************************************************************************/
113
114int64_t coord_eo(cube_t);
115
116/******************************************************************************
117Solvers 109Solvers
118 110
119The solutions are returned as a newline-separated list of characters. 111The solutions are returned as a newline-separated list of characters. Moves
112are separated by single spaces.
120 113
121Unless specified otherwise, all the solutions are not trivially simplifiable. 114Unless specified otherwise, all the solutions are not trivially simplifiable.
122This means that sequences like U U2 or R L R will not appear in any solution. 115This means that sequences like U U2 or R L R will not appear in any solution.
123Moreover, two consecutive parallel moves are always going to be sorted in 116Moreover, two consecutive parallel moves are always going to be sorted in
124increasing order. For example, L R2 may never appear in a solution, but R2 L 117increasing order. For example, L R2 may never appear in a solution, but R2 L
125could. 118could.
126
127Solvers return -1 in case of error, the number of solutions found otherwise.
128
129TODO NISS / INVERSE / LINEAR as a mask?
130
131All solvers take at least the following parameters, satisfying the conditions
132in square brackets:
133TODO more!
134 - cube_t cube [issolvable(cube)]: The cube to solve.
135 - uint8_t depth [depth <= 20]: The lenght of the solution.
136 - int maxsols: The maximum number of solutions to find. The solver
137 stops when the limit is reached. If set to a negative number, all
138 the solutions are found.
139 - move_t *ret: The array where the moves of the solutions are stored.
140 There is no separator between different solutions; to read the
141 solutions, use the fact that all solutions has the same length: the
142 i-th move of the j-th solution is ret[j*depth + i].
143
144Some solvers take other parameters. See below for details.
145******************************************************************************/ 119******************************************************************************/
146 120
147/* TODO 121int64_t solve(
148int solve_generic( 122 cube_t cube, /* The cube to solve. Must be solvable. */
149 cube_t cube, 123 char *solver, /* The solver. Supported solvers: TODO. */
150 uint8_t depth, 124 char *options, /* Some solvers accept extra options,
151 int maxsols, 125 * like "!filter".
152 uint8_t *ret, // TODO change to char 126 */
153 int (*estimate)(cube_t) 127 char *nisstype, /* Can be "normal", "inverse", "mixed" or "linear". */
128 int8_t minmoves, /* The minimum number of moves. Must be >= 0. */
129 int8_t maxmoves, /* The maximum number of moves. If negative, the
130 * maximum length is unlimited.
131 */
132 int64_t maxsols, /* The maximum number of solutions. */
133 int64_t optimal, /* All solutions at most "optimal" moves from the
134 * shortest solution (respecting minmoves) are found.
135 * If negative, this parameter is ignored.
136 */
137 void *data, /* Some solvers require extra data to function
138 * properly (for example, pruning tables). This data
139 * can be generated with gendata(), see below.
140 */
141 char *solutions /* The solutions (return parameter) */
154); 142);
155*/ 143
144/* Solving n cubes optimally, one solutions per cube. Options are similar
145 * to solve().
146 */
147void multisolve(int n, cube_t *cube, char *solver, void *data, char *sols);
148
149/* Returns the number of bytes written to data, -1 in case of error.
150 * TODO: write down how much memory every solver requires. */
151int64_t gendata(char *solver, void *data);
diff --git a/test/061_coord_eo/00_solved.in b/old/061_coord_eo/00_solved.in
index dff224d..dff224d 100644
--- a/test/061_coord_eo/00_solved.in
+++ b/old/061_coord_eo/00_solved.in
diff --git a/test/061_coord_eo/00_solved.out b/old/061_coord_eo/00_solved.out
index 573541a..573541a 100644
--- a/test/061_coord_eo/00_solved.out
+++ b/old/061_coord_eo/00_solved.out
diff --git a/test/061_coord_eo/01_U.in b/old/061_coord_eo/01_U.in
index b5b36ad..b5b36ad 100644
--- a/test/061_coord_eo/01_U.in
+++ b/old/061_coord_eo/01_U.in
diff --git a/test/061_coord_eo/01_U.out b/old/061_coord_eo/01_U.out
index 573541a..573541a 100644
--- a/test/061_coord_eo/01_U.out
+++ b/old/061_coord_eo/01_U.out
diff --git a/test/061_coord_eo/02_U2.in b/old/061_coord_eo/02_U2.in
index 316ad57..316ad57 100644
--- a/test/061_coord_eo/02_U2.in
+++ b/old/061_coord_eo/02_U2.in
diff --git a/test/061_coord_eo/02_U2.out b/old/061_coord_eo/02_U2.out
index 573541a..573541a 100644
--- a/test/061_coord_eo/02_U2.out
+++ b/old/061_coord_eo/02_U2.out
diff --git a/test/061_coord_eo/03_U3.in b/old/061_coord_eo/03_U3.in
index 7721ab5..7721ab5 100644
--- a/test/061_coord_eo/03_U3.in
+++ b/old/061_coord_eo/03_U3.in
diff --git a/test/061_coord_eo/03_U3.out b/old/061_coord_eo/03_U3.out
index 573541a..573541a 100644
--- a/test/061_coord_eo/03_U3.out
+++ b/old/061_coord_eo/03_U3.out
diff --git a/test/061_coord_eo/04_D.in b/old/061_coord_eo/04_D.in
index cf4f816..cf4f816 100644
--- a/test/061_coord_eo/04_D.in
+++ b/old/061_coord_eo/04_D.in
diff --git a/test/061_coord_eo/04_D.out b/old/061_coord_eo/04_D.out
index 573541a..573541a 100644
--- a/test/061_coord_eo/04_D.out
+++ b/old/061_coord_eo/04_D.out
diff --git a/test/061_coord_eo/07_R.in b/old/061_coord_eo/07_R.in
index 8c8fcb3..8c8fcb3 100644
--- a/test/061_coord_eo/07_R.in
+++ b/old/061_coord_eo/07_R.in
diff --git a/test/061_coord_eo/07_R.out b/old/061_coord_eo/07_R.out
index 573541a..573541a 100644
--- a/test/061_coord_eo/07_R.out
+++ b/old/061_coord_eo/07_R.out
diff --git a/test/061_coord_eo/08_R2.in b/old/061_coord_eo/08_R2.in
index 90765e2..90765e2 100644
--- a/test/061_coord_eo/08_R2.in
+++ b/old/061_coord_eo/08_R2.in
diff --git a/test/061_coord_eo/08_R2.out b/old/061_coord_eo/08_R2.out
index 573541a..573541a 100644
--- a/test/061_coord_eo/08_R2.out
+++ b/old/061_coord_eo/08_R2.out
diff --git a/test/061_coord_eo/10_L.in b/old/061_coord_eo/10_L.in
index 0b0565c..0b0565c 100644
--- a/test/061_coord_eo/10_L.in
+++ b/old/061_coord_eo/10_L.in
diff --git a/test/061_coord_eo/10_L.out b/old/061_coord_eo/10_L.out
index 573541a..573541a 100644
--- a/test/061_coord_eo/10_L.out
+++ b/old/061_coord_eo/10_L.out
diff --git a/test/061_coord_eo/13_F.in b/old/061_coord_eo/13_F.in
index e805af8..e805af8 100644
--- a/test/061_coord_eo/13_F.in
+++ b/old/061_coord_eo/13_F.in
diff --git a/test/061_coord_eo/13_F.out b/old/061_coord_eo/13_F.out
index 2c60641..2c60641 100644
--- a/test/061_coord_eo/13_F.out
+++ b/old/061_coord_eo/13_F.out
diff --git a/test/061_coord_eo/14_F2.in b/old/061_coord_eo/14_F2.in
index 8aa701f..8aa701f 100644
--- a/test/061_coord_eo/14_F2.in
+++ b/old/061_coord_eo/14_F2.in
diff --git a/test/061_coord_eo/14_F2.out b/old/061_coord_eo/14_F2.out
index 573541a..573541a 100644
--- a/test/061_coord_eo/14_F2.out
+++ b/old/061_coord_eo/14_F2.out
diff --git a/test/061_coord_eo/15_F3.in b/old/061_coord_eo/15_F3.in
index 40f1260..40f1260 100644
--- a/test/061_coord_eo/15_F3.in
+++ b/old/061_coord_eo/15_F3.in
diff --git a/test/061_coord_eo/15_F3.out b/old/061_coord_eo/15_F3.out
index 2c60641..2c60641 100644
--- a/test/061_coord_eo/15_F3.out
+++ b/old/061_coord_eo/15_F3.out
diff --git a/test/061_coord_eo/16_B.in b/old/061_coord_eo/16_B.in
index f7fb13c..f7fb13c 100644
--- a/test/061_coord_eo/16_B.in
+++ b/old/061_coord_eo/16_B.in
diff --git a/test/061_coord_eo/16_B.out b/old/061_coord_eo/16_B.out
index 1fd9918..1fd9918 100644
--- a/test/061_coord_eo/16_B.out
+++ b/old/061_coord_eo/16_B.out
diff --git a/test/061_coord_eo/17_B2.in b/old/061_coord_eo/17_B2.in
index 9b33e35..9b33e35 100644
--- a/test/061_coord_eo/17_B2.in
+++ b/old/061_coord_eo/17_B2.in
diff --git a/test/061_coord_eo/17_B2.out b/old/061_coord_eo/17_B2.out
index 573541a..573541a 100644
--- a/test/061_coord_eo/17_B2.out
+++ b/old/061_coord_eo/17_B2.out
diff --git a/test/061_coord_eo/18_B3.in b/old/061_coord_eo/18_B3.in
index 1367517..1367517 100644
--- a/test/061_coord_eo/18_B3.in
+++ b/old/061_coord_eo/18_B3.in
diff --git a/test/061_coord_eo/18_B3.out b/old/061_coord_eo/18_B3.out
index 1fd9918..1fd9918 100644
--- a/test/061_coord_eo/18_B3.out
+++ b/old/061_coord_eo/18_B3.out
diff --git a/test/061_coord_eo/20_scrambled.in b/old/061_coord_eo/20_scrambled.in
index 274d30b..274d30b 100644
--- a/test/061_coord_eo/20_scrambled.in
+++ b/old/061_coord_eo/20_scrambled.in
diff --git a/test/061_coord_eo/20_scrambled.out b/old/061_coord_eo/20_scrambled.out
index aa309cc..aa309cc 100644
--- a/test/061_coord_eo/20_scrambled.out
+++ b/old/061_coord_eo/20_scrambled.out
diff --git a/test/061_coord_eo/coord_eo_tests.c b/old/061_coord_eo/coord_eo_tests.c
index 30989e8..30989e8 100644
--- a/test/061_coord_eo/coord_eo_tests.c
+++ b/old/061_coord_eo/coord_eo_tests.c
diff --git a/benchmark/bench.c b/old/benchmark/bench.c
index 2c3358f..2c3358f 100644
--- a/benchmark/bench.c
+++ b/old/benchmark/bench.c
diff --git a/benchmark/bench.sh b/old/benchmark/bench.sh
index cc31c1e..cc31c1e 100755
--- a/benchmark/bench.sh
+++ b/old/benchmark/bench.sh
diff --git a/benchmark/cube-bench.c b/old/benchmark/cube-bench.c
index 26d12a4..26d12a4 100644
--- a/benchmark/cube-bench.c
+++ b/old/benchmark/cube-bench.c
diff --git a/old/benchmark/results/results-2023-10-31-18-54-37.txt b/old/benchmark/results/results-2023-10-31-18-54-37.txt
new file mode 100644
index 0000000..c0f84e5
--- /dev/null
+++ b/old/benchmark/results/results-2023-10-31-18-54-37.txt
@@ -0,0 +1,32 @@
1Benchmarks settings:
2MOVES: 100000000
3TRANS: 100000000
4COMP: 100000000
5INV: 100000000
6
7> moves: setting up benchmark...
8> moves: running benchmark...
9> moves: resulting cube, first piece: UR0
10> moves: 3.5626s
11
12> trans: setting up benchmark...
13> trans: running benchmark...
14> trans: resulting cube, first piece: UF0
15> trans: 9.9028s
16
17> comp: setting up benchmark...
18> comp: running benchmark...
19> comp: resulting cube, first piece: UF0
20> comp: 2.9944s
21
22> inv: setting up benchmark...
23> inv: running benchmark...
24> comp: resulting cube, first piece: DB0
25> inv: 2.6475s
26
27Benchmark summary:
28moves: 100000000 moves in 3.5626s (28.0697 MTPS)
29trans: 100000000 trans in 9.9028s (10.0981 MTPS)
30comp: 100000000 comps in 2.9944s (33.3956 MCPS)
31inv: 100000000 invs in 2.6475s (37.7714 MIPS)
32Total time: 19.1073
diff --git a/old/benchmark/results/results-2023-10-31-19-13-49.txt b/old/benchmark/results/results-2023-10-31-19-13-49.txt
new file mode 100644
index 0000000..b0716f1
--- /dev/null
+++ b/old/benchmark/results/results-2023-10-31-19-13-49.txt
@@ -0,0 +1,32 @@
1Benchmarks settings:
2MOVES: 100000000
3TRANS: 100000000
4COMP: 100000000
5INV: 100000000
6
7> moves: setting up benchmark...
8> moves: running benchmark...
9> moves: resulting cube, first piece: UF0
10> moves: 3.5096s
11
12> trans: setting up benchmark...
13> trans: running benchmark...
14> trans: resulting cube, first piece: UF0
15> trans: 9.8367s
16
17> comp: setting up benchmark...
18> comp: running benchmark...
19> comp: resulting cube, first piece: UF0
20> comp: 2.9693s
21
22> inv: setting up benchmark...
23> inv: running benchmark...
24> comp: resulting cube, first piece: FL0
25> inv: 2.6227s
26
27Benchmark summary:
28moves: 100000000 moves in 3.5096s (28.4930 MTPS)
29trans: 100000000 trans in 9.8367s (10.1660 MTPS)
30comp: 100000000 comps in 2.9693s (33.6784 MCPS)
31inv: 100000000 invs in 2.6227s (38.1283 MIPS)
32Total time: 18.9383
diff --git a/old/benchmark/results/results-2023-11-01-20-55-21.txt b/old/benchmark/results/results-2023-11-01-20-55-21.txt
new file mode 100644
index 0000000..adf1fd8
--- /dev/null
+++ b/old/benchmark/results/results-2023-11-01-20-55-21.txt
@@ -0,0 +1,32 @@
1Benchmarks settings:
2MOVES: 100000000
3TRANS: 100000000
4COMP: 100000000
5INV: 100000000
6
7> moves: setting up benchmark...
8> moves: running benchmark...
9> moves: resulting cube, first piece: BL1
10> moves: 3.6556s
11
12> trans: setting up benchmark...
13> trans: running benchmark...
14> trans: resulting cube, first piece: UF0
15> trans: 7.5844s
16
17> comp: setting up benchmark...
18> comp: running benchmark...
19> comp: resulting cube, first piece: UF0
20> comp: 3.0103s
21
22> inv: setting up benchmark...
23> inv: running benchmark...
24> comp: resulting cube, first piece: DL0
25> inv: 2.6601s
26
27Benchmark summary:
28moves: 100000000 moves in 3.6556s (27.3556 MTPS)
29trans: 100000000 trans in 7.5844s (13.1850 MTPS)
30comp: 100000000 comps in 3.0103s (33.2191 MCPS)
31inv: 100000000 invs in 2.6601s (37.5929 MIPS)
32Total time: 16.9103
diff --git a/old/benchmark/results/results-2023-11-03-23-08-50.txt b/old/benchmark/results/results-2023-11-03-23-08-50.txt
new file mode 100644
index 0000000..12e2aa6
--- /dev/null
+++ b/old/benchmark/results/results-2023-11-03-23-08-50.txt
@@ -0,0 +1,18 @@
1Benchmarks settings:
2MOVES: 100000000
3TRANS: 100000000
4COMP: 100000000
5INV: 100000000
6
7> moves: setting up benchmark...
8> moves: running benchmark...
9> moves: resulting cube, first piece: ERR
10> moves: 6.6791s
11
12> trans: setting up benchmark...
13> trans: running benchmark...
14> trans: resulting cube, first piece: ERR
15> trans: 6.6844s
16
17> comp: setting up benchmark...
18> comp: running benchmark...
diff --git a/old/benchmark/results/results-2023-11-03-23-10-40.txt b/old/benchmark/results/results-2023-11-03-23-10-40.txt
new file mode 100644
index 0000000..5be1c1f
--- /dev/null
+++ b/old/benchmark/results/results-2023-11-03-23-10-40.txt
@@ -0,0 +1,32 @@
1Benchmarks settings:
2MOVES: 100000000
3TRANS: 100000000
4COMP: 100000000
5INV: 100000000
6
7> moves: setting up benchmark...
8> moves: running benchmark...
9> moves: resulting cube, first piece: BL1
10> moves: 1.6354s
11
12> trans: setting up benchmark...
13> trans: running benchmark...
14> trans: resulting cube, first piece: ERR
15> trans: 1.9863s
16
17> comp: setting up benchmark...
18> comp: running benchmark...
19> comp: resulting cube, first piece: UF0
20> comp: 0.3505s
21
22> inv: setting up benchmark...
23> inv: running benchmark...
24> comp: resulting cube, first piece: DL1
25> inv: 0.7249s
26
27Benchmark summary:
28moves: 100000000 moves in 1.6354s (61.1463 MTPS)
29trans: 100000000 trans in 1.9863s (50.3458 MTPS)
30comp: 100000000 comps in 0.3505s (285.3105 MCPS)
31inv: 100000000 invs in 0.7249s (137.9488 MIPS)
32Total time: 4.6971
diff --git a/old/benchmark/results/results-2023-11-04-10-22-43.txt b/old/benchmark/results/results-2023-11-04-10-22-43.txt
new file mode 100644
index 0000000..7a2c483
--- /dev/null
+++ b/old/benchmark/results/results-2023-11-04-10-22-43.txt
@@ -0,0 +1,32 @@
1Benchmarks settings:
2MOVES: 100000000
3TRANS: 100000000
4COMP: 100000000
5INV: 100000000
6
7> moves: setting up benchmark...
8> moves: running benchmark...
9> moves: resulting cube, first piece: UF0
10> moves: 1.3535s
11
12> trans: setting up benchmark...
13> trans: running benchmark...
14> trans: resulting cube, first piece: UF0
15> trans: 1.6526s
16
17> comp: setting up benchmark...
18> comp: running benchmark...
19> comp: resulting cube, first piece: UR0
20> comp: 0.2848s
21
22> inv: setting up benchmark...
23> inv: running benchmark...
24> comp: resulting cube, first piece: DF0
25> inv: 0.6598s
26
27Benchmark summary:
28moves: 100000000 moves in 1.3535s (73.8828 MTPS)
29trans: 100000000 trans in 1.6526s (60.5112 MTPS)
30comp: 100000000 comps in 0.2848s (351.1409 MCPS)
31inv: 100000000 invs in 0.6598s (151.5679 MIPS)
32Total time: 3.9506
diff --git a/old/benchmark/results/results-2023-11-04-10-23-11.txt b/old/benchmark/results/results-2023-11-04-10-23-11.txt
new file mode 100644
index 0000000..f3a60de
--- /dev/null
+++ b/old/benchmark/results/results-2023-11-04-10-23-11.txt
@@ -0,0 +1,32 @@
1Benchmarks settings:
2MOVES: 100000000
3TRANS: 100000000
4COMP: 100000000
5INV: 100000000
6
7> moves: setting up benchmark...
8> moves: running benchmark...
9> moves: resulting cube, first piece: UL1
10> moves: 1.3463s
11
12> trans: setting up benchmark...
13> trans: running benchmark...
14> trans: resulting cube, first piece: UF0
15> trans: 1.6303s
16
17> comp: setting up benchmark...
18> comp: running benchmark...
19> comp: resulting cube, first piece: UF0
20> comp: 0.2881s
21
22> inv: setting up benchmark...
23> inv: running benchmark...
24> comp: resulting cube, first piece: UF0
25> inv: 0.6853s
26
27Benchmark summary:
28moves: 100000000 moves in 1.3463s (74.2803 MTPS)
29trans: 100000000 trans in 1.6303s (61.3400 MTPS)
30comp: 100000000 comps in 0.2881s (347.0564 MCPS)
31inv: 100000000 invs in 0.6853s (145.9211 MIPS)
32Total time: 3.9499
diff --git a/old/benchmark/results/results-2023-11-04-10-23-43.txt b/old/benchmark/results/results-2023-11-04-10-23-43.txt
new file mode 100644
index 0000000..e1f557c
--- /dev/null
+++ b/old/benchmark/results/results-2023-11-04-10-23-43.txt
@@ -0,0 +1,32 @@
1Benchmarks settings:
2MOVES: 100000000
3TRANS: 100000000
4COMP: 100000000
5INV: 100000000
6
7> moves: setting up benchmark...
8> moves: running benchmark...
9> moves: resulting cube, first piece: UF0
10> moves: 1.3434s
11
12> trans: setting up benchmark...
13> trans: running benchmark...
14> trans: resulting cube, first piece: UF0
15> trans: 1.6439s
16
17> comp: setting up benchmark...
18> comp: running benchmark...
19> comp: resulting cube, first piece: UR1
20> comp: 0.2872s
21
22> inv: setting up benchmark...
23> inv: running benchmark...
24> comp: resulting cube, first piece: DF0
25> inv: 0.6646s
26
27Benchmark summary:
28moves: 100000000 moves in 1.3434s (74.4399 MTPS)
29trans: 100000000 trans in 1.6439s (60.8320 MTPS)
30comp: 100000000 comps in 0.2872s (348.1848 MCPS)
31inv: 100000000 invs in 0.6646s (150.4726 MIPS)
32Total time: 3.9390
diff --git a/old/benchmark/results/results-2023-11-04-10-24-08.txt b/old/benchmark/results/results-2023-11-04-10-24-08.txt
new file mode 100644
index 0000000..46eb403
--- /dev/null
+++ b/old/benchmark/results/results-2023-11-04-10-24-08.txt
@@ -0,0 +1,32 @@
1Benchmarks settings:
2MOVES: 100000000
3TRANS: 100000000
4COMP: 100000000
5INV: 100000000
6
7> moves: setting up benchmark...
8> moves: running benchmark...
9> moves: resulting cube, first piece: UF0
10> moves: 1.3330s
11
12> trans: setting up benchmark...
13> trans: running benchmark...
14> trans: resulting cube, first piece: UF0
15> trans: 1.6094s
16
17> comp: setting up benchmark...
18> comp: running benchmark...
19> comp: resulting cube, first piece: UF0
20> comp: 0.2827s
21
22> inv: setting up benchmark...
23> inv: running benchmark...
24> comp: resulting cube, first piece: BL0
25> inv: 0.6527s
26
27Benchmark summary:
28moves: 100000000 moves in 1.3330s (75.0200 MTPS)
29trans: 100000000 trans in 1.6094s (62.1335 MTPS)
30comp: 100000000 comps in 0.2827s (353.7582 MCPS)
31inv: 100000000 invs in 0.6527s (153.2026 MIPS)
32Total time: 3.8778
diff --git a/old/benchmark/results/results-2023-11-04-10-52-05.txt b/old/benchmark/results/results-2023-11-04-10-52-05.txt
new file mode 100644
index 0000000..597eddf
--- /dev/null
+++ b/old/benchmark/results/results-2023-11-04-10-52-05.txt
@@ -0,0 +1,32 @@
1Benchmarks settings:
2MOVES: 100000000
3TRANS: 100000000
4COMP: 100000000
5INV: 100000000
6
7> moves: setting up benchmark...
8> moves: running benchmark...
9> moves: resulting cube, first piece: UL0
10> moves: 3.6559s
11
12> trans: setting up benchmark...
13> trans: running benchmark...
14> trans: resulting cube, first piece: UF0
15> trans: 7.9072s
16
17> comp: setting up benchmark...
18> comp: running benchmark...
19> comp: resulting cube, first piece: BL1
20> comp: 3.3698s
21
22> inv: setting up benchmark...
23> inv: running benchmark...
24> comp: resulting cube, first piece: FL1
25> inv: 2.6933s
26
27Benchmark summary:
28moves: 100000000 moves in 3.6559s (27.3528 MTPS)
29trans: 100000000 trans in 7.9072s (12.6467 MTPS)
30comp: 100000000 comps in 3.3698s (29.6755 MCPS)
31inv: 100000000 invs in 2.6933s (37.1296 MIPS)
32Total time: 17.6262
diff --git a/old/benchmark/results/results-2023-11-04-10-53-06.txt b/old/benchmark/results/results-2023-11-04-10-53-06.txt
new file mode 100644
index 0000000..8543d81
--- /dev/null
+++ b/old/benchmark/results/results-2023-11-04-10-53-06.txt
@@ -0,0 +1,32 @@
1Benchmarks settings:
2MOVES: 100000000
3TRANS: 100000000
4COMP: 100000000
5INV: 100000000
6
7> moves: setting up benchmark...
8> moves: running benchmark...
9> moves: resulting cube, first piece: UR1
10> moves: 1.3554s
11
12> trans: setting up benchmark...
13> trans: running benchmark...
14> trans: resulting cube, first piece: UF0
15> trans: 1.6302s
16
17> comp: setting up benchmark...
18> comp: running benchmark...
19> comp: resulting cube, first piece: UF0
20> comp: 0.2880s
21
22> inv: setting up benchmark...
23> inv: running benchmark...
24> comp: resulting cube, first piece: DR1
25> inv: 0.6567s
26
27Benchmark summary:
28moves: 100000000 moves in 1.3554s (73.7816 MTPS)
29trans: 100000000 trans in 1.6302s (61.3423 MTPS)
30comp: 100000000 comps in 0.2880s (347.2758 MCPS)
31inv: 100000000 invs in 0.6567s (152.2870 MIPS)
32Total time: 3.9302
diff --git a/old/benchmark/results/results-2023-11-04-10-57-46.txt b/old/benchmark/results/results-2023-11-04-10-57-46.txt
new file mode 100644
index 0000000..1ad4579
--- /dev/null
+++ b/old/benchmark/results/results-2023-11-04-10-57-46.txt
@@ -0,0 +1,32 @@
1Benchmarks settings:
2MOVES: 100000000
3TRANS: 100000000
4COMP: 100000000
5INV: 100000000
6
7> moves: setting up benchmark...
8> moves: running benchmark...
9> moves: resulting cube, first piece: UL0
10> moves: 1.3518s
11
12> trans: setting up benchmark...
13> trans: running benchmark...
14> trans: resulting cube, first piece: UF0
15> trans: 1.6350s
16
17> comp: setting up benchmark...
18> comp: running benchmark...
19> comp: resulting cube, first piece: UF0
20> comp: 0.3039s
21
22> inv: setting up benchmark...
23> inv: running benchmark...
24> comp: resulting cube, first piece: UR1
25> inv: 0.6681s
26
27Benchmark summary:
28moves: 100000000 moves in 1.3518s (73.9734 MTPS)
29trans: 100000000 trans in 1.6350s (61.1621 MTPS)
30comp: 100000000 comps in 0.3039s (329.0593 MCPS)
31inv: 100000000 invs in 0.6681s (149.6737 MIPS)
32Total time: 3.9589
diff --git a/old/benchmark/results/results-2023-11-10-15-49-45.txt b/old/benchmark/results/results-2023-11-10-15-49-45.txt
new file mode 100644
index 0000000..6c64bc8
--- /dev/null
+++ b/old/benchmark/results/results-2023-11-10-15-49-45.txt
@@ -0,0 +1,28 @@
1Benchmarks settings:
2MOVES: 100000000
3TRANS: 100000000
4COMPOSE: 100000000
5INVERSE: 100000000
6
7> moves: running benchmark...
8> moves: resulting cube, first piece: UB0
9> moves: 0.0097s
10
11> trans: running benchmark...
12> trans: resulting cube, first piece: DB0
13> trans: 20.1464s
14
15> compose: running benchmark...
16> compose: resulting cube, first piece: ERR
17> compose: 3.7322s
18
19> inverse: running benchmark...
20> inverse: resulting cube, first piece: DB0
21> inverse: 2.1003s
22
23Benchmark summary:
24moves: 100000000 moves in 0.0097s (10259.5134 MTPS)
25trans: 100000000 transformations in 20.1464s (4.9637 MTPS)
26compose: 100000000 compositions in 3.7322s (26.7940 MCPS)
27inverse: 100000000 inverses in 2.1003s (47.6116 MIPS)
28Total time: 25.9886
diff --git a/old/benchmark/results/results.txt b/old/benchmark/results/results.txt
new file mode 100644
index 0000000..6c64bc8
--- /dev/null
+++ b/old/benchmark/results/results.txt
@@ -0,0 +1,28 @@
1Benchmarks settings:
2MOVES: 100000000
3TRANS: 100000000
4COMPOSE: 100000000
5INVERSE: 100000000
6
7> moves: running benchmark...
8> moves: resulting cube, first piece: UB0
9> moves: 0.0097s
10
11> trans: running benchmark...
12> trans: resulting cube, first piece: DB0
13> trans: 20.1464s
14
15> compose: running benchmark...
16> compose: resulting cube, first piece: ERR
17> compose: 3.7322s
18
19> inverse: running benchmark...
20> inverse: resulting cube, first piece: DB0
21> inverse: 2.1003s
22
23Benchmark summary:
24moves: 100000000 moves in 0.0097s (10259.5134 MTPS)
25trans: 100000000 transformations in 20.1464s (4.9637 MTPS)
26compose: 100000000 compositions in 3.7322s (26.7940 MCPS)
27inverse: 100000000 inverses in 2.1003s (47.6116 MIPS)
28Total time: 25.9886
diff --git a/test/020_move/300_multimove_solved.in b/test/020_move/300_multimove_solved.in
new file mode 100644
index 0000000..e084353
--- /dev/null
+++ b/test/020_move/300_multimove_solved.in
@@ -0,0 +1,2 @@
1B2 D' L2 D' B2 D B2 R2 B2 D U2 R D R2 B L' B' L2 U B2 U
2UF0 UB0 DB0 DF0 UR0 UL0 DL0 DR0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0
diff --git a/test/020_move/300_multimove_solved.out b/test/020_move/300_multimove_solved.out
new file mode 100644
index 0000000..6c52430
--- /dev/null
+++ b/test/020_move/300_multimove_solved.out
@@ -0,0 +1 @@
UB1 UL0 UF1 DL0 FL0 DB0 BR0 BL0 DF0 FR0 DR0 UR0 UBR1 DFR1 UBL0 DFL2 DBR1 DBL2 UFR1 UFL1
diff --git a/test/020_move/301_multimove_scrambled.in b/test/020_move/301_multimove_scrambled.in
new file mode 100644
index 0000000..cc649c0
--- /dev/null
+++ b/test/020_move/301_multimove_scrambled.in
@@ -0,0 +1,2 @@
1D2 B2 L U2 B2 L' B2 R' D2 R D2 B F L U F2 L' R' B2 U B2
2UB1 UL0 UF1 DL0 FL0 DB0 BR0 BL0 DF0 FR0 DR0 UR0 UBR1 DFR1 UBL0 DFL2 DBR1 DBL2 UFR1 UFL1
diff --git a/test/020_move/301_multimove_scrambled.out b/test/020_move/301_multimove_scrambled.out
new file mode 100644
index 0000000..102ac1b
--- /dev/null
+++ b/test/020_move/301_multimove_scrambled.out
@@ -0,0 +1 @@
UL1 UB0 DL1 UR0 BL1 DR1 BR0 DB0 FL1 UF0 FR1 DF0 DFR2 DFL0 DBL0 UFL0 UBR1 UBL0 UFR2 DBR1

Generated with cgit - Back to sebastiano.tronto.net