Pawn+Fills

toc
 * Home * Board Representation * Bitboards * Pawn Pattern and Properties * Pawn Fills**

Vertical pawn **fills** are base of spans. They are used to determine **closed**, half-open and open files.

 =Front- and Rearfill= Frontfills and rearfills are the base of front- and rearspans, which require one additional north/south shift. Of course whites front direction is north, while blacks front direction is south - vice versa for the rear side. code white frontfill    black rearfill 1 1 1 . . 1 1 1    1 1 1 1 . 1 1 1 1 1 1 . . 1 1 1     1 1 1 1 . 1 1 1 1 1 1 . . 1 1 1     1 . 1 1 . . . 1 1 1 1 . . 1 1 1     . . . 1 . . . . 1 1 1 . . 1 1 1  ^  . . . . . . . . . 1 1 . . . 1 1  |   . . . . . . . . . 1 1 . . . 1 1  |   . . . . . . . . . . . . . . . .  |   . . . . . . . .               north white pawns        black pawns . . . . . . . .    . . . . . . . . . . . . . . . .     . 1 . . . 1 1 . . . . . . . . .     1 . 1 . . . . 1 . . . . . . . .     . . . 1 . . . . 1 . . . . 1 . .     . . . . . . . . . . 1 . . . . .     . . . . . . . . . 1 1 . . . 1 1     . . . . . . . . . . . . . . . .     . . . . . . . .               south white rearfill     black frontfill . . . . . . . . |  . . . . . . . . . . . . . . . .  |  . 1 . . . 1 1 . . . . . . . . .  |  1 1 1 . . 1 1 1 . . . . . . . .  v  1 1 1 1. 1 1 1 1 . . . . 1 . .    1 1 1 1 . 1 1 1 1 . 1 . . 1 . .     1 1 1 1 . 1 1 1 1 1 1 . . 1 1 1     1 1 1 1 . 1 1 1 1 1 1 . . 1 1 1     1 1 1 1 . 1 1 1 code Parallel prefix Kogge-Stone-routines are used to fill either north or south: code format="cpp" U64 nortFill(U64 gen) { gen |= (gen << 8); gen |= (gen << 16); gen |= (gen << 32); return gen; }

U64 soutFill(U64 gen) { gen |= (gen >> 8); gen |= (gen >> 16); gen |= (gen >> 32); return gen; } code Note that the pawns are still subset of their fill sets. The intersection of both north and south fills leaves the initial pawn set again. All pawns which are member of the opponent front fills have a **mechanical obstruction** and are **unfree**. code format="cpp" U64 wFrontFill(U64 wpawns) {return nortFill(wpawns);} U64 wRearFill (U64 wpawns) {return soutFill(wpawns);}

U64 bFrontFill(U64 bpawns) {return soutFill(bpawns);} U64 bRearFill (U64 bpawns) {return nortFill(bpawns);} code

 =Filefill= The union of both front- and rearfills, leaves the complete file with at least one either white or black pawn on it. Since filefills have all ranks equal, they may treated as bytes, if it is about pure file sets. code format="cpp" U64 fileFill(U64 gen) { return nortFill(gen) | soutFill(gen); } code

code white pawns        black pawns . . . . . . . .    . . . . . . . . . . . . . . . .     . 1 . . . 1 1 . . . . . . . . .     1 . 1 . . . . 1 . . . . . . . .     . . . 1 . . . . 1 . . . . 1 . .     . . . . . . . . . . 1 . . . . .     . . . . . . . . . 1 1 . . . 1 1     . . . . . . . . . . . . . . . .     . . . . . . . . white filefill      black filefill 1 1 1 . . 1 1 1    1 1 1 1 . 1 1 1 1 1 1 . . 1 1 1     1 1 1 1 . 1 1 1 1 1 1 . . 1 1 1     1 1 1 1 . 1 1 1 1 1 1 . . 1 1 1     1 1 1 1 . 1 1 1 1 1 1 . . 1 1 1     1 1 1 1 . 1 1 1 1 1 1 . . 1 1 1     1 1 1 1 . 1 1 1 1 1 1 . . 1 1 1     1 1 1 1 . 1 1 1 1 1 1 . . 1 1 1     1 1 1 1 . 1 1 1 code Based on pawns, files are either **closed**, open or halfopen.

=See also=
 * Fill Algorithms
 * Half-open File
 * Kogge-Stone Algorithm
 * Open File
 * Parallel Prefix Algorithms
 * Pawn Spans
 * Pawns and Files (Bitboards)

=External Links= > feat. John Scofield and Alphonso Johnson, [|Montreux Jazz Festival], July 6, 1976 > media type="custom" key="26365642"
 * Billy Cobham - George Duke Band - Juicy, [|YouTube] Video

=What links here?= include page="Pawn Fills" component="backlinks" limit="20"
 * Up one Level**