Inheritance diagram for ArithRef:Public Member Functions | |
| def | sort (self) |
| def | is_int (self) |
| def | is_real (self) |
| def | __add__ (self, other) |
| def | __radd__ (self, other) |
| def | __mul__ (self, other) |
| def | __rmul__ (self, other) |
| def | __sub__ (self, other) |
| def | __rsub__ (self, other) |
| def | __pow__ (self, other) |
| def | __rpow__ (self, other) |
| def | __div__ (self, other) |
| def | __truediv__ (self, other) |
| def | __rdiv__ (self, other) |
| def | __rtruediv__ (self, other) |
| def | __mod__ (self, other) |
| def | __rmod__ (self, other) |
| def | __neg__ (self) |
| def | __pos__ (self) |
| def | __le__ (self, other) |
| def | __lt__ (self, other) |
| def | __gt__ (self, other) |
| def | __ge__ (self, other) |
Public Member Functions inherited from ExprRef | |
| def | as_ast (self) |
| def | get_id (self) |
| def | sort (self) |
| def | sort_kind (self) |
| def | __eq__ (self, other) |
| def | __hash__ (self) |
| def | __ne__ (self, other) |
| def | params (self) |
| def | decl (self) |
| def | num_args (self) |
| def | arg (self, idx) |
| def | children (self) |
| def | from_string (self, s) |
| def | serialize (self) |
Public Member Functions inherited from AstRef | |
| def | __init__ (self, ast, ctx=None) |
| def | __del__ (self) |
| def | __deepcopy__ (self, memo={}) |
| def | __str__ (self) |
| def | __repr__ (self) |
| def | __eq__ (self, other) |
| def | __hash__ (self) |
| def | __nonzero__ (self) |
| def | __bool__ (self) |
| def | sexpr (self) |
| def | as_ast (self) |
| def | get_id (self) |
| def | ctx_ref (self) |
| def | eq (self, other) |
| def | translate (self, target) |
| def | __copy__ (self) |
| def | hash (self) |
Public Member Functions inherited from Z3PPObject | |
| def | use_pp (self) |
Additional Inherited Members | |
Data Fields inherited from AstRef | |
| ast | |
| ctx | |
Protected Member Functions inherited from Z3PPObject | |
| def | _repr_html_ (self) |
| def __add__ | ( | self, | |
| other | |||
| ) |
Create the Z3 expression `self + other`.
>>> x = Int('x')
>>> y = Int('y')
>>> x + y
x + y
>>> (x + y).sort()
Int
Definition at line 2414 of file z3py.py.
| def __div__ | ( | self, | |
| other | |||
| ) |
Create the Z3 expression `other/self`.
>>> x = Int('x')
>>> y = Int('y')
>>> x/y
x/y
>>> (x/y).sort()
Int
>>> (x/y).sexpr()
'(div x y)'
>>> x = Real('x')
>>> y = Real('y')
>>> x/y
x/y
>>> (x/y).sort()
Real
>>> (x/y).sexpr()
'(/ x y)'
Definition at line 2513 of file z3py.py.
Referenced by ArithRef.__truediv__(), BitVecRef.__truediv__(), and FPRef.__truediv__().
| def __ge__ | ( | self, | |
| other | |||
| ) |
Create the Z3 expression `other >= self`.
>>> x, y = Ints('x y')
>>> x >= y
x >= y
>>> y = Real('y')
>>> x >= y
ToReal(x) >= y
Definition at line 2647 of file z3py.py.
| def __gt__ | ( | self, | |
| other | |||
| ) |
Create the Z3 expression `other > self`.
>>> x, y = Ints('x y')
>>> x > y
x > y
>>> y = Real('y')
>>> x > y
ToReal(x) > y
Definition at line 2634 of file z3py.py.
| def __le__ | ( | self, | |
| other | |||
| ) |
Create the Z3 expression `other <= self`.
>>> x, y = Ints('x y')
>>> x <= y
x <= y
>>> y = Real('y')
>>> x <= y
ToReal(x) <= y
Definition at line 2608 of file z3py.py.
| def __lt__ | ( | self, | |
| other | |||
| ) |
Create the Z3 expression `other < self`.
>>> x, y = Ints('x y')
>>> x < y
x < y
>>> y = Real('y')
>>> x < y
ToReal(x) < y
Definition at line 2621 of file z3py.py.
| def __mod__ | ( | self, | |
| other | |||
| ) |
Create the Z3 expression `other%self`.
>>> x = Int('x')
>>> y = Int('y')
>>> x % y
x%y
>>> simplify(IntVal(10) % IntVal(3))
1
Definition at line 2561 of file z3py.py.
| def __mul__ | ( | self, | |
| other | |||
| ) |
Create the Z3 expression `self * other`.
>>> x = Real('x')
>>> y = Real('y')
>>> x * y
x*y
>>> (x * y).sort()
Real
Definition at line 2437 of file z3py.py.
| def __neg__ | ( | self | ) |
Return an expression representing `-self`.
>>> x = Int('x')
>>> -x
-x
>>> simplify(-(-x))
x
Definition at line 2588 of file z3py.py.
| def __pos__ | ( | self | ) |
| def __pow__ | ( | self, | |
| other | |||
| ) |
Create the Z3 expression `self**other` (** is the power operator).
>>> x = Real('x')
>>> x**3
x**3
>>> (x**3).sort()
Real
>>> simplify(IntVal(2)**8)
256
Definition at line 2485 of file z3py.py.
| def __radd__ | ( | self, | |
| other | |||
| ) |
Create the Z3 expression `other + self`.
>>> x = Int('x')
>>> 10 + x
10 + x
Definition at line 2427 of file z3py.py.
| def __rdiv__ | ( | self, | |
| other | |||
| ) |
Create the Z3 expression `other/self`.
>>> x = Int('x')
>>> 10/x
10/x
>>> (10/x).sexpr()
'(div 10 x)'
>>> x = Real('x')
>>> 10/x
10/x
>>> (10/x).sexpr()
'(/ 10.0 x)'
Definition at line 2540 of file z3py.py.
Referenced by ArithRef.__rtruediv__(), BitVecRef.__rtruediv__(), and FPRef.__rtruediv__().
| def __rmod__ | ( | self, | |
| other | |||
| ) |
Create the Z3 expression `other%self`.
>>> x = Int('x')
>>> 10 % x
10%x
Definition at line 2576 of file z3py.py.
| def __rmul__ | ( | self, | |
| other | |||
| ) |
Create the Z3 expression `other * self`.
>>> x = Real('x')
>>> 10 * x
10*x
Definition at line 2452 of file z3py.py.
| def __rpow__ | ( | self, | |
| other | |||
| ) |
Create the Z3 expression `other**self` (** is the power operator).
>>> x = Real('x')
>>> 2**x
2**x
>>> (2**x).sort()
Real
>>> simplify(2**IntVal(8))
256
Definition at line 2499 of file z3py.py.
| def __rsub__ | ( | self, | |
| other | |||
| ) |
Create the Z3 expression `other - self`.
>>> x = Int('x')
>>> 10 - x
10 - x
Definition at line 2475 of file z3py.py.
| def __rtruediv__ | ( | self, | |
| other | |||
| ) |
| def __sub__ | ( | self, | |
| other | |||
| ) |
Create the Z3 expression `self - other`.
>>> x = Int('x')
>>> y = Int('y')
>>> x - y
x - y
>>> (x - y).sort()
Int
Definition at line 2462 of file z3py.py.
| def __truediv__ | ( | self, | |
| other | |||
| ) |
| def is_int | ( | self | ) |
Return `True` if `self` is an integer expression.
>>> x = Int('x')
>>> x.is_int()
True
>>> (x + 1).is_int()
True
>>> y = Real('y')
>>> (x + y).is_int()
False
Reimplemented in RatNumRef.
Definition at line 2389 of file z3py.py.
Referenced by IntNumRef.as_long(), ArithRef.is_int(), and ArithSortRef.subsort().
| def is_real | ( | self | ) |
Return `True` if `self` is an real expression.
>>> x = Real('x')
>>> x.is_real()
True
>>> (x + 1).is_real()
True
Reimplemented in RatNumRef.
Definition at line 2403 of file z3py.py.
Referenced by ArithRef.is_real().
| def sort | ( | self | ) |
Return the sort (type) of the arithmetical expression `self`.
>>> Int('x').sort()
Int
>>> (Real('x') + 1).sort()
Real
Reimplemented from ExprRef.
Definition at line 2379 of file z3py.py.
Referenced by ArithRef.__add__(), ArithRef.__div__(), ArithRef.__mul__(), ArithRef.__pow__(), ArithRef.__rpow__(), ArithRef.__sub__(), FPNumRef.as_string(), ArrayRef.domain(), ArrayRef.domain_n(), FPRef.ebits(), ArithRef.is_int(), ArithRef.is_real(), ArrayRef.range(), FPRef.sbits(), BitVecRef.size(), ArithRef.sort(), and ExprRef.sort_kind().