From c5c5017a335208881e27fc8f72c1d0145a04622a Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Sun, 9 Jun 2024 12:43:49 +0200 Subject: Remvoed cube_fast_t and more. More cleaning up to do. --- test/001_pieces/pieces_tests.c | 11 +++++----- test/002_cube_conversion/00_solved.in | 1 - test/002_cube_conversion/00_solved.out | 1 - test/002_cube_conversion/01_scrambled.in | 1 - test/002_cube_conversion/01_scrambled.out | 1 - test/002_cube_conversion/cube_conversion_tests.c | 25 ---------------------- test/071_coord_eo/coord_eo_tests.c | 6 ++---- test/072_coord_co/coord_co_tests.c | 6 ++---- test/073_coord_csep/coord_csep_tests.c | 6 ++---- test/074_coord_esep/coord_esep_tests.c | 6 ++---- test/075_set_eo/set_eo_tests.c | 16 +++++++------- test/076_copy_corners/copy_corners_tests.c | 8 ++----- test/077_copy_edges/copy_edges_tests.c | 8 ++----- test/078_invcoord_esep/invcoord_esep_tests.c | 12 +++++------ test/100_gendata_cocsep/gendata_cocsep_tests.c | 4 ++-- test/101_cocsep_selfsim/cocsep_selfsim_tests.c | 10 ++++----- .../coord_invcoord_h48_tests.c | 18 +++++++--------- test/test.h | 12 ++++------- 18 files changed, 49 insertions(+), 103 deletions(-) delete mode 100644 test/002_cube_conversion/00_solved.in delete mode 100644 test/002_cube_conversion/00_solved.out delete mode 100644 test/002_cube_conversion/01_scrambled.in delete mode 100644 test/002_cube_conversion/01_scrambled.out delete mode 100644 test/002_cube_conversion/cube_conversion_tests.c (limited to 'test') diff --git a/test/001_pieces/pieces_tests.c b/test/001_pieces/pieces_tests.c index f3d8d4e..1ef2fd0 100644 --- a/test/001_pieces/pieces_tests.c +++ b/test/001_pieces/pieces_tests.c @@ -1,13 +1,12 @@ #include "../test.h" -uint8_t corner(cube_fast_t, int); -uint8_t edge(cube_fast_t, int); +void pieces(cube_t *, uint8_t [static 8], uint8_t [static 12]); int main(void) { int i; + uint8_t corner[8], edge[12]; char str[STRLENMAX], *aux; cube_t cube; - cube_fast_t fast; aux = str; while (fgets(aux, STRLENMAX, stdin) != NULL) @@ -15,13 +14,13 @@ int main(void) { aux++; cube = readcube("H48", str); - fast = cubetofast(cube); + pieces(&cube, corner, edge); for (i = 0; i < 8; i++) - printf("%" PRIu8 " ", corner(fast, i)); + printf("%" PRIu8 " ", corner[i]); printf("\n"); for (i = 0; i < 12; i++) - printf("%" PRIu8 " ", edge(fast, i)); + printf("%" PRIu8 " ", edge[i]); printf("\n"); return 0; diff --git a/test/002_cube_conversion/00_solved.in b/test/002_cube_conversion/00_solved.in deleted file mode 100644 index dff224d..0000000 --- a/test/002_cube_conversion/00_solved.in +++ /dev/null @@ -1 +0,0 @@ -UF0 UB0 DB0 DF0 UR0 UL0 DL0 DR0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0 diff --git a/test/002_cube_conversion/00_solved.out b/test/002_cube_conversion/00_solved.out deleted file mode 100644 index dff224d..0000000 --- a/test/002_cube_conversion/00_solved.out +++ /dev/null @@ -1 +0,0 @@ -UF0 UB0 DB0 DF0 UR0 UL0 DL0 DR0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0 diff --git a/test/002_cube_conversion/01_scrambled.in b/test/002_cube_conversion/01_scrambled.in deleted file mode 100644 index 453cc8a..0000000 --- a/test/002_cube_conversion/01_scrambled.in +++ /dev/null @@ -1 +0,0 @@ -BL1 DB0 UL1 DF0 BR1 UF1 DL0 FL1 UB0 DR1 FR1 UR1 UBR2 UBL1 DFR2 DBL2 DBR0 DFL0 UFR0 UFL2 diff --git a/test/002_cube_conversion/01_scrambled.out b/test/002_cube_conversion/01_scrambled.out deleted file mode 100644 index 453cc8a..0000000 --- a/test/002_cube_conversion/01_scrambled.out +++ /dev/null @@ -1 +0,0 @@ -BL1 DB0 UL1 DF0 BR1 UF1 DL0 FL1 UB0 DR1 FR1 UR1 UBR2 UBL1 DFR2 DBL2 DBR0 DFL0 UFR0 UFL2 diff --git a/test/002_cube_conversion/cube_conversion_tests.c b/test/002_cube_conversion/cube_conversion_tests.c deleted file mode 100644 index df03eb6..0000000 --- a/test/002_cube_conversion/cube_conversion_tests.c +++ /dev/null @@ -1,25 +0,0 @@ -#include "../test.h" - -bool equal(cube_t, cube_t); - -int main(void) { - char cubestr[STRLENMAX]; - cube_t cube, cube2; - cube_fast_t fast; - - fgets(cubestr, STRLENMAX, stdin); - cube = readcube("H48", cubestr); - fast = cubetofast(cube); - cube2 = fasttocube(fast); - - if (iserror(cube)) { - printf("Error reading cube\n"); - } else if (iserror(cube2)) { - printf("Error converting cube\n"); - } else { - writecube("H48", cube2, cubestr); - printf("%s\n", cubestr); - } - - return 0; -} diff --git a/test/071_coord_eo/coord_eo_tests.c b/test/071_coord_eo/coord_eo_tests.c index 5eec4fc..3defb8b 100644 --- a/test/071_coord_eo/coord_eo_tests.c +++ b/test/071_coord_eo/coord_eo_tests.c @@ -1,18 +1,16 @@ #include "../test.h" -int64_t coord_fast_eo(cube_fast_t); +int64_t coord_eo(cube_t); int main(void) { char str[STRLENMAX]; cube_t cube; - cube_fast_t fast; int64_t result; fgets(str, STRLENMAX, stdin); cube = readcube("H48", str); - fast = cubetofast(cube); - result = coord_fast_eo(fast); + result = coord_eo(cube); printf("%" PRId64 "\n", result); diff --git a/test/072_coord_co/coord_co_tests.c b/test/072_coord_co/coord_co_tests.c index 8461324..c7af24c 100644 --- a/test/072_coord_co/coord_co_tests.c +++ b/test/072_coord_co/coord_co_tests.c @@ -1,18 +1,16 @@ #include "../test.h" -int64_t coord_fast_co(cube_fast_t); +int64_t coord_co(cube_t); int main(void) { char str[STRLENMAX]; cube_t cube; - cube_fast_t fast; int64_t result; fgets(str, STRLENMAX, stdin); cube = readcube("H48", str); - fast = cubetofast(cube); - result = coord_fast_co(fast); + result = coord_co(cube); printf("%" PRId64 "\n", result); diff --git a/test/073_coord_csep/coord_csep_tests.c b/test/073_coord_csep/coord_csep_tests.c index c4113d3..a6e13c5 100644 --- a/test/073_coord_csep/coord_csep_tests.c +++ b/test/073_coord_csep/coord_csep_tests.c @@ -1,18 +1,16 @@ #include "../test.h" -int64_t coord_fast_csep(cube_fast_t); +int64_t coord_csep(cube_t); int main(void) { char str[STRLENMAX]; cube_t cube; - cube_fast_t fast; int64_t result; fgets(str, STRLENMAX, stdin); cube = readcube("H48", str); - fast = cubetofast(cube); - result = coord_fast_csep(fast); + result = coord_csep(cube); printf("%" PRId64 "\n", result); diff --git a/test/074_coord_esep/coord_esep_tests.c b/test/074_coord_esep/coord_esep_tests.c index fa21d67..0ed3ef3 100644 --- a/test/074_coord_esep/coord_esep_tests.c +++ b/test/074_coord_esep/coord_esep_tests.c @@ -1,18 +1,16 @@ #include "../test.h" -int64_t coord_fast_esep(cube_fast_t); +int64_t coord_esep(cube_t); int main(void) { char str[STRLENMAX]; cube_t cube; - cube_fast_t fast; int64_t result; fgets(str, STRLENMAX, stdin); cube = readcube("H48", str); - fast = cubetofast(cube); - result = coord_fast_esep(fast); + result = coord_esep(cube); printf("%" PRId64 "\n", result); diff --git a/test/075_set_eo/set_eo_tests.c b/test/075_set_eo/set_eo_tests.c index cd4868c..9c01a50 100644 --- a/test/075_set_eo/set_eo_tests.c +++ b/test/075_set_eo/set_eo_tests.c @@ -1,32 +1,32 @@ #include "../test.h" -int64_t coord_fast_eo(cube_fast_t); -void set_eo_fast(cube_fast_t *, int64_t); +int64_t coord_eo(cube_t); +void set_eo(cube_t *, int64_t); +void pieces(cube_t *, uint8_t [static 8], uint8_t [static 12]); int main(void) { char str[STRLENMAX]; cube_t cube; - cube_fast_t fast; + uint8_t edge[12], corner[8]; int64_t eo; fgets(str, STRLENMAX, stdin); cube = readcube("H48", str); - fast = cubetofast(cube); fgets(str, STRLENMAX, stdin); eo = atoi(str); - set_eo_fast(&fast, eo); + set_eo(&cube, eo); - cube = fasttocube(fast); if (iserror(cube)) { printf("Error setting EO\n"); } else if (!isconsistent(cube)) { + pieces(&cube, corner, edge); fprintf(stderr, "edges: "); for (int i = 0; i < 12; i++) - fprintf(stderr, "%d ", cube.edge[i]); + fprintf(stderr, "%d ", edge[i]); fprintf(stderr, "\n"); for (int i = 0; i < 8; i++) - fprintf(stderr, "%d ", cube.corner[i]); + fprintf(stderr, "%d ", corner[i]); fprintf(stderr, "\n"); printf("Setting EO resulted in inconsistent cube\n"); } else { diff --git a/test/076_copy_corners/copy_corners_tests.c b/test/076_copy_corners/copy_corners_tests.c index fe59089..446a849 100644 --- a/test/076_copy_corners/copy_corners_tests.c +++ b/test/076_copy_corners/copy_corners_tests.c @@ -1,23 +1,19 @@ #include "../test.h" -void copy_corners_fast(cube_fast_t *, cube_fast_t); +void copy_corners(cube_t *, cube_t); int main(void) { char str[STRLENMAX]; cube_t c1, c2; - cube_fast_t f1, f2; fgets(str, STRLENMAX, stdin); c1 = readcube("H48", str); - f1 = cubetofast(c1); fgets(str, STRLENMAX, stdin); c2 = readcube("H48", str); - f2 = cubetofast(c2); - copy_corners_fast(&f1, f2); + copy_corners(&c1, c2); - c1 = fasttocube(f1); if (iserror(c1)) { printf("Error setting EO\n"); } else if (!isconsistent(c1)) { diff --git a/test/077_copy_edges/copy_edges_tests.c b/test/077_copy_edges/copy_edges_tests.c index b428f89..9afcb73 100644 --- a/test/077_copy_edges/copy_edges_tests.c +++ b/test/077_copy_edges/copy_edges_tests.c @@ -1,23 +1,19 @@ #include "../test.h" -void copy_edges_fast(cube_fast_t *, cube_fast_t); +void copy_edges(cube_t *, cube_t); int main(void) { char str[STRLENMAX]; cube_t c1, c2; - cube_fast_t f1, f2; fgets(str, STRLENMAX, stdin); c1 = readcube("H48", str); - f1 = cubetofast(c1); fgets(str, STRLENMAX, stdin); c2 = readcube("H48", str); - f2 = cubetofast(c2); - copy_edges_fast(&f1, f2); + copy_edges(&c1, c2); - c1 = fasttocube(f1); if (iserror(c1)) { printf("Error setting EO\n"); } else if (!isconsistent(c1)) { diff --git a/test/078_invcoord_esep/invcoord_esep_tests.c b/test/078_invcoord_esep/invcoord_esep_tests.c index 17ea2ff..0b83175 100644 --- a/test/078_invcoord_esep/invcoord_esep_tests.c +++ b/test/078_invcoord_esep/invcoord_esep_tests.c @@ -1,21 +1,19 @@ #include "../test.h" -int64_t coord_fast_esep(cube_fast_t); -cube_fast_t invcoord_fast_esep(int64_t); +int64_t coord_esep(cube_t); +cube_t invcoord_esep(int64_t); int main(void) { char str[STRLENMAX]; cube_t cube; - cube_fast_t fast; int64_t i; fgets(str, STRLENMAX, stdin); cube = readcube("H48", str); - fast = cubetofast(cube); - i = coord_fast_esep(fast); - fast = invcoord_fast_esep(i); - i = coord_fast_esep(fast); + i = coord_esep(cube); + cube = invcoord_esep(i); + i = coord_esep(cube); printf("%" PRId64 "\n", i); diff --git a/test/100_gendata_cocsep/gendata_cocsep_tests.c b/test/100_gendata_cocsep/gendata_cocsep_tests.c index bba261b..9d8f03c 100644 --- a/test/100_gendata_cocsep/gendata_cocsep_tests.c +++ b/test/100_gendata_cocsep/gendata_cocsep_tests.c @@ -2,12 +2,12 @@ #define COCSEP_CLASSES 3393 -size_t gendata_cocsep(void *, uint64_t *, cube_fast_t *); +size_t gendata_cocsep(void *, uint64_t *, cube_t *); int main(void) { uint32_t buf[300000], i; uint64_t selfsim[COCSEP_CLASSES]; - cube_fast_t rep[COCSEP_CLASSES]; + cube_t rep[COCSEP_CLASSES]; size_t result; result = gendata_cocsep(buf, selfsim, rep); diff --git a/test/101_cocsep_selfsim/cocsep_selfsim_tests.c b/test/101_cocsep_selfsim/cocsep_selfsim_tests.c index 02b5377..195f9ba 100644 --- a/test/101_cocsep_selfsim/cocsep_selfsim_tests.c +++ b/test/101_cocsep_selfsim/cocsep_selfsim_tests.c @@ -9,23 +9,23 @@ #define COCSEP_CLASSES 3393 -size_t gendata_cocsep(void *, uint64_t *, cube_fast_t *); -int64_t coord_fast_cocsep(cube_fast_t); +size_t gendata_cocsep(void *, uint64_t *, cube_t *); +int64_t coord_cocsep(cube_t); int main(void) { char str[STRLENMAX]; uint32_t buf[300000], data; int64_t coord, coclass; uint64_t selfsim[COCSEP_CLASSES], sim, t; - cube_fast_t fast, rep[COCSEP_CLASSES]; + cube_t cube, rep[COCSEP_CLASSES]; gendata_cocsep(buf, selfsim, rep); /* All cases in the same test so we do not generate data many times */ while (fgets(str, STRLENMAX, stdin) != NULL) { - fast = cubetofast(readcube("H48", str)); - coord = coord_fast_cocsep(fast); + cube = readcube("H48", str); + coord = coord_cocsep(cube); data = buf[coord]; coclass = (data & (0xFFFU << 16)) >> 16; sim = selfsim[coclass]; diff --git a/test/102_coord_invcoord_h48/coord_invcoord_h48_tests.c b/test/102_coord_invcoord_h48/coord_invcoord_h48_tests.c index 5022608..b0668df 100644 --- a/test/102_coord_invcoord_h48/coord_invcoord_h48_tests.c +++ b/test/102_coord_invcoord_h48/coord_invcoord_h48_tests.c @@ -2,10 +2,10 @@ #define COCSEP_CLASSES 3393 -size_t gendata_cocsep(void *, uint64_t *, cube_fast_t *); -int64_t coord_h48(cube_fast_t, const uint32_t *, uint8_t); -cube_fast_t invcoord_h48(int64_t, const cube_fast_t *, uint8_t); -cube_fast_t transform(cube_fast_t, uint8_t); +size_t gendata_cocsep(void *, uint64_t *, cube_t *); +int64_t coord_h48(cube_t, const uint32_t *, uint8_t); +cube_t invcoord_h48(int64_t, const cube_t *, uint8_t); +cube_t transform(cube_t, uint8_t); int main(void) { char str[STRLENMAX]; @@ -15,8 +15,7 @@ int main(void) { uint32_t cocsepdata[300000]; uint64_t selfsim[COCSEP_CLASSES]; int64_t c, cc; - cube_t cube; - cube_fast_t fast, invc, rep[COCSEP_CLASSES]; + cube_t cube, invc, rep[COCSEP_CLASSES]; gendata_cocsep(cocsepdata, selfsim, rep); @@ -24,12 +23,11 @@ int main(void) { h = 11; while (fgets(str, STRLENMAX, stdin) != NULL) { cube = readcube("H48", str); - fast = cubetofast(cube); - c = coord_h48(fast, cocsepdata, h); + c = coord_h48(cube, cocsepdata, h); invc = invcoord_h48(c, rep, h); for (t = 0, found = false; t < 48; t++) { - fast = transform(invc, t); - cc = coord_h48(fast, cocsepdata, h); + cube = transform(invc, t); + cc = coord_h48(cube, cocsepdata, h); found = found || cc == c; } printf("%d %s\n", i, found ? "ok" : "ERROR"); diff --git a/test/test.h b/test/test.h index ab40bde..1bbb9fc 100644 --- a/test/test.h +++ b/test/test.h @@ -6,16 +6,14 @@ #define STRLENMAX 10000 +#ifdef CUBE_AVX2 +#include +typedef __m256i cube_t; +#else typedef struct { uint8_t corner[8]; uint8_t edge[12]; } cube_t; - -#ifdef CUBE_AVX2 -#include -typedef __m256i cube_fast_t; -#else -typedef cube_t cube_fast_t; #endif /* Basic functions used in most tests */ @@ -26,5 +24,3 @@ bool issolvable(cube_t); bool issolved(cube_t); cube_t readcube(char *, char *); void writecube(char *, cube_t, char *); -cube_t fasttocube(cube_fast_t); -cube_fast_t cubetofast(cube_t); -- cgit v1.3