Changes

Jump to: navigation, search

Leorik

4 bytes added, 12:38, 25 March 2022
no edit summary
<span id="LeorikAttacks"></span>
=Leorik Attacks=
Leorik is a [[Bitboards|bitboard]] engine and applies an unique approach in determining [[Sliding Piece Attacks|sliding piece attacks]] based [[On an empty Board#LineAttacks|line-wise attacks on the otherwise empty board]] (either pre-calculated or calculated on the fly). All bits below the slider's [[Origin Square|origin square]] [[General Setwise Operations#BitbySquare|bit]] are used to separate [[On an empty Board#PositiveRays|positive]] and [[On an empty Board#NegativeRays|negative]] [[Rays|rays]] to scan the nearest blocker (if any) accordingly. Positive rays use the line occupancy, intersected with the bits not below to [[General Setwise Operations#SmearingLS1BSeparation|smear fill its LS1B]] (if any) down (MaskLow => bb ^ (bb - 1)). Negative Rays use the line occupancy, intersected with the bits below to smear fill its [[General Setwise Operations#TheMostSignificantOneBitMS1B|MS1B]] (if any) down (MaskHigh => 0x7FFFFFFFFFFFFFFFUL >> [[BitScan#TrailingZeroCount|trailingZeroCount]](bb|1)). The [[General Setwise Operations#ExclusiveOr|symmetric difference]] of both down smearsfills, restricted to the line-wise attacks on the otherwise empty board results in the sliding attack bitboard from that square on one particular line <ref>[https://github.com/lithander/Leorik/blob/master/Leorik.Core/Bitboard.cs Leorik/Bitboard.cs at master · lithander/Leorik · GitHub]</ref> <ref>[https://www.talkchess.com/forum3/viewtopic.php?f=7&t=79049&start=2 Re: Devlog of Leorik] by [[Thomas Jahn]], [[CCC]], January 04, 2022</ref>.
=Selected Features=

Navigation menu