diff --git a/src/Lynx/Configuration.cs b/src/Lynx/Configuration.cs index ef4ecd0c9..981279655 100644 --- a/src/Lynx/Configuration.cs +++ b/src/Lynx/Configuration.cs @@ -173,7 +173,17 @@ public sealed class EngineSettings public int DoubledPawnPenalty { get; set; } = 10; - public int[] PassedPawnBonus { get; set; } = new[] { 0, 10, 30, 50, 75, 100, 150, 200 }; + public int[] PassedPawnBonus { get; set; } = new[] + { + 0, + 4, + -2, + 19, + 44, + 82, + 136, + 200 + }; public int SemiOpenFileRookBonus { get; set; } = 10; diff --git a/tests/Lynx.Test/EvaluationConstantsTest.cs b/tests/Lynx.Test/EvaluationConstantsTest.cs index f80bb815c..8da57864f 100644 --- a/tests/Lynx.Test/EvaluationConstantsTest.cs +++ b/tests/Lynx.Test/EvaluationConstantsTest.cs @@ -3,7 +3,7 @@ using static Lynx.EvaluationConstants; namespace Lynx.Test; -public class EvaluationConstantsTest +public class EvaluationConstantsTestº { /// /// Shy from 14k @@ -133,4 +133,24 @@ public void SingleMoveEvaluation() Assert.Greater(EvaluationConstants.SingleMoveEvaluation, 100); Assert.Less(EvaluationConstants.SingleMoveEvaluation, 400); } + + [Test] + public void PSQTSize() + { + Assert.AreEqual(12, MiddleGamePositionalTables.Length); + foreach (var table in MiddleGamePositionalTables) + { + Assert.AreEqual(64, table.Length); + } + + Assert.AreEqual(12, EndGamePositionalTables.Length); + foreach (var table in EndGamePositionalTables) + { + Assert.AreEqual(64, table.Length); + } + + Assert.AreEqual(5, GamePhaseByPiece.Length); + Assert.AreEqual(12, MiddleGamePieceValues.Length); + Assert.AreEqual(12, EndGamePieceValues.Length); + } } \ No newline at end of file