chessfriend/doc/Notes.md

42 lines
770 B
Markdown
Raw Normal View History

2023-12-22 08:51:18 -08:00
Notes on Building Chess Engines
===============================
BitBoards
---------
### 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