Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Mixing 0x88 and bitboards

Author: Robert Hyatt

Date: 14:25:04 06/27/02

Go up one level in this thread


On June 27, 2002 at 17:24:00, Robert Hyatt wrote:

>On June 26, 2002 at 09:20:03, Daniel Clausen wrote:
>
>>On June 26, 2002 at 09:14:19, Russell Reagan wrote:
>>
>>>On June 26, 2002 at 04:50:00, Daniel Clausen wrote:
>>>
>>>>I don't follow your logic. Whether your move format includes the captured piece
>>>>type or not, how does that help you to find out what piece sits on E6?
>>>
>>>I think he means that he uses the 64-word array so that he can convert a move to
>>>a string. For example, if he had a move from g1 to f3 of the knight, how is he
>>>going to convert that to "Nf3"? He would either have to search through all of
>>>his bitboards to see which piece was being moved, or he could just use an array.
>>>That is how I understand it, but I could be missing his point also.
>>>
>>>Russell
>>
>>But converting a move to a string is not time-critical at all, since it's only
>>used to print out the PV and stuff like that. I can't imagine that Bob updates a
>>64-word array during the search to print out the PV at the end in a microsecond
>>faster. :)
>>
>>Sargon
>
>
>No...  I _really_ need to know what I am capturing.  But mainly for move
>ordering.  I could use the Swap() function, but if I am capturing a queen with
>a pawn, then no Swap() call is necessary since that wins at least 8 points of
>material, and maybe 9.  That's a good enough estimate to avoid the Swap()
>calculation.
>
>But to do that, I need to know the moving piece, which I do since I generate
>moves piece by piece.  But I also need to know what I am capturing, and to find
>that requires stomping thru 6 bitboards, one for each kind of opponent piece.
>On a 32 bit machine, that is a bit inefficient.  On a 64 bit machine, I would
>probably re-think this and dump the 64 char board totally....


BTW, this is why I use PieceOnSquare() (a macro) everywhere.  So that should
I choose, it could be modifed to eliminate the board[sq] reference and instead
check all the piece bitboards and return the right value...



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.