RobboLito ... IvanHoe v70 tables, values

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

benstoker
Posts: 342
Joined: Tue Jan 19, 2010 2:05 am

RobboLito ... IvanHoe v70 tables, values

Post by benstoker »

Larry Kaufman, here's more. Do you espy any other similarities. I tried to put it all in one place.

Code: Select all


#define wOutpost 0x00007e7e7e000000
#define bOutpost 0x0000007e7e7e0000

#define Bitboard2&#40;x,y&#41; ((&#40;uint64&#41; 1&#41;<<&#40;x&#41;)|((&#40;uint64&#41; 1&#41;<<&#40;y&#41;)
static const uint64 RookTrapped&#91;64&#93; =
&#123; 0, Bitboard2 &#40;A1, A2&#41;, Bitboard2 &#40;A1, A2&#41; | Bitboard2 &#40;B1, B2&#41;, 0,
  0, Bitboard2 &#40;H1, H2&#41; | Bitboard2 &#40;G1, G2&#41;, Bitboard2 &#40;H1, H2&#41;, 0,
  0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0,
  0, Bitboard2 &#40;A8, A7&#41;, Bitboard2 &#40;A8, A7&#41; | Bitboard2 &#40;B8, B7&#41;, 0,
  0, Bitboard2 &#40;H8, H7&#41; | Bitboard2 &#40;G8, G7&#41;, Bitboard2 &#40;H8, H7&#41;, 0
&#125;;

#define SCORE&#40;x,y&#41; (( &#40;x&#41; << 16&#41; + &#40;y&#41;)

#define PawnAntiMobility SCORE&#40;3, 10&#41;
#define MobQ&#40;Y&#41; SCORE&#40;2, 2&#41; * POPCNT&#40;Y&#41;
#define MobB&#40;Y, Z&#41; SCORE &#40;5, 5&#41; * POPCNT&#40; Y & Z&#41;
#define MobR&#40;Y&#41; SCORE&#40;2, 3&#41; * POPCNT&#40;Y&#41;
#define MobN&#40;Y, Z&#41; SCORE &#40;6, 8&#41; * POPCNT&#40;Y & Z&#41;

#define xrayB0 SCORE&#40;0, 0&#41;
#define xrayBmP SCORE&#40;3, 5&#41;
#define xrayBmN SCORE&#40;3, 5&#41;
#define xrayBmK SCORE&#40;3, 5&#41;
#define xrayBmB SCORE&#40;0, 0&#41;
#define xrayBmR SCORE&#40;3, 5&#41;
#define xrayBmQ SCORE&#40;0, 0&#41;

#define xrayBoP SCORE&#40;2, 5&#41;
#define xrayBoN SCORE&#40;2, 5&#41;
#define xrayBoK SCORE&#40;0, 0&#41;
#define xrayBoB SCORE&#40;0, 0&#41;
#define xrayBoR SCORE&#40;15, 25&#41;
#define xrayBoQ SCORE&#40;10, 20&#41;

#define xrayR0 SCORE&#40;0, 0&#41;
#define xrayRmP SCORE&#40;0, 0&#41;
#define xrayRmN SCORE&#40;3, 5&#41;
#define xrayRmK SCORE&#40;3, 5&#41;
#define xrayRmB SCORE&#40;3, 5&#41;
#define xrayRmR SCORE&#40;0, 0&#41;
#define xrayRmQ SCORE&#40;0, 0&#41;

#define xrayRoP SCORE&#40;2, 5&#41;
#define xrayRoN SCORE&#40;2, 5&#41;
#define xrayRoK SCORE&#40;0, 0&#41;
#define xrayRoB SCORE&#40;2, 5&#41;
#define xrayRoR SCORE&#40;0, 0&#41;
#define xrayRoQ SCORE&#40;10, 20&#41;

static const uint32 wBxray&#91;16&#93; =
&#123; xrayB0, xrayBmP, xrayBmN, xrayBmK, xrayBmB, xrayBmB, xrayBmR, xrayBmQ,
  xrayB0, xrayBoP, xrayBoN, xrayBoK, xrayBoB, xrayBoB, xrayBoR, xrayBoQ &#125;;

static const uint32 bBxray&#91;16&#93; =
&#123; xrayB0, xrayBoP, xrayBoN, xrayBoK, xrayBoB, xrayBoB, xrayBoR, xrayBoQ,
  xrayB0, xrayBmP, xrayBmN, xrayBmK, xrayBmB, xrayBmB, xrayBmR, xrayBmQ &#125;;

