class_docstr: Represents a modulo operation on symbolic expressions.
  
  Parameters
  ==========
  
  p : Expr
      Dividend.
  
  q : Expr
      Divisor.
  
  Notes
  =====
  
  The convention used is the same as Python's: the remainder always has the
  same sign as the divisor.
  
  Many objects can be evaluated modulo ``n`` much faster than they can be
  evaluated directly (or at all).  For this, ``evaluate=False`` is
  necessary to prevent eager evaluation:
  
  >>> from sympy import binomial, factorial, Mod, Pow
  >>> Mod(Pow(2, 10**16, evaluate=False), 97)
  61
  >>> Mod(factorial(10**9, evaluate=False), 10**9 + 9)
  712524808
  >>> Mod(binomial(10**18, 10**12, evaluate=False), (10**5 + 3)**2)
  3744312326
  
  Examples
  ========
  
  >>> from sympy.abc import x, y
  >>> x**2 % y
  Mod(x**2, y)
  >>> _.subs({x: 5, y: 6})
  1
class_docstr_tok: ["Represents","a","modulo","operation","on","symbolic","expressions",".","Parameters","==========","p",":","Expr","Dividend",".","q",":","Expr","Divisor",".","Notes","=====","The","convention","used","is","the","same","as","Python","'s",":","the","remainder","always","has","the","same","sign","as","the","divisor",".","Many","objects","can","be","evaluated","modulo","``","n","``","much","faster","than","they","can","be","evaluated","directly","(","or","at","all",")",".","For","this",",","``","evaluate=False","``","is","necessary","to","prevent","eager","evaluation",":",">",">",">","from","sympy","import","binomial",",","factorial",",","Mod",",","Pow",">",">",">","Mod","(","Pow","(","2",",","10","*","*","16",",","evaluate=False",")",",","97",")","61",">",">",">","Mod","(","factorial","(","10","*","*","9",",","evaluate=False",")",",","10","*","*","9","+","9",")","712524808",">",">",">","Mod","(","binomial","(","10","*","*","18",",","10","*","*","12",",","evaluate=False",")",",","(","10","*","*","5","+","3",")","*","*","2",")","3744312326","Examples","========",">",">",">","from","sympy.abc","import","x",",","y",">",">",">","x","*","*","2","%","y","Mod","(","x","*","*","2",",","y",")",">",">",">","_.subs","(","{","x",":","5",",","y",":","6","}",")","1"]
code: def _eval_is_nonpositive(self):
      if self.args[1].is_negative:
          return True
  
file_path: sympy/sympy/core/mod.py
imports: from .add import Add
  from .exprtools import gcd_terms
  from .function import Function
  from .kind import NumberKind
  from .logic import fuzzy_and, fuzzy_not
  from .mul import Mul
  from .numbers import equal_valued
  from .singleton import S
label_desc: Use image node_id 4 for calling the Mod obj's underlying member method code with example usage: obj._eval_is_nonpositive() and returns: True