-
Notifications
You must be signed in to change notification settings - Fork 8
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
Prospective improvements in the C# port #12
Comments
Hi, With the hashtable I meant the transposition table. I can think of 2 possible improvements:
Does this help? :) |
@sandermvdb Thanks for the reply, it did help a lot. You are already using only one array for the transpositions table, so that's a non-issue 😄 Regarding the struct itself, I have implemented it, however, it's clocking in at 136 bits instead of 128. namespace Chess22kDotNet.Search
{
public struct TtEntry
{
private short _depth;
public long Key { get; set; }
public int Move { get; set; }
public short Score { get; set; }
public byte Flag { get; set; }
public short Depth
{
set => _depth = (short)(value + TtUtil.HalfMoveCounter);
get => (short)(_depth - TtUtil.HalfMoveCounter);
}
}
} |
You are indeed correct that the transposition table is already one array, I changed that some time ago :) Regarding the 136 bits, you could use 16 bits for the Move and then reconstruct the missing bits (6 I believe). |
@sandermvdb Thanks for the tip. Merged move with flag. |
Hey, it's me again. So, the C# port is live at https://github.com/respel/Chess22kDotNet.
In one of our previous discussions, you mentioned some stuff that you would like to implement in the C# port. I'm quoting you here
I'm interested in implementing them. Can you expand a bit more on exactly what hash tables were you talking about here?
Another thing I was thinking about was to make a library out of the common code and then make the engine use that. However, I guess that would render the engine much weaker, so wasn't totally sure whether to go forward with it.
The text was updated successfully, but these errors were encountered: