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.