From e70bfa30e96e4b640a718a466734ec9f04418a3a Mon Sep 17 00:00:00 2001 From: woodyring Date: Sat, 30 Jan 2016 12:55:31 +0900 Subject: [PATCH] move InFrontOfRankXXX from header to source The forllowing g++ compiler set InFrontOfRankXXX to zero gcc version 5.3.0 (Rev1, Built by MSYS2 project) --- src/bitboard.cpp | 20 ++++++++++++++++++++ src/bitboard.hpp | 38 +++++++++++++++++++------------------- 2 files changed, 39 insertions(+), 19 deletions(-) diff --git a/src/bitboard.cpp b/src/bitboard.cpp index e821eb2..09f9fc1 100644 --- a/src/bitboard.cpp +++ b/src/bitboard.cpp @@ -212,6 +212,26 @@ const u64 BishopMagic[SquareNum] = { }; #endif +const Bitboard InFrontOfRank1Black = allZeroBB(); +const Bitboard InFrontOfRank2Black = rankMask(); +const Bitboard InFrontOfRank3Black = InFrontOfRank2Black | rankMask(); +const Bitboard InFrontOfRank4Black = InFrontOfRank3Black | rankMask(); +const Bitboard InFrontOfRank5Black = InFrontOfRank4Black | rankMask(); +const Bitboard InFrontOfRank6Black = InFrontOfRank5Black | rankMask(); +const Bitboard InFrontOfRank7Black = InFrontOfRank6Black | rankMask(); +const Bitboard InFrontOfRank8Black = InFrontOfRank7Black | rankMask(); +const Bitboard InFrontOfRank9Black = InFrontOfRank8Black | rankMask(); + +const Bitboard InFrontOfRank9White = allZeroBB(); +const Bitboard InFrontOfRank8White = rankMask(); +const Bitboard InFrontOfRank7White = InFrontOfRank8White | rankMask(); +const Bitboard InFrontOfRank6White = InFrontOfRank7White | rankMask(); +const Bitboard InFrontOfRank5White = InFrontOfRank6White | rankMask(); +const Bitboard InFrontOfRank4White = InFrontOfRank5White | rankMask(); +const Bitboard InFrontOfRank3White = InFrontOfRank4White | rankMask(); +const Bitboard InFrontOfRank2White = InFrontOfRank3White | rankMask(); +const Bitboard InFrontOfRank1White = InFrontOfRank2White | rankMask(); + const Bitboard FileMask[FileNum] = { File1Mask, File2Mask, File3Mask, File4Mask, File5Mask, File6Mask, File7Mask, File8Mask, File9Mask }; diff --git a/src/bitboard.hpp b/src/bitboard.hpp index 42da76e..c1856c8 100644 --- a/src/bitboard.hpp +++ b/src/bitboard.hpp @@ -322,25 +322,25 @@ inline Bitboard squareRankMask(const Square sq) { return rankMask(r); } -const Bitboard InFrontOfRank1Black = allZeroBB(); -const Bitboard InFrontOfRank2Black = rankMask(); -const Bitboard InFrontOfRank3Black = InFrontOfRank2Black | rankMask(); -const Bitboard InFrontOfRank4Black = InFrontOfRank3Black | rankMask(); -const Bitboard InFrontOfRank5Black = InFrontOfRank4Black | rankMask(); -const Bitboard InFrontOfRank6Black = InFrontOfRank5Black | rankMask(); -const Bitboard InFrontOfRank7Black = InFrontOfRank6Black | rankMask(); -const Bitboard InFrontOfRank8Black = InFrontOfRank7Black | rankMask(); -const Bitboard InFrontOfRank9Black = InFrontOfRank8Black | rankMask(); - -const Bitboard InFrontOfRank9White = allZeroBB(); -const Bitboard InFrontOfRank8White = rankMask(); -const Bitboard InFrontOfRank7White = InFrontOfRank8White | rankMask(); -const Bitboard InFrontOfRank6White = InFrontOfRank7White | rankMask(); -const Bitboard InFrontOfRank5White = InFrontOfRank6White | rankMask(); -const Bitboard InFrontOfRank4White = InFrontOfRank5White | rankMask(); -const Bitboard InFrontOfRank3White = InFrontOfRank4White | rankMask(); -const Bitboard InFrontOfRank2White = InFrontOfRank3White | rankMask(); -const Bitboard InFrontOfRank1White = InFrontOfRank2White | rankMask(); +extern const Bitboard InFrontOfRank1Black; +extern const Bitboard InFrontOfRank2Black; +extern const Bitboard InFrontOfRank3Black; +extern const Bitboard InFrontOfRank4Black; +extern const Bitboard InFrontOfRank5Black; +extern const Bitboard InFrontOfRank6Black; +extern const Bitboard InFrontOfRank7Black; +extern const Bitboard InFrontOfRank8Black; +extern const Bitboard InFrontOfRank9Black; + +extern const Bitboard InFrontOfRank9White; +extern const Bitboard InFrontOfRank8White; +extern const Bitboard InFrontOfRank7White; +extern const Bitboard InFrontOfRank6White; +extern const Bitboard InFrontOfRank5White; +extern const Bitboard InFrontOfRank4White; +extern const Bitboard InFrontOfRank3White; +extern const Bitboard InFrontOfRank2White; +extern const Bitboard InFrontOfRank1White; inline Bitboard inFrontMask(const Color c, const Rank r) { return InFrontMask[c][r]; } template inline Bitboard inFrontMask() {