Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Speaking of low bit, here is an idea from Lawrence Kirby on c.l.c

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.