aboutsummaryrefslogtreecommitdiff
path: root/test/075_set_eo/set_eo_tests.c
blob: 08c8ae8a0a37eb5a8657b6e4ed8e5c4938a892b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include "../test.h"

int64_t coord_fast_eo(cube_fast_t);
void set_eo_fast(cube_fast_t *, int64_t);

int main(void) {
	char str[STRLENMAX];
	cube_t cube;
	cube_fast_t fast;
	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);

	cube = fasttocube(fast);
	if (iserror(cube)) {
		printf("Error setting EO\n");
	} else if (!isconsistent(cube)) {
		fprintf(stderr, "edges: ");
		for (int i = 0; i < 12; i++) fprintf(stderr, "%d ", cube.edge[i]);
		fprintf(stderr, "\n");
		for (int i = 0; i < 8; i++) fprintf(stderr, "%d ", cube.corner[i]);
		fprintf(stderr, "\n");
		printf("Setting EO resulted in inconsistent cube\n");
	} else {
		writecube("H48", cube, str);
		printf("%s\n", str);
	}

	return 0;
}

Generated with cgit - Back to sebastiano.tronto.net