3 #ifndef OSL_PIECESTAND_H 
    4 #define OSL_PIECESTAND_H 
   44     static const CArray<Ptype,7> 
order;
 
   47     static const CArray<unsigned char,PTYPE_MAX+1> 
shift;
 
   48     static const CArray<unsigned char,PTYPE_MAX+1> 
mask;
 
   56                int knightCount, 
int silverCount,
 
   57                int goldCount, 
int bishopCount,
 
   58                int rookCount, 
int kingCount) 
 
   74       assert(num == (num & 
mask[type]));
 
   81       assert(num == (num & 
mask[type]));
 
   82       assert(
get(type) >= num);
 
  164         return hasMoreThan<BLACK>(other);
 
  166         return hasMoreThan<WHITE>(other);
 
  179       unsigned int my_mask = mask0-((mask0&0x40000024)>>2);
 
  181       my_mask -= (mask0&0x08022200)>>3;
 
  183       my_mask -= (mask0&0x00800000)>>5;
 
  194       const unsigned int mask0=diff0&
carryMask;
 
  197       const unsigned int mask02=(mask0&0x40000024u)+(mask0&0x48022224u);
 
  198       unsigned int my_mask=mask0-(mask02>>3);
 
  201       my_mask -= (mask0&0x00800000)>>5;
 
  271   std::ostream& 
operator<<(std::ostream&, PieceStand l);