(Context ctx)
| 2185 | } |
| 2186 | |
| 2187 | public void floatingPointExample2(Context ctx) throws TestFailedException |
| 2188 | { |
| 2189 | System.out.println("FloatingPointExample2"); |
| 2190 | Log.append("FloatingPointExample2"); |
| 2191 | FPSort double_sort = ctx.mkFPSort(11, 53); |
| 2192 | FPRMSort rm_sort = ctx.mkFPRoundingModeSort(); |
| 2193 | |
| 2194 | FPRMExpr rm = (FPRMExpr)ctx.mkConst(ctx.mkSymbol("rm"), rm_sort); |
| 2195 | BitVecExpr x = (BitVecExpr)ctx.mkConst(ctx.mkSymbol("x"), ctx.mkBitVecSort(64)); |
| 2196 | FPExpr y = (FPExpr)ctx.mkConst(ctx.mkSymbol("y"), double_sort); |
| 2197 | FPExpr fp_val = ctx.mkFP(42, double_sort); |
| 2198 | |
| 2199 | BoolExpr c1 = ctx.mkEq(y, fp_val); |
| 2200 | BoolExpr c2 = ctx.mkEq(x, ctx.mkFPToBV(rm, y, 64, false)); |
| 2201 | BoolExpr c3 = ctx.mkEq(x, ctx.mkBV(42, 64)); |
| 2202 | BoolExpr c4 = ctx.mkEq(ctx.mkNumeral(42, ctx.getRealSort()), ctx.mkFPToReal(fp_val)); |
| 2203 | BoolExpr c5 = ctx.mkAnd(c1, c2, c3, c4); |
| 2204 | System.out.println("c5 = " + c5); |
| 2205 | |
| 2206 | /* Generic solver */ |
| 2207 | Solver s = ctx.mkSolver(); |
| 2208 | s.add(c5); |
| 2209 | |
| 2210 | if (s.check() != Status.SATISFIABLE) |
| 2211 | throw new TestFailedException(); |
| 2212 | |
| 2213 | System.out.println("OK, model: " + s.getModel().toString()); |
| 2214 | } |
| 2215 | |
| 2216 | public void optimizeExample(Context ctx) |
| 2217 | { |
nothing calls this directly
no test coverage detected