int main() { return InitializeAttackBoards(); }
void Initialize(int continuing) { /* ---------------------------------------------------------- | | | perform routine initialization. | | | ---------------------------------------------------------- */ int i=0; InitializeZeroMasks(); InitializeMasks(); InitializeRandomHash(); InitializeAttackBoards(); InitializePawnMasks(); InitializePieceMasks(); InitializeChessBoard(&position[0]); #if defined(NT_i386) || defined(NT_AXP) _fmode = _O_BINARY; /* set global file mode to binary to avoid text translation */ #endif last[0]=move_list; if (continuing) { history_file=fopen("game.001","r+"); if (!log_file || !history_file) { printf("\nsorry. nothing to continue.\n\n"); history_file=fopen("game.001","w+"); } else { sprintf(buffer,"read game.001"); (void) Option(); } } else { history_file=fopen("game.001","w+"); } trans_ref_wa=(HASH_ENTRY*)malloc(16*hash_table_size); trans_ref_wb=(HASH_ENTRY*)malloc(16*2*hash_table_size); trans_ref_ba=(HASH_ENTRY*)malloc(16*hash_table_size); trans_ref_bb=(HASH_ENTRY*)malloc(16*2*hash_table_size); pawn_hash_table=(PAWN_HASH_ENTRY*)malloc(sizeof(PAWN_HASH_ENTRY)*pawn_hash_table_size); InitializeHashTables(); if (!trans_ref_wa || !trans_ref_wb || !trans_ref_ba || !trans_ref_bb ) { printf("malloc() failed, not enough memory.\n"); free(trans_ref_wa); free(trans_ref_wb); free(trans_ref_ba); free(trans_ref_bb); free(pawn_hash_table); hash_table_size=0; pawn_hash_table_size=0; log_hash=0; log_pawn_hash=0; trans_ref_wa=0; trans_ref_wb=0; trans_ref_ba=0; trans_ref_bb=0; pawn_hash_table=0; } hash_maska=(1<<log_hash)-1; hash_maskb=(1<<(log_hash+1))-1; pawn_hash_mask=((unsigned int) 037777777777)>>(32-log_pawn_hash); }