Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: checks in qsearch

Author: Heiner Marxen

Date: 05:47:34 10/30/02

Go up one level in this thread


On October 30, 2002 at 07:50:53, Gerd Isenberg wrote:

><snip>
>>>int looprichting[7][64][64];
>>>
>>>of course only elements 1..5 get used practical for this check
>>>generation so it is:
>>>  5 * 4096 * 4 = 80KB
>>
>>It might be worth it to convert the 2 squares to 0x88 representation here and
>>only need 5 * 239 * 4 = 4.78 KB ?
>>
>>Tony
>
>Hi Tony,
>
>That looks interesting. Can you help me a bit to understand the 239?
>
>Thank in advance,
>Gerd

That is 0x77*2 + 1.  Feel better now?  :-))

With 0x88 coordinates (minimum used value = 0, maximum = 0x77 (inclusive))
one interesting property is, that the difference of two such values uniquely
determines the geometric relationship.
Hence, a table covering all possible differences is enough.

What differences can occur?  (0..0x77) - (0..0x77) --> (-0x77 .. +0x77)
That range turns out to be 239 (== 0xef).

I use this property in Chest.

Cheers,
Heiner



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.