首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用求解器的Z3超时

使用求解器的Z3超时
EN

Stack Overflow用户
提问于 2012-06-02 01:14:30
回答 1查看 647关注 0票数 1

我有一个简单的问题。如何使用以下API确定求解器是否超时-

代码语言:javascript
复制
Z3_lbool Z3_API Z3_solver_check (Z3_context c, Z3_solver s )

因为Z3_lbool只是true、false或未定义。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-02 04:35:21

您可以使用Z3_string Z3_solver_get_reason_unknown(Z3_context c, Z3_solver s)接口。如果使用的是C++,则对象解算器提供方法std::string reason_unknown()。下面是一个使用它的小示例:

代码语言:javascript
复制
context c;
expr x = c.real_const("x");
expr y = c.real_const("y");
solver s(c);

s.add(x >= 1);
s.add(y < x + 3);

params p(c);
p.set(":timeout", static_cast<unsigned>(1)); // in milliseconds
s.set(p);

std::cout << s.check() << std::endl;
std::cout << "reason unknown: " << s.reason_unknown() << std::endl;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10854664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档