Files
cvc5/docs/api/python/pythonic/bitvec.rst

131 lines
3.4 KiB
ReStructuredText
Raw Permalink Normal View History

Bit-Vectors
============
Basic Bit-Vector Term Builders
----------------------------------
.. autofunction:: cvc5.pythonic.BitVec
.. autofunction:: cvc5.pythonic.BitVecVal
.. autofunction:: cvc5.pythonic.BitVecSort
.. autofunction:: cvc5.pythonic.BitVecs
Bit-Vector Overloads
--------------------
See the following operator overloads for building bit-vector terms.
Each kind of term can also be built with a builder function below.
* arithmetic
addition (``+``)
:py:meth:`cvc5.pythonic.BitVecRef.__add__`
subtraction (``-``)
:py:meth:`cvc5.pythonic.BitVecRef.__sub__`
multiplication (``*``)
:py:meth:`cvc5.pythonic.BitVecRef.__mul__`
division (``/``)
:py:meth:`cvc5.pythonic.BitVecRef.__div__`
* bit-wise
or (``|``)
:py:meth:`cvc5.pythonic.BitVecRef.__or__`
and (``&``)
:py:meth:`cvc5.pythonic.BitVecRef.__and__`
xor (``^``)
:py:meth:`cvc5.pythonic.BitVecRef.__xor__`
bit complement (``~``)
:py:meth:`cvc5.pythonic.BitVecRef.__invert__`
negation (``-``)
:py:meth:`cvc5.pythonic.BitVecRef.__neg__`
left shift (``<<``)
:py:meth:`cvc5.pythonic.BitVecRef.__lshift__`
right shift (``>>``)
:py:meth:`cvc5.pythonic.BitVecRef.__rshift__`
* comparisons
signed greater than (``>``)
:py:meth:`cvc5.pythonic.BitVecRef.__gt__`
signed less than (``<``)
:py:meth:`cvc5.pythonic.BitVecRef.__lt__`
signed greater than or equal to (``>=``)
:py:meth:`cvc5.pythonic.BitVecRef.__ge__`
signed less than or equal to (``<=``)
:py:meth:`cvc5.pythonic.BitVecRef.__le__`
equal (``==``)
:py:meth:`cvc5.pythonic.ExprRef.__eq__`
not equal (``!=``)
:py:meth:`cvc5.pythonic.ExprRef.__ne__`
Bit-Vector Term Builders
------------------------
.. autofunction:: cvc5.pythonic.BV2Int
.. autofunction:: cvc5.pythonic.Int2BV
.. autofunction:: cvc5.pythonic.Concat
.. autofunction:: cvc5.pythonic.Extract
.. autofunction:: cvc5.pythonic.ULE
.. autofunction:: cvc5.pythonic.ULT
.. autofunction:: cvc5.pythonic.UGE
.. autofunction:: cvc5.pythonic.UGT
.. autofunction:: cvc5.pythonic.SLE
.. autofunction:: cvc5.pythonic.SLT
.. autofunction:: cvc5.pythonic.SGE
.. autofunction:: cvc5.pythonic.SGT
.. autofunction:: cvc5.pythonic.UDiv
.. autofunction:: cvc5.pythonic.URem
.. autofunction:: cvc5.pythonic.SDiv
.. autofunction:: cvc5.pythonic.SMod
.. autofunction:: cvc5.pythonic.SRem
.. autofunction:: cvc5.pythonic.LShR
.. autofunction:: cvc5.pythonic.RotateLeft
.. autofunction:: cvc5.pythonic.RotateRight
.. autofunction:: cvc5.pythonic.SignExt
.. autofunction:: cvc5.pythonic.ZeroExt
.. autofunction:: cvc5.pythonic.RepeatBitVec
.. autofunction:: cvc5.pythonic.BVRedAnd
.. autofunction:: cvc5.pythonic.BVRedOr
.. autofunction:: cvc5.pythonic.BVAdd
.. autofunction:: cvc5.pythonic.BVMult
.. autofunction:: cvc5.pythonic.BVSub
.. autofunction:: cvc5.pythonic.BVOr
.. autofunction:: cvc5.pythonic.BVAnd
.. autofunction:: cvc5.pythonic.BVXor
.. autofunction:: cvc5.pythonic.BVNeg
.. autofunction:: cvc5.pythonic.BVNot
Testers
-------------------
.. autofunction:: cvc5.pythonic.is_bv_sort
.. autofunction:: cvc5.pythonic.is_bv
.. autofunction:: cvc5.pythonic.is_bv_value
Classes (with overloads)
-----------------------------
.. autoclass:: cvc5.pythonic.BitVecSortRef
:members:
:special-members:
.. autoclass:: cvc5.pythonic.BitVecRef
:members:
:special-members:
.. autoclass:: cvc5.pythonic.BitVecNumRef
:members:
:special-members: