25,161
edits
Changes
Cinnamon
,no edit summary
Four pre-calculated attack arrays containing attack bitboards on [[Ranks|ranks]], [[Files|files]], [[Diagonals|diagonals]] and [[Anti-Diagonals|anti-diagonals]]
were indexed by the square of the sliding piece, and the associated [[Occupancy|occupancy]] index of that line, determining the blockers affecting the attack set.
Rather than to get the occupancy index from [[Incremental Updates|incremental updated ]] [[Rotated Bitboards|rotated bitboards]] for each of the four line kinds,
Cinnamon extracts line occupancies into a dense index range using [[Occupancy of any Line#Using Multiplication|multiplication]] and shift right,
as mentioned in [[Flipping Mirroring and Rotating#DiagonalstoRanks|diagonals to rank]] or [[Flipping Mirroring and Rotating#FlipAbouttheDiagonal|flip about the diagonal]].
=Features=
<ref>[httphttps://cinnamonchessgithub.altervista.orgcom/gekomad/ cinnamon chess engine Cinnamon GitHub - open source gekomad/Cinnamon: C++ UCI chess engine]</ref>
==[[Board Representation]]==
* [[Bitboards]]
=External Links=
==Chess Engine==
==Misc==
* [https://en.wikipedia.org/wiki/Cinnamon Cinnamon from Wikipedia]