c++ - 在 C++ API 中支持 Z3 的浮点理论

标签 c++ api floating-point z3

从Z3最新版本Z3-4.4.1的RELEASE_NOTES开始,已经支持浮点理论。我已经成功地以离线方式对其进行了测试。但是,在我目前的项目中,需要在C++ API中使用Z3,阅读相关文档和源代码后,我没有找到任何浮点理论的API函数。 C++ API是否支持Z3的浮点理论?

尽管如此,也许我可以将我的约束集写入一个 smt 格式的文件,然后使用 Z3 API 来解析这个文件。但是,这是我最后的选择。

最佳答案

C++ API 本质上是 C API 的包装器,用于常见的习语,例如,自动化引用计数。两者可以而且应该一起使用。例如,C-API example显示如何通过调用 C 函数 Z3_mk_bvsrem 创建带符号的位 vector 余数项(没有 C++ 函数)。同样的技巧适用于所有浮点项;只需通过各自的 C 函数创建它们,然后将它们保存在 (C++) z3::expr 对象中。

关于c++ - 在 C++ API 中支持 Z3 的浮点理论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33302554/

相关文章:

c++ - 遍历具有 int 类型的模板化 C++ 函数

c++ - 如何避免 std::reference_wrapper 衰减为 std::make_tuple 中的普通引用?

javascript - Facebook JS API : Any calls to FB. ui 返回错误代码:191

php - 我一直收到 paypal php 自适应支付 API 支付错误 "Your payment can' t be complete...”

php - Trello 使用 api 获取卡片的创建日期

ScalaTest - 检查 "almost equal"是否有 float 和包含 float 的对象

c++ - 查找图像中的不同部分

.net - 如何将 double* 转换为数组<double>(6)

c++ - 为什么我的 C++ 程序从 long double 切换到 float128 时如此慢?

floating-point - 32位IEEE单精度计算机数