This commit is contained in:
Connor 2018-06-03 13:00:46 -07:00 committed by GitHub
parent f4c682bbea
commit 22e3eceb5d

View file

@ -174,6 +174,14 @@ int validate_entry(const char *entry) {
return decode_data(&code);
}
static void print_code(code_t *code) {
for (int j = 0; j < 9; j++) {
int index = code->code[j];
printf("%c", lut[index][0]);
}
printf("\n");
}
static u64 prng_state = 1;
static u32 prng() {
prng_state = 3935559000370003845 * prng_state + 1;
@ -189,25 +197,19 @@ int bruteforce() { // with a fixed seed, this is useful for testing.
}
if (decode_data(&code)) {
found++;
for (int j = 0; j < 9; j++) {
int index = code.code[j];
printf("%c", lut[index][0]);
}
printf("\n");
print_code(&code);
}
}
return 1;
}
#ifndef TENNIS_NO_MAIN
int main(int argc, char **argv) {
if (argc == 1) {
// self-test with codes known before this program was written.
#define TEST(entry) if (!validate_entry(entry)) return -1
TEST("48HWOR482");
TEST("5G3LTQ5GN");
//TEST("5PURGR5PM");
//TEST("6PJEGRGP5");
//TEST("8GYUHR86F");
TEST("A3W5KQA3C");
TEST("ARM6JQARU");
TEST("E880MPE8K");
@ -234,7 +236,6 @@ int main(int argc, char **argv) {
TEST("WQJEGRWQ5");
TEST("WRWQARWRC");
TEST("YQJEGRYQ5");
//TEST("ZKZLZKNNR");
#undef TEST
return 0;
}
@ -246,6 +247,7 @@ int main(int argc, char **argv) {
for (int i = 1; i < argc; i++) {
const char *arg = argv[i];
if (strlen(arg) == 9) {
//if (validate_entry(arg)) printf("%s\n", arg);
invalid_count += !validate_entry(arg);
} else if (!strcmp(arg, "bruteforce")) {
invalid_count += !bruteforce();
@ -257,11 +259,7 @@ int main(int argc, char **argv) {
if (code_i >= 7) {
code_i = 0;
if (encode_data(&code)) {
for (int j = 0; j < 9; j++) {
int index = code.code[j];
printf("%c", lut[index][0]);
}
printf("\n");
print_code(&code);
} else {
invalid_count++;
}
@ -270,3 +268,4 @@ int main(int argc, char **argv) {
}
return invalid_count;
}
#endif