- if (FailLow)
- {
- //Here we face the rare, but extremely difficult case:
- //Our aspiration search has failed low and we've run out of time!
- //So we have no move to play!
- //Now use the emergency time and try as quickly as possible to
- //find even one playable move.
-
- //FIXME: this is only for grepping logs purpose. Remove me when we are sure that this stuff really works!!
- if (AbortSearch)
- std::cout << "info depth " << 999 << std::endl;
- else
- std::cout << "info depth " << 998 << std::endl;
-
- //Prepare variables for emergency search
- AbortSearch = false;
- FailLow = false;
- AbsoluteMaxSearchTime = EmergencyMaxSearchTime;
- MaxSearchTime = EmergencyMaxSearchTime;
- ExtraSearchTime = 0;
- rml.sort();
-
- std::cout << "info depth " << Iteration << std::endl;
-
- //Cause we failed low, it's _likely_ that we couldn't get over alpha anyway.
- root_search(p, ss, rml, -VALUE_INFINITE, alpha);
- }
-