Class DebuggingNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
- All Implemented Interfaces:
NumeralFormulaManager<ParamFormulaType,ResultFormulaType>
- Direct Known Subclasses:
DebuggingIntegerFormulaManager,DebuggingRationalFormulaManager
-
Constructor Summary
ConstructorsConstructorDescriptionDebuggingNumeralFormulaManager(NumeralFormulaManager<ParamFormulaType, ResultFormulaType> pDelegate, org.sosy_lab.java_smt.delegate.debugging.DebuggingAssertions pDebugging) -
Method Summary
Modifier and TypeMethodDescriptionadd(ParamFormulaType number1, ParamFormulaType number2) distinct(List<ParamFormulaType> pNumbers) All given numbers are pairwise unequal.divide(ParamFormulaType numerator, ParamFormulaType denominator) Create a formula representing the division of two operands according to Boute's Euclidean definition.equal(ParamFormulaType number1, ParamFormulaType number2) floor(ParamFormulaType formula) Theflooroperation returns the nearest integer formula that is less or equal to the given argument formula.greaterOrEquals(ParamFormulaType number1, ParamFormulaType number2) greaterThan(ParamFormulaType number1, ParamFormulaType number2) lessOrEquals(ParamFormulaType number1, ParamFormulaType number2) lessThan(ParamFormulaType number1, ParamFormulaType number2) makeNumber(double number) Create a numeric literal with a given value.makeNumber(long number) makeNumber(String pI) makeNumber(BigDecimal number) Create a numeric literal with a given value.makeNumber(BigInteger number) makeNumber(Rational pRational) makeVariable(String pVar) Creates a variable with exactly the given name.multiply(ParamFormulaType number1, ParamFormulaType number2) negate(ParamFormulaType number) subtract(ParamFormulaType number1, ParamFormulaType number2) sum(List<ParamFormulaType> operands)
-
Constructor Details
-
DebuggingNumeralFormulaManager
public DebuggingNumeralFormulaManager(NumeralFormulaManager<ParamFormulaType, ResultFormulaType> pDelegate, org.sosy_lab.java_smt.delegate.debugging.DebuggingAssertions pDebugging)
-
-
Method Details
-
makeNumber
- Specified by:
makeNumberin interfaceNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
-
makeNumber
- Specified by:
makeNumberin interfaceNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
-
makeNumber
Description copied from interface:NumeralFormulaManagerCreate a numeric literal with a given value. Note: if the theory represented by this instance cannot handle rational numbers, the value may get rounded or otherwise represented imprecisely.- Specified by:
makeNumberin interfaceNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
-
makeNumber
Description copied from interface:NumeralFormulaManagerCreate a numeric literal with a given value. Note: if the theory represented by this instance cannot handle rational numbers, the value may get rounded or otherwise represented imprecisely.- Specified by:
makeNumberin interfaceNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
-
makeNumber
- Specified by:
makeNumberin interfaceNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
-
makeNumber
- Specified by:
makeNumberin interfaceNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
-
makeVariable
Description copied from interface:NumeralFormulaManagerCreates a variable with exactly the given name.Please make sure that the given name is valid in SMT-LIB2. Take a look at
FormulaManager.isValidName(java.lang.String)for further information.This method does not quote or unquote the given name, but uses the plain name "AS IS".
Formula.toString()can return a different String than the given one.- Specified by:
makeVariablein interfaceNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
-
getFormulaType
- Specified by:
getFormulaTypein interfaceNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
-
negate
- Specified by:
negatein interfaceNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
-
add
- Specified by:
addin interfaceNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
-
sum
- Specified by:
sumin interfaceNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
-
subtract
- Specified by:
subtractin interfaceNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
-
divide
Description copied from interface:NumeralFormulaManagerCreate a formula representing the division of two operands according to Boute's Euclidean definition.If the denominator evaluates to zero (division-by-zero), either directly as value or indirectly via an additional constraint, then the solver is allowed to choose an arbitrary value for the result of the division (cf. SMTLIB standard for the division operator in Ints or Reals theory).
Note: Some solvers, e.g., Yices2, abort with an exception when exploring a division-by-zero during the SAT-check. This is not compliant to the SMTLIB standard, but sadly happens.
- Specified by:
dividein interfaceNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
-
multiply
- Specified by:
multiplyin interfaceNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
-
equal
- Specified by:
equalin interfaceNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
-
distinct
Description copied from interface:NumeralFormulaManagerAll given numbers are pairwise unequal.- Specified by:
distinctin interfaceNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
-
greaterThan
- Specified by:
greaterThanin interfaceNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
-
greaterOrEquals
- Specified by:
greaterOrEqualsin interfaceNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
-
lessThan
- Specified by:
lessThanin interfaceNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
-
lessOrEquals
- Specified by:
lessOrEqualsin interfaceNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
-
floor
Description copied from interface:NumeralFormulaManagerTheflooroperation returns the nearest integer formula that is less or equal to the given argument formula.For rational formulas, SMTlib2 denotes this operation as
to_int.- Specified by:
floorin interfaceNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
-