Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into repro-pinned-array
Browse files Browse the repository at this point in the history
  • Loading branch information
eduherminio committed Nov 18, 2024
2 parents 5fb483d + 2ded041 commit ac2497e
Show file tree
Hide file tree
Showing 52 changed files with 1,223 additions and 156 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
fail-fast: false

env:
DOTNET_VERSION: 8.0.x
DOTNET_VERSION: 9.0.x
DOTNET_CLI_TELEMETRY_OPTOUT: 1

steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
fail-fast: false

env:
DOTNET_VERSION: 8.0.x
DOTNET_VERSION: 9.0.x
DOTNET_CLI_TELEMETRY_OPTOUT: 1

steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
- cron: '1 0 * * 1' # Mondays at 00:01

env:
DOTNET_VERSION: 8.0.x
DOTNET_VERSION: 9.0.x
PROJECT_NAME: Lynx
DOTNET_CLI_TELEMETRY_OPTOUT: 1

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/on-demand-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
fail-fast: false

env:
DOTNET_VERSION: 8.0.x
DOTNET_VERSION: 9.0.x
DOTNET_CLI_TELEMETRY_OPTOUT: 1

steps:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/perft.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest

env:
DOTNET_VERSION: 8.0.x
DOTNET_VERSION: 9.0.x
DOTNET_CLI_TELEMETRY_OPTOUT: 1

steps:
Expand Down Expand Up @@ -55,7 +55,7 @@ jobs:
if: github.event.inputs.divide

env:
DOTNET_VERSION: 8.0.x
DOTNET_VERSION: 9.0.x
DOTNET_CLI_TELEMETRY_OPTOUT: 1

steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ on:
required: false

env:
DOTNET_VERSION: 8.0.x
DOTNET_VERSION: 9.0.x
DOTNET_CLI_TELEMETRY_OPTOUT: 1

jobs:
Expand Down
9 changes: 8 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -376,4 +376,11 @@ tmp/
*.zip

# EPD files
*.epd
*.epd

# Verify exclusions
**/Snapshots/*.g.received.cs

# Exclude all source generators output but ours
**/Generated/*
!**/Generated/Lynx.Generator/
4 changes: 1 addition & 3 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project>

<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net9.0</TargetFramework>
<LangVersion>preview</LangVersion>
<Nullable>Enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
Expand All @@ -13,13 +13,11 @@
<Using Include="System.Int32" Alias="Move" />
<Using Include="System.Int16" Alias="ShortMove" />
<Using Include="System.UInt64" Alias="BitBoard" />
<Using Include="System.Int32" Alias="TaperedEvaluationTerm" />
<Using Include="System.Int32[]" Alias="TaperedEvaluationTermByRank" />
<Using Include="System.Int32[]" Alias="TaperedEvaluationTermByCount7" />
<Using Include="System.Int32[]" Alias="TaperedEvaluationTermByCount8" />
<Using Include="System.Int32[]" Alias="TaperedEvaluationTermByCount14" />
<Using Include="System.Int32[]" Alias="TaperedEvaluationTermByCount27" />
<Using Include="Lynx.Model.TranspositionTableElement[]" Alias="TranspositionTable" />
</ItemGroup >

<PropertyGroup>
Expand Down
13 changes: 13 additions & 0 deletions Lynx.sln
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dev_test", "dev_test", "{D6
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lynx.Test", "tests\Lynx.Test\Lynx.Test.csproj", "{A8D2A6F0-BDE8-4562-8B94-4638D1ABE359}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lynx.Generator", "src\Lynx.Generator\Lynx.Generator.csproj", "{B3CA6E5A-C0B1-4324-804B-E8E593638A43}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lynx.Generator.Test", "tests\Lynx.Generator.Test\Lynx.Generator.Test.csproj", "{3C59CEB2-7CFB-4D4A-8686-78AB918D9A89}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand All @@ -56,6 +60,14 @@ Global
{A8D2A6F0-BDE8-4562-8B94-4638D1ABE359}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A8D2A6F0-BDE8-4562-8B94-4638D1ABE359}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A8D2A6F0-BDE8-4562-8B94-4638D1ABE359}.Release|Any CPU.Build.0 = Release|Any CPU
{B3CA6E5A-C0B1-4324-804B-E8E593638A43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B3CA6E5A-C0B1-4324-804B-E8E593638A43}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B3CA6E5A-C0B1-4324-804B-E8E593638A43}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B3CA6E5A-C0B1-4324-804B-E8E593638A43}.Release|Any CPU.Build.0 = Release|Any CPU
{3C59CEB2-7CFB-4D4A-8686-78AB918D9A89}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3C59CEB2-7CFB-4D4A-8686-78AB918D9A89}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3C59CEB2-7CFB-4D4A-8686-78AB918D9A89}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3C59CEB2-7CFB-4D4A-8686-78AB918D9A89}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -64,6 +76,7 @@ Global
{4288CBA1-156C-435D-845F-4D60A20B10A4} = {D656F9EF-DEF3-42C9-BB12-09961D43B844}
{25C9C733-F43B-4E8D-BD89-FC0D9CDFED36} = {D656F9EF-DEF3-42C9-BB12-09961D43B844}
{A8D2A6F0-BDE8-4562-8B94-4638D1ABE359} = {D656F9EF-DEF3-42C9-BB12-09961D43B844}
{3C59CEB2-7CFB-4D4A-8686-78AB918D9A89} = {D656F9EF-DEF3-42C9-BB12-09961D43B844}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {44D1B1AC-75A9-4AB8-9FF9-A4A182D84F0F}
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

