Author: Robert Hyatt
Date: 17:05:03 05/06/04
Go up one level in this thread
On May 06, 2004 at 17:10:32, Sune Fischer wrote: >On May 06, 2004 at 17:03:56, Robert Hyatt wrote: > >>On May 06, 2004 at 16:59:57, Sune Fischer wrote: >> >>>On May 06, 2004 at 16:07:16, Robert Hyatt wrote: >>> >>>>On May 06, 2004 at 13:00:06, Mathieu Pagé wrote: >>>> >>>>>Hi, >>>>> >>>>> Actualy my engine use pre-calculated bitboards to generate the moves. and I was >>>>>asking myself if compressing them, in order to keep them in cache would make my >>>>>move generator faster. I tought about two techniques to compress them. >>>>> >>>>>1. Use a 7 bits mask as a representation of the occupancy of the line as we >>>>>always know that the position where the piece that we want to move is occupied. >>>>>I already use this and it cut the space used by the index by a factor of two. >>>>>I'm sure you were all aware of this trick. >>>> >>>>What about using a 5-bit mask then. You don't need the two endpoint bits anyway >>>>as you attack those squares whether they are occupied or not. >>> >>>What if the square is on the edge and thus already removed? >>>Seems you end up with some being 5 bit and some being 6 bit lines. >> >> >>Doesn't matter. Remember that you already know whether you are on the edge or >>not. The only thing that matters is the occupied squares between the two >>extreme points. That is why I currently use 6 bits. But by removing the bit >>for the piece being tested, that would/could drop to 5. >> > >But you can't remove the same bit twice?? > >You need two tables I think, one to use when the square is on the A-H files and >one for the others. I don't follow. I currently use 6-bit indices _everywhere_. Because the two endpoints are moot. We're not changing that. Just squeezing out the bit for the square where the piece in question sits... it is meaningless and could be a zero or 1 and produce the same attacks... > >-S. > >>>>I use 6 bit myself as squeezing out the square the piece is on is not >>>>convenient... >>> >>>-S.
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.