bool GoChain::AllEmptyAreLiberties(const SgPointSet& area) const { return (area & m_bd.AllEmpty()).SubsetOf(Liberties()); }
const int GoBoard::Liberties(const GoPoint p) const { if(IsRealPoint(p) && Occupied(p)) return Liberties(Pos(p)); return -1; }