Changes

Jump to: navigation, search

Files

842 bytes added, 14:08, 20 August 2020
no edit summary
fileDistance = abs (file2 - file1);
</pre>
<span id="TwoSquares"></span>
=Two Squares on a File=
Two [[Squares]] are on the same File, if their file distance is zero. The masking of the file bits can be done after the subtraction.
<pre>
bool squaresOnSameFile(int sq1, int sq2) {
return ((sq2 - sq1) & 7) == 0;
}
</pre>
The [https://en.wikipedia.org/wiki/Symmetric_difference Symmetric difference] aka xor is sufficent for the test as well <ref>[http://talkchess.com/forum3/viewtopic.php?f=7&t=74821 An undetected bug for 10 years] by [[Oliver Brausch]], [[CCC]], August 18, 2020</ref>
<pre>
bool squaresOnSameFile(int sq1, int sq2) {
return ((sq1 ^ sq2) & 7) == 0;
}
</pre>
* [[Ranks#TwoSquares|Two Squares on a Rank]]
* [[Diagonals#TwoSquares|Two Squares on a Diagonal]]
* [[Anti-Diagonals#TwoSquares|Two Squares on a Anti-Diagonal]]
 
=Pawns and Files=
* [[Half-open File]]
* [[Open File]]
* [[Pawns and Files (Bitboards)]]
 
=See also=
* [[Half-open file]]
* [[Open file]]
* [[Pawns and Files (Bitboards)]]
* [[Ranks]]
* [[Diagonals]]
* [[Intersection Squares]]
=References=
<references/>
'''[[Chess|Up one Level]]'''

Navigation menu