Add files via upload

This commit is contained in:
Coding with Tom
2025-01-12 22:42:08 +00:00
committed by GitHub
parent 6a0607ff0d
commit 55c3acf98e
10 changed files with 9918 additions and 13 deletions

879
Java/MoveConstants.java Normal file
View File

@@ -0,0 +1,879 @@
import java.math.BigInteger;
public class MoveConstants {
//#region
public static final BigInteger[] KNIGHT_ATTACKS =
{
new BigInteger("132096"),
new BigInteger("329728"),
new BigInteger("659712"),
new BigInteger("1319424"),
new BigInteger("2638848"),
new BigInteger("5277696"),
new BigInteger("10489856"),
new BigInteger("4202496"),
new BigInteger("33816580"),
new BigInteger("84410376"),
new BigInteger("168886289"),
new BigInteger("337772578"),
new BigInteger("675545156"),
new BigInteger("1351090312"),
new BigInteger("2685403152"),
new BigInteger("1075839008"),
new BigInteger("8657044482"),
new BigInteger("21609056261"),
new BigInteger("43234889994"),
new BigInteger("86469779988"),
new BigInteger("172939559976"),
new BigInteger("345879119952"),
new BigInteger("687463207072"),
new BigInteger("275414786112"),
new BigInteger("2216203387392"),
new BigInteger("5531918402816"),
new BigInteger("11068131838464"),
new BigInteger("22136263676928"),
new BigInteger("44272527353856"),
new BigInteger("88545054707712"),
new BigInteger("175990581010432"),
new BigInteger("70506185244672"),
new BigInteger("567348067172352"),
new BigInteger("1416171111120896"),
new BigInteger("2833441750646784"),
new BigInteger("5666883501293568"),
new BigInteger("11333767002587136"),
new BigInteger("22667534005174272"),
new BigInteger("45053588738670592"),
new BigInteger("18049583422636032"),
new BigInteger("145241105196122112"),
new BigInteger("362539804446949376"),
new BigInteger("725361088165576704"),
new BigInteger("1450722176331153408"),
new BigInteger("2901444352662306816"),
new BigInteger("5802888705324613632"),
new BigInteger("11533718717099671552"),
new BigInteger("4620693356194824192"),
new BigInteger("288234782788157440"),
new BigInteger("576469569871282176"),
new BigInteger("1224997833292120064"),
new BigInteger("2449995666584240128"),
new BigInteger("4899991333168480256"),
new BigInteger("9799982666336960512"),
new BigInteger("1152939783987658752"),
new BigInteger("2305878468463689728"),
new BigInteger("1128098930098176"),
new BigInteger("2257297371824128"),
new BigInteger("4796069720358912"),
new BigInteger("9592139440717824"),
new BigInteger("19184278881435648"),
new BigInteger("38368557762871296"),
new BigInteger("4679521487814656"),
new BigInteger("9077567998918656"),
};
public static final BigInteger[][] BISHOP_ATTACKS = {
{
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("1"),
new BigInteger("2"),
new BigInteger("4"),
new BigInteger("8"),
new BigInteger("16"),
new BigInteger("32"),
new BigInteger("64"),
new BigInteger("0"),
new BigInteger("256"),
new BigInteger("513"),
new BigInteger("1026"),
new BigInteger("2052"),
new BigInteger("4104"),
new BigInteger("8208"),
new BigInteger("16416"),
new BigInteger("0"),
new BigInteger("65536"),
new BigInteger("131328"),
new BigInteger("262657"),
new BigInteger("525314"),
new BigInteger("1050628"),
new BigInteger("2101256"),
new BigInteger("4202512"),
new BigInteger("0"),
new BigInteger("16777216"),
new BigInteger("33619968"),
new BigInteger("67240192"),
new BigInteger("134480385"),
new BigInteger("268960770"),
new BigInteger("537921540"),
new BigInteger("1075843080"),
new BigInteger("0"),
new BigInteger("4294967296"),
new BigInteger("8606711808"),
new BigInteger("17213489152"),
new BigInteger("34426978560"),
new BigInteger("68853957121"),
new BigInteger("137707914242"),
new BigInteger("275415828484"),
new BigInteger("0"),
new BigInteger("1099511627776"),
new BigInteger("2203318222848"),
new BigInteger("4406653222912"),
new BigInteger("8813306511360"),
new BigInteger("17626613022976"),
new BigInteger("35253226045953"),
new BigInteger("70506452091906"),
new BigInteger("0"),
new BigInteger("281474976710656"),
new BigInteger("564049465049088"),
new BigInteger("1128103225065472"),
new BigInteger("2256206466908160"),
new BigInteger("4512412933881856"),
new BigInteger("9024825867763968"),
new BigInteger("18049651735527937"),
},
{
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("2"),
new BigInteger("4"),
new BigInteger("8"),
new BigInteger("16"),
new BigInteger("32"),
new BigInteger("64"),
new BigInteger("128"),
new BigInteger("0"),
new BigInteger("516"),
new BigInteger("1032"),
new BigInteger("2064"),
new BigInteger("4128"),
new BigInteger("8256"),
new BigInteger("16512"),
new BigInteger("32768"),
new BigInteger("0"),
new BigInteger("132104"),
new BigInteger("264208"),
new BigInteger("528416"),
new BigInteger("1056832"),
new BigInteger("2113664"),
new BigInteger("4227072"),
new BigInteger("8388608"),
new BigInteger("0"),
new BigInteger("33818640"),
new BigInteger("67637280"),
new BigInteger("135274560"),
new BigInteger("270549120"),
new BigInteger("541097984"),
new BigInteger("1082130432"),
new BigInteger("2147483648"),
new BigInteger("0"),
new BigInteger("8657571872"),
new BigInteger("17315143744"),
new BigInteger("34630287488"),
new BigInteger("69260574720"),
new BigInteger("138521083904"),
new BigInteger("277025390592"),
new BigInteger("549755813888"),
new BigInteger("0"),
new BigInteger("2216338399296"),
new BigInteger("4432676798592"),
new BigInteger("8865353596928"),
new BigInteger("17730707128320"),
new BigInteger("35461397479424"),
new BigInteger("70918499991552"),
new BigInteger("140737488355328"),
new BigInteger("0"),
new BigInteger("567382630219904"),
new BigInteger("1134765260439552"),
new BigInteger("2269530520813568"),
new BigInteger("4539061024849920"),
new BigInteger("9078117754732544"),
new BigInteger("18155135997837312"),
new BigInteger("36028797018963968"),
new BigInteger("0"),
},
{
new BigInteger("0"),
new BigInteger("256"),
new BigInteger("66048"),
new BigInteger("16909312"),
new BigInteger("4328785920"),
new BigInteger("1108169199616"),
new BigInteger("283691315109888"),
new BigInteger("72624976668147712"),
new BigInteger("0"),
new BigInteger("65536"),
new BigInteger("16908288"),
new BigInteger("4328783872"),
new BigInteger("1108169195520"),
new BigInteger("283691315101696"),
new BigInteger("72624976668131328"),
new BigInteger("145249953336262656"),
new BigInteger("0"),
new BigInteger("16777216"),
new BigInteger("4328521728"),
new BigInteger("1108168671232"),
new BigInteger("283691314053120"),
new BigInteger("72624976666034176"),
new BigInteger("145249953332068352"),
new BigInteger("290499906664136704"),
new BigInteger("0"),
new BigInteger("4294967296"),
new BigInteger("1108101562368"),
new BigInteger("283691179835392"),
new BigInteger("72624976397598720"),
new BigInteger("145249952795197440"),
new BigInteger("290499905590394880"),
new BigInteger("580999811180789760"),
new BigInteger("0"),
new BigInteger("1099511627776"),
new BigInteger("283673999966208"),
new BigInteger("72624942037860352"),
new BigInteger("145249884075720704"),
new BigInteger("290499768151441408"),
new BigInteger("580999536302882816"),
new BigInteger("1161999072605765632"),
new BigInteger("0"),
new BigInteger("281474976710656"),
new BigInteger("72620543991349248"),
new BigInteger("145241087982698496"),
new BigInteger("290482175965396992"),
new BigInteger("580964351930793984"),
new BigInteger("1161928703861587968"),
new BigInteger("2323857407723175936"),
new BigInteger("0"),
new BigInteger("72057594037927936"),
new BigInteger("144115188075855872"),
new BigInteger("288230376151711744"),
new BigInteger("576460752303423488"),
new BigInteger("1152921504606846976"),
new BigInteger("2305843009213693952"),
new BigInteger("4611686018427387904"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
},
{
new BigInteger("9241421688590303744"),
new BigInteger("36099303471055872"),
new BigInteger("141012904183808"),
new BigInteger("550831656960"),
new BigInteger("2151686144"),
new BigInteger("8404992"),
new BigInteger("32768"),
new BigInteger("0"),
new BigInteger("4620710844295151616"),
new BigInteger("9241421688590303232"),
new BigInteger("36099303471054848"),
new BigInteger("141012904181760"),
new BigInteger("550831652864"),
new BigInteger("2151677952"),
new BigInteger("8388608"),
new BigInteger("0"),
new BigInteger("2310355422147510272"),
new BigInteger("4620710844295020544"),
new BigInteger("9241421688590041088"),
new BigInteger("36099303470530560"),
new BigInteger("141012903133184"),
new BigInteger("550829555712"),
new BigInteger("2147483648"),
new BigInteger("0"),
new BigInteger("1155177711056977920"),
new BigInteger("2310355422113955840"),
new BigInteger("4620710844227911680"),
new BigInteger("9241421688455823360"),
new BigInteger("36099303202095104"),
new BigInteger("141012366262272"),
new BigInteger("549755813888"),
new BigInteger("0"),
new BigInteger("577588851233521664"),
new BigInteger("1155177702467043328"),
new BigInteger("2310355404934086656"),
new BigInteger("4620710809868173312"),
new BigInteger("9241421619736346624"),
new BigInteger("36099165763141632"),
new BigInteger("140737488355328"),
new BigInteger("0"),
new BigInteger("288793326105133056"),
new BigInteger("577586652210266112"),
new BigInteger("1155173304420532224"),
new BigInteger("2310346608841064448"),
new BigInteger("4620693217682128896"),
new BigInteger("9241386435364257792"),
new BigInteger("36028797018963968"),
new BigInteger("0"),
new BigInteger("144115188075855872"),
new BigInteger("288230376151711744"),
new BigInteger("576460752303423488"),
new BigInteger("1152921504606846976"),
new BigInteger("2305843009213693952"),
new BigInteger("4611686018427387904"),
new BigInteger("9223372036854775808"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
},
};
public static final BigInteger[][] ROOK_ATTACKS = {
{
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("1"),
new BigInteger("2"),
new BigInteger("4"),
new BigInteger("8"),
new BigInteger("16"),
new BigInteger("32"),
new BigInteger("64"),
new BigInteger("128"),
new BigInteger("257"),
new BigInteger("514"),
new BigInteger("1028"),
new BigInteger("2056"),
new BigInteger("4112"),
new BigInteger("8224"),
new BigInteger("16448"),
new BigInteger("32896"),
new BigInteger("65793"),
new BigInteger("131586"),
new BigInteger("263172"),
new BigInteger("526344"),
new BigInteger("1052688"),
new BigInteger("2105376"),
new BigInteger("4210752"),
new BigInteger("8421504"),
new BigInteger("16843009"),
new BigInteger("33686018"),
new BigInteger("67372036"),
new BigInteger("134744072"),
new BigInteger("269488144"),
new BigInteger("538976288"),
new BigInteger("1077952576"),
new BigInteger("2155905152"),
new BigInteger("4311810305"),
new BigInteger("8623620610"),
new BigInteger("17247241220"),
new BigInteger("34494482440"),
new BigInteger("68988964880"),
new BigInteger("137977929760"),
new BigInteger("275955859520"),
new BigInteger("551911719040"),
new BigInteger("1103823438081"),
new BigInteger("2207646876162"),
new BigInteger("4415293752324"),
new BigInteger("8830587504648"),
new BigInteger("17661175009296"),
new BigInteger("35322350018592"),
new BigInteger("70644700037184"),
new BigInteger("141289400074368"),
new BigInteger("282578800148737"),
new BigInteger("565157600297474"),
new BigInteger("1130315200594948"),
new BigInteger("2260630401189896"),
new BigInteger("4521260802379792"),
new BigInteger("9042521604759584"),
new BigInteger("18085043209519168"),
new BigInteger("36170086419038336")
},
{
new BigInteger("254"),
new BigInteger("252"),
new BigInteger("248"),
new BigInteger("240"),
new BigInteger("224"),
new BigInteger("192"),
new BigInteger("128"),
new BigInteger("0"),
new BigInteger("65024"),
new BigInteger("64512"),
new BigInteger("63488"),
new BigInteger("61440"),
new BigInteger("57344"),
new BigInteger("49152"),
new BigInteger("32768"),
new BigInteger("0"),
new BigInteger("16646144"),
new BigInteger("16515072"),
new BigInteger("16252928"),
new BigInteger("15728640"),
new BigInteger("14680064"),
new BigInteger("12582912"),
new BigInteger("8388608"),
new BigInteger("0"),
new BigInteger("4261412864"),
new BigInteger("4227858432"),
new BigInteger("4160749568"),
new BigInteger("4026531840"),
new BigInteger("3758096384"),
new BigInteger("3221225472"),
new BigInteger("2147483648"),
new BigInteger("0"),
new BigInteger("1090921693184"),
new BigInteger("1082331758592"),
new BigInteger("1065151889408"),
new BigInteger("1030792151040"),
new BigInteger("962072674304"),
new BigInteger("824633720832"),
new BigInteger("549755813888"),
new BigInteger("0"),
new BigInteger("279275953455104"),
new BigInteger("277076930199552"),
new BigInteger("272678883688448"),
new BigInteger("263882790666240"),
new BigInteger("246290604621824"),
new BigInteger("211106232532992"),
new BigInteger("140737488355328"),
new BigInteger("0"),
new BigInteger("71494644084506624"),
new BigInteger("70931694131085312"),
new BigInteger("69805794224242688"),
new BigInteger("67553994410557440"),
new BigInteger("63050394783186944"),
new BigInteger("54043195528445952"),
new BigInteger("36028797018963968"),
new BigInteger("0"),
new BigInteger("18302628885633695744"),
new BigInteger("18158513697557839872"),
new BigInteger("17870283321406128128"),
new BigInteger("17293822569102704640"),
new BigInteger("16140901064495857664"),
new BigInteger("13835058055282163712"),
new BigInteger("9223372036854775808"),
new BigInteger("0")
},
{
new BigInteger("72340172838076672"),
new BigInteger("144680345676153344"),
new BigInteger("289360691352306688"),
new BigInteger("578721382704613376"),
new BigInteger("1157442765409226752"),
new BigInteger("2314885530818453504"),
new BigInteger("4629771061636907008"),
new BigInteger("9259542123273814016"),
new BigInteger("72340172838076416"),
new BigInteger("144680345676152832"),
new BigInteger("289360691352305664"),
new BigInteger("578721382704611328"),
new BigInteger("1157442765409222656"),
new BigInteger("2314885530818445312"),
new BigInteger("4629771061636890624"),
new BigInteger("9259542123273781248"),
new BigInteger("72340172838010880"),
new BigInteger("144680345676021760"),
new BigInteger("289360691352043520"),
new BigInteger("578721382704087040"),
new BigInteger("1157442765408174080"),
new BigInteger("2314885530816348160"),
new BigInteger("4629771061632696320"),
new BigInteger("9259542123265392640"),
new BigInteger("72340172821233664"),
new BigInteger("144680345642467328"),
new BigInteger("289360691284934656"),
new BigInteger("578721382569869312"),
new BigInteger("1157442765139738624"),
new BigInteger("2314885530279477248"),
new BigInteger("4629771060558954496"),
new BigInteger("9259542121117908992"),
new BigInteger("72340168526266368"),
new BigInteger("144680337052532736"),
new BigInteger("289360674105065472"),
new BigInteger("578721348210130944"),
new BigInteger("1157442696420261888"),
new BigInteger("2314885392840523776"),
new BigInteger("4629770785681047552"),
new BigInteger("9259541571362095104"),
new BigInteger("72339069014638592"),
new BigInteger("144678138029277184"),
new BigInteger("289356276058554368"),
new BigInteger("578712552117108736"),
new BigInteger("1157425104234217472"),
new BigInteger("2314850208468434944"),
new BigInteger("4629700416936869888"),
new BigInteger("9259400833873739776"),
new BigInteger("72057594037927936"),
new BigInteger("144115188075855872"),
new BigInteger("288230376151711744"),
new BigInteger("576460752303423488"),
new BigInteger("1152921504606846976"),
new BigInteger("2305843009213693952"),
new BigInteger("4611686018427387904"),
new BigInteger("9223372036854775808"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0"),
new BigInteger("0")
},
{
new BigInteger("0"),
new BigInteger("1"),
new BigInteger("3"),
new BigInteger("7"),
new BigInteger("15"),
new BigInteger("31"),
new BigInteger("63"),
new BigInteger("127"),
new BigInteger("0"),
new BigInteger("256"),
new BigInteger("768"),
new BigInteger("1792"),
new BigInteger("3840"),
new BigInteger("7936"),
new BigInteger("16128"),
new BigInteger("32512"),
new BigInteger("0"),
new BigInteger("65536"),
new BigInteger("196608"),
new BigInteger("458752"),
new BigInteger("983040"),
new BigInteger("2031616"),
new BigInteger("4128768"),
new BigInteger("8323072"),
new BigInteger("0"),
new BigInteger("16777216"),
new BigInteger("50331648"),
new BigInteger("117440512"),
new BigInteger("251658240"),
new BigInteger("520093696"),
new BigInteger("1056964608"),
new BigInteger("2130706432"),
new BigInteger("0"),
new BigInteger("4294967296"),
new BigInteger("12884901888"),
new BigInteger("30064771072"),
new BigInteger("64424509440"),
new BigInteger("133143986176"),
new BigInteger("270582939648"),
new BigInteger("545460846592"),
new BigInteger("0"),
new BigInteger("1099511627776"),
new BigInteger("3298534883328"),
new BigInteger("7696581394432"),
new BigInteger("16492674416640"),
new BigInteger("34084860461056"),
new BigInteger("69269232549888"),
new BigInteger("139637976727552"),
new BigInteger("0"),
new BigInteger("281474976710656"),
new BigInteger("844424930131968"),
new BigInteger("1970324836974592"),
new BigInteger("4222124650659840"),
new BigInteger("8725724278030336"),
new BigInteger("17732923532771328"),
new BigInteger("35747322042253312"),
new BigInteger("0"),
new BigInteger("72057594037927936"),
new BigInteger("216172782113783808"),
new BigInteger("504403158265495552"),
new BigInteger("1080863910568919040"),
new BigInteger("2233785415175766016"),
new BigInteger("4539628424389459968"),
new BigInteger("9151314442816847872")
}
};
public static final BigInteger[] WHITE_PAWN_ATTACKS = {
BigInteger.valueOf(0),
BigInteger.valueOf(0),
BigInteger.valueOf(0),
BigInteger.valueOf(0),
BigInteger.valueOf(0),
BigInteger.valueOf(0),
BigInteger.valueOf(0),
BigInteger.valueOf(0),
BigInteger.valueOf(2),
BigInteger.valueOf(5),
BigInteger.valueOf(10),
BigInteger.valueOf(20),
BigInteger.valueOf(40),
BigInteger.valueOf(80),
BigInteger.valueOf(160),
BigInteger.valueOf(64),
BigInteger.valueOf(512),
BigInteger.valueOf(1280),
BigInteger.valueOf(2560),
BigInteger.valueOf(5120),
BigInteger.valueOf(10240),
BigInteger.valueOf(20480),
BigInteger.valueOf(40960),
BigInteger.valueOf(16384),
BigInteger.valueOf(131072),
BigInteger.valueOf(327680),
BigInteger.valueOf(655360),
BigInteger.valueOf(1310720),
BigInteger.valueOf(2621440),
BigInteger.valueOf(5242880),
BigInteger.valueOf(10485760),
BigInteger.valueOf(4194304),
BigInteger.valueOf(33554432),
BigInteger.valueOf(83886080),
BigInteger.valueOf(167772160L),
BigInteger.valueOf(335544320L),
BigInteger.valueOf(671088640L),
BigInteger.valueOf(1342177280L),
BigInteger.valueOf(2684354560L),
BigInteger.valueOf(1073741824L),
BigInteger.valueOf(8589934592L),
BigInteger.valueOf(21474836480L),
BigInteger.valueOf(42949672960L),
BigInteger.valueOf(85899345920L),
BigInteger.valueOf(171798691840L),
BigInteger.valueOf(343597383680L),
BigInteger.valueOf(687194767360L),
BigInteger.valueOf(274877906944L),
BigInteger.valueOf(2199023255552L),
BigInteger.valueOf(5497558138880L),
BigInteger.valueOf(10995116277760L),
BigInteger.valueOf(21990232555520L),
BigInteger.valueOf(43980465111040L),
BigInteger.valueOf(87960930222080L),
BigInteger.valueOf(175921860444160L),
BigInteger.valueOf(70368744177664L),
BigInteger.valueOf(562949953421312L),
BigInteger.valueOf(1407374883553280L),
BigInteger.valueOf(2814749767106560L),
BigInteger.valueOf(5629499534213120L),
BigInteger.valueOf(11258999068426240L),
BigInteger.valueOf(22517998136852480L),
BigInteger.valueOf(45035996273704960L),
BigInteger.valueOf(18014398509481984L)
};
public static final BigInteger[] BLACK_PAWN_ATTACKS = {
BigInteger.valueOf(512),
BigInteger.valueOf(1280),
BigInteger.valueOf(2560),
BigInteger.valueOf(5120),
BigInteger.valueOf(10240),
BigInteger.valueOf(20480),
BigInteger.valueOf(40960),
BigInteger.valueOf(16384),
BigInteger.valueOf(131072),
BigInteger.valueOf(327680),
BigInteger.valueOf(655360),
BigInteger.valueOf(1310720),
BigInteger.valueOf(2621440),
BigInteger.valueOf(5242880),
BigInteger.valueOf(10485760),
BigInteger.valueOf(4194304),
BigInteger.valueOf(33554432),
BigInteger.valueOf(83886080),
BigInteger.valueOf(167772160),
BigInteger.valueOf(335544320),
BigInteger.valueOf(671088640),
BigInteger.valueOf(1342177280),
BigInteger.valueOf(2684354560L),
BigInteger.valueOf(1073741824),
BigInteger.valueOf(8589934592L),
BigInteger.valueOf(21474836480L),
BigInteger.valueOf(42949672960L),
BigInteger.valueOf(85899345920L),
BigInteger.valueOf(171798691840L),
BigInteger.valueOf(343597383680L),
BigInteger.valueOf(687194767360L),
BigInteger.valueOf(274877906944L),
BigInteger.valueOf(2199023255552L),
BigInteger.valueOf(5497558138880L),
BigInteger.valueOf(10995116277760L),
BigInteger.valueOf(21990232555520L),
BigInteger.valueOf(43980465111040L),
BigInteger.valueOf(87960930222080L),
BigInteger.valueOf(175921860444160L),
BigInteger.valueOf(70368744177664L),
BigInteger.valueOf(562949953421312L),
BigInteger.valueOf(1407374883553280L),
BigInteger.valueOf(2814749767106560L),
BigInteger.valueOf(5629499534213120L),
BigInteger.valueOf(11258999068426240L),
BigInteger.valueOf(22517998136852480L),
BigInteger.valueOf(45035996273704960L),
BigInteger.valueOf(18014398509481984L),
BigInteger.valueOf(144115188075855872L),
BigInteger.valueOf(360287970189639680L),
BigInteger.valueOf(720575940379279360L),
BigInteger.valueOf(1441151880758558720L),
BigInteger.valueOf(2882303761517117440L),
BigInteger.valueOf(5764607523034234880L),
new BigInteger("11529215046068469760"),
BigInteger.valueOf(4611686018427387904L),
BigInteger.valueOf(0),
BigInteger.valueOf(0),
BigInteger.valueOf(0),
BigInteger.valueOf(0),
BigInteger.valueOf(0),
BigInteger.valueOf(0),
BigInteger.valueOf(0),
BigInteger.valueOf(0)
};
public static final BigInteger[] KING_ATTACKS = {
new BigInteger("770"),
new BigInteger("1797"),
new BigInteger("3594"),
new BigInteger("7188"),
new BigInteger("14376"),
new BigInteger("28752"),
new BigInteger("57504"),
new BigInteger("49216"),
new BigInteger("197123"),
new BigInteger("460039"),
new BigInteger("920078"),
new BigInteger("1840156"),
new BigInteger("3680312"),
new BigInteger("7360624"),
new BigInteger("14721248"),
new BigInteger("12599488"),
new BigInteger("50463488"),
new BigInteger("117769984"),
new BigInteger("235539968"),
new BigInteger("471079936"),
new BigInteger("942159872"),
new BigInteger("1884319744"),
new BigInteger("3768639488"),
new BigInteger("3225468928"),
new BigInteger("12918652928"),
new BigInteger("30149115904"),
new BigInteger("60298231808"),
new BigInteger("120596463616"),
new BigInteger("241192927232"),
new BigInteger("482385854464"),
new BigInteger("964771708928"),
new BigInteger("825720045568"),
new BigInteger("3307175149568"),
new BigInteger("7718173671424"),
new BigInteger("15436347342848"),
new BigInteger("30872694685696"),
new BigInteger("61745389371392"),
new BigInteger("123490778742784"),
new BigInteger("246981557485568"),
new BigInteger("211384331665408"),
new BigInteger("846636838289408"),
new BigInteger("1975852459884544"),
new BigInteger("3951704919769088"),
new BigInteger("7903409839538176"),
new BigInteger("15806819679076352"),
new BigInteger("31613639358152704"),
new BigInteger("63227278716305408"),
new BigInteger("54114388906344448"),
new BigInteger("216739030602088448"),
new BigInteger("505818229730443264"),
new BigInteger("1011636459460886528"),
new BigInteger("2023272918921773056"),
new BigInteger("4046545837843546112"),
new BigInteger("8093091675687092224"),
new BigInteger("16186183351374184448"),
new BigInteger("13853283560024178688"),
new BigInteger("144959613005987840"),
new BigInteger("362258295026614272"),
new BigInteger("724516590053228544"),
new BigInteger("1449033180106457088"),
new BigInteger("2898066360212914176"),
new BigInteger("5796132720425828352"),
new BigInteger("11592265440851656704"),
new BigInteger("4665729213955833856")
};
public static final BigInteger[] SQUARE_BBS = {
new BigInteger("1"),
new BigInteger("2"),
new BigInteger("4"),
new BigInteger("8"),
new BigInteger("16"),
new BigInteger("32"),
new BigInteger("64"),
new BigInteger("128"),
new BigInteger("256"),
new BigInteger("512"),
new BigInteger("1024"),
new BigInteger("2048"),
new BigInteger("4096"),
new BigInteger("8192"),
new BigInteger("16384"),
new BigInteger("32768"),
new BigInteger("65536"),
new BigInteger("131072"),
new BigInteger("262144"),
new BigInteger("524288"),
new BigInteger("1048576"),
new BigInteger("2097152"),
new BigInteger("4194304"),
new BigInteger("8388608"),
new BigInteger("16777216"),
new BigInteger("33554432"),
new BigInteger("67108864"),
new BigInteger("134217728"),
new BigInteger("268435456"),
new BigInteger("536870912"),
new BigInteger("1073741824"),
new BigInteger("2147483648"),
new BigInteger("4294967296"),
new BigInteger("8589934592"),
new BigInteger("17179869184"),
new BigInteger("34359738368"),
new BigInteger("68719476736"),
new BigInteger("137438953472"),
new BigInteger("274877906944"),
new BigInteger("549755813888"),
new BigInteger("1099511627776"),
new BigInteger("2199023255552"),
new BigInteger("4398046511104"),
new BigInteger("8796093022208"),
new BigInteger("17592186044416"),
new BigInteger("35184372088832"),
new BigInteger("70368744177664"),
new BigInteger("140737488355328"),
new BigInteger("281474976710656"),
new BigInteger("562949953421312"),
new BigInteger("1125899906842624"),
new BigInteger("2251799813685248"),
new BigInteger("4503599627370496"),
new BigInteger("9007199254740992"),
new BigInteger("18014398509481984"),
new BigInteger("36028797018963968"),
new BigInteger("72057594037927936"),
new BigInteger("144115188075855872"),
new BigInteger("288230376151711744"),
new BigInteger("576460752303423488"),
new BigInteger("1152921504606846976"),
new BigInteger("2305843009213693952"),
new BigInteger("4611686018427387904"),
new BigInteger("9223372036854775808"),
};
//#endregion
}