libscid 0.1.0
Chess applications made easy.
Loading...
Searching...
No Matches
hash.h File Reference

Pre-generated Zobrist hash values for chess positions. More...

#include "scid/core/board.h"
+ Include dependency graph for hash.h:

Go to the source code of this file.

Classes

class  scid::core::HashVal
 

Variables

constexpr auto scid::core::HASH = HashVal()
 
auto const & scid::core::UNHASH = HASH
 
constexpr unsigned scid::core::stdStartPawnHash
 
constexpr unsigned scid::core::stdStartHash
 

Detailed Description

Pre-generated Zobrist hash values for chess positions.

Variable Documentation

◆ stdStartHash

constexpr unsigned scid::core::stdStartHash
inlineconstexpr
Initial value:
= [] {
auto h = stdStartPawnHash;
HASH (h,WR,A1); HASH (h,WN,B1); HASH (h,WB,C1); HASH (h,WQ,D1);
HASH (h,WK,E1); HASH (h,WB,F1); HASH (h,WN,G1); HASH (h,WR,H1);
HASH (h,BR,A8); HASH (h,BN,B8); HASH (h,BB,C8); HASH (h,BQ,D8);
HASH (h,BK,E8); HASH (h,BB,F8); HASH (h,BN,G8); HASH (h,BR,H8);
return h;
}()

◆ stdStartPawnHash

constexpr unsigned scid::core::stdStartPawnHash
inlineconstexpr
Initial value:
= [] {
unsigned h = 0;
HASH (h,WP,A2); HASH (h,WP,B2); HASH (h,WP,C2); HASH (h,WP,D2);
HASH (h,WP,E2); HASH (h,WP,F2); HASH (h,WP,G2); HASH (h,WP,H2);
HASH (h,BP,A7); HASH (h,BP,B7); HASH (h,BP,C7); HASH (h,BP,D7);
HASH (h,BP,E7); HASH (h,BP,F7); HASH (h,BP,G7); HASH (h,BP,H7);
return h;
}()