Z3打印评估结果
Z3 print evaluation result
在Z3中,我们如何编写程序来获得评估结果?默认情况下,model.eval(expression)
将返回评估结果的另一个表达式。如何将结果分配给特定类型的数据?以下是我想在我的程序中做的事情。
int a = model.eval(x + 1) // compiler error
有时模型并不完整。例如,当什么都不依赖于x
的值时,Z3可能根本不会为其分配任何值,即,您可以自由选择适合自己的值。eval
函数有第二个参数,当设置为true
时,它将启用模型完成,即eval
将用一些合法值(通常为0)替换那些不需要的值。
Z3 int是实际整数,而不是小于2^32-1的C/C++int,因此转换不会自动执行。如果您知道在您的应用程序中这总是可以的,并且eval
总是返回一个数字,那么您可以使用Z3_get_numeral_int来执行转换。
相关文章:
- 为什么"do while"循环不断退出,即使条件计算结果为 false?
- valgrind-hellgrind与泄漏检查的结果不同
- std::condition_variable::wait()如何评估给定的谓词
- 用C++20 fmt限制结果的总大小
- 如何返回一个类的两个对象相加的结果
- 使用QProcess执行命令,并将结果存储在QStringList中
- 如果我std::dynamic_pointer_cast并且底层dynamic_cast的结果为null,那么返回的sh
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- 序列化,没有库的整数,得到奇怪的结果
- 使用取消引用的指针的多态性会产生意外的结果.为什么?
- 在更改for循环的第三部分后,未使用for循环结果
- 使用++运算符会导致意外的结果
- c++11评估顺序(未定义的行为)
- 如何评估 KITTI 测程数据集中的结果
- 如何在未评估的上下文中将成员函数的结果类型应用于类成员
- 特征:评估A*s*a_transpose并将结果存储在对称矩阵中的最佳方法
- 使用 #pragma message() 打印编译期间 #define 的完整评估结果
- Z3打印评估结果
- 在语句中调用 std::set 函数时出现意外"if"评估结果
- 为什么 cout 的默认精度不会影响评估结果?