Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: significant math

Author: Sune Fischer

Date: 08:07:32 11/20/02

Go up one level in this thread


On November 20, 2002 at 10:57:01, Robert Hyatt wrote:

>On November 20, 2002 at 05:44:10, Sune Fischer wrote:
>
>>On November 20, 2002 at 05:37:43, Steffan Westcott wrote:
>>
>>>On November 20, 2002 at 05:05:25, Sune Fischer wrote:
>>>
>>>> I believe that "move for move" 0x88 is faster because you don't have to do
>>>> that extra bit scan to get the square
>>>
>>>Which square are you referring to? Source square? Destination square? I may be
>>>able to help you...
>>
>>With bitboards (as I'm sure you know) you need a piece of assembler using bsf,
>>then you need to clear the bit afterwards. This is not needed with 0x88.
>>
>>ie:
>>    while (padvances2) {
>>      to=FirstOne(padvances2);
>>      *move++=(to+16)|(to<<6)|(pawn<<12);
>>      Clear(to,padvances2);
>>    }
>>
>
>
>
>Wrong idea however.  Most of the move generations done are for captures.  0x88
>can't keep up with bitmaps there, because bitmaps generate _only_ capture moves,
>while 0x88 walks down each rank/file/diagonal skipping empty squares.

Yep, wasn't that what I said??

>that is one of the strengths of bitmaps.  finding a bit is quick.  Clearing it
>takes one
>cycle.  not very expensive.

I think that was my point exactly.

-S.



This page took 0.04 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.