text: """
  Base class for polyhedra over `\QQ`
  """
  from __future__ import absolute_import
  
  from sage.rings.all import QQ
  from .base import Polyhedron_base
  
  
  class Polyhedron_QQ(Polyhedron_base):
      """
      Base class for Polyhedra over `\QQ`
  
      TESTS::
  
          sage: p = Polyhedron([(0,0)], base_ring=QQ);  p
          A 0-dimensional polyhedron in QQ^2 defined as the convex hull of 1 vertex
          sage: TestSuite(p).run()
      """
      def _is_zero(self, x):
          """
          Test whether ``x`` is zero.
  
          INPUT:
  
          - ``x`` -- a number in the base ring.
  
          OUTPUT:
  
          Boolean.
  
          EXAMPLES::
  
              sage: p = Polyhedron([(0,0)], base_ring=QQ)
              sage: p._is_zero(0)
              True
              sage: p._is_zero(1/100000)
              False
          """
          return x==0
  
      def _is_nonneg(self, x):
          """
          Test whether ``x`` is nonnegative.
  
          INPUT:
  
          - ``x`` -- a number in the base ring.
  
          OUTPUT:
  
          Boolean.
  
          EXAMPLES::
  
              sage: p = Polyhedron([(0,0)], base_ring=QQ)
              sage: p._is_nonneg(1)
              True
              sage: p._is_nonneg(-1/100000)
              False
          """
          return x>=0
  
      def _is_positive(self, x):
          """
          Test whether ``x`` is positive.
  
          INPUT:
  
          - ``x`` -- a number in the base ring.
  
          OUTPUT:
  
          Boolean.
  
          EXAMPLES::
  
              sage: p = Polyhedron([(0,0)], base_ring=QQ)
              sage: p._is_positive(1)
              True
              sage: p._is_positive(0)
              False
          """
          return x>0
  
      _base_ring = QQ
  
  