#include "endgame.h"
#include "evaluate.h"
#include "material.h"
-#include "mersenne.h"
#include "misc.h"
#include "movepick.h"
#include "position.h"
Application::Application() {
- init_mersenne();
init_direction_table();
init_bitboards();
init_uci_options();
init_bitbases();
init_search();
init_threads();
-
- // Make random number generation less deterministic, for book moves
- for (int i = abs(get_system_time() % 10000); i > 0; i--)
- genrand_int32();
-}
-
-Application::~Application() {
-
- exit_threads();
- quit_eval();
}
void Application::initialize() {
static Application singleton;
}
+void Application::free_resources() {
+
+ // Warning, following functions reference global objects that
+ // must be still alive when free_resources() is called.
+ exit_threads();
+ quit_eval();
+}
+
void Application::exit_with_failure() {
- exit(EXIT_FAILURE); // d'tor will be called automatically
+ exit(EXIT_FAILURE);
}