My Project
Macros
settings.h File Reference
#include <stdbool.h>

Go to the source code of this file.

Macros

#define MOVE_GENERATOR_CARRY   1
 
#define MOVE_GENERATOR_KINDERGARTEN   2
 
#define MOVE_GENERATOR_SSE   3
 
#define MOVE_GENERATOR_BITSCAN   4
 
#define MOVE_GENERATOR_ROXANE   5
 
#define MOVE_GENERATOR   MOVE_GENERATOR_CARRY
 
#define USE_TC   true
 
#define USE_SC   true
 
#define USE_ETC   true
 
#define USE_PROBCUT   true
 
#define USE_RECURSIVE_PROBCUT   true
 
#define LIMIT_RECURSIVE_PROBCUT(x)   x
 
#define KOGGE_STONE   2
 
#define PARALLEL_PREFIX   1
 
#define USE_IID   false
 
#define USE_PREVIOUS_SEARCH   true
 
#define USE_TYPE_PUNING   true
 
#define HASH_N_WAY   4
 
#define HASH_ALIGNED   1
 
#define USE_PV_EXTENSION   true
 
#define DEPTH_TO_SHALLOW_SEARCH   7
 
#define DEPTH_MIDGAME_TO_ENDGAME   15
 
#define ITERATIVE_MIN_EMPTIES   10
 
#define PV_HASH_HEIGHT   5
 
#define ETC_MIN_DEPTH   5
 
#define SORT_ALPHA_DELTA   8
 
#define SPLIT_MIN_DEPTH   5
 
#define SPLIT_MIN_MOVES_TODO   1
 
#define SPLIT_MAX_SLAVES   3
 
#define BRANCHING_FACTOR   2.24
 
#define SMP_W   49.0
 
#define SMP_C   1.0
 
#define FAST_PERFT   true
 
#define MULTIPV_DEPTH   10
 

Detailed Description

Various macro / constants to control algorithm usage.

Date
1998 - 2017
Author
Richard Delorme
Version
4.4

Macro Definition Documentation

◆ BRANCHING_FACTOR

#define BRANCHING_FACTOR   2.24

Branching factor (to adjust alloted time).

◆ DEPTH_MIDGAME_TO_ENDGAME

#define DEPTH_MIDGAME_TO_ENDGAME   15

Switch from midgame to endgame search (faster but less node efficient) at this depth.

◆ DEPTH_TO_SHALLOW_SEARCH

#define DEPTH_TO_SHALLOW_SEARCH   7

Swith from endgame to shallow search (faster but less node efficient) at this depth.

◆ ETC_MIN_DEPTH

#define ETC_MIN_DEPTH   5

Try ETC down to this depth.

◆ FAST_PERFT

#define FAST_PERFT   true

Fast perft

◆ HASH_ALIGNED

#define HASH_ALIGNED   1

hash align

◆ HASH_N_WAY

#define HASH_N_WAY   4

Hash-n-way.

◆ ITERATIVE_MIN_EMPTIES

#define ITERATIVE_MIN_EMPTIES   10

Switch from midgame result (evaluated score) to endgame result (exact score) at this number of empties.

◆ KOGGE_STONE

#define KOGGE_STONE   2

kogge-stone parallel prefix algorithm usage. 0 -> none, 1 -> move generator, 2 -> stability, 3 -> both.

◆ LIMIT_RECURSIVE_PROBCUT

#define LIMIT_RECURSIVE_PROBCUT (   x)    x

limit recursive probcut level

◆ MOVE_GENERATOR

#define MOVE_GENERATOR   MOVE_GENERATOR_CARRY

move generation.

◆ MOVE_GENERATOR_BITSCAN

#define MOVE_GENERATOR_BITSCAN   4

◆ MOVE_GENERATOR_CARRY

#define MOVE_GENERATOR_CARRY   1

◆ MOVE_GENERATOR_KINDERGARTEN

#define MOVE_GENERATOR_KINDERGARTEN   2

◆ MOVE_GENERATOR_ROXANE

#define MOVE_GENERATOR_ROXANE   5

◆ MOVE_GENERATOR_SSE

#define MOVE_GENERATOR_SSE   3

◆ MULTIPV_DEPTH

#define MULTIPV_DEPTH   10

multi_pv depth

◆ PARALLEL_PREFIX

#define PARALLEL_PREFIX   1

1 stage parallel prefix algorithm usage. 0 -> none, 1 -> move generator, 2 -> stability, 3 -> both.

◆ PV_HASH_HEIGHT

#define PV_HASH_HEIGHT   5

Store bestmoves in the pv_hash up to this height.

◆ SMP_C

#define SMP_C   1.0

Critical time.

◆ SMP_W

#define SMP_W   49.0

Parallelisable work.

◆ SORT_ALPHA_DELTA

#define SORT_ALPHA_DELTA   8

bound for usefull move sorting

◆ SPLIT_MAX_SLAVES

#define SPLIT_MAX_SLAVES   3

Stop Node splitting (for parallel search) after a few splitting.

◆ SPLIT_MIN_DEPTH

#define SPLIT_MIN_DEPTH   5

Try Node splitting (for parallel search) down to that depth.

◆ SPLIT_MIN_MOVES_TODO

#define SPLIT_MIN_MOVES_TODO   1

Stop Node splitting (for parallel search) when few move remains.

◆ USE_ETC

#define USE_ETC   true

enhanced transposition cutoff usage.

◆ USE_IID

#define USE_IID   false

Internal Iterative Deepening.

◆ USE_PREVIOUS_SEARCH

#define USE_PREVIOUS_SEARCH   true

Use previous search result

◆ USE_PROBCUT

#define USE_PROBCUT   true

probcut usage.

◆ USE_PV_EXTENSION

#define USE_PV_EXTENSION   true

PV extension (solve PV alone sooner)

◆ USE_RECURSIVE_PROBCUT

#define USE_RECURSIVE_PROBCUT   true

Use recursive probcut

◆ USE_SC

#define USE_SC   true

stability cutoff usage.

◆ USE_TC

#define USE_TC   true

transposition cutoff usage.

◆ USE_TYPE_PUNING

#define USE_TYPE_PUNING   true

Allow type puning