aboutsummaryrefslogtreecommitdiff
path: root/test/110_coord_invcoord_h48
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2024-07-14 21:28:37 +0200
committerSebastiano Tronto <sebastiano@tronto.net>2024-07-14 21:28:37 +0200
commit61e03f9f4eecf3d5811b11c44c9ef778f0a93bc7 (patch)
treea7a6edc2e44689ed62472bdece1d9bf6a300419f /test/110_coord_invcoord_h48
parenta016aa7f78c86c59bab3ae4970f8cc339186bc91 (diff)
downloadnissy-core-61e03f9f4eecf3d5811b11c44c9ef778f0a93bc7.tar.gz
nissy-core-61e03f9f4eecf3d5811b11c44c9ef778f0a93bc7.zip
Found a sneaky bug (it's all a mess now)
Diffstat (limited to 'test/110_coord_invcoord_h48')
-rw-r--r--test/110_coord_invcoord_h48/00_all.in8
-rw-r--r--test/110_coord_invcoord_h48/00_all.out8
-rw-r--r--test/110_coord_invcoord_h48/coord_invcoord_h48_tests.c36
3 files changed, 52 insertions, 0 deletions
diff --git a/test/110_coord_invcoord_h48/00_all.in b/test/110_coord_invcoord_h48/00_all.in
new file mode 100644
index 0000000..a2f9540
--- /dev/null
+++ b/test/110_coord_invcoord_h48/00_all.in
@@ -0,0 +1,8 @@
1UB0 DF0 DB0 UF0 UR0 UL0 DL0 DR0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0
2UF0 UB0 DB0 DF0 UR0 UL0 DL0 DR0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0
3UB0 UF0 DB0 DF0 UL0 UR0 DL0 DR0 FR0 FL0 BL0 BR0 UBL0 UFR0 DFL0 DBR0 UBR0 UFL0 DFR0 DBL0
4UL0 BL0 BR1 DL0 FR0 DF0 DB1 DR1 UB0 FL0 UF0 UR1 DFL0 UFR1 DBR1 UBR2 DBL2 DFR0 UFL1 UBL2
5UF0 UB0 DB0 DF0 FR0 UL0 DL0 BR0 DR0 FL0 BL0 UR0 DFR2 UBL0 DFL0 UBR2 UFL0 UFR1 DBR1 DBL0
6FL1 UB0 DB0 FR1 UR0 UL0 DL0 DR0 UF1 DF1 BL0 BR0 UFL1 UBL0 DFR1 DBR0 DFL2 UBR0 UFR2 DBL0
7FR0 BR0 BL0 FL0 UR0 UL0 DL0 DR0 DF0 UF0 UB0 DB0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0
8UR0 UL0 DL0 DR0 UB0 UF0 DF0 DB0 FR0 FL0 BL0 BR0 UFR0 UBL0 DFL0 DBR0 UFL0 UBR0 DFR0 DBL0
diff --git a/test/110_coord_invcoord_h48/00_all.out b/test/110_coord_invcoord_h48/00_all.out
new file mode 100644
index 0000000..e84be4b
--- /dev/null
+++ b/test/110_coord_invcoord_h48/00_all.out
@@ -0,0 +1,8 @@
11 ok
22 ok
33 ok
44 ok
55 ok
66 ok
77 ok
88 ok
diff --git a/test/110_coord_invcoord_h48/coord_invcoord_h48_tests.c b/test/110_coord_invcoord_h48/coord_invcoord_h48_tests.c
new file mode 100644
index 0000000..77dea81
--- /dev/null
+++ b/test/110_coord_invcoord_h48/coord_invcoord_h48_tests.c
@@ -0,0 +1,36 @@
1#include "../test.h"
2
3#define COCSEP_CLASSES 3393
4
5size_t gendata_cocsep(void *, uint64_t *, cube_t *);
6int64_t coord_h48(cube_t, const uint32_t *, uint8_t);
7cube_t invcoord_h48(int64_t, const cube_t *, uint8_t);
8cube_t transform(cube_t, uint8_t);
9
10void run(void) {
11 char str[STRLENMAX];
12 int i;
13 bool found;
14 uint8_t h, t;
15 uint32_t cocsepdata[300000];
16 uint64_t selfsim[COCSEP_CLASSES];
17 int64_t c, cc;
18 cube_t cube, invc, rep[COCSEP_CLASSES];
19
20 gendata_cocsep(cocsepdata, selfsim, rep);
21
22 i = 1;
23 h = 11;
24 while (fgets(str, STRLENMAX, stdin) != NULL) {
25 cube = readcube("H48", str);
26 c = coord_h48(cube, cocsepdata, h);
27 invc = invcoord_h48(c, rep, h);
28 for (t = 0, found = false; t < 48; t++) {
29 cube = transform(invc, t);
30 cc = coord_h48(cube, cocsepdata, h);
31 found = found || cc == c;
32 }
33 printf("%d %s\n", i, found ? "ok" : "ERROR");
34 i++;
35 }
36}

Generated with cgit - Back to sebastiano.tronto.net