3 #ifndef _BOARD_BIT_MASK_H
4 #define _BOARD_BIT_MASK_H
25 CArray<unsigned long long,2>
mask;
26 CArray<unsigned char,16>
bMask;
30 CArray<unsigned long long,2>
mask;
42 for(
int y=1;y<=9;y++){
43 for(
int x=1;x<=9;x++){
45 if (st.pieceAt(position).isEmpty())
66 return (x-1)*11+(y-1);
72 assert(0<=offset && offset<=96);
74 unsigned long long tmpMask=1ull<<(offset&63);
75 assert((index == 0) || (index == 1));
76 mask[index]|= tmpMask;
85 assert(0<=offset && offset<=96);
87 unsigned long long tmpMask=1ull<<(offset&63);
88 assert((index == 0) || (index == 1));
89 mask[index]&= ~tmpMask;
115 lhs.xmm=__builtin_ia32_xorps(lhs.xmm,rhs.xmm);
126 ret.xmm=__builtin_ia32_xorps(lhs.xmm,rhs.xmm);
135 std::ostream&
operator<<(std::ostream& os,BoardBitMask
const& boardBitMask);
173 extern const BoardBitMaskTable Board_Bit_Mask_Table;
177 #endif // _BOARD_BIT_MASK_H