Question about EGT formats

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
hgm
Posts: 27787
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Question about EGT formats

Post by hgm »

I understand that the various flavors of end-game tables provide their own probing code in DLLs.

How is the distinction between different architectures (32-bit vs 64-bit) handled here? Does the directory in which the EGTs are distributed contain DLLs with different names, and is it left to the engine to decide which one it should use?
Dann Corbit
Posts: 12537
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Question about EGT formats

Post by Dann Corbit »

hgm wrote:I understand that the various flavors of end-game tables provide their own probing code in DLLs.

How is the distinction between different architectures (32-bit vs 64-bit) handled here? Does the directory in which the EGTs are distributed contain DLLs with different names, and is it left to the engine to decide which one it should use?
Some also use library or direct linking, which solves that problem.
In the case of Daniel Shawul's endgame tablebase files, he does use different DLL names:

Code: Select all

 Directory of F:\chess\egbb
2009-04-04  06:19 PM            86,016 egbbdll.dll
2012-01-23  02:37 PM           136,192 egbbdll64.dll
Then from probe.cpp in scorpio, we see this:

Code: Select all

#ifdef _WIN32
#   ifdef ARC_64BIT
#       define EGBB_NAME "egbbdll64.dll"
#   else
#       define EGBB_NAME "egbbdll.dll"
#   endif
#else
#   ifdef ARC_64BIT
#       define EGBB_NAME "egbbso64.so"
#   else
#       define EGBB_NAME "egbbso.so"
#   endif
#endif
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: Question about EGT formats

Post by Daniel Shawul »

AFAIK only scorpio and knightdreamer bitbases have DLLs for probing EGTs - unlike f.i bulky syzygy which leaves programmers having to incorporate a huge block of C code into their repos :)
Also DLLs can also be automatically loaded in python for scripting work with chess endgames.

Daniel
User avatar
gbtami
Posts: 389
Joined: Wed Sep 26, 2012 1:29 pm
Location: Hungary

Re: Question about EGT formats

Post by gbtami »

Daniel Shawul wrote:AFAIK only scorpio and knightdreamer bitbases have DLLs for probing EGTs - unlike f.i bulky syzygy which leaves programmers having to incorporate a huge block of C code into their repos :)
Also DLLs can also be automatically loaded in python for scripting work with chess endgames.

Daniel
Gaviota and syzygy are available from Python also using python-chess.