From 80ec600701aae54350679bbf5e0ce874c915506e Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Sun, 29 Oct 2023 10:29:27 +0100 Subject: AVX2 compiles, fails all tests; + some renaming --- test/040_compose/00_solved_solved.in | 2 ++ test/040_compose/00_solved_solved.out | 1 + test/040_compose/01_solved_U.in | 2 ++ test/040_compose/01_solved_U.out | 1 + test/040_compose/02_solved_scrambled.in | 2 ++ test/040_compose/02_solved_scrambled.out | 1 + test/040_compose/11_U_solved.in | 2 ++ test/040_compose/11_U_solved.out | 1 + test/040_compose/12_scrambled_solved.in | 2 ++ test/040_compose/12_scrambled_solved.out | 1 + test/040_compose/20_U_U.in | 2 ++ test/040_compose/20_U_U.out | 1 + test/040_compose/21_U_Uinverse.in | 2 ++ test/040_compose/21_U_Uinverse.out | 1 + test/040_compose/22_F_Finverse.in | 2 ++ test/040_compose/22_F_Finverse.out | 1 + test/040_compose/23_F2_F2.in | 2 ++ test/040_compose/23_F2_F2.out | 1 + test/040_compose/24_U_F.in | 2 ++ test/040_compose/24_U_F.out | 1 + test/040_compose/25_F_R.in | 2 ++ test/040_compose/25_F_R.out | 1 + test/040_compose/30_scrambled_inverse.in | 4 ++++ test/040_compose/30_scrambled_inverse.out | 1 + test/040_compose/31_scrambled_scrambled.in | 4 ++++ test/040_compose/31_scrambled_scrambled.out | 1 + test/040_compose/compose_tests.c | 30 +++++++++++++++++++++++++++++ 27 files changed, 73 insertions(+) create mode 100644 test/040_compose/00_solved_solved.in create mode 100644 test/040_compose/00_solved_solved.out create mode 100644 test/040_compose/01_solved_U.in create mode 100644 test/040_compose/01_solved_U.out create mode 100644 test/040_compose/02_solved_scrambled.in create mode 100644 test/040_compose/02_solved_scrambled.out create mode 100644 test/040_compose/11_U_solved.in create mode 100644 test/040_compose/11_U_solved.out create mode 100644 test/040_compose/12_scrambled_solved.in create mode 100644 test/040_compose/12_scrambled_solved.out create mode 100644 test/040_compose/20_U_U.in create mode 100644 test/040_compose/20_U_U.out create mode 100644 test/040_compose/21_U_Uinverse.in create mode 100644 test/040_compose/21_U_Uinverse.out create mode 100644 test/040_compose/22_F_Finverse.in create mode 100644 test/040_compose/22_F_Finverse.out create mode 100644 test/040_compose/23_F2_F2.in create mode 100644 test/040_compose/23_F2_F2.out create mode 100644 test/040_compose/24_U_F.in create mode 100644 test/040_compose/24_U_F.out create mode 100644 test/040_compose/25_F_R.in create mode 100644 test/040_compose/25_F_R.out create mode 100644 test/040_compose/30_scrambled_inverse.in create mode 100644 test/040_compose/30_scrambled_inverse.out create mode 100644 test/040_compose/31_scrambled_scrambled.in create mode 100644 test/040_compose/31_scrambled_scrambled.out create mode 100644 test/040_compose/compose_tests.c (limited to 'test/040_compose') diff --git a/test/040_compose/00_solved_solved.in b/test/040_compose/00_solved_solved.in new file mode 100644 index 0000000..4ccdb6e --- /dev/null +++ b/test/040_compose/00_solved_solved.in @@ -0,0 +1,2 @@ +UF0 UB0 DB0 DF0 UR0 UL0 DL0 DR0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0 +UF0 UB0 DB0 DF0 UR0 UL0 DL0 DR0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0 diff --git a/test/040_compose/00_solved_solved.out b/test/040_compose/00_solved_solved.out new file mode 100644 index 0000000..dff224d --- /dev/null +++ b/test/040_compose/00_solved_solved.out @@ -0,0 +1 @@ +UF0 UB0 DB0 DF0 UR0 UL0 DL0 DR0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0 diff --git a/test/040_compose/01_solved_U.in b/test/040_compose/01_solved_U.in new file mode 100644 index 0000000..e0559dd --- /dev/null +++ b/test/040_compose/01_solved_U.in @@ -0,0 +1,2 @@ +UF0 UB0 DB0 DF0 UR0 UL0 DL0 DR0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0 +UR0 UL0 DB0 DF0 UB0 UF0 DL0 DR0 FR0 FL0 BL0 BR0 UBR0 UFL0 DFL0 DBR0 UFR0 UBL0 DFR0 DBL0 diff --git a/test/040_compose/01_solved_U.out b/test/040_compose/01_solved_U.out new file mode 100644 index 0000000..b5b36ad --- /dev/null +++ b/test/040_compose/01_solved_U.out @@ -0,0 +1 @@ +UR0 UL0 DB0 DF0 UB0 UF0 DL0 DR0 FR0 FL0 BL0 BR0 UBR0 UFL0 DFL0 DBR0 UFR0 UBL0 DFR0 DBL0 diff --git a/test/040_compose/02_solved_scrambled.in b/test/040_compose/02_solved_scrambled.in new file mode 100644 index 0000000..ad36258 --- /dev/null +++ b/test/040_compose/02_solved_scrambled.in @@ -0,0 +1,2 @@ +UF0 UB0 DB0 DF0 UR0 UL0 DL0 DR0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0 +DR0 DB0 BL0 DF1 UB0 UR1 FR1 UF0 FL1 DL0 BR1 UL1 DBL2 DFL0 UBR1 DFR2 UFR0 DBR1 UBL0 UFL0 diff --git a/test/040_compose/02_solved_scrambled.out b/test/040_compose/02_solved_scrambled.out new file mode 100644 index 0000000..263213b --- /dev/null +++ b/test/040_compose/02_solved_scrambled.out @@ -0,0 +1 @@ +DR0 DB0 BL0 DF1 UB0 UR1 FR1 UF0 FL1 DL0 BR1 UL1 DBL2 DFL0 UBR1 DFR2 UFR0 DBR1 UBL0 UFL0 diff --git a/test/040_compose/11_U_solved.in b/test/040_compose/11_U_solved.in new file mode 100644 index 0000000..5993795 --- /dev/null +++ b/test/040_compose/11_U_solved.in @@ -0,0 +1,2 @@ +UR0 UL0 DB0 DF0 UB0 UF0 DL0 DR0 FR0 FL0 BL0 BR0 UBR0 UFL0 DFL0 DBR0 UFR0 UBL0 DFR0 DBL0 +UF0 UB0 DB0 DF0 UR0 UL0 DL0 DR0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0 diff --git a/test/040_compose/11_U_solved.out b/test/040_compose/11_U_solved.out new file mode 100644 index 0000000..b5b36ad --- /dev/null +++ b/test/040_compose/11_U_solved.out @@ -0,0 +1 @@ +UR0 UL0 DB0 DF0 UB0 UF0 DL0 DR0 FR0 FL0 BL0 BR0 UBR0 UFL0 DFL0 DBR0 UFR0 UBL0 DFR0 DBL0 diff --git a/test/040_compose/12_scrambled_solved.in b/test/040_compose/12_scrambled_solved.in new file mode 100644 index 0000000..3efd52c --- /dev/null +++ b/test/040_compose/12_scrambled_solved.in @@ -0,0 +1,2 @@ +DR0 DB0 BL0 DF1 UB0 UR1 FR1 UF0 FL1 DL0 BR1 UL1 DBL2 DFL0 UBR1 DFR2 UFR0 DBR1 UBL0 UFL0 +UF0 UB0 DB0 DF0 UR0 UL0 DL0 DR0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0 diff --git a/test/040_compose/12_scrambled_solved.out b/test/040_compose/12_scrambled_solved.out new file mode 100644 index 0000000..263213b --- /dev/null +++ b/test/040_compose/12_scrambled_solved.out @@ -0,0 +1 @@ +DR0 DB0 BL0 DF1 UB0 UR1 FR1 UF0 FL1 DL0 BR1 UL1 DBL2 DFL0 UBR1 DFR2 UFR0 DBR1 UBL0 UFL0 diff --git a/test/040_compose/20_U_U.in b/test/040_compose/20_U_U.in new file mode 100644 index 0000000..2778e82 --- /dev/null +++ b/test/040_compose/20_U_U.in @@ -0,0 +1,2 @@ +UR0 UL0 DB0 DF0 UB0 UF0 DL0 DR0 FR0 FL0 BL0 BR0 UBR0 UFL0 DFL0 DBR0 UFR0 UBL0 DFR0 DBL0 +UR0 UL0 DB0 DF0 UB0 UF0 DL0 DR0 FR0 FL0 BL0 BR0 UBR0 UFL0 DFL0 DBR0 UFR0 UBL0 DFR0 DBL0 diff --git a/test/040_compose/20_U_U.out b/test/040_compose/20_U_U.out new file mode 100644 index 0000000..316ad57 --- /dev/null +++ b/test/040_compose/20_U_U.out @@ -0,0 +1 @@ +UB0 UF0 DB0 DF0 UL0 UR0 DL0 DR0 FR0 FL0 BL0 BR0 UBL0 UFR0 DFL0 DBR0 UBR0 UFL0 DFR0 DBL0 diff --git a/test/040_compose/21_U_Uinverse.in b/test/040_compose/21_U_Uinverse.in new file mode 100644 index 0000000..495220e --- /dev/null +++ b/test/040_compose/21_U_Uinverse.in @@ -0,0 +1,2 @@ +UR0 UL0 DB0 DF0 UB0 UF0 DL0 DR0 FR0 FL0 BL0 BR0 UBR0 UFL0 DFL0 DBR0 UFR0 UBL0 DFR0 DBL0 +UL0 UR0 DB0 DF0 UF0 UB0 DL0 DR0 FR0 FL0 BL0 BR0 UFL0 UBR0 DFL0 DBR0 UBL0 UFR0 DFR0 DBL0 diff --git a/test/040_compose/21_U_Uinverse.out b/test/040_compose/21_U_Uinverse.out new file mode 100644 index 0000000..dff224d --- /dev/null +++ b/test/040_compose/21_U_Uinverse.out @@ -0,0 +1 @@ +UF0 UB0 DB0 DF0 UR0 UL0 DL0 DR0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0 diff --git a/test/040_compose/22_F_Finverse.in b/test/040_compose/22_F_Finverse.in new file mode 100644 index 0000000..4a2f1e6 --- /dev/null +++ b/test/040_compose/22_F_Finverse.in @@ -0,0 +1,2 @@ +FL1 UB0 DB0 FR1 UR0 UL0 DL0 DR0 UF1 DF1 BL0 BR0 UFL1 UBL0 DFR1 DBR0 DFL2 UBR0 UFR2 DBL0 +FR1 UB0 DB0 FL1 UR0 UL0 DL0 DR0 DF1 UF1 BL0 BR0 DFR1 UBL0 UFL1 DBR0 UFR2 UBR0 DFL2 DBL0 diff --git a/test/040_compose/22_F_Finverse.out b/test/040_compose/22_F_Finverse.out new file mode 100644 index 0000000..dff224d --- /dev/null +++ b/test/040_compose/22_F_Finverse.out @@ -0,0 +1 @@ +UF0 UB0 DB0 DF0 UR0 UL0 DL0 DR0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0 diff --git a/test/040_compose/23_F2_F2.in b/test/040_compose/23_F2_F2.in new file mode 100644 index 0000000..5fd1081 --- /dev/null +++ b/test/040_compose/23_F2_F2.in @@ -0,0 +1,2 @@ +DF0 UB0 DB0 UF0 UR0 UL0 DL0 DR0 FL0 FR0 BL0 BR0 DFL0 UBL0 UFR0 DBR0 DFR0 UBR0 UFL0 DBL0 +DF0 UB0 DB0 UF0 UR0 UL0 DL0 DR0 FL0 FR0 BL0 BR0 DFL0 UBL0 UFR0 DBR0 DFR0 UBR0 UFL0 DBL0 diff --git a/test/040_compose/23_F2_F2.out b/test/040_compose/23_F2_F2.out new file mode 100644 index 0000000..dff224d --- /dev/null +++ b/test/040_compose/23_F2_F2.out @@ -0,0 +1 @@ +UF0 UB0 DB0 DF0 UR0 UL0 DL0 DR0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0 diff --git a/test/040_compose/24_U_F.in b/test/040_compose/24_U_F.in new file mode 100644 index 0000000..d353f95 --- /dev/null +++ b/test/040_compose/24_U_F.in @@ -0,0 +1,2 @@ +UR0 UL0 DB0 DF0 UB0 UF0 DL0 DR0 FR0 FL0 BL0 BR0 UBR0 UFL0 DFL0 DBR0 UFR0 UBL0 DFR0 DBL0 +FL1 UB0 DB0 FR1 UR0 UL0 DL0 DR0 UF1 DF1 BL0 BR0 UFL1 UBL0 DFR1 DBR0 DFL2 UBR0 UFR2 DBL0 diff --git a/test/040_compose/24_U_F.out b/test/040_compose/24_U_F.out new file mode 100644 index 0000000..4fda397 --- /dev/null +++ b/test/040_compose/24_U_F.out @@ -0,0 +1 @@ +FL1 UL0 DB0 FR1 UB0 UF0 DL0 DR0 UR1 DF1 BL0 BR0 UFR1 UFL0 DFR1 DBR0 DFL2 UBL0 UBR2 DBL0 diff --git a/test/040_compose/25_F_R.in b/test/040_compose/25_F_R.in new file mode 100644 index 0000000..2cb5455 --- /dev/null +++ b/test/040_compose/25_F_R.in @@ -0,0 +1,2 @@ +FL1 UB0 DB0 FR1 UR0 UL0 DL0 DR0 UF1 DF1 BL0 BR0 UFL1 UBL0 DFR1 DBR0 DFL2 UBR0 UFR2 DBL0 +UF0 UB0 DB0 DF0 FR0 UL0 DL0 BR0 DR0 FL0 BL0 UR0 DFR2 UBL0 DFL0 UBR2 UFL0 UFR1 DBR1 DBL0 diff --git a/test/040_compose/25_F_R.out b/test/040_compose/25_F_R.out new file mode 100644 index 0000000..2119f37 --- /dev/null +++ b/test/040_compose/25_F_R.out @@ -0,0 +1 @@ +FL1 UB0 DB0 FR1 UF1 UL0 DL0 BR0 DR0 DF1 BL0 UR0 UFR1 UBL0 DFR1 UBR2 DFL2 UFL2 DBR1 DBL0 diff --git a/test/040_compose/30_scrambled_inverse.in b/test/040_compose/30_scrambled_inverse.in new file mode 100644 index 0000000..abf72e2 --- /dev/null +++ b/test/040_compose/30_scrambled_inverse.in @@ -0,0 +1,4 @@ +UL0 BL0 BR1 DL0 FR0 DF0 DB1 DR1 UB0 FL0 UF0 UR1 DFL0 UFR1 DBR1 UBR2 DBL2 DFR0 UFL1 UBL2 +BL0 FR0 DL1 UL0 BR1 UF0 DF0 DR1 UR0 FL0 UB0 DB1 UBL2 DBL1 UFR0 DFL2 DFR2 DBR1 UBR0 UFL1 + +// Scramble: U R D' L D' F L2 D L F B D2 B' L2 F U2 L2 D2 R2 L2 B' diff --git a/test/040_compose/30_scrambled_inverse.out b/test/040_compose/30_scrambled_inverse.out new file mode 100644 index 0000000..dff224d --- /dev/null +++ b/test/040_compose/30_scrambled_inverse.out @@ -0,0 +1 @@ +UF0 UB0 DB0 DF0 UR0 UL0 DL0 DR0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0 diff --git a/test/040_compose/31_scrambled_scrambled.in b/test/040_compose/31_scrambled_scrambled.in new file mode 100644 index 0000000..7fe874c --- /dev/null +++ b/test/040_compose/31_scrambled_scrambled.in @@ -0,0 +1,4 @@ +UL0 BL0 BR1 DL0 FR0 DF0 DB1 DR1 UB0 FL0 UF0 UR1 DFL0 UFR1 DBR1 UBR2 DBL2 DFR0 UFL1 UBL2 +FL1 BR0 DB0 UR1 UF0 UB0 DL0 FR0 UL1 DF1 BL0 DR0 UBL1 DBR1 UFR2 DFR2 DFL2 UBR2 UFL2 DBL0 +// Scramble: U R D' L D' F L2 D L F B D2 B' L2 F U2 L2 D2 R2 L2 B' +// Followed by R' U' F diff --git a/test/040_compose/31_scrambled_scrambled.out b/test/040_compose/31_scrambled_scrambled.out new file mode 100644 index 0000000..353fb49 --- /dev/null +++ b/test/040_compose/31_scrambled_scrambled.out @@ -0,0 +1 @@ +FL1 UR1 BR1 FR1 UL0 BL0 DB1 UB0 DF1 DL1 UF0 DR1 UFR2 UBR0 DFL2 UFL0 DBR0 DFR2 DBL1 UBL2 diff --git a/test/040_compose/compose_tests.c b/test/040_compose/compose_tests.c new file mode 100644 index 0000000..a4a5f00 --- /dev/null +++ b/test/040_compose/compose_tests.c @@ -0,0 +1,30 @@ +#include +#include +#include + +#include "../../src/cube.h" + +#define STRLENMAX 10000 + +int main() { + char str[STRLENMAX]; + cube_t c1, c2, c3; + + fgets(str, STRLENMAX, stdin); + c1 = readcube(H48, str); + fgets(str, STRLENMAX, stdin); + c2 = readcube(H48, str); + + c3 = compose(c1, c2); + + if (iserror(c3)) { + printf("Error composing cubes\n"); + } else if (!issolvable(c3)) { + printf("Composed cube is not solvable\n"); + } else { + writecube(H48, c3, str); + printf("%s\n", str); + } + + return 0; +} -- cgit v1.3