Open Sparxel opened 10 months ago
Issue a pull request!
@SebLague
You can just use isrepeateddraw and isfiftymovedraw alone, and detect stalemate and checkmate manually by detecting when there are 0 legal moves. insufficient material is just a waste of tokens as it does not provide any significant boost in playing strength
The IsDraw() method in the Board.cs is currently
public bool IsDraw() { return IsFiftyMoveDraw() || IsInsufficientMaterial() || IsInStalemate() || IsRepeatedPosition(); }
I messed with the API code and moved theIsStalemate()
part to the end, which actually gave ~7% boost to my nodes/second for my implementation. I suspect this is because the code for the IsStalemate and hence move generation is not evaluated at all ifIsRepeatedPosition()
returns true. So can this tiny change be made to the API?