Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: sliding attacks in three inlines

Author: Gerd Isenberg

Date: 12:40:30 04/15/04

Go up one level in this thread


On April 15, 2004 at 04:32:47, Tony Werten wrote:

>On April 15, 2004 at 02:09:07, Gerd Isenberg wrote:
>
>>On April 14, 2004 at 19:34:57, rasjid chan wrote:
>>
>>>On April 14, 2004 at 15:52:39, Gerd Isenberg wrote:
>>>
>>>>Hi Rasjid,
>>>>
>>>>i found a slight improvement in one of your three interesting sliding attack
>>>>macros. It replaces the "inbetween"-expression
>>>>
>>>> isqBit(y)-1 & ~( isqBit(x)-1 | isqBit(x) )
>>>>by
>>>> isqBit(y) - isqBit(x+1)
>>>>or
>>>> isqBit(y) -(isqBit(x)<<1)
>>>>
>>>>If one subtracts power of two values, greater minus less:
>>>>  0100 0000
>>>> -0000 0100  the result is
>>>> =0011 1100  a "inner" sequence of ones, except "less" is included.
>>>>So we start with next greater bit of "less".
>>>>
>>>>Couldn't resist to use inlines instead of macros ;-)
>>>>(not tested!)
>>>>
>>>
>>>Gerd,
>>>
>>>How in the world can I see how you see how 0's and 1's interact
>>>and extract patterns. I'll first cut and paste and learn later.
>>>
>>>Thanks
>>>Rasjid
>>>
>>
>>There is even a bit more to squeeze out of the functions. Eg. for 0x88
>>coordinates the difference between 0x88 coordinates maps to an unique direction
>>index.
>
>But since the relation between bb and 0x88 is:
>0x88 = bb shl 1-(bb and 7), you can also use it for bb.
>
>Tony

Nice trick to save the additional and of the rank ;-)

Cheers,
Gerd




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.