39       : 
piece((static_cast<int>(owner)<<20)
 
   41               +((num)<<8)+ square.uintValue())
 
   64       return ((
piece&0xff00)>>8);
 
   81       return static_cast<int>(
static_cast<unsigned int>(
piece)&0x800000ff)>0;
 
   89       return static_cast<int>((-
piece)&0x800000ff)>0;
 
  106         return isOnBoardByOwner<BLACK>();
 
  108         return isOnBoardByOwner<WHITE>();
 
  134       assert(promote_mask==0 || promote_mask==(1<<23));
 
  152       int mask=
piece&((1<<19)|0xff);
 
  161       return (
piece&0x8000)!=0;
 
  164       return (num&0x80)!=0;
 
  167       return (
piece&0x4000)!=0;
 
  171        return (num&0x40)!=0;
 
  174       return (num&0xc0)==0;
 
  201       return (
piece&0xc000)==0;
 
  208       return static_cast<int>(
piece)>=0;
 
  224       return ((
piece+0xe0000)&0x104000)==0;
 
  239         return canMoveOn<BLACK>();
 
  241         return canMoveOn<WHITE>();
 
  263   std::ostream& 
operator<<(std::ostream& os,
const Piece piece);