Author: Tom Kerrigan
Date: 10:56:52 02/11/00
Go up one level in this thread
On February 11, 2000 at 13:51:06, Brian Richardson wrote: >I looked at bitmaps vs fanout vs pointer (but not x88 I must confess) and other >methods fairly extensively about 2 yrs ago when first deciding to resurrect my >chess program. Bitmaps are not clear winners when only looking at move >generation (in fact Gnuchess' pointer scheme is quite fast and rather elegant). > >However, bitmap's real advantages come, IMHO, in the eval(). As Bob Hyatt as >pointed out, testing for a passed pawn is simple and fast: > >if(!And(mask_pawn_passed_b[sq],tree->wpawns)) > >What would this test look like with the pointer/piece list scheme? At the beginning of my eval() function, I usually set up an array of pawn ranks, e.g.: pawn_rank[WHITE][A_FILE + 1] contains the rank # of the least advanced white pawn on the A file. If you have an array like this, it's pretty easy to evaluate pawn structure. You can't detect passed pawns with one 64-bit operation, but it's still pretty fast. -Tom
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.