mirror of
https://github.com/OMGeeky/hcsalmon1-Chess-Engine-Test.git
synced 2026-02-23 15:49:51 +01:00
Add files via upload
This commit is contained in:
147
Odin/bbconstants.odin
Normal file
147
Odin/bbconstants.odin
Normal file
@@ -0,0 +1,147 @@
|
||||
package main
|
||||
|
||||
SQUARE_BBS: [64]u64 = [64]u64{
|
||||
1,
|
||||
2,
|
||||
4,
|
||||
8,
|
||||
16,
|
||||
32,
|
||||
64,
|
||||
128,
|
||||
256,
|
||||
512,
|
||||
1024,
|
||||
2048,
|
||||
4096,
|
||||
8192,
|
||||
16384,
|
||||
32768,
|
||||
65536,
|
||||
131072,
|
||||
262144,
|
||||
524288,
|
||||
1048576,
|
||||
2097152,
|
||||
4194304,
|
||||
8388608,
|
||||
16777216,
|
||||
33554432,
|
||||
67108864,
|
||||
134217728,
|
||||
268435456,
|
||||
536870912,
|
||||
1073741824,
|
||||
2147483648,
|
||||
4294967296,
|
||||
8589934592,
|
||||
17179869184,
|
||||
34359738368,
|
||||
68719476736,
|
||||
137438953472,
|
||||
274877906944,
|
||||
549755813888,
|
||||
1099511627776,
|
||||
2199023255552,
|
||||
4398046511104,
|
||||
8796093022208,
|
||||
17592186044416,
|
||||
35184372088832,
|
||||
70368744177664,
|
||||
140737488355328,
|
||||
281474976710656,
|
||||
562949953421312,
|
||||
1125899906842624,
|
||||
2251799813685248,
|
||||
4503599627370496,
|
||||
9007199254740992,
|
||||
18014398509481984,
|
||||
36028797018963968,
|
||||
72057594037927936,
|
||||
144115188075855872,
|
||||
288230376151711744,
|
||||
576460752303423488,
|
||||
1152921504606846976,
|
||||
2305843009213693952,
|
||||
4611686018427387904,
|
||||
9223372036854775808,
|
||||
};
|
||||
|
||||
ONE_U64:u64 : 1;
|
||||
|
||||
BP_STARTING_POSITIONS:u64 : 65280;
|
||||
WP_STARTING_POSITIONS:u64 : 71776119061217280;
|
||||
BK_STARTING_POSITION:u64 : 16;
|
||||
WK_STARTING_POSITION:u64 : 1152921504606846976;
|
||||
BN_STARTING_POSITIONS:u64 : 66;
|
||||
WN_STARTING_POSITIONS: u64 : 4755801206503243776;
|
||||
WR_STARTING_POSITIONS: u64 : 9295429630892703744;
|
||||
BR_STARTING_POSITIONS: u64 : 129;
|
||||
BB_STARTING_POSITIONS: u64 : 36;
|
||||
WB_STARTING_POSITIONS: u64 : 2594073385365405696;
|
||||
WQ_STARTING_POSITION: u64 : 576460752303423488;
|
||||
BQ_STARTING_POSITION: u64 : 8;
|
||||
|
||||
EMPTY_BITBOARD: u64 : 0;
|
||||
|
||||
MAX_ULONG: u64 : 18446744073709551615;
|
||||
|
||||
MAGIC: u64 : 0x03f79d71b4cb0a89;
|
||||
|
||||
@(rodata)
|
||||
DEBRUIJN64: [64]int = [64]int{
|
||||
|
||||
0, 47, 1, 56, 48, 27, 2, 60,
|
||||
57, 49, 41, 37, 28, 16, 3, 61,
|
||||
54, 58, 35, 52, 50, 42, 21, 44,
|
||||
38, 32, 29, 23, 17, 11, 4, 62,
|
||||
46, 55, 26, 59, 40, 36, 15, 53,
|
||||
34, 51, 20, 43, 31, 22, 10, 45,
|
||||
25, 39, 14, 33, 19, 30, 9, 24,
|
||||
13, 18, 8, 12, 7, 6, 5, 63,
|
||||
};
|
||||
|
||||
BitscanForward :: proc(tempBitboard: u64) -> int {
|
||||
return (DEBRUIJN64[MAGIC*(tempBitboard~(tempBitboard-1))>>58]);
|
||||
}
|
||||
|
||||
RANK_1_BITBOARD:u64: 18374686479671623680;
|
||||
RANK_2_BITBOARD:u64: 71776119061217280;
|
||||
RANK_3_BITBOARD:u64: 280375465082880;
|
||||
RANK_4_BITBOARD:u64: 1095216660480;
|
||||
RANK_5_BITBOARD:u64: 4278190080;
|
||||
RANK_6_BITBOARD:u64: 16711680;
|
||||
RANK_7_BITBOARD:u64: 65280;
|
||||
RANK_8_BITBOARD:u64: 255;
|
||||
|
||||
FILE_A_BITBOARD:u64: 72340172838076673;
|
||||
FILE_B_BITBOARD:u64: 144680345676153346;
|
||||
FILE_C_BITBOARD:u64: 289360691352306692;
|
||||
FILE_D_BITBOARD:u64: 578721382704613384;
|
||||
FILE_E_BITBOARD:u64: 1157442765409226768;
|
||||
FILE_F_BITBOARD:u64: 2314885530818453536;
|
||||
FILE_G_BITBOARD:u64: 4629771061636907072;
|
||||
FILE_H_BITBOARD:u64: 9259542123273814144;
|
||||
|
||||
@(rodata)
|
||||
SQ_CHAR_Y: [65]byte = [65]byte{
|
||||
'8', '8', '8', '8', '8', '8', '8', '8',
|
||||
'7', '7', '7', '7', '7', '7', '7', '7',
|
||||
'6', '6', '6', '6', '6', '6', '6', '6',
|
||||
'5', '5', '5', '5', '5', '5', '5', '5',
|
||||
'4', '4', '4', '4', '4', '4', '4', '4',
|
||||
'3', '3', '3', '3', '3', '3', '3', '3',
|
||||
'2', '2', '2', '2', '2', '2', '2', '2',
|
||||
'1', '1', '1', '1', '1', '1', '1', '1', 'A',
|
||||
};
|
||||
@(rodata)
|
||||
SQ_CHAR_X: [65]byte = [65]byte{
|
||||
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
|
||||
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
|
||||
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
|
||||
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
|
||||
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
|
||||
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
|
||||
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
|
||||
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'N',
|
||||
};
|
||||
Reference in New Issue
Block a user