Lynx is a chess engine developed by [@eduherminio](https://github.com/eduherminio).

It's written in C# (.NET 8).
It's written in C# (.NET 9).

You can find Lynx:

Expand All @@ -27,7 +27,7 @@ Here are the ones 'properly' rated over at least a few hundred of games:

| Version | Date | Estimated<br>elo<sup>0</sup>| [CCRL](https://www.computerchess.org.uk/ccrl/4040/) | [CCRL<br>Blitz](https://www.computerchess.org.uk/ccrl/404/) | [MCERL](https://www.chessengeria.eu/mcerl) | [CEGT<br>40/20](http://www.cegt.net/40_40%20Rating%20List/40_40%20All%20Versions/rangliste.html) | [CEGT<br>40/4](http://www.cegt.net/40_4_Ratinglist/40_4_AllVersion/rangliste.html) | [CEGT<br>5+3 pb](http://www.cegt.net/5Plus3Rating/5Plus3AllVersion/rangliste.html) |
|---|---|---|---|---|---|---|---|---|
| [1.7.0](https://github.com/lynx-chess/Lynx/releases/tag/v1.7.0) | 2024-10-05 | [3101](https://github.com/lynx-chess/Lynx/commit/06da9363b7f38dce5690e8c2c0dcd2914cdfaa30#commitcomment-147596793) | | | | 2974 | 2936 | |
| [1.7.0](https://github.com/lynx-chess/Lynx/releases/tag/v1.7.0) | 2024-10-05 | [3101](https://github.com/lynx-chess/Lynx/commit/06da9363b7f38dce5690e8c2c0dcd2914cdfaa30#commitcomment-147596793) | [3111](https://www.computerchess.org.uk/ccrl/4040/cgi/engine_details.cgi?print=Details&each_game=0&eng=Lynx%201.7.0%2064-bit#Lynx_1_7_0_64-bit) | [3127](https://www.computerchess.org.uk/ccrl/404/cgi/engine_details.cgi?print=Details&each_game=1&eng=Lynx%201.7.0%2064-bit#Lynx_1_7_0_64-bit) | | 2974 | 2936 | |
| [1.6.0](https://github.com/lynx-chess/Lynx/releases/tag/v1.6.0) | 2024-08-15 | [2952](https://github.com/lynx-chess/Lynx/commit/a230d0518bf2743ec0dd27931928719e43ac5334#commitcomment-145399551) | [2981](https://www.computerchess.org.uk/ccrl/4040/cgi/engine_details.cgi?print=Details&each_game=0&eng=Lynx%201.6.0%2064-bit#Lynx_1_6_0_64-bit)* | | 3039 | | | |
| [1.5.1](https://github.com/lynx-chess/Lynx/releases/tag/v1.5.1) | 2024-06-21 | [2830](https://github.com/lynx-chess/Lynx/commit/47e7b8799cfac433c1004213e51daf35ae0fcd97#commitcomment-143384223) | [2851](https://www.computerchess.org.uk/ccrl/4040/cgi/engine_details.cgi?print=Details&each_game=0&eng=Lynx%201.5.1%2064-bit#Lynx_1_5_1_64-bit) | | | | 2660 | 2690 |
| [1.5.0](https://github.com/lynx-chess/Lynx/releases/tag/v1.5.0) | 2024-06-09 | [2817](https://github.com/lynx-chess/Lynx/commit/70f23d96a2789ef22440cd0955a8b9557eb2682f#commitcomment-142930835) | | [2817](https://www.computerchess.org.uk/ccrl/404/cgi/engine_details.cgi?print=Details&each_game=1&eng=Lynx%201.5.0%2064-bit#Lynx_1_5_0_64-bit) | | | | |
Expand Down Expand Up @@ -63,7 +63,7 @@ However, you can also choose to build Lynx yourself.

### Requirements

- [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0). You can find instructions about how to install it in your preferred OS/Distro either [here](https://docs.microsoft.com/en-us/dotnet/core/install/) or [here](https://github.com/dotnet/core/tree/main/release-notes/8.0).
- [.NET 9 SDK](https://dotnet.microsoft.com/download/dotnet/9.0). You can find instructions about how to install it in your preferred OS/Distro either [here](https://docs.microsoft.com/en-us/dotnet/core/install/) or [here](https://github.com/dotnet/core/tree/main/release-notes/9.0).

If you're a Linux user and are new to .NET ecosystem, the conversation in [this issue](https://github.com/lynx-chess/Lynx/issues/33) may help.

Expand Down
14 changes: 10 additions & 4 deletions src/Lynx.Cli/Lynx.Cli.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<ServerGarbageCollection>true</ServerGarbageCollection>
<EnableConfigurationBindingGenerator>true</EnableConfigurationBindingGenerator>
<!--<EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>-->
<InterceptorsPreviewNamespaces>$(InterceptorsPreviewNamespaces);Microsoft.Extensions.Configuration.Binder.SourceGeneration</InterceptorsPreviewNamespaces>
Expand All @@ -15,16 +14,23 @@
<PublishTrimmed>true</PublishTrimmed>
<EnableCompressionInSingleFile>true</EnableCompressionInSingleFile>
<IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract>

<TieredPGO>true</TieredPGO>
<TieredCompilationQuickJitForLoops>true</TieredCompilationQuickJitForLoops>
<!--In favour of tiered compilation-->
<PublishReadyToRun>false</PublishReadyToRun>

<ServerGarbageCollection>true</ServerGarbageCollection>
<GarbageCollectionAdaptationMode>0</GarbageCollectionAdaptationMode>

<!--https://learn.microsoft.com/en-us/dotnet/core/compatibility/interop/9.0/cet-support-->
<CETCompat>false</CETCompat>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="8.0.2" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="9.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="9.0.0" />
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.14" />
</ItemGroup>

Expand Down
Loading

0 comments on commit ac2497e

Please sign in to comment.