aboutsummaryrefslogtreecommitdiff
path: root/src/solvers/coord
diff options
context:
space:
mode:
Diffstat (limited to 'src/solvers/coord')
-rw-r--r--src/solvers/coord/gendata.h32
-rw-r--r--src/solvers/coord/utils.h3
2 files changed, 26 insertions, 9 deletions
diff --git a/src/solvers/coord/gendata.h b/src/solvers/coord/gendata.h
index 5819608..ca058b0 100644
--- a/src/solvers/coord/gendata.h
+++ b/src/solvers/coord/gendata.h
@@ -1,10 +1,13 @@
1STATIC size_t gendata_coord(const coord_t *, void *); 1STATIC size_t gendata_coord(const coord_t [static 1], void *);
2STATIC int64_t gendata_coord_dispatch(const char *, void *); 2STATIC int64_t gendata_coord_dispatch(const char *, void *);
3STATIC tableinfo_t genptable_coord(const coord_t *, const void *, uint8_t *); 3STATIC tableinfo_t genptable_coord(
4 const coord_t [static 1], const void *, uint8_t *);
4STATIC void getdistribution_coord( 5STATIC void getdistribution_coord(
5 const uint8_t *, const char *, uint64_t [static INFO_DISTRIBUTION_LEN]); 6 const uint8_t *, const char *, uint64_t [static INFO_DISTRIBUTION_LEN]);
6STATIC uint8_t get_coord_pval(const coord_t *, const uint8_t *, uint64_t); 7STATIC uint8_t get_coord_pval(
7STATIC void set_coord_pval(const coord_t *, uint8_t *, uint64_t, uint8_t); 8 const coord_t [static 1], const uint8_t *, uint64_t);
9STATIC void set_coord_pval(
10 const coord_t [static 1], uint8_t *, uint64_t, uint8_t);
8 11
9STATIC int64_t 12STATIC int64_t
10gendata_coord_dispatch(const char *coordstr, void *buf) 13gendata_coord_dispatch(const char *coordstr, void *buf)
@@ -22,7 +25,7 @@ gendata_coord_dispatch(const char *coordstr, void *buf)
22} 25}
23 26
24STATIC size_t 27STATIC size_t
25gendata_coord(const coord_t *coord, void *buf) 28gendata_coord(const coord_t coord[static 1], void *buf)
26{ 29{
27 uint64_t coord_dsize, tablesize, ninfo; 30 uint64_t coord_dsize, tablesize, ninfo;
28 void *pruningbuf, *coord_data; 31 void *pruningbuf, *coord_data;
@@ -72,7 +75,11 @@ gendata_coord_return_size:
72} 75}
73 76
74STATIC tableinfo_t 77STATIC tableinfo_t
75genptable_coord(const coord_t *coord, const void *data, uint8_t *table) 78genptable_coord(
79 const coord_t coord[static 1],
80 const void *data,
81 uint8_t *table
82)
76{ 83{
77 uint64_t tablesize, i, j, d, tot; 84 uint64_t tablesize, i, j, d, tot;
78 tableinfo_t info; 85 tableinfo_t info;
@@ -147,13 +154,22 @@ getdistribution_coord(
147} 154}
148 155
149STATIC uint8_t 156STATIC uint8_t
150get_coord_pval(const coord_t *coord, const uint8_t *table, uint64_t i) 157get_coord_pval(
158 const coord_t coord[static 1],
159 const uint8_t *table,
160 uint64_t i
161)
151{ 162{
152 return (table[COORD_INDEX(i)] & COORD_MASK(i)) >> COORD_SHIFT(i); 163 return (table[COORD_INDEX(i)] & COORD_MASK(i)) >> COORD_SHIFT(i);
153} 164}
154 165
155STATIC void 166STATIC void
156set_coord_pval(const coord_t *coord, uint8_t *table, uint64_t i, uint8_t val) 167set_coord_pval(
168 const coord_t coord[static 1],
169 uint8_t *table,
170 uint64_t i,
171 uint8_t val
172)
157{ 173{
158 table[COORD_INDEX(i)] = (table[COORD_INDEX(i)] & (~COORD_MASK(i))) 174 table[COORD_INDEX(i)] = (table[COORD_INDEX(i)] & (~COORD_MASK(i)))
159 | (val << COORD_SHIFT(i)); 175 | (val << COORD_SHIFT(i));
diff --git a/src/solvers/coord/utils.h b/src/solvers/coord/utils.h
index ab4aded..e9d0595 100644
--- a/src/solvers/coord/utils.h
+++ b/src/solvers/coord/utils.h
@@ -1,6 +1,7 @@
1STATIC coord_t *parse_coord(size_t n, const char [n]); 1STATIC coord_t *parse_coord(size_t n, const char [n]);
2STATIC uint8_t parse_axis(size_t n, const char [n]); 2STATIC uint8_t parse_axis(size_t n, const char [n]);
3STATIC void parse_coord_and_axis(size_t n, const char [n], coord_t **, uint8_t *); 3STATIC void parse_coord_and_axis(
4 size_t n, const char [n], coord_t **, uint8_t *);
4STATIC int64_t dataid_coord(const char *, char [static NISSY_DATAID_SIZE]); 5STATIC int64_t dataid_coord(const char *, char [static NISSY_DATAID_SIZE]);
5 6
6STATIC coord_t * 7STATIC coord_t *

Generated with cgit - Back to sebastiano.tronto.net