88
99package org .sosy_lab .java_smt .solvers .bitwuzla ;
1010
11+ import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .ABSTRACTION ;
12+ import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .ABSTRACTION_ASSERT ;
13+ import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .ABSTRACTION_ASSERT_REFS ;
14+ import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .ABSTRACTION_BV_ADD ;
15+ import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .ABSTRACTION_BV_MUL ;
16+ import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .ABSTRACTION_BV_SIZE ;
17+ import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .ABSTRACTION_BV_UDIV ;
18+ import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .ABSTRACTION_BV_UREM ;
19+ import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .ABSTRACTION_EAGER_REFINE ;
20+ import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .ABSTRACTION_EQUAL ;
21+ import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .ABSTRACTION_INC_BITBLAST ;
22+ import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .ABSTRACTION_INITIAL_LEMMAS ;
23+ import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .ABSTRACTION_ITE ;
24+ import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .ABSTRACTION_VALUE_LIMIT ;
25+ import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .ABSTRACTION_VALUE_ONLY ;
1126import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .BV_SOLVER ;
1227import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .DBG_CHECK_MODEL ;
1328import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .DBG_CHECK_UNSAT_CORE ;
1833import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .NUM_OPTS ;
1934import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .PP_CONTRADICTING_ANDS ;
2035import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .PP_ELIM_BV_EXTRACTS ;
36+ import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .PP_ELIM_BV_UDIV ;
2137import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .PP_EMBEDDED_CONSTR ;
2238import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .PP_FLATTEN_AND ;
2339import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .PP_NORMALIZE ;
24- import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .PP_NORMALIZE_SHARE_AWARE ;
2540import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .PP_SKELETON_PREPROC ;
2641import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .PP_VARIABLE_SUBST ;
2742import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .PP_VARIABLE_SUBST_NORM_BV_INEQ ;
4156import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .PROP_PROB_RANDOM_INPUT ;
4257import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .PROP_PROB_USE_INV_VALUE ;
4358import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .PROP_SEXT ;
59+ import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .RELEVANT_TERMS ;
4460import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .REWRITE_LEVEL ;
4561import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .SAT_SOLVER ;
4662import static org .sosy_lab .java_smt .solvers .bitwuzla .api .Option .SEED ;
@@ -206,7 +222,7 @@ private static Options setFurtherOptions(Options pOptions, String pFurtherOption
206222 String optionValue = option .getValue ();
207223 Option bitwuzlaOption = getBitwuzlaOptByString (optionName );
208224 try {
209- if (pOptions .is_numeric (bitwuzlaOption )) {
225+ if (pOptions .is_numeric (bitwuzlaOption ) || pOptions . is_bool ( bitwuzlaOption ) ) {
210226 pOptions .set (bitwuzlaOption , Integer .parseInt (optionValue ));
211227 } else {
212228 pOptions .set (bitwuzlaOption , option .getValue ());
@@ -330,6 +346,8 @@ public static Option getBitwuzlaOptByString(String optionName) {
330346 return TIME_LIMIT_PER ;
331347 case "MEMORY_LIMIT" :
332348 return MEMORY_LIMIT ;
349+ case "RELEVANT_TERMS" :
350+ return RELEVANT_TERMS ;
333351 case "BV_SOLVER" :
334352 return BV_SOLVER ;
335353 case "REWRITE_LEVEL" :
@@ -356,20 +374,50 @@ public static Option getBitwuzlaOptByString(String optionName) {
356374 return PROP_SEXT ;
357375 case "PROP_NORMALIZE" :
358376 return PROP_NORMALIZE ;
377+ case "ABSTRACTION" :
378+ return ABSTRACTION ;
379+ case "ABSTRACTION_BV_SIZE" :
380+ return ABSTRACTION_BV_SIZE ;
381+ case "ABSTRACTION_EAGER_REFINE" :
382+ return ABSTRACTION_EAGER_REFINE ;
383+ case "ABSTRACTION_VALUE_LIMIT" :
384+ return ABSTRACTION_VALUE_LIMIT ;
385+ case "ABSTRACTION_VALUE_ONLY" :
386+ return ABSTRACTION_VALUE_ONLY ;
387+ case "ABSTRACTION_ASSERT" :
388+ return ABSTRACTION_ASSERT ;
389+ case "ABSTRACTION_ASSERT_REFS" :
390+ return ABSTRACTION_ASSERT_REFS ;
391+ case "ABSTRACTION_INITIAL_LEMMAS" :
392+ return ABSTRACTION_INITIAL_LEMMAS ;
393+ case "ABSTRACTION_INC_BITBLAST" :
394+ return ABSTRACTION_INC_BITBLAST ;
395+ case "ABSTRACTION_BV_ADD" :
396+ return ABSTRACTION_BV_ADD ;
397+ case "ABSTRACTION_BV_MUL" :
398+ return ABSTRACTION_BV_MUL ;
399+ case "ABSTRACTION_BV_UDIV" :
400+ return ABSTRACTION_BV_UDIV ;
401+ case "ABSTRACTION_BV_UREM" :
402+ return ABSTRACTION_BV_UREM ;
403+ case "ABSTRACTION_EQUAL" :
404+ return ABSTRACTION_EQUAL ;
405+ case "ABSTRACTION_ITE" :
406+ return ABSTRACTION_ITE ;
359407 case "PREPROCESS" :
360408 return PREPROCESS ;
361409 case "PP_CONTRADICTING_ANDS" :
362410 return PP_CONTRADICTING_ANDS ;
363411 case "PP_ELIM_BV_EXTRACTS" :
364412 return PP_ELIM_BV_EXTRACTS ;
413+ case "PP_ELIM_BV_UDIV" :
414+ return PP_ELIM_BV_UDIV ;
365415 case "PP_EMBEDDED_CONSTR" :
366416 return PP_EMBEDDED_CONSTR ;
367417 case "PP_FLATTEN_AND" :
368418 return PP_FLATTEN_AND ;
369419 case "PP_NORMALIZE" :
370420 return PP_NORMALIZE ;
371- case "PP_NORMALIZE_SHARE_AWARE" :
372- return PP_NORMALIZE_SHARE_AWARE ;
373421 case "PP_SKELETON_PREPROC" :
374422 return PP_SKELETON_PREPROC ;
375423 case "PP_VARIABLE_SUBST" :
0 commit comments