This commit is contained in:
2024-04-10 12:53:31 +02:00
parent e8240c6cab
commit 660722fadc
5 changed files with 27 additions and 49 deletions

View File

@@ -232,16 +232,15 @@ int main(int __unused ac, __unused char**av)
movelist_t fishmoves;
//move_t move;
FILE *outfd;
int depth = 6;
s64 ms1 = 0, ms1_total = 0;
s64 ms2 = 0, ms2_total = 0;
s64 ms3 = 0, ms3_total = 0;
int run = 7;
int depth = 6, run = 3;
if (ac > 1)
depth = atoi(av[1]);
if (ac > 2)
run = atoi(av[2]);
run = atoi(av[2]) & 3;
printf("depth = %d run=%d\n", depth, run);
if (!run)
@@ -253,7 +252,6 @@ int main(int __unused ac, __unused char**av)
bitboard_init();
hyperbola_init();
CLOCK_DEFINE(clock, CLOCK_PROCESS);
while ((fen = next_fen(PERFT | MOVEDO))) {
test_line = cur_line();
@@ -271,46 +269,29 @@ int main(int __unused ac, __unused char**av)
ms1_total += ms1;
if (sf_count == my_count) {
printf("pt1 OK : line=%3d perft=%lu %'ldms lps=%'lu \"%s\"\n",
printf("pt1 OK : line=%3d perft=%'lu %'ldms lps=%'lu \"%s\"\n",
test_line, my_count, ms1,
ms1? my_count*1000l/ms1: 0,
fen);
} else {
printf("pt1 ERR: line=%3d sf=%lu me=%lu \"%s\"\n",
printf("pt1 ERR: line=%3d sf=%'lu me=%'lu \"%s\"\n",
test_line, sf_count, my_count, fen);
}
}
if (run & 2) {
clock_start(&clock);
my_count = perft2(pos, depth, 1);
my_count = perft_new_pinners(pos, depth, 1);
ms2 = clock_elapsed_ms(&clock);
ms2_total += ms2;
if (sf_count == my_count) {
printf("pt2 OK : line=%3d perft=%lu %'ldms lps=%'lu \"%s\"\n",
printf("pt2 OK : line=%3d perft=%'lu %'ldms lps=%'lu \"%s\"\n",
test_line, my_count, ms2,
ms2? my_count*1000l/ms2: 0,
fen);
} else {
printf("pt2 ERR: line=%3d sf=%lu me=%lu \"%s\"\n",
test_line, sf_count, my_count, fen);
}
}
if (run & 4) {
clock_start(&clock);
my_count = perft_new_pinners(pos, depth, 1);
ms3 = clock_elapsed_ms(&clock);
ms3_total += ms3;
if (sf_count == my_count) {
printf("pt3 OK : line=%3d perft=%lu %'ldms lps=%'lu \"%s\"\n",
test_line, my_count, ms3,
ms3? my_count*1000l/ms3: 0,
fen);
} else {
printf("pt3 ERR: line=%3d sf=%lu me=%lu \"%s\"\n",
printf("pt2 ERR: line=%3d sf=%'lu me=%'lu \"%s\"\n",
test_line, sf_count, my_count, fen);
}
}
@@ -323,7 +304,5 @@ int main(int __unused ac, __unused char**av)
printf("total perft %'ldms\n", ms1_total);
if (run & 2)
printf("total perft2 %'ldms\n", ms2_total);
if (run & 4)
printf("total perft3 %'ldms\n", ms3_total);
return 0;
}