Code: Select all
score += choose_popcnt<HPopCnt>((~Board->bb[White]) & att & BishopMajorWhite) * BishopMobMajor
Code: Select all
#define BishopMajorWhite Convert(0x7EFFFF7E3C000000,uint64)
Moderator: Ras
Code: Select all
score += choose_popcnt<HPopCnt>((~Board->bb[White]) & att & BishopMajorWhite) * BishopMobMajor
Code: Select all
#define BishopMajorWhite Convert(0x7EFFFF7E3C000000,uint64)
It seems to count the number of squares attacked by white bishop(s), not occupied by own pieces and restricted to this area of 32 squares for forward mobility:outAtime wrote:Having a look at Gull and noticed some strange mobility code for bishops..
where BishopMajorWhite is:Code: Select all
score += choose_popcnt<HPopCnt>((~Board->bb[White]) & att & BishopMajorWhite) * BishopMobMajor
Can anyone explain what is being counted here?Code: Select all
#define BishopMajorWhite Convert(0x7EFFFF7E3C000000,uint64)
Code: Select all
0x7EFFFF7E3C000000
. 1 1 1 1 1 1 .
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
. 1 1 1 1 1 1 .
. . 1 1 1 1 . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
Here is BishopMajorWhite :outAtime wrote:Having a look at Gull and noticed some strange mobility code for bishops..
where BishopMajorWhite is:Code: Select all
score += choose_popcnt<HPopCnt>((~Board->bb[White]) & att & BishopMajorWhite) * BishopMobMajor
Code: Select all
#define BishopMajorWhite Convert(0x7EFFFF7E3C000000,uint64)
Can anyone explain what is being counted here?
Code: Select all
01111110
11111111
11111111
01111110
00111100
00000000
00000000
00000000