From 192aef1ce75aa479941dc811b1d0f74fff88e927 Mon Sep 17 00:00:00 2001 From: Paul-Nicolas Madelaine Date: Sun, 19 Oct 2025 14:14:10 +0200 Subject: [PATCH] misc --- src/position.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/position.rs b/src/position.rs index 8e227fb..fd0481a 100644 --- a/src/position.rs +++ b/src/position.rs @@ -976,11 +976,6 @@ impl Position { | d.knight(king_square) & theirs.knight() | x & theirs.bishop() | y & theirs.rook(); - let blockers_x_ray = blockers & !(x | y); - let pinned = (d.bishop(king_square, blockers_x_ray) & theirs.bishop() - | d.rook(king_square, blockers_x_ray) & theirs.rook()) - .map(|sq| d.segment(king_square, sq)) - .reduce_or(); if visitor.roles(Role::King) && global_mask_from.contains(king_square) { let attacked = { @@ -1058,6 +1053,12 @@ impl Position { return; } + let blockers_x_ray = blockers & !(x | y); + let pinned = (d.bishop(king_square, blockers_x_ray) & theirs.bishop() + | d.rook(king_square, blockers_x_ray) & theirs.rook()) + .map(|sq| d.segment(king_square, sq)) + .reduce_or(); + let checker = checkers.first(); let block_check = checker .map(|checker| d.segment(king_square, checker))