static const uint32 wRxray&#91;16&#93; =
&#123; xrayR0, xrayRmP, xrayRmN, xrayRmK, xrayRmB, xrayRmB, xrayRmR, xrayRmQ,
  xrayR0, xrayRoP, xrayRoN, xrayRoK, xrayRoB, xrayRoB, xrayRoR, xrayRoQ &#125;;

static const uint32 bRxray&#91;16&#93; =
&#123; xrayR0, xrayRoP, xrayRoN, xrayRoK, xrayRoB, xrayRoB, xrayRoR, xrayRoQ,
  xrayR0, xrayRmP, xrayRmN, xrayRmK, xrayRmB, xrayRmB, xrayRmR, xrayRmQ &#125;;

#define xQ0d SCORE&#40;0, 0&#41;
#define xQmPd SCORE&#40;1, 2&#41;
#define xQmNd SCORE&#40;2, 4&#41;
#define xQmKd SCORE&#40;2, 4&#41;
#define xQmBd SCORE&#40;0, 0&#41;
#define xQmRd SCORE&#40;2, 4&#41;
#define xQmQd SCORE&#40;0, 0&#41;

#define xQoPd SCORE&#40;0, 0&#41;
#define xQoNd SCORE&#40;2, 5&#41;
#define xQoKd SCORE&#40;0, 0&#41;
#define xQoBd SCORE&#40;0, 0&#41;
#define xQoRd SCORE&#40;2, 5&#41;
#define xQoQd SCORE&#40;0, 0&#41;

#define xQ0hv SCORE&#40;0, 0&#41;
#define xQmPhv SCORE&#40;0, 0&#41;
#define xQmNhv SCORE&#40;2, 4&#41;
#define xQmKhv SCORE&#40;2, 4&#41;
#define xQmBhv SCORE&#40;2, 4&#41;
#define xQmRhv SCORE&#40;0, 0&#41;
#define xQmQhv SCORE&#40;0, 0&#41;

#define xQoPhv SCORE&#40;0, 0&#41;
#define xQoNhv SCORE&#40;2, 5&#41;
#define xQoKhv SCORE&#40;0, 0&#41;
#define xQoBhv SCORE&#40;2, 5&#41;
#define xQoRhv SCORE&#40;0, 0&#41;
#define xQoQhv SCORE&#40;0, 0&#41;

static const uint32 wQxrayD&#91;16&#93; =
&#123; xQ0d, xQmPd, xQmNd, xQmKd, xQmBd, xQmBd, xQmRd, xQmQd,
  xQ0d, xQoPd, xQoNd, xQoKd, xQoBd, xQoBd, xQoRd, xQoQd &#125;;

static const uint32 bQxrayD&#91;16&#93; =
&#123; xQ0d, xQoPd, xQoNd, xQoKd, xQoBd, xQoBd, xQoRd, xQoQd,
  xQ0d, xQmPd, xQmNd, xQmKd, xQmBd, xQmBd, xQmRd, xQmQd &#125;;

static const uint32 wQxrayO&#91;16&#93; =
&#123; xQ0hv, xQmPhv, xQmNhv, xQmKhv, xQmBhv, xQmBhv, xQmRhv, xQmQhv,
  xQ0hv, xQoPhv, xQoNhv, xQoKhv, xQoBhv, xQoBhv, xQoRhv, xQoQhv &#125;;

static const uint32 bQxrayO&#91;16&#93; =
&#123; xQ0hv, xQoPhv, xQoNhv, xQoKhv, xQoBhv, xQoBhv, xQoRhv, xQoQhv,
  xQ0hv, xQmPhv, xQmNhv, xQmKhv, xQmBhv, xQmBhv, xQmRhv, xQmQhv &#125;;

static const uint8 BishopTrapSq&#91;64&#93; =
&#123; 0x00,  C2,  0x00, 0x00, 0x00, 0x00,  F2,  0x00,
   B3,  0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  G3,
   B4,  0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  G4,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   B5,  0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  G5,
   B6,  0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  G6,
  0x00,  C7,  0x00, 0x00, 0x00, 0x00,  F7,  0x00 &#125;;

#define BishopTrapValue SCORE&#40;40, 40&#41;
#define BishopTrapGuardValu SCORE&#40;40, 40&#41;
static const uint8 GoodBishopTrapSq&#91;64&#93; =
&#123; 0x00,  D1,  0x00, 0x00, 0x00, 0x00,  E1,  0x00,
   C2,  0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  F2,
   C3,  0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  F3,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   C6,  0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  F6,
   C7,  0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  F7,
  0x00,  D8,  0x00, 0x00, 0x00, 0x00,  E8,  0x00 &#125;;

static const uint32 PassedPawnMeClear&#91;8&#93; =
  &#123; 0, 0, 0, SCORE &#40;0, 0&#41;, SCORE &#40;0, 0&#41;, SCORE &#40;3, 5&#41;, SCORE &#40;5, 10&#41;, 0 &#125;;
static const uint32 PassedPawnOppClear&#91;8&#93; =
  &#123; 0, 0, 0, SCORE &#40;0, 0&#41;, SCORE &#40;5, 10&#41;, SCORE &#40;15, 30&#41;, SCORE &#40;25, 50&#41; &#125;;
static const uint32 PassedPawnCanMove&#91;8&#93; =
  &#123; 0, 0, 0, SCORE &#40;1, 2&#41;, SCORE &#40;2, 3&#41;, SCORE &#40;3, 5&#41;, SCORE &#40;5, 10&#41;, 0 &#125;;
static const uint32 PassedPawnIsFree&#91;8&#93; =
  &#123; 0, 0, 0, SCORE &#40;0, 0&#41;, SCORE &#40;5, 10&#41;, SCORE &#40;10, 20&#41;, SCORE &#40;20, 40&#41; &#125;;

#define QguardK SCORE&#40;5, 2&#41;
#define RguardK SCORE&#40;3, 1&#41;
#define BguardK SCORE&#40;2, 1&#41;
#define NguardK SCORE&#40;4, 2&#41;

#define DoubQueen7th SCORE&#40;10, 15&#41;
#define DoubRook7thKingPawn SCORE&#40;10, 20&#41;
#define MultipleAtt SCORE&#40;15, 25&#41;
#define Queen7th SCORE&#40;5, 25&#41;
#define KingAttUnguardedPawn SCORE&#40;0, 5&#41;

#define PattQ SCORE&#40;8, 12&#41;
#define RattQ SCORE&#40;5, 5&#41;
#define NattRQ SCORE&#40;7, 10&#41;
#define BattRQ SCORE&#40;7, 10&#41;
#define PattR SCORE&#40;7, 10&#41;
#define PattN SCORE&#40;5, 7&#41;
#define PattB SCORE&#40;5, 7&#41;
#define BattN SCORE&#40;5, 5&#41;
#define NattB SCORE&#40;5, 5&#41;
#define Qatt SCORE&#40;4, 4&#41;
#define RattBN SCORE&#40;4, 5&#41;
#define RattP SCORE&#40;2, 3&#41;
#define NattP SCORE&#40;3, 4&#41;
#define BattP SCORE&#40;3, 4&#41;

#define RookHalfOpen SCORE&#40;3, 6&#41;

#define RookOpenFile SCORE&#40;20, 10&#41;
#define RookOpenFixedMinor SCORE&#40;10, 0&#41;
#define RookOpenMinor SCORE&#40;15, 5&#41;

#define RookHalfOpenPawn SCORE&#40;5, 5&#41;
#define RookHalfOpenKing SCORE&#40;15, 0&#41;
#define RookKing8th SCORE&#40;5, 10&#41;
#define Rook7thKingPawn SCORE&#40;10, 30&#41;
#define Rook6thKingPawn SCORE&#40;5, 15&#41;

#define OutputBishop SCORE&#40;1, 2&#41;
#define OutputBishopGuarded SCORE&#40;3, 4&#41;
#define OutpostRook SCORE&#40;1, 2&#41;
#define OutpostRookGuarded SCORE&#40;3, 4&#41;

#define OutpostKnight SCORE&#40;2, 3&#41;
#define OutpostKnightPawn SCORE&#40;2, 3&#41;
#define OutpostKnightGuarded SCORE&#40;5, 5&#41;
#define OutpostKnight5th SCORE&#40;2, 2&#41;
#define OutputKnightONde SCORE&#40;3, 3&#41;

static const uint32 KingSafetyMult&#91;16&#93; =
  &#123; 0, 1, 4, 9, 16, 25, 36, 49, 50, 50, 50, 50, 50, 50, 50, 50 &#125;;
#define Hit&#40;x,y&#41; ( &#40;x&#41; << 16&#41; + &#40;y&#41;
#define HitP Hit&#40;1, 0&#41;
#define HitQ Hit&#40;1, 40&#41;
#define HitR Hit&#40;1, 25&#41;
#define HitN Hit&#40;1, 15&#41;
#define HitB Hit&#40;1, 15&#41;
#define HitK Hit&#40;0, 0&#41;
#define KingSafetyDivider 8

static const uint32 RankQueenEnd&#91;8&#93; =
&#123; 0, 0, 0, SCORE &#40;5, 5&#41;, SCORE &#40;10, 10&#41;, SCORE &#40;20, 20&#41;, SCORE &#40;40, 40&#41;, 0 &#125;;

#if 0
#define Rook7thEnd SCORE&#40;20, 50&#41;
#define Rook6thEnd SCORE&#40;0, 15&#41;
#define Queen7thEnd SCORE&#40;0, 10&#41;
#else
#define Rook7thEnd SCORE&#40;100, 100&#41;
#define Rook6thEnd SCORE&#40;25, 25&#41;
#define Queen7thEnd SCORE&#40;10, 10&#41;
#endif

static const uint64 CrampFile&#91;8&#93; =
  &#123; FILEb, 0, 0, 0, 0, 0, 0, FILEg &#125;;


*** 

UINT8 left_90&#91;0100&#93; = &#123; 
7, 15, 23, 31, 39, 47, 55, 63, 
6, 14, 22, 30, 38, 46, 54, 62, 
5, 13, 21, 29, 37, 45, 53, 61, 
4, 12, 20, 28, 36, 44, 52, 60, 
3, 11, 19, 27, 35, 43, 51, 59, 
2, 10, 18, 26, 34, 42, 50, 58, 
1, 9, 17, 25, 33, 41, 49, 57, 
0, 8, 16, 24, 32, 40, 48, 56 
 &#125;; 


UINT64 attackeds_knight&#91;0100&#93;, attackeds_king&#91;0100&#93;, 
  attackeds_pawn_white&#91;0100&#93;, attackeds_pawn_black&#91;0100&#93;; 
UINT64 bitboard_massive&#91;4&#93;&#91;0100&#93;&#91;0100&#93;; 
int bitboard_flicking&#91;4&#93;&#91;0100&#93;; 

UINT8 xray_table&#91;0100&#93;; 

UINT64 table_horizontals&#91;8&#93; = &#123; 
  0x00000000000000ff, 
  0x000000000000ff00, 
  0x0000000000ff0000, 
  0x00000000ff000000, 
  0x000000ff00000000, 
  0x0000ff0000000000, 
  0x00ff000000000000, 
  0xff00000000000000 
&#125;; 

UINT64 table_verticals&#91;8&#93; = &#123; 
  0x0101010101010101, 
  0x0202020202020202, 
  0x0404040404040404, 
  0x0808080808080808, 
  0x1010101010101010, 
  0x2020202020202020, 
  0x4040404040404040, 
  0x8080808080808080 
&#125;; 

