aboutsummaryrefslogtreecommitdiff
path: root/src/solve_h48.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/solve_h48.h')
-rw-r--r--src/solve_h48.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/solve_h48.h b/src/solve_h48.h
index 4bf9f78..bfcf585 100644
--- a/src/solve_h48.h
+++ b/src/solve_h48.h
@@ -79,6 +79,7 @@ _static void h48set_destroy(h48set_t *);
79_static_inline int64_t h48set_lookup(h48set_t *, int64_t); 79_static_inline int64_t h48set_lookup(h48set_t *, int64_t);
80_static_inline void h48set_insert(h48set_t *, int64_t); 80_static_inline void h48set_insert(h48set_t *, int64_t);
81_static_inline bool h48set_contains(h48set_t *, int64_t); 81_static_inline bool h48set_contains(h48set_t *, int64_t);
82_static inline int64_t h48set_save(h48set_t *, int64_t *);
82 83
83_static_inline int64_t coord_h48(cube_t, const uint32_t *, uint8_t); 84_static_inline int64_t coord_h48(cube_t, const uint32_t *, uint8_t);
84_static_inline int64_t coord_h48_edges(cube_t, int64_t, uint8_t, uint8_t); 85_static_inline int64_t coord_h48_edges(cube_t, int64_t, uint8_t, uint8_t);
@@ -167,6 +168,18 @@ h48set_contains(h48set_t *set, int64_t x)
167 return i == -1; 168 return i == -1;
168} 169}
169 170
171_static int64_t
172h48set_save(h48set_t *set, int64_t *a)
173{
174 int64_t i, j;
175
176 for (i = 0, j = 0; i < set->capacity; i++)
177 if (set->table[i] != -1)
178 a[j++] = set->table[i];
179
180 return j;
181}
182
170_static_inline int64_t 183_static_inline int64_t
171coord_h48(cube_t c, const uint32_t *cocsepdata, uint8_t h) 184coord_h48(cube_t c, const uint32_t *cocsepdata, uint8_t h)
172{ 185{

Generated with cgit - Back to sebastiano.tronto.net