# Pawn Spans

Home * Board Representation * Bitboards * Pawn Pattern and Properties * Pawn Spans

Pawn Spans and Fill-Pattern of pawns are used as a base for many other pawn structure related stuff, to determine passers, candidates, isolanis etc. set-wise.

# Type of Spans

Every pawn has a frontspan with stop - and telestop squares, and a rearspan. Further the pawn has a lee- and luff-side, while rook-pawns miss the lee-side.

```white pawn d5:
. . . f . . . .
. . . r . . . .    movement
. . . o . . . .      ^
l e e P l u f f      |
. . . r . . . .
. . . e . . . .
. . . a . . . .
. . . r . . . .
```

A span of each individual pawn reflects either its distance to promotion (frontspan), or distance to its back rank (rearspan).

## Front- and Rearspans

Front- and rearspans are the front- and rearfills shifted one step further in the fill-direction:

```white frontspans    black rearspans
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 rearspans     black frontspans
. . . . . . . .  |  . . . . . . . .
. . . . . . . .  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
```
```U64 wFrontSpans(U64 wpawns) {return nortOne (nortFill(wpawns));}
U64 bRearSpans (U64 bpawns) {return nortOne (nortFill(bpawns));}
U64 bFrontSpans(U64 bpawns) {return soutOne (soutFill(bpawns));}
U64 wRearSpans (U64 wpawns) {return soutOne (soutFill(wpawns));}
```
• Pawns still member of their frontspan have at least one pawn behind on the same file.
• Pawns still member of their rearspan have at least one pawn in front on the same file.
• All pawns which are member of the opponent frontspans (or frontfill) have a mechanical obstruction and are unfree.

## Interspans

The intersection of white and black frontspans is called interspan. Obviously interspans can only occur on closed files. Rooks on interspans may have a hard time, if the attacked opponent pawns are safe. Their vertical mobility is restricted and they may vulnerable to get trapped and attacked. On the other hand, if supported by other attacking pieces, there might be successful attacks against weak pawns and the especially the king.

```white frontspan  &  black frontspan  =  interspan
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     . . . . . . . .
```

# Stop and Telestop

Stop squares are the push move targets of any pawn.

```U64 wStop(U64 wpawns) {return nortOne (wpawns);}
U64 bStop(U64 bpawns) {return soutOne (bpawns);}
```

Thus, the frontfills of the stop squares are the frontspans of the pawns:

```U64 wFrontSpan(U64 wpawns) {return nortFill(wStop(wpawns));}
U64 bFrontSpan(U64 bpawns) {return soutFill(bStop(bpawns));}
```

Telestop squares all the squares of the frontspan, except the stop squares

```U64 wTeleStops(U64 wpawns) {return wFrontSpans(wStop(wpawns)) ^ wStop(wpawns);}
U64 bTeleStops(U64 bpawns) {return bFrontSpans(bStop(bpawns)) ^ bStop(bpawns);}
```