From 61e03f9f4eecf3d5811b11c44c9ef778f0a93bc7 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Sun, 14 Jul 2024 21:28:37 +0200 Subject: Found a sneaky bug (it's all a mess now) --- test/101_cocsep_transform_invariant/00_solved.in | 1 + test/101_cocsep_transform_invariant/00_solved.out | 0 test/101_cocsep_transform_invariant/01_U.in | 1 + test/101_cocsep_transform_invariant/01_U.out | 0 .../101_cocsep_transform_invariant/02_scrambled.in | 1 + .../02_scrambled.out | 0 .../cocsep_transform_invariant.c | 33 ++++++++++++++++++++++ 7 files changed, 36 insertions(+) create mode 100644 test/101_cocsep_transform_invariant/00_solved.in create mode 100644 test/101_cocsep_transform_invariant/00_solved.out create mode 100644 test/101_cocsep_transform_invariant/01_U.in create mode 100644 test/101_cocsep_transform_invariant/01_U.out create mode 100644 test/101_cocsep_transform_invariant/02_scrambled.in create mode 100644 test/101_cocsep_transform_invariant/02_scrambled.out create mode 100644 test/101_cocsep_transform_invariant/cocsep_transform_invariant.c (limited to 'test/101_cocsep_transform_invariant') diff --git a/test/101_cocsep_transform_invariant/00_solved.in b/test/101_cocsep_transform_invariant/00_solved.in new file mode 100644 index 0000000..dff224d --- /dev/null +++ b/test/101_cocsep_transform_invariant/00_solved.in @@ -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/101_cocsep_transform_invariant/00_solved.out b/test/101_cocsep_transform_invariant/00_solved.out new file mode 100644 index 0000000..e69de29 diff --git a/test/101_cocsep_transform_invariant/01_U.in b/test/101_cocsep_transform_invariant/01_U.in new file mode 100644 index 0000000..b5b36ad --- /dev/null +++ b/test/101_cocsep_transform_invariant/01_U.in @@ -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/101_cocsep_transform_invariant/01_U.out b/test/101_cocsep_transform_invariant/01_U.out new file mode 100644 index 0000000..e69de29 diff --git a/test/101_cocsep_transform_invariant/02_scrambled.in b/test/101_cocsep_transform_invariant/02_scrambled.in new file mode 100644 index 0000000..f6e1f48 --- /dev/null +++ b/test/101_cocsep_transform_invariant/02_scrambled.in @@ -0,0 +1 @@ +DL1 BR0 DR0 UR1 DF0 FL1 BL0 UL0 FR0 UF0 DB1 UB0 UFR0 DBL1 DBR0 UFL1 DFR1 DFL1 UBL2 UBR0 diff --git a/test/101_cocsep_transform_invariant/02_scrambled.out b/test/101_cocsep_transform_invariant/02_scrambled.out new file mode 100644 index 0000000..e69de29 diff --git a/test/101_cocsep_transform_invariant/cocsep_transform_invariant.c b/test/101_cocsep_transform_invariant/cocsep_transform_invariant.c new file mode 100644 index 0000000..b0286e5 --- /dev/null +++ b/test/101_cocsep_transform_invariant/cocsep_transform_invariant.c @@ -0,0 +1,33 @@ +#include "../test.h" + +#define COCLASS_MASK (UINT32_C(0xFFFF) << UINT32_C(16)) +#define COCLASS(x) (((x) & COCLASS_MASK) >> UINT32_C(16)) + +#define COCSEP_CLASSES 3393 + +size_t gendata_cocsep(void *, uint64_t *, cube_t *); +cube_t transform(cube_t, uint8_t); +int64_t coord_cocsep(cube_t); + +void run(void) { + uint8_t t; + uint32_t buf[300000]; + uint64_t selfsim[COCSEP_CLASSES]; + int64_t coord, tcoord; + char str[STRLENMAX]; + cube_t cube, transd, rep[COCSEP_CLASSES]; + + fgets(str, STRLENMAX, stdin); + cube = readcube("H48", str); + + gendata_cocsep(buf, selfsim, rep); + + coord = (int64_t)COCLASS(buf[coord_cocsep(cube)]); + for (t = 0; t < 48; t++) { + transd = transform(cube, t); + tcoord = (int64_t)COCLASS(buf[coord_cocsep(transd)]); + if (coord != tcoord) + printf("Error: expected %" PRId64 + " but got %" PRId64 "\n", coord, tcoord); + } +} -- cgit v1.3