- if (TB50MoveRule) {
- value = v < -1 ? -VALUE_MATE + MAX_PLY + ss->ply
- : v > 1 ? VALUE_MATE - MAX_PLY - ss->ply
- : VALUE_DRAW + 2 * v;
- }
- else
- {
- value = v < 0 ? -VALUE_MATE + MAX_PLY + ss->ply
- : v > 0 ? VALUE_MATE - MAX_PLY - ss->ply
- : VALUE_DRAW;
- }
+ int drawScore = TB::UseRule50 ? 1 : 0;
+
+ value = v < -drawScore ? -VALUE_MATE + MAX_PLY + ss->ply
+ : v > drawScore ? VALUE_MATE - MAX_PLY - ss->ply
+ : VALUE_DRAW + 2 * v * drawScore;