MCPcopy Create free account
hub / github.com/Z3Prover/z3 / floatingPointExample2

Method floatingPointExample2

examples/java/JavaExample.java:2187–2214  ·  view source on GitHub ↗
(Context ctx)

Source from the content-addressed store, hash-verified

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 {

Callers

nothing calls this directly

Calls 15

appendMethod · 0.95
addMethod · 0.95
checkMethod · 0.95
getModelMethod · 0.95
mkFPSortMethod · 0.80
mkFPRoundingModeSortMethod · 0.80
mkConstMethod · 0.80
mkSymbolMethod · 0.80
mkBitVecSortMethod · 0.80
mkFPMethod · 0.80
mkEqMethod · 0.80
mkFPToBVMethod · 0.80

Tested by

no test coverage detected