Author: Zappa
Date: 10:08:59 12/06/05
Go up one level in this thread
On December 06, 2005 at 01:32:58, Lance Perkins wrote:
>int PawnForwardRotate[] = {8,64-8};
>unsigned __int64 PawnForwardMask[] = {0xffffffffffffff00, 0x00ffffffffffffff};
>
>_rotl64 (bbPawns, PawnForwardRotate[color]) & PawnForwardMask[color];
>
>// pre-cond:
>// Rax = pawn bb
>// Rdx = color
>
>mov ecx, DWORD PTR PawnForwardRotate[Rdx*4]
>rol rax, cl
>and rax, QWORD PTR PawnForwardMask[Rdx*8]
Hmm. That certainly helps a lot. You could do up to a 16 point shift with no
problems, although there is another instruction.
Just out of curiosity, is this in Thinker?
anthony
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.