Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Z3API中的pi和e常量_Java_Z3_Smt_Constraint Programming - Fatal编程技术网

Java 使用Z3API中的pi和e常量

Java 使用Z3API中的pi和e常量,java,z3,smt,constraint-programming,Java,Z3,Smt,Constraint Programming,如何使用Z3JavaAPI中的三角函数,如sin和cos以及常数Pi 如果我像这样使用java API: Solver s = context.getSolver() s.add(z3.parseSMTLIB2String( "(declare-fun theta () Real)\n"+ "(declare-fun offset () Real)\n"+ "(assert (> (cos

如何使用Z3JavaAPI中的三角函数,如sin和cos以及常数Pi

如果我像这样使用java API:

    Solver s = context.getSolver()
    s.add(z3.parseSMTLIB2String(
              "(declare-fun theta () Real)\n"+
              "(declare-fun offset () Real)\n"+
              "(assert (> (cos theta) (/ 1 pi)))\n"
     //a sequence of empty arrays
然后z3将尝试对π和余弦进行推理


但是我不知道如何在JavaAPI中声明它。没有可用的
mkCos
pi
常量。那么如何用JavaAPI对其进行编码呢?这个函数和常量
pi
没有公开,这可能是一个简单的疏忽吗?

这可能不是Java特有的;它们可能还没有添加到任何API中。如果我没有弄错的话,这一行的工作从来没有完成过,所以我也要小心这些操作符的语义/行为。例如,有些函数可能被视为完全没有解释的函数。(e和pi在C API中,因此它们的原始形式在Native.java中可用;请查找rcfMkPi和rcfMkE。)哈哈,在尝试通过反射命中该方法和必要的包装时,我得到了一个很好的ol'
异常访问\违反
,这杀死了JVM。我非常希望我能把它作为一个bug记录在你们的日志中,让你们添加它——或者,我可能会重新使用工具来构建smt-lib2字符串,而不是使用实际的API。要点:当然,这些是传递指针的低级C函数,很容易出错。请随意记录错误/问题,但在我们开始添加这些函数之前可能需要一点时间;它们可能还没有添加到任何API中。如果我没有弄错的话,这一行的工作从来没有完成过,所以我也要小心这些操作符的语义/行为。例如,有些函数可能被视为完全没有解释的函数。(e和pi在C API中,因此它们的原始形式在Native.java中可用;请查找rcfMkPi和rcfMkE。)哈哈,在尝试通过反射命中该方法和必要的包装时,我得到了一个很好的ol'
异常访问\违反
,这杀死了JVM。我非常希望我能把它作为一个bug记录在你们的日志中,让你们添加它——或者,我可能会重新使用工具来构建smt-lib2字符串,而不是使用实际的API。要点:当然,这些是传递指针的低级C函数,很容易出错。请随时记录错误/问题,但在我们开始添加这些函数之前,可能需要一点时间。谢谢Christoph,我创建了