aboutsummaryrefslogtreecommitdiff
path: root/src/pruning.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pruning.c')
-rw-r--r--src/pruning.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/pruning.c b/src/pruning.c
index 1369892..2c6f348 100644
--- a/src/pruning.c
+++ b/src/pruning.c
@@ -95,7 +95,7 @@ pd_khuge_HTM = {
95void 95void
96genptable(PruneData *pd) 96genptable(PruneData *pd)
97{ 97{
98 Move ms[NMOVES]; 98 Move *ms;
99 uint64_t j, oldn; 99 uint64_t j, oldn;
100 DfsData dd; 100 DfsData dd;
101 101
@@ -112,6 +112,7 @@ genptable(PruneData *pd)
112 112
113 fprintf(stderr, "Cannot load %s, generating it\n", pd->filename); 113 fprintf(stderr, "Cannot load %s, generating it\n", pd->filename);
114 114
115 ms = malloc(NMOVES * sizeof(Move));
115 moveset_to_list(pd->moveset, ms); 116 moveset_to_list(pd->moveset, ms);
116 117
117 for (j = 0; j < pd->coord->max; j++) 118 for (j = 0; j < pd->coord->max; j++)
@@ -119,6 +120,7 @@ genptable(PruneData *pd)
119 120
120 dd = (DfsData) { .m = 0 }; 121 dd = (DfsData) { .m = 0 };
121 dd.visited = malloc((ptablesize(pd)/4 + 1) * sizeof(uint8_t)); 122 dd.visited = malloc((ptablesize(pd)/4 + 1) * sizeof(uint8_t));
123 dd.sorted_moves = malloc(NMOVES * sizeof(Move));
122 moveset_to_list(pd->moveset, dd.sorted_moves); 124 moveset_to_list(pd->moveset, dd.sorted_moves);
123 oldn = 0; 125 oldn = 0;
124 pd->n = 0; 126 pd->n = 0;
@@ -136,14 +138,16 @@ genptable(PruneData *pd)
136 if (!write_ptable_file(pd)) 138 if (!write_ptable_file(pd))
137 fprintf(stderr, "Error writing ptable file\n"); 139 fprintf(stderr, "Error writing ptable file\n");
138 140
141 free(ms);
139 free(dd.visited); 142 free(dd.visited);
143 free(dd.sorted_moves);
140} 144}
141*/ 145*/
142 146
143void 147void
144genptable(PruneData *pd) 148genptable(PruneData *pd)
145{ 149{
146 Move ms[NMOVES]; 150 Move *ms;
147 int d; 151 int d;
148 uint64_t j, oldn; 152 uint64_t j, oldn;
149 153
@@ -161,6 +165,7 @@ genptable(PruneData *pd)
161 165
162 fprintf(stderr, "Cannot load %s, generating it\n", pd->filename); 166 fprintf(stderr, "Cannot load %s, generating it\n", pd->filename);
163 167
168 ms = malloc(NMOVES * sizeof(Move));
164 moveset_to_list(pd->moveset, ms); 169 moveset_to_list(pd->moveset, ms);
165 170
166 /* We use 4 bits per value, so any distance >= 15 is set to 15 */ 171 /* We use 4 bits per value, so any distance >= 15 is set to 15 */
@@ -186,6 +191,7 @@ genptable(PruneData *pd)
186 if (!write_ptable_file(pd)) 191 if (!write_ptable_file(pd))
187 fprintf(stderr, "Error writing ptable file\n"); 192 fprintf(stderr, "Error writing ptable file\n");
188 193
194 free(ms);
189} 195}
190 196
191/* 197/*

Generated with cgit - Back to sebastiano.tronto.net