Line data Source code
1 : #pragma once
2 :
3 : #include "material.hpp"
4 :
5 : template<bool isPV>
6 : [[nodiscard]] FORCE_FINLINE std::optional<ScoreType> Searcher::interiorNodeRecognizer(const Position& p, DepthType height) const{
7 : // handles chess variants
8 : ///@todo other chess variants
9 4946510 : if (isRep(p,isPV)) return std::optional<ScoreType>(drawScore(p, height));
10 4939959 : if (isMaterialDraw(p)) return std::optional<ScoreType>(drawScore(p, height));
11 4939930 : if (is50moves(p,true)) return std::optional<ScoreType>(drawScore(p, height)); // pre move loop version at 101 not 100
12 4939930 : return std::nullopt;
13 : }
|