Author: Gerd Isenberg
Date: 16:26:20 02/24/06
Go up one level in this thread
On February 23, 2006 at 18:45:34, Dann Corbit wrote:
>On February 23, 2006 at 17:37:21, Gerd Isenberg wrote:
>[snip]
>>>a1b2 is a 64 bit unsigned integer with bits a1 and b2 set.
>>
>>Huch! That is possible!?
>>Hopefully no indirect jump table with 2**64 entries ;-)
>>Is that inside the generator or inside the chess programs.
>
>For a given square, I need at most 128 constants per row or diagonal.
>
>They are precomputed.
>
>Obviously, you must have the 64 unique bitboards A1-H8 defined.
>
>Then, your generator program writes (above the functions themselves):
>
>printf("static const Bitboard a1b2 = %ui64;\n", A1|B2);
>
>Any given file will need 128 for each column and 128 for each row and between 0
>and 128 for each diagonal for both diagonals.
What about a fast perfect hashfunction per square and direction which maps to a
128-subrange to build an index to your precomputed stuctures?
I mean about ~250 * 4 directions * 64 squares = 64000 cmp/ja[jb] sounds hard -
despite divide and conquer.
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.