Author: Peter McKenzie
Date: 14:04:05 02/11/00
Go up one level in this thread
On February 11, 2000 at 13:56:52, Tom Kerrigan wrote: >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. If you're really keen on passed pawn information, you can whack it into your pawn hash. > >-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.