diff options
| author | Sebastiano Tronto <sebastiano@tronto.net> | 2025-03-14 16:18:29 +0100 |
|---|---|---|
| committer | Sebastiano Tronto <sebastiano@tronto.net> | 2025-03-14 16:18:29 +0100 |
| commit | 1e1fd628207034b0412c50e289f146d34c5baf71 (patch) | |
| tree | f21715cf39ef5fcc0a9197b214702fb7d16a1c58 /tools/tool.h | |
| parent | bfb7b1ab9d2c85a256c42c006060ffe7c2652638 (diff) | |
| download | nissy-core-1e1fd628207034b0412c50e289f146d34c5baf71.tar.gz nissy-core-1e1fd628207034b0412c50e289f146d34c5baf71.zip | |
Replaced datasize with solverinfo
Diffstat (limited to 'tools/tool.h')
| -rw-r--r-- | tools/tool.h | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/tools/tool.h b/tools/tool.h index 3488f34..b65f33a 100644 --- a/tools/tool.h +++ b/tools/tool.h | |||
| @@ -13,7 +13,8 @@ static void log_stderr(const char *, ...); | |||
| 13 | static void log_stdout(const char *, ...); | 13 | static void log_stdout(const char *, ...); |
| 14 | static double timerun(void (*)(void)); | 14 | static double timerun(void (*)(void)); |
| 15 | static void writetable(const char *, int64_t, const char *); | 15 | static void writetable(const char *, int64_t, const char *); |
| 16 | static long long int generatetable(const char *, char **); | 16 | static long long int generatetable(const char *, char **, |
| 17 | char [static NISSY_DATAID_SIZE]); | ||
| 17 | static long long int derivetable( | 18 | static long long int derivetable( |
| 18 | const char *, const char *, const char *, char **); | 19 | const char *, const char *, const char *, char **); |
| 19 | static int getdata(const char *, char **, const char *); | 20 | static int getdata(const char *, char **, const char *); |
| @@ -86,11 +87,15 @@ writetable(const char *buf, int64_t size, const char *filename) | |||
| 86 | } | 87 | } |
| 87 | 88 | ||
| 88 | static long long int | 89 | static long long int |
| 89 | generatetable(const char *solver, char **buf) | 90 | generatetable( |
| 91 | const char *solver, | ||
| 92 | char **buf, | ||
| 93 | char dataid[static NISSY_DATAID_SIZE] | ||
| 94 | ) | ||
| 90 | { | 95 | { |
| 91 | long long int size, gensize; | 96 | long long int size, gensize; |
| 92 | 97 | ||
| 93 | size = nissy_datasize(solver); | 98 | size = nissy_solverinfo(solver, dataid); |
| 94 | if (size < 0) { | 99 | if (size < 0) { |
| 95 | printf("Error getting table size.\n"); | 100 | printf("Error getting table size.\n"); |
| 96 | return -1; | 101 | return -1; |
| @@ -120,7 +125,7 @@ derivetable( | |||
| 120 | { | 125 | { |
| 121 | uint8_t h, k; | 126 | uint8_t h, k; |
| 122 | long long int size, gensize; | 127 | long long int size, gensize; |
| 123 | char *fulltable; | 128 | char *fulltable, dataid[NISSY_DATAID_SIZE]; |
| 124 | 129 | ||
| 125 | if (getdata(solver_large, &fulltable, filename_large) != 0) { | 130 | if (getdata(solver_large, &fulltable, filename_large) != 0) { |
| 126 | printf("Error reading full table.\n"); | 131 | printf("Error reading full table.\n"); |
| @@ -128,7 +133,7 @@ derivetable( | |||
| 128 | goto derivetable_error_nofree; | 133 | goto derivetable_error_nofree; |
| 129 | } | 134 | } |
| 130 | 135 | ||
| 131 | size = nissy_datasize(solver_small); | 136 | size = nissy_solverinfo(solver_small, dataid); |
| 132 | if (size == -1) { | 137 | if (size == -1) { |
| 133 | printf("Error getting table size.\n"); | 138 | printf("Error getting table size.\n"); |
| 134 | gensize = -2; | 139 | gensize = -2; |
| @@ -164,10 +169,11 @@ getdata( | |||
| 164 | ) { | 169 | ) { |
| 165 | long long int size, sizeread; | 170 | long long int size, sizeread; |
| 166 | FILE *f; | 171 | FILE *f; |
| 172 | char dataid[NISSY_DATAID_SIZE]; | ||
| 167 | 173 | ||
| 168 | if ((f = fopen(filename, "rb")) == NULL) { | 174 | if ((f = fopen(filename, "rb")) == NULL) { |
| 169 | printf("Table file not found, generating it.\n"); | 175 | printf("Table file not found, generating it.\n"); |
| 170 | size = generatetable(solver, buf); | 176 | size = generatetable(solver, buf, dataid); |
| 171 | switch (size) { | 177 | switch (size) { |
| 172 | case -1: | 178 | case -1: |
| 173 | goto getdata_error_nofree; | 179 | goto getdata_error_nofree; |
| @@ -179,7 +185,7 @@ getdata( | |||
| 179 | } | 185 | } |
| 180 | } else { | 186 | } else { |
| 181 | printf("Reading tables from file %s\n", filename); | 187 | printf("Reading tables from file %s\n", filename); |
| 182 | size = nissy_datasize(solver); | 188 | size = nissy_solverinfo(solver, dataid); |
| 183 | *buf = malloc(size); | 189 | *buf = malloc(size); |
| 184 | sizeread = fread(*buf, size, 1, f); | 190 | sizeread = fread(*buf, size, 1, f); |
| 185 | fclose(f); | 191 | fclose(f); |
| @@ -203,10 +209,10 @@ gendata_run( | |||
| 203 | uint64_t expected[static 21] | 209 | uint64_t expected[static 21] |
| 204 | ) { | 210 | ) { |
| 205 | long long int size; | 211 | long long int size; |
| 206 | char *buf, filename[1024]; | 212 | char *buf, filename[1024], dataid[NISSY_DATAID_SIZE]; |
| 207 | 213 | ||
| 208 | sprintf(filename, "tables/%s", solver); | 214 | size = generatetable(solver, &buf, dataid); |
| 209 | size = generatetable(solver, &buf); | 215 | sprintf(filename, "tables/%s", dataid); |
| 210 | switch (size) { | 216 | switch (size) { |
| 211 | case -1: | 217 | case -1: |
| 212 | return; | 218 | return; |
