diff options
Diffstat (limited to 'src/solvers/coord')
| -rw-r--r-- | src/solvers/coord/gendata.h | 32 | ||||
| -rw-r--r-- | src/solvers/coord/utils.h | 3 |
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 @@ | |||
| 1 | STATIC size_t gendata_coord(const coord_t *, void *); | 1 | STATIC size_t gendata_coord(const coord_t [static 1], void *); |
| 2 | STATIC int64_t gendata_coord_dispatch(const char *, void *); | 2 | STATIC int64_t gendata_coord_dispatch(const char *, void *); |
| 3 | STATIC tableinfo_t genptable_coord(const coord_t *, const void *, uint8_t *); | 3 | STATIC tableinfo_t genptable_coord( |
| 4 | const coord_t [static 1], const void *, uint8_t *); | ||
| 4 | STATIC void getdistribution_coord( | 5 | STATIC 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]); |
| 6 | STATIC uint8_t get_coord_pval(const coord_t *, const uint8_t *, uint64_t); | 7 | STATIC uint8_t get_coord_pval( |
| 7 | STATIC void set_coord_pval(const coord_t *, uint8_t *, uint64_t, uint8_t); | 8 | const coord_t [static 1], const uint8_t *, uint64_t); |
| 9 | STATIC void set_coord_pval( | ||
| 10 | const coord_t [static 1], uint8_t *, uint64_t, uint8_t); | ||
| 8 | 11 | ||
| 9 | STATIC int64_t | 12 | STATIC int64_t |
| 10 | gendata_coord_dispatch(const char *coordstr, void *buf) | 13 | gendata_coord_dispatch(const char *coordstr, void *buf) |
| @@ -22,7 +25,7 @@ gendata_coord_dispatch(const char *coordstr, void *buf) | |||
| 22 | } | 25 | } |
| 23 | 26 | ||
| 24 | STATIC size_t | 27 | STATIC size_t |
| 25 | gendata_coord(const coord_t *coord, void *buf) | 28 | gendata_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 | ||
| 74 | STATIC tableinfo_t | 77 | STATIC tableinfo_t |
| 75 | genptable_coord(const coord_t *coord, const void *data, uint8_t *table) | 78 | genptable_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 | ||
| 149 | STATIC uint8_t | 156 | STATIC uint8_t |
| 150 | get_coord_pval(const coord_t *coord, const uint8_t *table, uint64_t i) | 157 | get_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 | ||
| 155 | STATIC void | 166 | STATIC void |
| 156 | set_coord_pval(const coord_t *coord, uint8_t *table, uint64_t i, uint8_t val) | 167 | set_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 @@ | |||
| 1 | STATIC coord_t *parse_coord(size_t n, const char [n]); | 1 | STATIC coord_t *parse_coord(size_t n, const char [n]); |
| 2 | STATIC uint8_t parse_axis(size_t n, const char [n]); | 2 | STATIC uint8_t parse_axis(size_t n, const char [n]); |
| 3 | STATIC void parse_coord_and_axis(size_t n, const char [n], coord_t **, uint8_t *); | 3 | STATIC void parse_coord_and_axis( |
| 4 | size_t n, const char [n], coord_t **, uint8_t *); | ||
| 4 | STATIC int64_t dataid_coord(const char *, char [static NISSY_DATAID_SIZE]); | 5 | STATIC int64_t dataid_coord(const char *, char [static NISSY_DATAID_SIZE]); |
| 5 | 6 | ||
| 6 | STATIC coord_t * | 7 | STATIC coord_t * |
