aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cube_avx2.h8
-rw-r--r--src/cube_portable.h8
-rw-r--r--src/solve_h48.h13
3 files changed, 19 insertions, 10 deletions
diff --git a/src/cube_avx2.h b/src/cube_avx2.h
index 8d1c940..30b0c0f 100644
--- a/src/cube_avx2.h
+++ b/src/cube_avx2.h
@@ -28,6 +28,7 @@ _static_inline int64_t coord_fast_esep(cube_fast_t);
28_static_inline void copy_corners_fast(cube_fast_t *, cube_fast_t); 28_static_inline void copy_corners_fast(cube_fast_t *, cube_fast_t);
29_static_inline void copy_edges_fast(cube_fast_t *, cube_fast_t); 29_static_inline void copy_edges_fast(cube_fast_t *, cube_fast_t);
30_static_inline void set_eo_fast(cube_fast_t *, int64_t); 30_static_inline void set_eo_fast(cube_fast_t *, int64_t);
31_static_inline cube_fast_t invcoord_fast_esep(int64_t);
31 32
32_static_inline cube_fast_t 33_static_inline cube_fast_t
33fastcube( 34fastcube(
@@ -268,3 +269,10 @@ set_eo_fast(cube_fast_t *cube, int64_t eo)
268 *cube = _mm256_andnot_si256(_eo_avx2, *cube); 269 *cube = _mm256_andnot_si256(_eo_avx2, *cube);
269 *cube = _mm256_or_si256(*cube, veo); 270 *cube = _mm256_or_si256(*cube, veo);
270} 271}
272
273_static_inline cube_fast_t
274invcoord_fast_esep(int64_t esep)
275{
276 /* TODO */
277 return cubetofast(zero);
278}
diff --git a/src/cube_portable.h b/src/cube_portable.h
index 125c300..24c39e8 100644
--- a/src/cube_portable.h
+++ b/src/cube_portable.h
@@ -22,6 +22,7 @@ _static_inline int64_t coord_fast_esep(cube_fast_t);
22_static_inline void copy_corners_fast(cube_fast_t *, cube_fast_t); 22_static_inline void copy_corners_fast(cube_fast_t *, cube_fast_t);
23_static_inline void copy_edges_fast(cube_fast_t *, cube_fast_t); 23_static_inline void copy_edges_fast(cube_fast_t *, cube_fast_t);
24_static_inline void set_eo_fast(cube_fast_t *, int64_t); 24_static_inline void set_eo_fast(cube_fast_t *, int64_t);
25_static_inline cube_fast_t invcoord_fast_esep(int64_t);
25 26
26_static_inline cube_fast_t 27_static_inline cube_fast_t
27fastcube( 28fastcube(
@@ -251,3 +252,10 @@ set_eo_fast(cube_fast_t *cube, int64_t eo)
251 } 252 }
252 cube->edge[0] = (cube->edge[0] & ~_eobit) | (_eobit * (sum%2)); 253 cube->edge[0] = (cube->edge[0] & ~_eobit) | (_eobit * (sum%2));
253} 254}
255
256_static_inline cube_fast_t
257invcoord_fast_esep(int64_t esep)
258{
259 /* TODO */
260 return cubetofast(zero);
261}
diff --git a/src/solve_h48.h b/src/solve_h48.h
index 2fe1d69..d4a018b 100644
--- a/src/solve_h48.h
+++ b/src/solve_h48.h
@@ -39,8 +39,7 @@ typedef struct {
39} dfsarg_esep_t; 39} dfsarg_esep_t;
40 40
41_static_inline int64_t coord_h48(cube_fast_t, const uint32_t *, uint8_t); 41_static_inline int64_t coord_h48(cube_fast_t, const uint32_t *, uint8_t);
42_static_inline cube_fast_t invcoord_h48(int64_t, const uint32_t *, 42_static_inline cube_fast_t invcoord_h48(int64_t, const cube_fast_t *, uint8_t);
43 const cube_fast_t *, const cube_fast_t *, uint8_t);
44 43
45_static size_t gendata_cocsep(void *, uint64_t *, cube_fast_t *); 44_static size_t gendata_cocsep(void *, uint64_t *, cube_fast_t *);
46_static uint32_t gendata_cocsep_dfs(dfsarg_cocsep_t *); 45_static uint32_t gendata_cocsep_dfs(dfsarg_cocsep_t *);
@@ -77,13 +76,7 @@ coord_h48(cube_fast_t c, const uint32_t *cocsepdata, uint8_t h)
77} 76}
78 77
79_static_inline cube_fast_t 78_static_inline cube_fast_t
80invcoord_h48( 79invcoord_h48(int64_t i, const cube_fast_t *crep, uint8_t h)
81 int64_t i,
82 const uint32_t *cocsepdata,
83 const cube_fast_t *crep,
84 const cube_fast_t *erep,
85 uint8_t h
86)
87{ 80{
88 cube_fast_t ret; 81 cube_fast_t ret;
89 int64_t coclass, ee, esep, eo; 82 int64_t coclass, ee, esep, eo;
@@ -96,8 +89,8 @@ invcoord_h48(
96 esep = ee >> h; 89 esep = ee >> h;
97 eo = (ee & ((1<<h)-1)) << (11-h); 90 eo = (ee & ((1<<h)-1)) << (11-h);
98 91
92 ret = invcoord_fast_esep(esep);
99 copy_corners_fast(&ret, crep[coclass]); 93 copy_corners_fast(&ret, crep[coclass]);
100 copy_edges_fast(&ret, erep[esep]);
101 set_eo_fast(&ret, eo); 94 set_eo_fast(&ret, eo);
102 95
103 return ret; 96 return ret;

Generated with cgit - Back to sebastiano.tronto.net