有没有办法用z3 c ++ api和整数进行模运算?
我正在尝试做这样的事情:
userId
似乎只有bitvectors的模运算?
我错过了什么吗?
最佳托比亚斯
答案 0 :(得分:0)
有两种操作,具体取决于您对负数的预期语义。他们暴露为" 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);