Author: Robert Hyatt
Date: 14:24:00 06/27/02
Go up one level in this thread
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....
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.