z3 - Z3 中的位向量表达扩展

标签 z3

我有一个 32 位的位向量表达式。不知何故,我想对此表达式进行有符号或无符号扩展为 64 位位向量。有我可以使用的 API 吗?

最佳答案

对于符号扩展:

Z3_ast Z3_API Z3_mk_sign_ext(__in Z3_context c, __in unsigned i, __in Z3_ast t1); https://github.com/Z3Prover/z3/blob/master/src/api/z3_api.h#L2826

对于未签名的扩展:

Z3_ast Z3_API Z3_mk_zero_ext(__in Z3_context c, __in unsigned i, __in Z3_ast t1); https://github.com/Z3Prover/z3/blob/master/src/api/z3_api.h#L2838

这些函数也可用于 Python、C#、Java 的绑定(bind)

关于z3 - Z3 中的位向量表达扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30338271/

相关文章:

Z3:将 Z3py 表达式从 Solver 对象转换为 SMT-LIB2

z3 - Z3 的 Prove() 方法?

z3 - 有没有办法通过 API 查询或访问 Z3 表达式的结构

Python——优化不等式系统

c++ - 有关如何使 Z3 更快地评估简单约束的建议

z3 - 如果注释中间 `(check-sat)` 调用,为什么查询结果会更改?

python - 又是 : Installing Z3 + Python on Windows

c - Z3:从字符串中解析术语

z3 - UFBV 类别的基准

logic - 表示 SMT-LIB 中的时间约束