Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: SPEED !!! help a novice chess programmer =)

Author: Dann Corbit

Date: 21:57:35 06/17/02

Go up one level in this thread


On June 18, 2002 at 00:39:41, Adriano Bedeschi de Souza wrote:

>BitBoard bishopMoves(ChessPosition position, int orig) {
>
>    int diagonalState;
>    BitBoard diagonal_A8H1_moves;
>    BitBoard diagonal_A1H8_moves;
>    BitBoard pos;
>
>    pos = position.rotated45L;
>    pos = pos >> rotated45Left_shift_map[orig];
>    diagonalState = pos & (int)(pow(2,diagonal_A8H1_length[orig]) - 1);
                                 YIKES
>
>    diagonal_A8H1_moves = diagonal_A8H1_attacks[orig][diagonalState];
>
>    pos = position.rotated45R;
>    pos = pos >> rotated45Right_shift_map[orig];
>    diagonalState = pos & (int)(pow(2,diagonal_A1H8_length[orig]) - 1);
                                 YIKES
>
>    diagonal_A1H8_moves = diagonal_A1H8_attacks[orig][diagonalState];
>
>    return diagonal_A8H1_moves | diagonal_A1H8_moves;
>}

Maybe something like this instead:
unsigned long long p2[] = {
    0x1,
    0x2,
    0x4,
    0x8,
    0x10,
    0x20,
    0x40,
    0x80,
    0x100,
    0x200,
    0x400,
    0x800,
    0x1000,
    0x2000,
    0x4000,
    0x8000,
    0x10000,
    0x20000,
    0x40000,
    0x80000,
    0x100000,
    0x200000,
    0x400000,
    0x800000,
    0x1000000,
    0x2000000,
    0x4000000,
    0x8000000,
    0x10000000,
    0x20000000,
    0x40000000,
    0x80000000,
    0x100000000,
    0x200000000,
    0x400000000,
    0x800000000,
    0x1000000000,
    0x2000000000,
    0x4000000000,
    0x8000000000,
    0x10000000000,
    0x20000000000,
    0x40000000000,
    0x80000000000,
    0x100000000000,
    0x200000000000,
    0x400000000000,
    0x800000000000,
    0x1000000000000,
    0x2000000000000,
    0x4000000000000,
    0x8000000000000,
    0x10000000000000,
    0x20000000000000,
    0x40000000000000,
    0x80000000000000,
    0x100000000000000,
    0x200000000000000,
    0x400000000000000,
    0x800000000000000,
    0x1000000000000000,
    0x2000000000000000,
    0x4000000000000000,
    0x8000000000000000
};




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.