https://www.chessprogramming.org/index.php?title=Dumb7Fill&feed=atom&action=history
Dumb7Fill - Revision history
2024-03-28T08:50:30Z
Revision history for this page on the wiki
MediaWiki 1.30.1
https://www.chessprogramming.org/index.php?title=Dumb7Fill&diff=10266&oldid=prev
GerdIsenberg at 20:17, 24 January 2019
2019-01-24T20:17:01Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr style="vertical-align: top;" lang="en">
<td colspan="2" style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: white; color:black; text-align: center;">Revision as of 20:17, 24 January 2019</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l393" >Line 393:</td>
<td colspan="2" class="diff-lineno">Line 393:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=External Links=</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=External Links=</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* [http://radagast.se/othello/bitmob.c bitboard mobility] Copyright (c) 2003, [[Gunnar Andersson]] » [[Othello]], [[Mobility]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* [http://radagast.se/othello/bitmob.c bitboard mobility] Copyright (c) 2003, [[Gunnar Andersson]] » [[Othello]], [[Mobility]]</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* [[:Category:Weather Report|Weather Report]] -  [<del class="diffchange diffchange-inline">http</del>://<del class="diffchange diffchange-inline">www</del>.<del class="diffchange diffchange-inline">weatherreportdiscography</del>.org/<del class="diffchange diffchange-inline">weather-report-1971</del>/ Seventh Arrow <del class="diffchange diffchange-inline">/ Umbrellas, </del>1971<del class="diffchange diffchange-inline">]</del>, [https://en.wikipedia.org/wiki/YouTube YouTube] Video</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [[:Category:Weather Report|Weather Report]] -  [<ins class="diffchange diffchange-inline">https</ins>://<ins class="diffchange diffchange-inline">en</ins>.<ins class="diffchange diffchange-inline">wikipedia</ins>.org/<ins class="diffchange diffchange-inline">wiki</ins>/<ins class="diffchange diffchange-inline">Weather_Report_(1971_album) </ins>Seventh Arrow<ins class="diffchange diffchange-inline">] (</ins>1971<ins class="diffchange diffchange-inline">)</ins>, [https://en.wikipedia.org/wiki/YouTube YouTube] Video</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>: [[:Category:Joe Zawinul|Joe Zawinul]], [[:Category:Wayne Shorter|Wayne Shorter]], [[:Category:Miroslav Vitouš|Miroslav Vitouš]], [[:Category:Alphonse Mouzon|Alphonse Mouzon]], [[:Category:<del class="diffchange diffchange-inline">Dom Um Romão</del>|<del class="diffchange diffchange-inline">Dom Um Romão</del>]]</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>: [[:Category:Joe Zawinul|Joe Zawinul]], [[:Category:Wayne Shorter|Wayne Shorter]], [[:Category:Miroslav Vitouš|Miroslav Vitouš]], [[:Category:Alphonse Mouzon|Alphonse Mouzon]], [[:Category:<ins class="diffchange diffchange-inline">Airto Moreira</ins>|<ins class="diffchange diffchange-inline">Airto Moreira</ins>]]</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>: {{#evu:https://www.youtube.com/watch?v=<del class="diffchange diffchange-inline">iigJbeTzFHs</del>|alignment=left|valignment=top}}</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>: {{#evu:https://www.youtube.com/watch?v=<ins class="diffchange diffchange-inline">swfHr-6DC2s</ins>|alignment=left|valignment=top}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=References=</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=References=</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l404" >Line 404:</td>
<td colspan="2" class="diff-lineno">Line 404:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Henrichshütte]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Henrichshütte]]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Alphonse Mouzon]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Alphonse Mouzon]]</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[Category:<del class="diffchange diffchange-inline">Dom Um Romão</del>]]</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[Category:<ins class="diffchange diffchange-inline">Airto Moreira</ins>]]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Wayne Shorter]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Wayne Shorter]]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Miroslav Vitouš]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Miroslav Vitouš]]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Weather Report]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Weather Report]]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Joe Zawinul]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Joe Zawinul]]</div></td></tr>
</table>
GerdIsenberg
https://www.chessprogramming.org/index.php?title=Dumb7Fill&diff=7752&oldid=prev
GerdIsenberg at 21:09, 27 October 2018
2018-10-27T21:09:36Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr style="vertical-align: top;" lang="en">
<td colspan="2" style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: white; color:black; text-align: center;">Revision as of 21:09, 27 October 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''[[Main Page|Home]] * [[Board Representation]] * [[Bitboards]] * [[Sliding Piece Attacks]] * Dumb7Fill'''</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''[[Main Page|Home]] * [[Board Representation]] * [[Bitboards]] * [[Sliding Piece Attacks]] * Dumb7Fill'''</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[FILE:KruppsDevils.jpg|border|right|thumb|400px|[[:Category:Heinrich Kley|Heinrich Kley]] - The Demons of Krupp 1912/1913 <ref>[[:Category:Heinrich Kley|Heinrich Kley]] - Die Krupp'schen Teufel (The Demons of Krupp) 1912/1913, "The bacchanal in which [https://en.wikipedia.org/wiki/Satyr satyrs] and devils pour in liquid steel in a cast steel works" - once a wall decoration in one of the [https://en.wikipedia.org/wiki/Krupp Krupp] casinos. Source [https://de.wikipedia.org/wiki/LWL-Industriemuseum LWL-Industriemuseum], In June 2017 at [<del class="diffchange diffchange-inline">https</del>:<del class="diffchange diffchange-inline">//www.lwl.org/industriemuseum/standorte/henrichshuette-hattingen/english </del>Henrichshütte Ironworks - Museum of iron and steel], [https://en.wikipedia.org/wiki/Hattingen Hattingen], [https://en.wikipedia.org/wiki/North_Rhine-Westphalia North Rhine-Westphalia], [https://en.wikipedia.org/wiki/Germany Germany], part of [[:Category:Industrial Heritage Trail|The Industrial Heritage Trail]] of the [https://en.wikipedia.org/wiki/Ruhr Ruhr area], Image from [http://www.thescreamonline.com/art/art7-1/kley/kley.html The Art of Heinrich Kley], also photographed by [[Gerd Isenberg]] on June 11, 2017</ref> ]]</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[FILE:KruppsDevils.jpg|border|right|thumb|400px|[[:Category:Heinrich Kley|Heinrich Kley]] - The Demons of Krupp 1912/1913 <ref>[[:Category:Heinrich Kley|Heinrich Kley]] - Die Krupp'schen Teufel (The Demons of Krupp) 1912/1913, "The bacchanal in which [https://en.wikipedia.org/wiki/Satyr satyrs] and devils pour in liquid steel in a cast steel works" - once a wall decoration in one of the [https://en.wikipedia.org/wiki/Krupp Krupp] casinos. Source [https://de.wikipedia.org/wiki/LWL-Industriemuseum LWL-Industriemuseum], In June 2017 at [<ins class="diffchange diffchange-inline">[</ins>:<ins class="diffchange diffchange-inline">Category:Henrichshütte|</ins>Henrichshütte Ironworks - Museum of iron and steel<ins class="diffchange diffchange-inline">]</ins>], [https://en.wikipedia.org/wiki/Hattingen Hattingen], [https://en.wikipedia.org/wiki/North_Rhine-Westphalia North Rhine-Westphalia], [https://en.wikipedia.org/wiki/Germany Germany], part of [[:Category:Industrial Heritage Trail|The Industrial Heritage Trail]] of the [https://en.wikipedia.org/wiki/Ruhr Ruhr area], Image from [http://www.thescreamonline.com/art/art7-1/kley/kley.html The Art of Heinrich Kley], also photographed by [[Gerd Isenberg]] on June 11, 2017</ref> ]]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''Dumb7Fill''',<br/></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''Dumb7Fill''',<br/></div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l402" >Line 402:</td>
<td colspan="2" class="diff-lineno">Line 402:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Heinrich Kley]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Heinrich Kley]]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Industrial Heritage Trail]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Industrial Heritage Trail]]</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">[[Category:Henrichshütte]]</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Alphonse Mouzon]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Alphonse Mouzon]]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Dom Um Romão]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Dom Um Romão]]</div></td></tr>
</table>
GerdIsenberg
https://www.chessprogramming.org/index.php?title=Dumb7Fill&diff=7233&oldid=prev
GerdIsenberg at 21:28, 10 October 2018
2018-10-10T21:28:20Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr style="vertical-align: top;" lang="en">
<td colspan="2" style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: white; color:black; text-align: center;">Revision as of 21:28, 10 October 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''[[Main Page|Home]] * [[Board Representation]] * [[Bitboards]] * [[Sliding Piece Attacks]] * Dumb7Fill'''</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''[[Main Page|Home]] * [[Board Representation]] * [[Bitboards]] * [[Sliding Piece Attacks]] * Dumb7Fill'''</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[FILE:KruppsDevils.jpg|border|right|thumb|400px|[[:Category:Heinrich Kley|Heinrich Kley]] - The Krupp<del class="diffchange diffchange-inline">'s Devils </del>1912/1913 <ref>[[:Category:Heinrich Kley|Heinrich Kley]] - Die Krupp'schen Teufel (The Krupp<del class="diffchange diffchange-inline">'s Devils</del>) 1912/1913, "The bacchanal in which [https://en.wikipedia.org/wiki/Satyr satyrs] and devils pour in liquid steel in a cast steel works" - once a wall decoration in one of the [https://en.wikipedia.org/wiki/Krupp Krupp] casinos. Source [https://de.wikipedia.org/wiki/LWL-Industriemuseum LWL-Industriemuseum], In June 2017 at [https://www.lwl.org/industriemuseum/standorte/henrichshuette-hattingen/english Henrichshütte Ironworks - Museum of iron and steel], [https://en.wikipedia.org/wiki/Hattingen Hattingen], [https://en.wikipedia.org/wiki/North_Rhine-Westphalia North Rhine-Westphalia], [https://en.wikipedia.org/wiki/Germany Germany], part of [[:Category:Industrial Heritage Trail|The Industrial Heritage Trail]] of the [https://en.wikipedia.org/wiki/Ruhr Ruhr area], Image from [http://www.thescreamonline.com/art/art7-1/kley/kley.html The Art of Heinrich Kley], also photographed by [[Gerd Isenberg]] on June 11, 2017</ref> ]]</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[FILE:KruppsDevils.jpg|border|right|thumb|400px|[[:Category:Heinrich Kley|Heinrich Kley]] - The <ins class="diffchange diffchange-inline">Demons of </ins>Krupp 1912/1913 <ref>[[:Category:Heinrich Kley|Heinrich Kley]] - Die Krupp'schen Teufel (The <ins class="diffchange diffchange-inline">Demons of </ins>Krupp) 1912/1913, "The bacchanal in which [https://en.wikipedia.org/wiki/Satyr satyrs] and devils pour in liquid steel in a cast steel works" - once a wall decoration in one of the [https://en.wikipedia.org/wiki/Krupp Krupp] casinos. Source [https://de.wikipedia.org/wiki/LWL-Industriemuseum LWL-Industriemuseum], In June 2017 at [https://www.lwl.org/industriemuseum/standorte/henrichshuette-hattingen/english Henrichshütte Ironworks - Museum of iron and steel], [https://en.wikipedia.org/wiki/Hattingen Hattingen], [https://en.wikipedia.org/wiki/North_Rhine-Westphalia North Rhine-Westphalia], [https://en.wikipedia.org/wiki/Germany Germany], part of [[:Category:Industrial Heritage Trail|The Industrial Heritage Trail]] of the [https://en.wikipedia.org/wiki/Ruhr Ruhr area], Image from [http://www.thescreamonline.com/art/art7-1/kley/kley.html The Art of Heinrich Kley], also photographed by [[Gerd Isenberg]] on June 11, 2017</ref> ]]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''Dumb7Fill''',<br/></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''Dumb7Fill''',<br/></div></td></tr>
</table>
GerdIsenberg
https://www.chessprogramming.org/index.php?title=Dumb7Fill&diff=7231&oldid=prev
GerdIsenberg at 17:36, 10 October 2018
2018-10-10T17:36:29Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr style="vertical-align: top;" lang="en">
<td colspan="2" style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: white; color:black; text-align: center;">Revision as of 17:36, 10 October 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''[[Main Page|Home]] * [[Board Representation]] * [[Bitboards]] * [[Sliding Piece Attacks]] * Dumb7Fill'''</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''[[Main Page|Home]] * [[Board Representation]] * [[Bitboards]] * [[Sliding Piece Attacks]] * Dumb7Fill'''</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[FILE:KruppsDevils.jpg|border|right|thumb|400px|[[:Category:Heinrich Kley|Heinrich Kley]] - The Krupp's Devils 1912/1913 <ref>[[:Category:Heinrich Kley|Heinrich Kley]] - Die Krupp'schen Teufel (The Krupp's Devils) 1912/1913, The bacchanal in which [https://en.wikipedia.org/wiki/Satyr satyrs] and devils pour in liquid steel<del class="diffchange diffchange-inline">, </del>once <del class="diffchange diffchange-inline">served as </del>a wall decoration in one of the [https://en.wikipedia.org/wiki/Krupp Krupp] casinos. Source [https://de.wikipedia.org/wiki/LWL-Industriemuseum LWL-Industriemuseum], In June 2017 at [https://www.lwl.org/industriemuseum/standorte/henrichshuette-hattingen/english Henrichshütte Ironworks - Museum of iron and steel], [https://en.wikipedia.org/wiki/Hattingen Hattingen], [https://en.wikipedia.org/wiki/North_Rhine-Westphalia North Rhine-Westphalia], [https://en.wikipedia.org/wiki/Germany Germany], part of [[:Category:Industrial Heritage Trail|The Industrial Heritage Trail]] of the [https://en.wikipedia.org/wiki/Ruhr Ruhr area], Image from [http://www.thescreamonline.com/art/art7-1/kley/kley.html The Art of Heinrich Kley], also photographed by [[Gerd Isenberg]] on June 11, 2017</ref> ]]</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[FILE:KruppsDevils.jpg|border|right|thumb|400px|[[:Category:Heinrich Kley|Heinrich Kley]] - The Krupp's Devils 1912/1913 <ref>[[:Category:Heinrich Kley|Heinrich Kley]] - Die Krupp'schen Teufel (The Krupp's Devils) 1912/1913, <ins class="diffchange diffchange-inline">"</ins>The bacchanal in which [https://en.wikipedia.org/wiki/Satyr satyrs] and devils pour in liquid steel <ins class="diffchange diffchange-inline">in a cast steel works" - </ins>once a wall decoration in one of the [https://en.wikipedia.org/wiki/Krupp Krupp] casinos. Source [https://de.wikipedia.org/wiki/LWL-Industriemuseum LWL-Industriemuseum], In June 2017 at [https://www.lwl.org/industriemuseum/standorte/henrichshuette-hattingen/english Henrichshütte Ironworks - Museum of iron and steel], [https://en.wikipedia.org/wiki/Hattingen Hattingen], [https://en.wikipedia.org/wiki/North_Rhine-Westphalia North Rhine-Westphalia], [https://en.wikipedia.org/wiki/Germany Germany], part of [[:Category:Industrial Heritage Trail|The Industrial Heritage Trail]] of the [https://en.wikipedia.org/wiki/Ruhr Ruhr area], Image from [http://www.thescreamonline.com/art/art7-1/kley/kley.html The Art of Heinrich Kley], also photographed by [[Gerd Isenberg]] on June 11, 2017</ref> ]]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''Dumb7Fill''',<br/></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''Dumb7Fill''',<br/></div></td></tr>
</table>
GerdIsenberg
https://www.chessprogramming.org/index.php?title=Dumb7Fill&diff=7230&oldid=prev
GerdIsenberg at 17:27, 10 October 2018
2018-10-10T17:27:22Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr style="vertical-align: top;" lang="en">
<td colspan="2" style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: white; color:black; text-align: center;">Revision as of 17:27, 10 October 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''[[Main Page|Home]] * [[Board Representation]] * [[Bitboards]] * [[Sliding Piece Attacks]] * Dumb7Fill'''</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''[[Main Page|Home]] * [[Board Representation]] * [[Bitboards]] * [[Sliding Piece Attacks]] * Dumb7Fill'''</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[FILE:KruppsDevils.jpg|border|right|thumb|400px<del class="diffchange diffchange-inline">|link=http://www.thescreamonline.com/art/art7-1/kley/kley.html</del>| [[:Category:Heinrich Kley|Heinrich Kley]] - The Krupp's Devils 1912/1913 <ref>[[:Category:Heinrich Kley|Heinrich Kley]] - Die Krupp'schen Teufel (The Krupp's Devils) 1912/1913, The bacchanal in which [https://en.wikipedia.org/wiki/Satyr satyrs] and devils pour in liquid steel, once served as a wall decoration in one of the [https://en.wikipedia.org/wiki/Krupp Krupp] casinos. Source [https://de.wikipedia.org/wiki/LWL-Industriemuseum LWL-Industriemuseum], In June 2017 at [https://www.lwl.org/industriemuseum/standorte/henrichshuette-hattingen/english Henrichshütte Ironworks - Museum of iron and steel], [https://en.wikipedia.org/wiki/Hattingen Hattingen], [https://en.wikipedia.org/wiki/North_Rhine-Westphalia North Rhine-Westphalia], [https://en.wikipedia.org/wiki/Germany Germany], part of [[:Category:Industrial Heritage Trail|The Industrial Heritage Trail]] of the [https://en.wikipedia.org/wiki/Ruhr Ruhr area], Image from [http://www.thescreamonline.com/art/art7-1/kley/kley.html The Art of Heinrich Kley], also photographed by [[Gerd Isenberg]] on June 11, 2017</ref> ]]</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[FILE:KruppsDevils.jpg|border|right|thumb|400px|[[:Category:Heinrich Kley|Heinrich Kley]] - The Krupp's Devils 1912/1913 <ref>[[:Category:Heinrich Kley|Heinrich Kley]] - Die Krupp'schen Teufel (The Krupp's Devils) 1912/1913, The bacchanal in which [https://en.wikipedia.org/wiki/Satyr satyrs] and devils pour in liquid steel, once served as a wall decoration in one of the [https://en.wikipedia.org/wiki/Krupp Krupp] casinos. Source [https://de.wikipedia.org/wiki/LWL-Industriemuseum LWL-Industriemuseum], In June 2017 at [https://www.lwl.org/industriemuseum/standorte/henrichshuette-hattingen/english Henrichshütte Ironworks - Museum of iron and steel], [https://en.wikipedia.org/wiki/Hattingen Hattingen], [https://en.wikipedia.org/wiki/North_Rhine-Westphalia North Rhine-Westphalia], [https://en.wikipedia.org/wiki/Germany Germany], part of [[:Category:Industrial Heritage Trail|The Industrial Heritage Trail]] of the [https://en.wikipedia.org/wiki/Ruhr Ruhr area], Image from [http://www.thescreamonline.com/art/art7-1/kley/kley.html The Art of Heinrich Kley], also photographed by [[Gerd Isenberg]] on June 11, 2017</ref> ]]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''Dumb7Fill''',<br/></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''Dumb7Fill''',<br/></div></td></tr>
</table>
GerdIsenberg
https://www.chessprogramming.org/index.php?title=Dumb7Fill&diff=7229&oldid=prev
GerdIsenberg at 17:26, 10 October 2018
2018-10-10T17:26:58Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr style="vertical-align: top;" lang="en">
<td colspan="2" style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: white; color:black; text-align: center;">Revision as of 17:26, 10 October 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''[[Main Page|Home]] * [[Board Representation]] * [[Bitboards]] * [[Sliding Piece Attacks]] * Dumb7Fill'''</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''[[Main Page|Home]] * [[Board Representation]] * [[Bitboards]] * [[Sliding Piece Attacks]] * Dumb7Fill'''</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Dumb7Fill''' <del class="diffchange diffchange-inline">- </del>the obvious, straight forward [https://en.wikipedia.org/wiki/Flood_fill flood-fill] approach works '''set-wise''' - '''seven''' times one fill-cycle by [[General Setwise Operations#OneStepOnly|one step only]] in one of eight [[Direction|directions]].  </div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">[[FILE:KruppsDevils.jpg|border|right|thumb|400px|link=http://www.thescreamonline.com/art/art7-1/kley/kley.html| [[:Category:Heinrich Kley|Heinrich Kley]] - The Krupp's Devils 1912/1913 <ref>[[:Category:Heinrich Kley|Heinrich Kley]] - Die Krupp'schen Teufel (The Krupp's Devils) 1912/1913, The bacchanal in which [https://en.wikipedia.org/wiki/Satyr satyrs] and devils pour in liquid steel, once served as a wall decoration in one of the [https://en.wikipedia.org/wiki/Krupp Krupp] casinos. Source [https://de.wikipedia.org/wiki/LWL-Industriemuseum LWL-Industriemuseum], In June 2017 at [https://www.lwl.org/industriemuseum/standorte/henrichshuette-hattingen/english Henrichshütte Ironworks - Museum of iron and steel], [https://en.wikipedia.org/wiki/Hattingen Hattingen], [https://en.wikipedia.org/wiki/North_Rhine-Westphalia North Rhine-Westphalia], [https://en.wikipedia.org/wiki/Germany Germany], part of [[:Category:Industrial Heritage Trail|The Industrial Heritage Trail]] of the [https://en.wikipedia.org/wiki/Ruhr Ruhr area], Image from [http://www.thescreamonline.com/art/art7-1/kley/kley.html The Art of Heinrich Kley], also photographed by [[Gerd Isenberg]] on June 11, 2017</ref> ]]</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Dumb7Fill'''<ins class="diffchange diffchange-inline">,<br/></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>the obvious, straight forward [https://en.wikipedia.org/wiki/Flood_fill flood-fill] approach works '''set-wise''' - '''seven''' times one fill-cycle by [[General Setwise Operations#OneStepOnly|one step only]] in one of eight [[Direction|directions]].  </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=Compass Rose=</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=Compass Rose=</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l394" >Line 394:</td>
<td colspan="2" class="diff-lineno">Line 397:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>: {{#evu:https://www.youtube.com/watch?v=iigJbeTzFHs|alignment=left|valignment=top}}</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>: {{#evu:https://www.youtube.com/watch?v=iigJbeTzFHs|alignment=left|valignment=top}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">=References=</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><references /></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''[[Sliding Piece Attacks|Up one Level]]'''</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''[[Sliding Piece Attacks|Up one Level]]'''</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">[[Category:Heinrich Kley]]</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">[[Category:Industrial Heritage Trail]]</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Alphonse Mouzon]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Alphonse Mouzon]]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Dom Um Romão]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Dom Um Romão]]</div></td></tr>
</table>
GerdIsenberg
https://www.chessprogramming.org/index.php?title=Dumb7Fill&diff=4947&oldid=prev
GerdIsenberg at 07:07, 28 June 2018
2018-06-28T07:07:18Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr style="vertical-align: top;" lang="en">
<td colspan="2" style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: white; color:black; text-align: center;">Revision as of 07:07, 28 June 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l390" >Line 390:</td>
<td colspan="2" class="diff-lineno">Line 390:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=External Links=</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>=External Links=</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* [http://radagast.se/othello/bitmob.c bitboard mobility] Copyright (c) 2003, [[Gunnar Andersson]] » [[Othello]], [[Mobility]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* [http://radagast.se/othello/bitmob.c bitboard mobility] Copyright (c) 2003, [[Gunnar Andersson]] » [[Othello]], [[Mobility]]</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* [[<del class="diffchange diffchange-inline">Videos#WeatherReport</del>|Weather Report]] -  [http://www.weatherreportdiscography.org/weather-report-1971/ Seventh Arrow / Umbrellas, 1971], [https://en.wikipedia.org/wiki/YouTube YouTube] Video</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [[<ins class="diffchange diffchange-inline">:Category:Weather Report</ins>|Weather Report]] -  [http://www.weatherreportdiscography.org/weather-report-1971/ Seventh Arrow / Umbrellas, 1971], [https://en.wikipedia.org/wiki/YouTube YouTube] Video</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>: [[<del class="diffchange diffchange-inline">Videos#JoeZawinul</del>|Joe Zawinul]], [[<del class="diffchange diffchange-inline">Videos#WayneShorter</del>|Wayne Shorter]], [[<del class="diffchange diffchange-inline">Videos#MiroslavVitous</del>|Miroslav Vitouš]], [[<del class="diffchange diffchange-inline">Videos#AlphonseMouzon</del>|Alphonse Mouzon]], [[<del class="diffchange diffchange-inline">Videos#DomUmRomao</del>|Dom Um Romão]]</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>: [[<ins class="diffchange diffchange-inline">:Category:Joe Zawinul</ins>|Joe Zawinul]], [[<ins class="diffchange diffchange-inline">:Category:Wayne Shorter</ins>|Wayne Shorter]], [[<ins class="diffchange diffchange-inline">:Category:Miroslav Vitouš</ins>|Miroslav Vitouš]], [[<ins class="diffchange diffchange-inline">:Category:Alphonse Mouzon</ins>|Alphonse Mouzon]], [[<ins class="diffchange diffchange-inline">:Category:Dom Um Romão</ins>|Dom Um Romão]]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>: {{#evu:https://www.youtube.com/watch?v=iigJbeTzFHs|alignment=left|valignment=top}}</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>: {{#evu:https://www.youtube.com/watch?v=iigJbeTzFHs|alignment=left|valignment=top}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''[[Sliding Piece Attacks|Up one Level]]'''</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''[[Sliding Piece Attacks|Up one Level]]'''</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">[[Category:Alphonse Mouzon]]</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">[[Category:Dom Um Romão]]</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">[[Category:Wayne Shorter]]</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">[[Category:Miroslav Vitouš]]</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">[[Category:Weather Report]]</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">[[Category:Joe Zawinul]]</ins></div></td></tr>
</table>
GerdIsenberg
https://www.chessprogramming.org/index.php?title=Dumb7Fill&diff=1640&oldid=prev
GerdIsenberg: Created page with "'''Home * Board Representation * Bitboards * Sliding Piece Attacks * Dumb7Fill''' '''Dumb7Fill''' - the obvious, straight forward [https://en.wikipe..."
2018-05-10T19:19:00Z
<p>Created page with "'''<a href="/Main_Page" title="Main Page">Home</a> * <a href="/Board_Representation" title="Board Representation">Board Representation</a> * <a href="/Bitboards" title="Bitboards">Bitboards</a> * <a href="/Sliding_Piece_Attacks" title="Sliding Piece Attacks">Sliding Piece Attacks</a> * Dumb7Fill''' '''Dumb7Fill''' - the obvious, straight forward [https://en.wikipe..."</p>
<p><b>New page</b></p><div>'''[[Main Page|Home]] * [[Board Representation]] * [[Bitboards]] * [[Sliding Piece Attacks]] * Dumb7Fill'''<br />
<br />
'''Dumb7Fill''' - the obvious, straight forward [https://en.wikipedia.org/wiki/Flood_fill flood-fill] approach works '''set-wise''' - '''seven''' times one fill-cycle by [[General Setwise Operations#OneStepOnly|one step only]] in one of eight [[Direction|directions]]. <br />
<br />
=Compass Rose=<br />
We rely on the [https://en.wikipedia.org/wiki/Compass_rose compass rose] to identify ray-directions.<br />
<pre><br />
noWe nort noEa<br />
+7 +8 +9<br />
\ | /<br />
west -1 <- 0 -> +1 east<br />
/ | \<br />
-9 -8 -7<br />
soWe sout soEa<br />
</pre><br />
<br />
{{MappingHint}}<br />
<span id="OccludedFill"></span><br />
=Occluded Fill= <br />
<br />
An [http://www.thefreedictionary.com/occluded occluded] fill includes the flood generating [[Sliding Pieces|sliding pieces]], but excludes the blocker. It is base of attack fills. One additional [[General Setwise Operations#OneStepOnly|direction shift]] excludes the sliders but includes the blocker.<br />
<br />
==Seven Fill Cycles== <br />
The sliding pieces generate the flood. They were [[General Setwise Operations#OneStepOnly|shifted one step]] in the desired direction and [[General Setwise Operations#Intersection|intersected]] with the set of empty squares, the propagator. The flood aggregates the intersection and the cycle repeats six further times to cover the maximum [[Distance|distance]] on the [[Chessboard|chessboard]]. A blocker, not member of propagator, stops the flood in that particular ray-direction for one sliding piece. Therefor occluded fill contains the initial generator but excludes any blocker.<br />
<pre><br />
U64 soutOccl(U64 gen, U64 pro) {<br />
for (int cycle = 0; cycle < 7; cycle++)<br />
gen |= pro & (gen >> 8);<br />
return gen;<br />
}<br />
</pre><br />
<br />
==Fill Loop== <br />
Alternatively one may save move-instructions by introducing an explicit flood accumulator, and to probably terminate the loop early if the flood stops:<br />
<pre><br />
U64 soutOccl(U64 gen, U64 pro) {<br />
U64 flood = 0;<br />
while (gen) {<br />
flood |= gen;<br />
gen = (gen >> 8) & pro;<br />
}<br />
return flood;<br />
}<br />
</pre><br />
<br />
==Unrolled Loop== <br />
To [[Avoiding Branches|avoid conditional branches]] and to schedule several directions in parallel, the "real" dumb7fill unrolls the loop:<br />
<pre><br />
U64 soutOccl(U64 gen, U64 pro) {<br />
U64 flood = gen;<br />
flood |= gen = (gen >> 8) & pro;<br />
flood |= gen = (gen >> 8) & pro;<br />
flood |= gen = (gen >> 8) & pro;<br />
flood |= gen = (gen >> 8) & pro;<br />
flood |= gen = (gen >> 8) & pro;<br />
flood |= gen = (gen >> 8) & pro;<br />
flood |= (gen >> 8) & pro;<br />
return flood;<br />
}<br />
</pre><br />
Some south fill cycles in slow motion:<br />
<pre><br />
flood = gen =<br />
brooks|bqueen empty<br />
1 . . . . . . . . 1 1 1 1 1 . 1<br />
. . . 1 . . . . 1 1 . . 1 . 1 .<br />
. . . . . . . . 1 . 1 1 1 1 . 1<br />
. . . . . . . . 1 1 . 1 1 1 1 1<br />
. . . . . 1 . . 1 1 1 . 1 . 1 1<br />
. . . . . . . . 1 1 . 1 1 1 1 .<br />
. . . . . . . . . . . 1 1 . . 1<br />
. . . . . . . . . 1 1 . 1 1 . 1<br />
1.fill<br />
gen = gen >> 8 & empty => flood<br />
. . . . . . . . . . . . . . . . 1 . . . . . . .<br />
1 . . . . . . . 1 . . . . . . . 1 . . 1 . . . .<br />
. . . 1 . . . . . . . 1 . . . . . . . 1 . . . .<br />
. . . . . . . . . . . . . . . . . . . . . . . .<br />
. . . . . . . . . . . . . . . . . . . . . 1 . .<br />
. . . . . 1 . . . . . . . 1 . . . . . . . 1 . .<br />
. . . . . . . . . . . . . . . . . . . . . . . .<br />
. . . . . . . . . . . . . . . . . . . . . . . .<br />
2.fill<br />
gen = gen >> 8 & empty flood |= ...<br />
. . . . . . . . . . . . . . . . 1 . . . . . . .<br />
. . . . . . . . . . . . . . . . 1 . . 1 . . . .<br />
1 . . . . . . . 1 . . . . . . . 1 . . 1 . . . .<br />
. . . 1 . . . . . . . 1 . . . . . . . 1 . . . .<br />
. . . . . . . . . . . . . . . . . . . . . 1 . .<br />
. . . . . . . . . . . . . . . . . . . . . 1 . .<br />
. . . . . 1 . . . . . . . 0 . . . . . . . . . .<br />
. . . . . . . . . . . . . . . . . . . . . . . .<br />
3.fill<br />
gen = gen >> 8 & empty flood |= ...<br />
. . . . . . . . . . . . . . . . 1 . . . . . . .<br />
. . . . . . . . . . . . . . . . 1 . . 1 . . . .<br />
. . . . . . . . . . . . . . . . 1 . . 1 . . . .<br />
1 . . . . . . . 1 . . . . . . . 1 . . 1 . . . .<br />
. . . 1 . . . . . . . 0 . . . . . . . . . 1 . .<br />
. . . . . . . . . . . . . . . . . . . . . 1 . .<br />
. . . . . . . . . . . . . . . . . . . . . . . .<br />
. . . . . . . . . . . . . . . . . . . . . . . .<br />
<br />
...<br />
<br />
6.fill<br />
gen = gen >> 8 & empty flood |= ...<br />
. . . . . . . . . . . . . . . . 1 . . . . . . .<br />
. . . . . . . . . . . . . . . . 1 . . 1 . . . .<br />
. . . . . . . . . . . . . . . . 1 . . 1 . . . .<br />
. . . . . . . . . . . . . . . . 1 . . 1 . . . .<br />
. . . . . . . . . . . . . . . . 1 . . . . 1 . .<br />
. . . . . . . . . . . . . . . . 1 . . . . 1 . .<br />
1 . . . . . . . 0 . . . . . . . . . . . . . . .<br />
. . . . . . . . . . . . . . . . . . . . . . . .<br />
</pre><br />
The flood already stopped, the final 7th fill cycles don't change anything.<br />
<br />
=Attack Fill= <br />
To get attacks, one additional [[General Setwise Operations#OneStepOnly|direction shift]] of the occluded fill is necessary to exclude the rooks/queen and include the blocker:<br />
<pre><br />
U64 soutAttacks (U64 rooks, U64 empty) {return soutOne(soutOccl(rooks, empty));}<br />
</pre><br />
<br />
==Comparison with Kogge-Stone== <br />
To combine the dumb7fill as attack getter, we also can take advantage of [[First Rank Attacks#TheOuterSquares|outer square]] occupancy doesn't affect the attack set. We need one fill cycle less, before the final shift. That takes 19 operations. In anticipation to [[Parallel Prefix Algorithms|parallel prefix]], a [[Kogge-Stone Algorithm|Kogge-Stone]] approach takes 14 instructions, 5 less. Kogge-Stone needs more move-instructions and a temporary register to compute generator as well as propagator, while dumb7fill uses a const propagator:<br />
<pre><br />
dumb7fill | Kogge-Stone Algorithm<br />
|<br />
U64 soutAttacks(U64 rooks, U64 empty) { | U64 soutAttacks(U64 rooks, U64 empty) {<br />
U64 flood = rooks; | rooks |= empty & (rooks >> 8);<br />
flood |= rooks = (rooks >> 8) & empty; | empty = empty & (empty >> 8);<br />
flood |= rooks = (rooks >> 8) & empty; | rooks |= empty & (rooks >> 16);<br />
flood |= rooks = (rooks >> 8) & empty; | empty = empty & (empty >> 16);<br />
flood |= rooks = (rooks >> 8) & empty; | rooks |= empty & (rooks >> 32);<br />
flood |= rooks = (rooks >> 8) & empty; | return rooks >> 8;<br />
flood |= (rooks >> 8) & empty; | }<br />
return flood >> 8; |<br />
} |<br />
|<br />
in x86/64 assembly | in x86/64 assembly<br />
; dumb7fill | ; koggeStone<br />
; rooks rdx | ; rooks rdx<br />
; empty rcx | ; empty rcx<br />
|<br />
mov rax, rdx | mov rax, rdx<br />
| shr rax, 8<br />
shr rdx, 8 | and rax, rcx<br />
and rdx, rcx | or rdx, rax<br />
or rax, rdx |<br />
| mov rax, rcx<br />
shr rdx, 8 | shr rax, 8<br />
and rdx, rcx | and rcx, rax<br />
or rax, rdx |<br />
| mov rax, rdx<br />
shr rdx, 8 | shr rax, 16<br />
and rdx, rcx | and rax, rcx<br />
or rax, rdx | or rdx, rax<br />
|<br />
shr rdx, 8 | mov rax, rcx<br />
and rdx, rcx | shr rax, 16<br />
or rax, rdx | and rcx, rax<br />
|<br />
shr rdx, 8 | mov rax, rdx<br />
and rdx, rcx | shr rax, 32<br />
or rax, rdx | and rax, rcx<br />
| or rax, rdx<br />
shr rdx, 8 |<br />
and rdx, rcx | shr rax, 8<br />
or rax, rdx |<br />
|<br />
shr rax, 8 |<br />
|<br />
1 move | 5 moves<br />
19 operations | 14 operations<br />
20 instructions | 19 instructions<br />
</pre><br />
Thus, dumb7fill is not that bad, specially if processing several directions in parallel, like south and north, all east and all west attacks.<br />
<br />
==All Directions== <br />
<pre><br />
U64 soutAttacks(U64 rooks, U64 empty) {<br />
U64 flood = rooks;<br />
flood |= rooks = (rooks >> 8) & empty;<br />
flood |= rooks = (rooks >> 8) & empty;<br />
flood |= rooks = (rooks >> 8) & empty;<br />
flood |= rooks = (rooks >> 8) & empty;<br />
flood |= rooks = (rooks >> 8) & empty;<br />
flood |= (rooks >> 8) & empty;<br />
return flood >> 8;<br />
}<br />
<br />
U64 nortAttacks(U64 rooks, U64 empty) {<br />
U64 flood = rooks;<br />
flood |= rooks = (rooks << 8) & empty;<br />
flood |= rooks = (rooks << 8) & empty;<br />
flood |= rooks = (rooks << 8) & empty;<br />
flood |= rooks = (rooks << 8) & empty;<br />
flood |= rooks = (rooks << 8) & empty;<br />
flood |= (rooks << 8) & empty;<br />
return flood << 8;<br />
}<br />
</pre><br />
Horizontal fills need to consider wraps from H-file to A-file and vice versa. Fortunately this can be combined by intersection of ~A-file or ~H-file with the propagator:<br />
<pre><br />
U64 eastAttacks(U64 rooks, U64 empty) {<br />
const U64 notA = C64(0xfefefefefefefefe);<br />
U64 flood = rooks;<br />
empty &= notA;<br />
flood |= rooks = (rooks << 1) & empty;<br />
flood |= rooks = (rooks << 1) & empty;<br />
flood |= rooks = (rooks << 1) & empty;<br />
flood |= rooks = (rooks << 1) & empty;<br />
flood |= rooks = (rooks << 1) & empty;<br />
flood |= (rooks << 1) & empty;<br />
return (flood << 1) & notA ;<br />
}<br />
<br />
U64 noEaAttacks(U64 bishops, U64 empty) {<br />
const U64 notA = C64(0xfefefefefefefefe);<br />
U64 flood = bishops;<br />
empty &= notA;<br />
flood |= bishops = (bishops << 9) & empty;<br />
flood |= bishops = (bishops << 9) & empty;<br />
flood |= bishops = (bishops << 9) & empty;<br />
flood |= bishops = (bishops << 9) & empty;<br />
flood |= bishops = (bishops << 9) & empty;<br />
flood |= (bishops << 9) & empty;<br />
return (flood << 9) & notA ;<br />
}<br />
<br />
U64 soEaAttacks(U64 bishops, U64 empty) {<br />
const U64 notA = C64(0xfefefefefefefefe);<br />
U64 flood = bishops;<br />
empty &= notA;<br />
flood |= bishops = (bishops >> 7) & empty;<br />
flood |= bishops = (bishops >> 7) & empty;<br />
flood |= bishops = (bishops >> 7) & empty;<br />
flood |= bishops = (bishops >> 7) & empty;<br />
flood |= bishops = (bishops >> 7) & empty;<br />
flood |= (bishops >> 7) & empty;<br />
return (flood >> 7) & notA ;<br />
}<br />
<br />
U64 westAttacks(U64 rooks, U64 empty) {<br />
const U64 notH = C64(0x7f7f7f7f7f7f7f7f);<br />
U64 flood = rooks;<br />
empty &= notH;<br />
flood |= rooks = (rooks >> 1) & empty;<br />
flood |= rooks = (rooks >> 1) & empty;<br />
flood |= rooks = (rooks >> 1) & empty;<br />
flood |= rooks = (rooks >> 1) & empty;<br />
flood |= rooks = (rooks >> 1) & empty;<br />
flood |= (rooks >> 1) & empty;<br />
return (flood >> 1) & notH ;<br />
}<br />
<br />
U64 soWeAttacks(U64 bishops, U64 empty) {<br />
const U64 notH = C64(0x7f7f7f7f7f7f7f7f);<br />
U64 flood = bishops;<br />
empty &= notH;<br />
flood |= bishops = (bishops >> 9) & empty;<br />
flood |= bishops = (bishops >> 9) & empty;<br />
flood |= bishops = (bishops >> 9) & empty;<br />
flood |= bishops = (bishops >> 9) & empty;<br />
flood |= bishops = (bishops >> 9) & empty;<br />
flood |= (bishops >> 9) & empty;<br />
return (flood >> 9) & notH ;<br />
}<br />
<br />
U64 noWeAttacks(U64 bishops, U64 empty) {<br />
const U64 notH = C64(0x7f7f7f7f7f7f7f7f);<br />
U64 flood = bishops;<br />
empty &= notH;<br />
flood |= bishops = (bishops << 7) & empty;<br />
flood |= bishops = (bishops << 7) & empty;<br />
flood |= bishops = (bishops << 7) & empty;<br />
flood |= bishops = (bishops << 7) & empty;<br />
flood |= bishops = (bishops << 7) & empty;<br />
flood |= (bishops << 7) & empty;<br />
return (flood << 7) & notH ;<br />
}<br />
</pre><br />
<br />
<span id="GeneralizedRays"></span><br />
=Generalized Rays= <br />
<br />
Since [[General Setwise Operations#Rotate|rotate]] works like a [[General Setwise Operations#GeneralizedShift|generalized shift]] with positive or negative shift amount - since it internally applies a modulo 64 and makes -i = 64-i. We need to clear either the lower or upper bits by intersection with a mask, which might be combined with the wrap-ands for [[General Setwise Operations#OneStepOnly|one step]]. It might be applied to get attacks for both sides with a direction parameter and small lookups for shift amount and wrap-ands - instead of multiple code for eight directions. Of course generalized shift will be a bit slower due to lookups and using cl as the shift amount register.<br />
<br />
==Loop Version== <br />
This is the loop-version:<br />
<pre><br />
U64 occludedFill (U64 gen, U64 pro, int dir8) {<br />
U64 flood = 0;<br />
if (gen) {<br />
int r = shift[dir8]; // {+-1,7,8,9}<br />
pro &= avoidWrap[dir8];<br />
do {<br />
flood |= gen;<br />
gen = rotateLeft(gen, r) & pro;<br />
} while (gen);<br />
}<br />
return flood;<br />
}<br />
<br />
U64 shiftOne (U64 b, int dir8) {<br />
int r = shift[dir8]; // {+-1,7,8,9}<br />
return rotateLeft(b, r) & avoidWrap[dir8];<br />
}<br />
<br />
U64 slidingAttacks (U64 sliders, U64 empty, int dir8) {<br />
U64 fill = occludedFill(slider, empty, dir8)<br />
return shiftOne(fill, dir8);<br />
}<br />
<br />
// positve left, negative right shifts<br />
int shift[8] = {9, 1,-7,-8,-9,-1, 7, 8};<br />
<br />
U64 avoidWrap[8] =<br />
{<br />
0xfefefefefefefe00,<br />
0xfefefefefefefefe,<br />
0x00fefefefefefefe,<br />
0x00ffffffffffffff,<br />
0x007f7f7f7f7f7f7f,<br />
0x7f7f7f7f7f7f7f7f,<br />
0x7f7f7f7f7f7f7f00,<br />
0xffffffffffffff00,<br />
};<br />
</pre><br />
The avoidWrap masks by some arbitrary dir8 enumeration and shift amount:<br />
<pre><br />
6 == noWe -> +7 7 == nort -> +8 0 == noEa -> +9<br />
0x7F7F7F7F7F7F7F00 0xFFFFFFFFFFFFFF00 0xFEFEFEFEFEFEFE00<br />
1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1<br />
1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1<br />
1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1<br />
1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1<br />
1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1<br />
1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1<br />
1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1<br />
. . . . . . . . . . . . . . . . . . . . . . . .<br />
<br />
5 == west -> -1 1 == east -> +1<br />
0x7F7F7F7F7F7F7F7F 0xFEFEFEFEFEFEFEFE<br />
1 1 1 1 1 1 1 . . 1 1 1 1 1 1 1<br />
1 1 1 1 1 1 1 . . 1 1 1 1 1 1 1<br />
1 1 1 1 1 1 1 . . 1 1 1 1 1 1 1<br />
1 1 1 1 1 1 1 . . 1 1 1 1 1 1 1<br />
1 1 1 1 1 1 1 . . 1 1 1 1 1 1 1<br />
1 1 1 1 1 1 1 . . 1 1 1 1 1 1 1<br />
1 1 1 1 1 1 1 . . 1 1 1 1 1 1 1<br />
1 1 1 1 1 1 1 . . 1 1 1 1 1 1 1<br />
<br />
4 == soWe -> -9 3 == sout -> -8 2 == soEa -> -7<br />
0x007F7F7F7F7F7F7F 0x00FFFFFFFFFFFFFF 0x00FEFEFEFEFEFEFE<br />
. . . . . . . . . . . . . . . . . . . . . . . .<br />
1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1<br />
1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1<br />
1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1<br />
1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1<br />
1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1<br />
1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1<br />
1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1<br />
</pre><br />
<br />
==Unrolled Attacks== <br />
The generalized unrolled sliding attack getter:<br />
<pre><br />
U64 slidingAttacks (U64 sliders, U64 empty, int dir8) {<br />
U64 flood = sliders;<br />
int r = shift[dir8]; // {+-1,7,8,9}<br />
empty &= avoidWrap[dir8];<br />
flood |= sliders = rotateLeft(sliders , r) & empty;<br />
flood |= sliders = rotateLeft(sliders , r) & empty;<br />
flood |= sliders = rotateLeft(sliders , r) & empty;<br />
flood |= sliders = rotateLeft(sliders , r) & empty;<br />
flood |= sliders = rotateLeft(sliders , r) & empty;<br />
flood |= = rotateLeft(sliders , r) & empty;<br />
return rotateLeft(flood, r) & avoidWrap[dir8];<br />
}<br />
</pre><br />
<br />
=See also=<br />
* [[AVX2#Dumb7Fill|AVX2 Dumb7Fill]]<br />
* [[Fill Algorithms]]<br />
* [[Kogge-Stone Algorithm]]<br />
* [[Pieces versus Directions]]<br />
<br />
=External Links=<br />
* [http://radagast.se/othello/bitmob.c bitboard mobility] Copyright (c) 2003, [[Gunnar Andersson]] » [[Othello]], [[Mobility]]<br />
* [[Videos#WeatherReport|Weather Report]] - [http://www.weatherreportdiscography.org/weather-report-1971/ Seventh Arrow / Umbrellas, 1971], [https://en.wikipedia.org/wiki/YouTube YouTube] Video<br />
: [[Videos#JoeZawinul|Joe Zawinul]], [[Videos#WayneShorter|Wayne Shorter]], [[Videos#MiroslavVitous|Miroslav Vitouš]], [[Videos#AlphonseMouzon|Alphonse Mouzon]], [[Videos#DomUmRomao|Dom Um Romão]]<br />
: {{#evu:https://www.youtube.com/watch?v=iigJbeTzFHs|alignment=left|valignment=top}}<br />
<br />
'''[[Sliding Piece Attacks|Up one Level]]'''</div>
GerdIsenberg