diff options
| author | Sebastiano Tronto <sebastiano@tronto.net> | 2024-09-10 15:39:49 +0200 |
|---|---|---|
| committer | Sebastiano Tronto <sebastiano@tronto.net> | 2024-09-10 15:39:49 +0200 |
| commit | 1f4900a3cc6ca74f94b73e224d14a09d52c4549c (patch) | |
| tree | 955773f6467db3d3f62a4d453ec0a9853c8fccaa /src/solvers/tables.h | |
| parent | 3c8f8c2e60cd089679cf5da5160baaf35977b220 (diff) | |
| download | nissy-core-1f4900a3cc6ca74f94b73e224d14a09d52c4549c.tar.gz nissy-core-1f4900a3cc6ca74f94b73e224d14a09d52c4549c.zip | |
Added tabletype to tableinfo
Diffstat (limited to 'src/solvers/tables.h')
| -rw-r--r-- | src/solvers/tables.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/solvers/tables.h b/src/solvers/tables.h index 9598a09..29d0641 100644 --- a/src/solvers/tables.h +++ b/src/solvers/tables.h | |||
| @@ -2,7 +2,8 @@ | |||
| 2 | #define INFOSIZE 512 | 2 | #define INFOSIZE 512 |
| 3 | #define INFO_OFFSET_SOLVER 0 | 3 | #define INFO_OFFSET_SOLVER 0 |
| 4 | #define INFO_SOLVER_STRLEN 20 | 4 | #define INFO_SOLVER_STRLEN 20 |
| 5 | #define INFO_OFFSET_INFOSIZE INFO_SOLVER_STRLEN | 5 | #define INFO_OFFSET_TYPE INFO_SOLVER_STRLEN |
| 6 | #define INFO_OFFSET_INFOSIZE (INFO_OFFSET_TYPE + sizeof(uint64_t)) | ||
| 6 | #define INFO_OFFSET_FULLSIZE (INFO_OFFSET_INFOSIZE + sizeof(uint64_t)) | 7 | #define INFO_OFFSET_FULLSIZE (INFO_OFFSET_INFOSIZE + sizeof(uint64_t)) |
| 7 | #define INFO_OFFSET_HASH (INFO_OFFSET_FULLSIZE + sizeof(uint64_t)) | 8 | #define INFO_OFFSET_HASH (INFO_OFFSET_FULLSIZE + sizeof(uint64_t)) |
| 8 | #define INFO_OFFSET_ENTRIES (INFO_OFFSET_HASH + sizeof(uint64_t)) | 9 | #define INFO_OFFSET_ENTRIES (INFO_OFFSET_HASH + sizeof(uint64_t)) |
| @@ -13,8 +14,12 @@ | |||
| 13 | #define INFO_OFFSET_DISTRIBUTION (INFO_OFFSET_NEXT + sizeof(uint64_t)) | 14 | #define INFO_OFFSET_DISTRIBUTION (INFO_OFFSET_NEXT + sizeof(uint64_t)) |
| 14 | #define INFO_DISTRIBUTION_LEN 21 | 15 | #define INFO_DISTRIBUTION_LEN 21 |
| 15 | 16 | ||
| 17 | const uint64_t TABLETYPE_PRUNING = 0; | ||
| 18 | const uint64_t TABLETYPE_SPECIAL = 1; | ||
| 19 | |||
| 16 | typedef struct { | 20 | typedef struct { |
| 17 | char solver[INFO_SOLVER_STRLEN]; | 21 | char solver[INFO_SOLVER_STRLEN]; |
| 22 | uint64_t type; | ||
| 18 | uint64_t infosize; | 23 | uint64_t infosize; |
| 19 | uint64_t fullsize; | 24 | uint64_t fullsize; |
| 20 | uint64_t hash; | 25 | uint64_t hash; |
| @@ -44,6 +49,7 @@ readtableinfo(const void *buf, tableinfo_t *info) | |||
| 44 | 49 | ||
| 45 | memcpy(info->solver, OFFSET(buf, INFO_OFFSET_SOLVER), | 50 | memcpy(info->solver, OFFSET(buf, INFO_OFFSET_SOLVER), |
| 46 | INFO_SOLVER_STRLEN); | 51 | INFO_SOLVER_STRLEN); |
| 52 | info->type = *(const uint64_t *)OFFSET(buf, INFO_OFFSET_TYPE); | ||
| 47 | info->infosize = *(const uint64_t *)OFFSET(buf, INFO_OFFSET_INFOSIZE); | 53 | info->infosize = *(const uint64_t *)OFFSET(buf, INFO_OFFSET_INFOSIZE); |
| 48 | info->fullsize = *(const uint64_t *)OFFSET(buf, INFO_OFFSET_FULLSIZE); | 54 | info->fullsize = *(const uint64_t *)OFFSET(buf, INFO_OFFSET_FULLSIZE); |
| 49 | info->hash = *(const uint64_t *)OFFSET(buf, INFO_OFFSET_HASH); | 55 | info->hash = *(const uint64_t *)OFFSET(buf, INFO_OFFSET_HASH); |
| @@ -81,6 +87,7 @@ writetableinfo(const tableinfo_t *info, void *buf) | |||
| 81 | if (*OFFSET(buf, i) == 0) | 87 | if (*OFFSET(buf, i) == 0) |
| 82 | *OFFSET(buf, i) = 0; | 88 | *OFFSET(buf, i) = 0; |
| 83 | 89 | ||
| 90 | *(uint64_t *)OFFSET(buf, INFO_OFFSET_TYPE) = info->type; | ||
| 84 | *(uint64_t *)OFFSET(buf, INFO_OFFSET_INFOSIZE) = info->infosize; | 91 | *(uint64_t *)OFFSET(buf, INFO_OFFSET_INFOSIZE) = info->infosize; |
| 85 | *(uint64_t *)OFFSET(buf, INFO_OFFSET_FULLSIZE) = info->fullsize; | 92 | *(uint64_t *)OFFSET(buf, INFO_OFFSET_FULLSIZE) = info->fullsize; |
| 86 | *(uint64_t *)OFFSET(buf, INFO_OFFSET_HASH) = info->hash; | 93 | *(uint64_t *)OFFSET(buf, INFO_OFFSET_HASH) = info->hash; |
