-
Notifications
You must be signed in to change notification settings - Fork 25
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
Invalid EP results in bad binpack conversion #315
Comments
triggerred by
|
doesn't trigger it. Somehow caused by the extraneus ep square in the fen... |
This is technically an illegal fen, so... I could dig it up and find out why it causes the error, but I'm more inclined to say the the .plain writer has an error. |
Okay, seems to be caused by false EP removal code not catching some illegal positions, I'll add some checks just for the sake of this. |
This cannot be fixed without a version change. There were some false ep squares in the historical data that encoded correctly but requires the false ep information for decoding. Basically the way encoding works is it uses the number of pseudo legal moves possible for a piece on the board to know how many bits to use for a move. The number of pseudo legal moves is affected by false ep square, even though such a move would never happen to be decoded, effectively making it impossible to catch in validation, but being required for decoding to work. |
I have fixed the code that resulted in bad EP fields, so this isn't urgent for me. |
The attached .plain file is converted to a bad .binpack file but passes validation. Conversion to .bin works, but again converting the .bin to .binpack again results in a bad file.
test2.plain.zip
Detailed transcript:
The text was updated successfully, but these errors were encountered: