Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Engine work #61

Open
wants to merge 91 commits into
base: master
Choose a base branch
from
Open

Engine work #61

wants to merge 91 commits into from

Conversation

rudzen
Copy link
Owner

@rudzen rudzen commented Mar 24, 2023

Stabilization towards better support for creating a chess engine with ChessLib

- Better use of MemoryMarshal
- Replaces some home-brew functionality with new dotnet 7 equivalent
- Fixed a few sonar warnings
- Added [SkipLocalsInit] where appropriate
- Updated dependencies:
 - Microsoft.Extensions.ObjectPool 6.0.10 -> 7.0.0
 - ZString 2.4.4 -> 2.5.0
 - DryIoc 5.2.2 -> 5.3.1
 - Microsoft.Extensions.Caching.Memory 6.0.1 -> 7.0.0
 - Microsoft.Extensions.Configuration 6.0.1 -> 7.0.0
 - Microsoft.Extensions.Configuration.EnvironmentVariables 6.0.1 -> 7.0.0
 - Microsoft.Extensions.Configuration.Json 6.0.0 -> 7.0.0
- Added some more helper functions to IPosition
- Fixed a UCI bug with options in regards to bool values
- Updated dependencies
- Added some static Create() factory methods to Score
- Updated SearchParameters slightly
- Minor update to HashTable<T>
- Clarified some methods in KpkBitBase
- Renamed some TT related stuff
- Fixed minor issue with Player ToString(....)
- Added Position.Set() tests for code - to be used with endgame setup
- ExtMove -> ValMove
- Added RootMove to act as easy use of list of moves
- IPieceValue -> IValues
- PieceValues -> DefaultPieceValues
- Move struct now readonly
- Added AddChessLib() IServiceCollection extension
- More types are now more friendly towards IoC in general
- Any other developmental changes can be observed through the unit tests
- Improved use of PolyglotBook, Blockage
- Added IOptions usage for TT
- Added PolyglotBook injectable factory with IOptions injected for base path
- Perft tests that takes a long time is now disabled in debug mode
- Perft time improved.. from ~3.2-3.4 seconds to ~3.0 seconds for start pos d=6
- Updated WebApi demo app
- Fixed a few nullable things
- Corrected a few var names
@rudzen rudzen self-assigned this Mar 25, 2023
@rudzen rudzen added the enhancement New feature or request label Mar 25, 2023
- killed off IMoveList + MoveListPolicy, MoveList now uses IResettable
- RKiss can now have it's seed modified
- Updated some dependencies
- move generator is now using unsafe references directly (slightly faster overall)
- move generator adjusted to no longer support slow enumeration interface (moved to concrete method)
- base perft functionality no longer async
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant