Computer Chess Club Archives


Search

Terms

Messages

Subject: Problems Probing

Author: Sune Fischer

Date: 07:13:11 10/22/02


I'm trying to implement support for the
Nalimov endgame tables and are having a minor(?) problem.

By reading the source of Beowulf and the probe.txt file
I have managed to initialize the tables and probing is also
partly successful. It findes the table, but probing it
doesn't work:

value = L_TbtProbeTable(iTB, colour, index);
if(value == L_bev_broken) return 0;

I get the return here.

Since the whole setup is more or less a black box for me,
I have no idea what can be the cause of this, any suggestions?
I have also a few questions, first of which is Beowulf specific.

These declarations cause two compiler errors in my code:

int ProbeEGTB(Board *B, int *score, int ply) {
  int *wp, *bp; // 1st and 2nd argument to PfnIndCalcFun()
...
}

The compiler informs me that it expects unsigned int*. That seems to work, but
how can Beowulf use a wrong data type and still compile? I think maybe it is
related to the L_bev_broken error I get.

Also why is egtb.c 335 kB in Beowulf and only 156 kB in Crafty and where are the
macros of INDEX and square? Have the egtb.c files been modified?

When I use the default tbindex.cpp it doesn't work without me manually
declaring some macros. Ok, pretty messy, but what is the "right" thing to do?

Finally, if I want to support 6 man tables, do I need to do anything else than
#define C_PIECES 4 instead of 3 (and of course increase size of WhitePieces and
BlackPieces arrays to hold them all)?

-S.



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.