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

Check if a move is pseudo-legal without generating the list of pseudo-legal moves #114

Open
fathzer opened this issue Nov 8, 2023 · 2 comments

Comments

@fathzer
Copy link

fathzer commented Nov 8, 2023

Hello,

Thanks a lot for this very impressive library, very useful for people like me, totally unable to understand how bitmap works 😉

I saw that the issue 5, 76 and 112 (related to board.isMoveLegal returning true for some illegal moves) are closed.
I wonder how I can check if a move is pseudo-legal without generating the whole moves list. If it’s not possible, may I suggest adding a method to do that?

Here is my use case: A classical tree search optimization is to check, before generating any move, if a killer move, or a best move found in a transposition table, leads to a tree cut. In both cases we must ensure the move is pseudo-legal before generating the whole move list (because checking if a move is pseudo-legal is usually far faster than generating all moves).

Thanks for reading 😊

@fathzer fathzer changed the title Check if a move is (pseudo-)legal without generating the list of (pseudo-)legal moves Check if a move is pseudo-legal without generating the list of pseudo-legal moves Nov 8, 2023
@bhlangonijr
Copy link
Owner

It's been almost a year without a response, but we really should add these functions at some point. If anyone out there has the time and would be willing to help, I’d greatly appreciate it! Otherwise, I'll try to tackle it myself when I can find some spare time. :)

@Oziomajnr
Copy link

I can help add this functionality.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants