Hi all,
I'm sifting through the source code for Stockfish, and trying to understand some of the array definitions. The RMult[64], BMult[64], RShift[64], and BShift[64] specifically. How are the values generated. Are they random? Not sure what each value represents. Let's take the first value for:
RMult[64] = {0xD7445CDEC88002C0ULL, ...
What is this value really telling me? I mean I can see how RMult is being used in other places in the code but I'd like to know why these specific values are used.
Thanks so much.
Stockfish Internals
Moderator: Ras
-
Edmund
- Posts: 670
- Joined: Mon Dec 03, 2007 3:01 pm
- Location: Barcelona, Spain
Re: Stockfish Internals
You should read this article:
http://chessprogramming.wikispaces.com/Magic+Bitboards
http://chessprogramming.wikispaces.com/Magic+Bitboards
-
zamar
- Posts: 613
- Joined: Sun Jan 18, 2009 7:03 am
Re: Stockfish Internals
http://chessprogramming.wikispaces.com/ ... for+Magics by Tord Romstadwhittenizer wrote:Hi all,
I'm sifting through the source code for Stockfish, and trying to understand some of the array definitions. The RMult[64], BMult[64], RShift[64], and BShift[64] specifically. How are the values generated. Are they random? Not sure what each value represents. Let's take the first value for:
RMult[64] = {0xD7445CDEC88002C0ULL, ...
What is this value really telling me? I mean I can see how RMult is being used in other places in the code but I'd like to know why these specific values are used.
Thanks so much.
Joona Kiiski