/* pruning search flags in the cpf file */ # define DO_NULL_MOVE 1 /* do null-move forward futility pruning */ # define DO_FUTILITY 2 /* do non null-move forward futility pruning */ # define DO_LMR 4 /* do LMR */ # define DONT_LMR_PV 8 /* don't LMR in PV nodes */ # define DONT_LMR_CAPTURES 16 /* don't LMR bad captures */ # define DONT_LMR_NONCAPTURES 32 /* don't LMR not bad non-captures */ # define DO_QFUTILITY 1024 /* do delta pruning (Q forward futility pruning) */ /* quiescent search flags in the cpf file */ # define DO_QCHECKS 1 /* do Q checks */ # define DO_QNEGASCOUT 2 /* do negascout in Q search */ # define DO_QSTANDPAT 4 /* do Q stand-pat fail-high cut-off if in check */ /* search flags in the cpf file */ # define DO_DEEPEN 1 /* do internal iterative deepening */ # define DO_BETTER_MOVE_SORT 2 /* do better move sort */ /* evaluation flags in the cpf file */ # define LAZY_EVAL 1 /* do lazy evaluation */ # define RIEGLE_EVAL 2 /* Riegle's material evaluation */ # define KAUFMAN_EVAL 4 /* Kaufman's material evaluation */ # define STRELKA_TABLE 8 /* Strelka's material table evaluation */ # define EXTERNAL_EVAL 65536 /* compare external evaluation from a dll */ /* cpf file parameters' categories */ # define CATEGORY_SEARCH 1 /* :s 's - s.a s.e s.n s.f s.r s.q */ # define CATEGORY_MATERIAL 2 /* :m 'm - m.P m.N m.B m.R m.Q m.i m.e */ # define CATEGORY_OTHER 4 /* :o 'o - o.w o.d o.l o.e */ # define CATEGORY_PAWN 8 /* :P 'P - */ # define CATEGORY_KNIGHT 16 /* :N 'N - */ # define CATEGORY_BISHOP 32 /* :B 'B - */ # define CATEGORY_ROOK 64 /* :R 'R - */ # define CATEGORY_QUEEN 128 /* :Q 'Q - */ # define CATEGORY_KING 256 /* :K 'K - */ # define CATEGORY_DEVELOPMENT 512 /* :d 'd - */ # define CATEGORY_SQUARE 1024 /* :t 't - */ # define CATEGORY_MOBILITY 2048 /* :a 'a - */ # define CATEGORY_PASSED_PAWN 4096 /* :p 'p - */