mirror of
https://github.com/Z3Prover/z3
synced 2026-04-18 18:10:17 +00:00
Fix high and medium priority API coherence issues (Go, Java, C++, TypeScript) (#8983)
* Initial plan * Add missing API functions to Go, Java, C++, and TypeScript bindings Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
This commit is contained in:
parent
b8e15f2121
commit
21bfb115ea
9 changed files with 337 additions and 0 deletions
|
|
@ -221,3 +221,25 @@ func (c *Context) MkBVMulNoOverflow(t1, t2 *Expr, isSigned bool) *Expr {
|
|||
func (c *Context) MkBVMulNoUnderflow(t1, t2 *Expr) *Expr {
|
||||
return newExpr(c, C.Z3_mk_bvmul_no_underflow(c.ptr, t1.ptr, t2.ptr))
|
||||
}
|
||||
|
||||
// MkBVRedAnd computes the bitwise AND reduction of a bit-vector, returning a 1-bit vector.
|
||||
func (c *Context) MkBVRedAnd(t *Expr) *Expr {
|
||||
return newExpr(c, C.Z3_mk_bvredand(c.ptr, t.ptr))
|
||||
}
|
||||
|
||||
// MkBVRedOr computes the bitwise OR reduction of a bit-vector, returning a 1-bit vector.
|
||||
func (c *Context) MkBVRedOr(t *Expr) *Expr {
|
||||
return newExpr(c, C.Z3_mk_bvredor(c.ptr, t.ptr))
|
||||
}
|
||||
|
||||
// MkBVExtRotateLeft rotates the bits of t1 to the left by the number of bits given by t2.
|
||||
// Both t1 and t2 must be bit-vectors of the same width.
|
||||
func (c *Context) MkBVExtRotateLeft(t1, t2 *Expr) *Expr {
|
||||
return newExpr(c, C.Z3_mk_ext_rotate_left(c.ptr, t1.ptr, t2.ptr))
|
||||
}
|
||||
|
||||
// MkBVExtRotateRight rotates the bits of t1 to the right by the number of bits given by t2.
|
||||
// Both t1 and t2 must be bit-vectors of the same width.
|
||||
func (c *Context) MkBVExtRotateRight(t1, t2 *Expr) *Expr {
|
||||
return newExpr(c, C.Z3_mk_ext_rotate_right(c.ptr, t1.ptr, t2.ptr))
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue