No functional change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
# include <xmmintrin.h>
#endif
# include <xmmintrin.h>
#endif
#include <cassert>
#include <cstdio>
#include <iomanip>
#include <iostream>
#include <sstream>
#include <cassert>
#include <cstdio>
#include <iomanip>
#include <iostream>
#include <sstream>
#include "bitcount.h"
#include "misc.h"
#include "bitcount.h"
#include "misc.h"
/// Version number. If Version is left empty, then Tag plus current
/// date (in the format YYMMDD) is used as a version number.
/// Version number. If Version is left empty, then Tag plus current
/// date (in the format YYMMDD) is used as a version number.
-/// Debug stuff. Helper functions used mainly for debugging purposes
-
-static uint64_t dbg_hit_cnt0;
-static uint64_t dbg_hit_cnt1;
-static uint64_t dbg_mean_cnt0;
-static uint64_t dbg_mean_cnt1;
-
-void dbg_print_hit_rate() {
-
- if (dbg_hit_cnt0)
- cerr << "Total " << dbg_hit_cnt0 << " Hit " << dbg_hit_cnt1
- << " hit rate (%) " << 100 * dbg_hit_cnt1 / dbg_hit_cnt0 << endl;
-}
+/// Debug functions used mainly to collect run-time statistics
+static uint64_t hits[2], means[2];
- if (dbg_mean_cnt0)
- cerr << "Total " << dbg_mean_cnt0 << " Mean "
- << (float)dbg_mean_cnt1 / dbg_mean_cnt0 << endl;
-}
-
-void dbg_mean_of(int v) {
+void dbg_hit_on(bool b) { hits[0]++; if (b) hits[1]++; }
+void dbg_hit_on_c(bool c, bool b) { if (c) dbg_hit_on(b); }
+void dbg_mean_of(int v) { means[0]++; means[1] += v; }
- dbg_mean_cnt0++;
- dbg_mean_cnt1 += v;
-}
-void dbg_hit_on(bool b) {
+ if (hits[0])
+ cerr << "Total " << hits[0] << " Hits " << hits[1]
+ << " hit rate (%) " << 100 * hits[1] / hits[0] << endl;
- dbg_hit_cnt0++;
- if (b)
- dbg_hit_cnt1++;
+ if (means[0])
+ cerr << "Total " << means[0] << " Mean "
+ << (float)means[1] / means[0] << endl;
-void dbg_hit_on_c(bool c, bool b) { if (c) dbg_hit_on(b); }
-void dbg_before() { dbg_hit_on(false); }
-void dbg_after() { dbg_hit_on(true); dbg_hit_cnt0--; }
-
/// system_time() returns the current system time, measured in milliseconds
/// system_time() returns the current system time, measured in milliseconds
extern void dbg_hit_on(bool b);
extern void dbg_hit_on_c(bool c, bool b);
extern void dbg_hit_on(bool b);
extern void dbg_hit_on_c(bool c, bool b);
-extern void dbg_before();
-extern void dbg_after();
extern void dbg_mean_of(int v);
extern void dbg_mean_of(int v);
-extern void dbg_print_hit_rate();
-extern void dbg_print_mean();
+extern void dbg_print();
class Position;
extern Move move_from_uci(const Position& pos, const std::string& str);
class Position;
extern Move move_from_uci(const Position& pos, const std::string& str);
if (system_time() - lastInfoTime >= 1000 || !lastInfoTime)
{
lastInfoTime = system_time();
if (system_time() - lastInfoTime >= 1000 || !lastInfoTime)
{
lastInfoTime = system_time();
-
- dbg_print_mean();
- dbg_print_hit_rate();
threads[i].threadID = i;
#if defined(_MSC_VER)
threads[i].threadID = i;
#if defined(_MSC_VER)
- threads[i].handle = CreateThread(NULL, 0, start_routine, (LPVOID)&threads[i], 0, NULL);
+ threads[i].handle = CreateThread(NULL, 0, start_routine, &threads[i], 0, NULL);
bool ok = (threads[i].handle != NULL);
#else
bool ok = (threads[i].handle != NULL);
#else
- bool ok = !pthread_create(&threads[i].handle, NULL, start_routine, (void*)&threads[i]);
+ bool ok = !pthread_create(&threads[i].handle, NULL, start_routine, &threads[i]);