SSE2も可なのだが,あまり良い方法が見つからない More...
#include <boardBitMask.h>
Public Member Functions | |
BoardBitMask () | |
template<class State > | |
BoardBitMask (State const &st) | |
void | clearAll () |
すべてのビットが0のものを作る | |
void | setAll () |
void | setBit (int offset) |
void | setBit (Square pos) |
void | clearBit (int offset) |
void | clearBit (Square pos) |
bool | isZero () const |
BoardBitMask & | operator= (BoardBitMask const &rhs) |
Static Public Member Functions | |
static int | positionToOffset (Square pos) |
0-8 11-19 22-30 33-41 44-52 55-63 66-74 77-85 88-96 でやってみる 香車と角の利きをなんとかするアイデアもあったのだが | |
Public Attributes | |
union { | |
CArray< unsigned long long, 2 > mask | |
CArray< unsigned char, 16 > bMask | |
}; | |
Friends | |
BoardBitMask & | operator&= (BoardBitMask &lhs, BoardBitMask const &rhs) |
BoardBitMask & | operator^= (BoardBitMask &lhs, BoardBitMask const &rhs) |
BoardBitMask | operator^ (BoardBitMask &src1, BoardBitMask const &src2) |
SSE2も可なのだが,あまり良い方法が見つからない
Definition at line 21 of file boardBitMask.h.
osl::effect::BoardBitMask::BoardBitMask | ( | ) | [inline] |
Definition at line 38 of file boardBitMask.h.
osl::effect::BoardBitMask::BoardBitMask | ( | State const & | st | ) | [inline, explicit] |
Definition at line 40 of file boardBitMask.h.
References clearAll(), positionToOffset(), and setBit().
void osl::effect::BoardBitMask::clearAll | ( | ) | [inline] |
すべてのビットが0のものを作る
Definition at line 53 of file boardBitMask.h.
References mask.
Referenced by BoardBitMask(), and osl::effect::setBetweenMask().
void osl::effect::BoardBitMask::clearBit | ( | int | offset | ) | [inline] |
offset(0-96) | - bitをクリアする |
Definition at line 84 of file boardBitMask.h.
References mask.
Referenced by clearBit().
void osl::effect::BoardBitMask::clearBit | ( | Square | pos | ) | [inline] |
Definition at line 91 of file boardBitMask.h.
References clearBit(), and positionToOffset().
bool osl::effect::BoardBitMask::isZero | ( | ) | const [inline] |
Definition at line 94 of file boardBitMask.h.
References mask.
BoardBitMask& osl::effect::BoardBitMask::operator= | ( | BoardBitMask const & | rhs | ) | [inline] |
Definition at line 97 of file boardBitMask.h.
References mask.
static int osl::effect::BoardBitMask::positionToOffset | ( | Square | pos | ) | [inline, static] |
0-8 11-19 22-30 33-41 44-52 55-63 66-74 77-85 88-96 でやってみる 香車と角の利きをなんとかするアイデアもあったのだが
Definition at line 62 of file boardBitMask.h.
References osl::Square::isOnBoard(), osl::Square::x(), and osl::Square::y().
Referenced by BoardBitMask(), clearBit(), osl::effect::BoardBitMaskTable::initMaskOfSquare(), and setBit().
void osl::effect::BoardBitMask::setAll | ( | ) | [inline] |
Definition at line 54 of file boardBitMask.h.
References mask.
void osl::effect::BoardBitMask::setBit | ( | int | offset | ) | [inline] |
offset(0-96) | - bitをセットする |
Definition at line 71 of file boardBitMask.h.
References mask.
Referenced by BoardBitMask(), osl::effect::setBetweenMask(), and setBit().
void osl::effect::BoardBitMask::setBit | ( | Square | pos | ) | [inline] |
Definition at line 78 of file boardBitMask.h.
References positionToOffset(), and setBit().
BoardBitMask& operator&= | ( | BoardBitMask & | lhs, |
BoardBitMask const & | rhs | ||
) | [friend] |
BoardBitMask operator^ | ( | BoardBitMask & | src1, |
BoardBitMask const & | src2 | ||
) | [friend] |
BoardBitMask& operator^= | ( | BoardBitMask & | lhs, |
BoardBitMask const & | rhs | ||
) | [friend] |
Definition at line 113 of file boardBitMask.h.
union { ... } |
CArray<unsigned char,16> osl::effect::BoardBitMask::bMask |
Definition at line 31 of file boardBitMask.h.
Referenced by osl::effect::operator<<().
CArray<unsigned long long,2> osl::effect::BoardBitMask::mask |
Definition at line 30 of file boardBitMask.h.
Referenced by clearAll(), clearBit(), isZero(), operator=(), osl::effect::operator^(), osl::effect::operator^=(), setAll(), and setBit().