UINT32 evaluation_material_64bits&#91;16&#93; = &#123; 
  0, (&#40;0 & 0xff&#41; | &#40;0x1440 << 8&#41;), (&#40;1 & 0xff&#41; | &#40;0x240 << 8&#41;), 0, 
  (&#40;1 & 0xff&#41; | &#40;0x24 << 8&#41;), (&#40;1 & 0xff&#41; | &#40;0x48 << 8&#41;), 
  (&#40;3 & 0xff&#41; | &#40;0x04 << 8&#41;), (&#40;6 & 0xff&#41; | &#40;0x1 << 8&#41;), 
  0, (&#40;0 & 0xff&#41; | &#40;0xb640 << 8&#41;), (&#40;1 & 0xff&#41; | &#40;0x6c0 << 8&#41;), 0, 
  (&#40;1 & 0xff&#41; | &#40;0x90 << 8&#41;), (&#40;1 & 0xff&#41; | &#40;0x120 << 8&#41;), 
  (&#40;3 & 0xff&#41; | &#40;0xc << 8&#41;), (&#40;6 & 0xff&#41; | &#40;0x2 << 8&#41;) 
&#125;; 


static int 
openings_king_static &#40;int square&#41; 
&#123; 
  int G&#91;8&#93; = &#123; 
    4, 1, -2, -5, -10, -15, -25, -35 
  &#125;; 
  int V&#91;8&#93; = &#123; 
    40, 45, 15, -5, -5, 15, 45, 40 
  &#125;; 
  int horizontal = (&#40;square&#41; >> 3&#41;, vertical = (&#40;square&#41; & 7&#41;; 
  return G&#91;horizontal&#93; + V&#91;vertical&#93;; 
&#125; 

static int 
endings_king_static &#40;int square&#41; 
&#123; 
  int W&#91;8&#93; = &#123; 
    2, 0, -2, -5, -8, -12, -20, -30 
  &#125;; 
  int G&#91;8&#93; = &#123; 
    -30, -5, 0, 5, 10, 5, 0, -10 
  &#125;; 
  int V&#91;8&#93; = &#123; 
    -15, 0, 10, 15, 15, 10, 0, -15 
  &#125;; 
  int horizontal = (&#40;square&#41; >> 3&#41;, vertical = (&#40;square&#41; & 7&#41;; 
  int d = 
    ((&#40;vertical - horizontal&#41; >= 
      0&#41; ? &#40;vertical - horizontal&#41; &#58; -&#40;vertical - horizontal&#41;), e = 
    ((&#40;vertical + horizontal - 7&#41; >= 
      0&#41; ? &#40;vertical + horizontal - 7&#41; &#58; -&#40;vertical + horizontal - 7&#41;); 
  return W&#91;d&#93; + W&#91;e&#93; + G&#91;horizontal&#93; + V&#91;vertical&#93;; 
&#125; 


static int left_54&#91;0100&#93;, right_54&#91;0100&#93;, left_09&#91;0100&#93;; 
static int shifts&#91;0100&#93; = &#123; 
  1, 
  2, 2, 
  4, 4, 4, 
  7, 7, 7, 7, 
  11, 11, 11, 11, 11, 
  16, 16, 16, 16, 16, 16, 
  22, 22, 22, 22, 22, 22, 22, 
  29, 29, 29, 29, 29, 29, 29, 29, 
  37, 37, 37, 37, 37, 37, 37, 
  44, 44, 44, 44, 44, 44, 
  50, 50, 50, 50, 50, 
  55, 55, 55, 55, 
  59, 59, 59, 
  62, 62, 
  64 
&#125;; 

static int breadth&#91;0100&#93;, whereat&#91;0100&#93;; 
static int hoppings&#91;8&#93; = &#123; 
  6, 10, 15, 17, -6, -10, -15, -17 
&#125;; 


const UINT64 castling_table&#91;0100&#93; = &#123; 
  Kkf, KFkf, KFkf, KFkf, kf, KFkf, KFkf, Fkf, 
  KFkf, KFkf, KFkf, KFkf, KFkf, KFkf, KFkf, KFkf, 
  KFkf, KFkf, KFkf, KFkf, KFkf, KFkf, KFkf, KFkf, 
  KFkf, KFkf, KFkf, KFkf, KFkf, KFkf, KFkf, KFkf, 
  KFkf, KFkf, KFkf, KFkf, KFkf, KFkf, KFkf, KFkf, 
  KFkf, KFkf, KFkf, KFkf, KFkf, KFkf, KFkf, KFkf, 
  KFkf, KFkf, KFkf, KFkf, KFkf, KFkf, KFkf, KFkf, 
  KFk, KFkf, KFkf, KFkf, KF, KFkf, KFkf, KFf 
&#125;; 

const UINT64 white_en_passant_table&#91;8&#93; = &#123; 
  ((&#40;UINT64&#41; 1&#41; << &#40;B4&#41;) | ((&#40;UINT64&#41; 1&#41; << &#40;B4&#41;), 
  ((&#40;UINT64&#41; 1&#41; << &#40;A4&#41;) | ((&#40;UINT64&#41; 1&#41; << &#40;C4&#41;), 
  ((&#40;UINT64&#41; 1&#41; << &#40;B4&#41;) | ((&#40;UINT64&#41; 1&#41; << &#40;D4&#41;), 
  ((&#40;UINT64&#41; 1&#41; << &#40;C4&#41;) | ((&#40;UINT64&#41; 1&#41; << &#40;E4&#41;), 
  ((&#40;UINT64&#41; 1&#41; << &#40;D4&#41;) | ((&#40;UINT64&#41; 1&#41; << &#40;F4&#41;), 
  ((&#40;UINT64&#41; 1&#41; << &#40;E4&#41;) | ((&#40;UINT64&#41; 1&#41; << &#40;G4&#41;), 
  ((&#40;UINT64&#41; 1&#41; << &#40;F4&#41;) | ((&#40;UINT64&#41; 1&#41; << &#40;H4&#41;), 
  ((&#40;UINT64&#41; 1&#41; << &#40;G4&#41;) | ((&#40;UINT64&#41; 1&#41; << &#40;G4&#41;) 
&#125;; 

const UINT64 black_en_passant_table&#91;8&#93; = &#123; 
  ((&#40;UINT64&#41; 1&#41; << &#40;B5&#41;) | ((&#40;UINT64&#41; 1&#41; << &#40;B5&#41;), 
  ((&#40;UINT64&#41; 1&#41; << &#40;A5&#41;) | ((&#40;UINT64&#41; 1&#41; << &#40;C5&#41;), 
  ((&#40;UINT64&#41; 1&#41; << &#40;B5&#41;) | ((&#40;UINT64&#41; 1&#41; << &#40;D5&#41;), 
  ((&#40;UINT64&#41; 1&#41; << &#40;C5&#41;) | ((&#40;UINT64&#41; 1&#41; << &#40;E5&#41;), 
  ((&#40;UINT64&#41; 1&#41; << &#40;D5&#41;) | ((&#40;UINT64&#41; 1&#41; << &#40;F5&#41;), 
  ((&#40;UINT64&#41; 1&#41; << &#40;E5&#41;) | ((&#40;UINT64&#41; 1&#41; << &#40;G5&#41;), 
  ((&#40;UINT64&#41; 1&#41; << &#40;F5&#41;) | ((&#40;UINT64&#41; 1&#41; << &#40;H5&#41;), 
  ((&#40;UINT64&#41; 1&#41; << &#40;G5&#41;) | ((&#40;UINT64&#41; 1&#41; << &#40;G5&#41;) 
&#125;; 

static const UINT8 pawn_block&#91;0100&#93; = &#123; 
  0, 0, 0, 0, 0, 0, 0, 0, 
  1, 1, 2, 2, 2, 2, 1, 1, 
  1, 2, 3, 3, 3, 3, 2, 1, 
  1, 2, 3, 5, 5, 3, 2, 1, 
  1, 2, 3, 5, 5, 3, 2, 1, 
  1, 2, 3, 3, 3, 3, 2, 1, 
  1, 1, 2, 2, 2, 2, 1, 1, 
  0, 0, 0, 0, 0, 0, 0, 0 
&#125;; 

static const SINT32 myself_king_pawn_distancing&#91;8&#93; = &#123; 
  0, 0, 0, 1, 2, 3, 5, 0 
&#125;; 

static const SINT32 opponent_king_pawn_distancing&#91;8&#93; = &#123; 
  0, 0, 0, 2, 4, 6, 10, 0 
&#125;; 

static const SINT32 passed_pawn_dry_value&#91;8&#93; = &#123; 
  ((&#40;0&#41; << 16&#41; + &#40;0&#41;), ((&#40;0&#41; << 16&#41; + &#40;0&#41;), ((&#40;0&#41; << 16&#41; + &#40;0&#41;), 
  ((&#40;10&#41; << 16&#41; + &#40;10&#41;), ((&#40;20&#41; << 16&#41; + &#40;25&#41;), ((&#40;40&#41; << 16&#41; + &#40;50&#41;), 
  ((&#40;60&#41; << 16&#41; + &#40;75&#41;), ((&#40;0&#41; << 16&#41; + &#40;0&#41;) 
&#125;; 

static const SINT32 passed_pawn_outside_value&#91;8&#93; = &#123; 
  ((&#40;0&#41; << 16&#41; + &#40;0&#41;), ((&#40;0&#41; << 16&#41; + &#40;0&#41;), ((&#40;0&#41; << 16&#41; + &#40;0&#41;), 
  ((&#40;0&#41; << 16&#41; + &#40;0&#41;), ((&#40;2&#41; << 16&#41; + &#40;5&#41;), ((&#40;5&#41; << 16&#41; + &#40;10&#41;), 
  ((&#40;10&#41; << 16&#41; + &#40;20&#41;), ((&#40;0&#41; << 16&#41; + &#40;0&#41;) 
&#125;; 


*** 


lkaufman
Posts: 5960
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA

Re: RobboLito ... IvanHoe v70 tables, values

Post by lkaufman »

Some are identical, such as queen attacking various pieces 2,5 or rook-king-eighth 5, 10, some are extremely close like rook-king-sixth 5,15 vs. my 4,16. I don't have the time or desire to go thru all this in detail and list all the many similarities unless someone wants to hire me to do this. I'd rather work on making Komodo stronger. Since others seem to have decompiled Rybka 3 they can make the comparisons directly, you don't need my input.