Author: Dann Corbit
Date: 16:38:49 02/24/06
Go up one level in this thread
On February 24, 2006 at 19:26:20, Gerd Isenberg wrote:
>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.
It is a very good idea. For sure, faster than bsearch.
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.