X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fapplication.cpp;h=08384716ccf025db9eb867297e07bacdc108c841;hp=83eba40bcbb94de583033102c82061d4adbba816;hb=00d9fe8af09891e82d66f88c48b513d6a7326f2a;hpb=bb1b049b83adee0cd1beb30375f313ca2dc7194e diff --git a/src/application.cpp b/src/application.cpp index 83eba40b..08384716 100644 --- a/src/application.cpp +++ b/src/application.cpp @@ -1,7 +1,7 @@ /* Stockfish, a UCI chess playing engine derived from Glaurung 2.1 Copyright (C) 2004-2008 Tord Romstad (Glaurung author) - Copyright (C) 2008-2009 Marco Costalba + Copyright (C) 2008-2010 Marco Costalba, Joona Kiiski, Tord Romstad Stockfish is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -27,7 +27,6 @@ #include "endgame.h" #include "evaluate.h" #include "material.h" -#include "mersenne.h" #include "misc.h" #include "movepick.h" #include "position.h" @@ -41,26 +40,15 @@ Application::Application() { - init_mersenne(); init_direction_table(); init_bitboards(); init_uci_options(); Position::init_zobrist(); Position::init_piece_square_tables(); - MovePicker::init_phase_table(); init_eval(1); 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() { - - stop_threads(); - quit_eval(); } void Application::initialize() { @@ -70,7 +58,15 @@ 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); }