Author: Leen Ammeraal
Date: 08:23:36 01/22/02
Go up one level in this thread
I did an experiment with your function lowbit, adapting
it (by using a union of both an __int64 and a
struct of two ints, in view of 64 bit bitboards)
but it was slightly slower (with very little difference)
than the following assembly routine which you (Dann) also
provided:
__forceinline
int FirstPiece(BITBOARD bits)
{
// Given is: bits != 0
__asm {
; 64-bit number to move into ECX:EBX, will never be zero!
mov ecx,dword ptr [bits+4]
mov ebx,dword ptr [bits]
bsf eax,ecx
add eax,32
bsf eax,ebx
}
}
So I think I will stick to this assembly function.
Leen
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.