From 1d1b28c294143f7a918db7a646b5564674616e44 Mon Sep 17 00:00:00 2001 From: tslil Date: Fri, 7 May 2021 22:19:31 -0400 Subject: quick hach --- src/pptdb.c | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) (limited to 'src/pptdb.c') diff --git a/src/pptdb.c b/src/pptdb.c index 79f60c5..f3d19bf 100644 --- a/src/pptdb.c +++ b/src/pptdb.c @@ -23,6 +23,9 @@ #include #include +#include + +#include int generate; uint64_t heights[16]; @@ -74,15 +77,22 @@ write_input(const int dx, const int dy, const uint8_t swap) { // Warning: performs _no_ checks on input whatsoever static enum ACT_RESULT -parse_line(const char *pt, const ssize_t read) { +parse_line(const char *pt, const ssize_t read, float *out_avg_actions) { ssize_t idx; enum ACT_RESULT r; int total_plies = 0; + float avg_actions = 0; + action_list_t *actions; + for (idx=0;idxlength); + action_list_free(actions); + if (pt[idx] == 'P') { // P [A-F][1-6] [CF]?, idx+=2; @@ -142,9 +152,12 @@ parse_line(const char *pt, const ssize_t read) { } // Parse next action while (idx=read) return ACT_OK; + if (idx>=read) goto count_this; next_ply(); } + count_this: + avg_actions /= (float) total_plies; + *out_avg_actions = avg_actions; return ACT_OK; } @@ -172,6 +185,11 @@ int main(int argc, char **argv) { const uint8_t size = argv[1][0]-'0'; +#define LAZY_MAX_GAMES 1000000 + float avg_actions[LAZY_MAX_GAMES]; + for (uint32_t k=0; k