2023-12-22 08:51:18 -08:00
|
|
|
Notes on Building Chess Engines
|
|
|
|
===============================
|
|
|
|
|
|
|
|
BitBoards
|
|
|
|
---------
|
|
|
|
|
2024-01-06 17:02:07 -08:00
|
|
|
### Mapping
|
|
|
|
|
|
|
|
Little-Endian Rank-File (LERF) Mapping maps squares to bit offsets (or indexes) from a1 to h8.
|
|
|
|
|
|
|
|
```
|
|
|
|
+-----------------+
|
|
|
|
8| 0 0 0 0 0 0 0 0 |
|
|
|
|
7| 0 0 0 0 0 0 0 0 |
|
|
|
|
6| 0 0 0 0 0 0 0 0 |
|
|
|
|
5| 0 0 0 0 0 0 0 0 |
|
|
|
|
4| 0 0 0 0 0 0 0 0 |
|
|
|
|
3| 0 0 0 0 0 0 0 0 |
|
|
|
|
2| 0 0 0 0 0 0 0 0 |
|
|
|
|
1| 0 0 0 0 0 0 0 0 |
|
|
|
|
+-----------------+
|
|
|
|
A B C D E F G H
|
|
|
|
```
|
|
|
|
|
|
|
|
```
|
|
|
|
+-----------------+
|
|
|
|
8| 1 0 0 0 0 0 0 0 |
|
|
|
|
7| 1 0 0 0 0 0 0 0 |
|
|
|
|
6| 1 0 0 0 0 0 0 0 |
|
|
|
|
5| 1 0 0 0 0 0 0 0 |
|
|
|
|
4| 1 0 0 0 0 0 0 0 |
|
|
|
|
3| 1 0 0 0 0 0 0 0 |
|
|
|
|
2| 1 0 0 0 0 0 0 0 |
|
|
|
|
1| 1 0 0 0 0 0 0 0 |
|
|
|
|
+-----------------+
|
|
|
|
A B C D E F G H
|
|
|
|
```
|
|
|
|
|
2023-12-22 08:51:18 -08:00
|
|
|
### Counting Bit Sets
|
|
|
|
|
|
|
|
https://graphics.stanford.edu/%7Eseander/bithacks.html#CountBitsSetParallel
|