-1
有没有办法用z3 C++ api做整数模运算?z3 C++ api模运算整数
我试图做这样的事情:
var = context->int_const("foo");
var = var + 1;
expr = var % 5;
似乎有只为bitvectors模操作?
我错过了什么吗?
最佳 托比亚斯
有没有办法用z3 C++ api做整数模运算?z3 C++ api模运算整数
我试图做这样的事情:
var = context->int_const("foo");
var = var + 1;
expr = var % 5;
似乎有只为bitvectors模操作?
我错过了什么吗?
最佳 托比亚斯
有两种操作,取决于你所期望的负数什么语义。他们暴露为“mod”和“rem”。关于算术运算的语义记录在http://smtlib.cs.uiowa.edu/theories-Ints.shtml上。
/* \brief mod operator */
friend expr mod(expr const& a, expr const& b);
friend expr mod(expr const& a, int b);
friend expr mod(int a, expr const& b);
/* \brief rem operator */
friend expr rem(expr const& a, expr const& b);
friend expr rem(expr const& a, int b);
friend expr rem(int a, expr const& b);
我在哪里可以找到这些方法?只有z3 :: urem和z3 :: srem在位向量上运行。 – toebs