aboutsummaryrefslogtreecommitdiff
path: root/src/core/cube.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/cube.h')
-rw-r--r--src/core/cube.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/core/cube.h b/src/core/cube.h
index 2252a85..560d113 100644
--- a/src/core/cube.h
+++ b/src/core/cube.h
@@ -1,5 +1,6 @@
1STATIC cube_t solvecube(void); 1STATIC cube_t solvecube(void);
2STATIC cube_t cubefromarray(uint8_t [static 8], uint8_t [static 12]); 2STATIC_INLINE cube_t cubefromarray_ce(uint8_t [static 8], uint8_t [static 12]);
3STATIC_INLINE cube_t cubefromarray_single(uint8_t [static 20]);
3STATIC bool isconsistent(cube_t); 4STATIC bool isconsistent(cube_t);
4STATIC bool issolvable(cube_t); 5STATIC bool issolvable(cube_t);
5STATIC bool issolved(cube_t); 6STATIC bool issolved(cube_t);
@@ -14,15 +15,23 @@ solvedcube(void)
14 return SOLVED_CUBE; 15 return SOLVED_CUBE;
15} 16}
16 17
17STATIC cube_t 18STATIC_INLINE cube_t
18cubefromarray(uint8_t c[static 8], uint8_t e[static 12]) 19cubefromarray_ce(uint8_t c[static 8], uint8_t e[static 12])
19{ 20{
20 return STATIC_CUBE( 21 return cubefrompieces(
21 c[0], c[1], c[2], c[3], c[4], c[5], c[6], c[7], 22 c[0], c[1], c[2], c[3], c[4], c[5], c[6], c[7],
22 e[0], e[1], e[2], e[3], e[4], e[5], e[6], e[7], 23 e[0], e[1], e[2], e[3], e[4], e[5], e[6], e[7],
23 e[8], e[9], e[10], e[11]); 24 e[8], e[9], e[10], e[11]);
24} 25}
25 26
27STATIC_INLINE cube_t
28cubefromarray_single(uint8_t p[static 20])
29{
30 return cubefrompieces(
31 p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7], p[8], p[9], p[10],
32 p[11], p[12], p[13], p[14], p[15], p[16], p[17], p[18], p[19]);
33}
34
26STATIC bool 35STATIC bool
27isconsistent(cube_t cube) 36isconsistent(cube_t cube)
28{ 37{
@@ -178,5 +187,5 @@ getcube(int64_t ep, int64_t eo, int64_t cp, int64_t co)
178 for (i = 0; i < 8; i++) 187 for (i = 0; i < 8; i++)
179 carr[i] |= coarr[i] << COSHIFT; 188 carr[i] |= coarr[i] << COSHIFT;
180 189
181 return cubefromarray(carr, earr); 190 return cubefromarray_ce(carr, earr);
182} 191}

Generated with cgit - Back to sebastiano.tronto.net