public class CVC4RationalFormulaManager extends AbstractNumeralFormulaManager<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,ParamFormulaType,ResultFormulaType,edu.nyu.acsys.CVC4.Expr> implements RationalFormulaManager
AbstractNumeralFormulaManager.NonLinearArithmetic| Modifier and Type | Field and Description |
|---|---|
protected edu.nyu.acsys.CVC4.ExprManager |
exprManager |
protected FormulaCreator<TFormulaInfo,TType,TEnv,TFuncDecl> |
formulaCreator |
static Pattern |
INTEGER_NUMBER
CVC4 fails hard when creating Integers/Rationals instead of throwing an exception for invalid
number format.
|
static Pattern |
RATIONAL_NUMBER |
| Modifier and Type | Method and Description |
|---|---|
protected edu.nyu.acsys.CVC4.Expr |
add(edu.nyu.acsys.CVC4.Expr pParam1,
edu.nyu.acsys.CVC4.Expr pParam2) |
protected edu.nyu.acsys.CVC4.Expr |
distinctImpl(List<edu.nyu.acsys.CVC4.Expr> pParam) |
edu.nyu.acsys.CVC4.Expr |
divide(edu.nyu.acsys.CVC4.Expr pParam1,
edu.nyu.acsys.CVC4.Expr pParam2)
If a solver does not support this operation, e.g.
|
protected edu.nyu.acsys.CVC4.Expr |
equal(edu.nyu.acsys.CVC4.Expr pParam1,
edu.nyu.acsys.CVC4.Expr pParam2) |
protected edu.nyu.acsys.CVC4.Expr |
floor(edu.nyu.acsys.CVC4.Expr pNumber) |
protected FormulaCreator<TFormulaInfo,TType,TEnv,TFuncDecl> |
getFormulaCreator() |
protected edu.nyu.acsys.CVC4.Type |
getNumeralType() |
protected edu.nyu.acsys.CVC4.Expr |
greaterOrEquals(edu.nyu.acsys.CVC4.Expr pParam1,
edu.nyu.acsys.CVC4.Expr pParam2) |
protected edu.nyu.acsys.CVC4.Expr |
greaterThan(edu.nyu.acsys.CVC4.Expr pParam1,
edu.nyu.acsys.CVC4.Expr pParam2) |
protected boolean |
isNumeral(edu.nyu.acsys.CVC4.Expr pVal)
Check whether the argument is a numeric constant (including negated constants).
|
protected edu.nyu.acsys.CVC4.Expr |
lessOrEquals(edu.nyu.acsys.CVC4.Expr pParam1,
edu.nyu.acsys.CVC4.Expr pParam2) |
protected edu.nyu.acsys.CVC4.Expr |
lessThan(edu.nyu.acsys.CVC4.Expr pParam1,
edu.nyu.acsys.CVC4.Expr pParam2) |
protected edu.nyu.acsys.CVC4.Expr |
makeNumberImpl(BigDecimal pNumber) |
protected edu.nyu.acsys.CVC4.Expr |
makeNumberImpl(BigInteger pI) |
protected edu.nyu.acsys.CVC4.Expr |
makeNumberImpl(double pNumber) |
protected edu.nyu.acsys.CVC4.Expr |
makeNumberImpl(long i) |
protected edu.nyu.acsys.CVC4.Expr |
makeNumberImpl(String pI) |
protected edu.nyu.acsys.CVC4.Expr |
makeVariableImpl(String varName) |
protected edu.nyu.acsys.CVC4.Expr |
modulo(edu.nyu.acsys.CVC4.Expr pParam1,
edu.nyu.acsys.CVC4.Expr pParam2)
If a solver does not support this operation, e.g.
|
protected edu.nyu.acsys.CVC4.Expr |
multiply(edu.nyu.acsys.CVC4.Expr pParam1,
edu.nyu.acsys.CVC4.Expr pParam2)
If a solver does not support this operation, e.g.
|
protected edu.nyu.acsys.CVC4.Expr |
negate(edu.nyu.acsys.CVC4.Expr pParam1) |
protected edu.nyu.acsys.CVC4.Expr |
subtract(edu.nyu.acsys.CVC4.Expr pParam1,
edu.nyu.acsys.CVC4.Expr pParam2) |
protected TType |
toSolverType(FormulaType<?> formulaType) |
add, decimalAsInteger, distinct, divide, equal, floor, greaterOrEquals, greaterThan, lessOrEquals, lessThan, makeNumber, makeNumber, makeNumber, makeNumber, makeNumber, makeNumber, makeNumberImpl, makeVariable, modularCongruence, modularCongruence, modularCongruence, modularCongruence, modulo, multiply, negate, subtract, sum, sumImpl, wrapclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetFormulaTypeadd, distinct, divide, equal, floor, greaterOrEquals, greaterThan, lessOrEquals, lessThan, makeNumber, makeNumber, makeNumber, makeNumber, makeNumber, makeNumber, makeVariable, multiply, negate, subtract, sumpublic static final Pattern INTEGER_NUMBER
public static final Pattern RATIONAL_NUMBER
protected final edu.nyu.acsys.CVC4.ExprManager exprManager
protected final FormulaCreator<TFormulaInfo,TType,TEnv,TFuncDecl> formulaCreator
protected edu.nyu.acsys.CVC4.Type getNumeralType()
protected edu.nyu.acsys.CVC4.Expr makeNumberImpl(double pNumber)
makeNumberImpl in class AbstractNumeralFormulaManager<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,NumeralFormula,NumeralFormula.RationalFormula,edu.nyu.acsys.CVC4.Expr>protected edu.nyu.acsys.CVC4.Expr makeNumberImpl(BigDecimal pNumber)
makeNumberImpl in class AbstractNumeralFormulaManager<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,NumeralFormula,NumeralFormula.RationalFormula,edu.nyu.acsys.CVC4.Expr>public edu.nyu.acsys.CVC4.Expr divide(edu.nyu.acsys.CVC4.Expr pParam1,
edu.nyu.acsys.CVC4.Expr pParam2)
AbstractNumeralFormulaManagerdivide in class AbstractNumeralFormulaManager<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,NumeralFormula,NumeralFormula.RationalFormula,edu.nyu.acsys.CVC4.Expr>pParam1 - the dividendpParam2 - the divisorprotected edu.nyu.acsys.CVC4.Expr floor(edu.nyu.acsys.CVC4.Expr pNumber)
floor in class AbstractNumeralFormulaManager<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,NumeralFormula,NumeralFormula.RationalFormula,edu.nyu.acsys.CVC4.Expr>protected boolean isNumeral(edu.nyu.acsys.CVC4.Expr pVal)
AbstractNumeralFormulaManagerisNumeral in class AbstractNumeralFormulaManager<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula,edu.nyu.acsys.CVC4.Expr>protected edu.nyu.acsys.CVC4.Expr makeNumberImpl(long i)
makeNumberImpl in class AbstractNumeralFormulaManager<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula,edu.nyu.acsys.CVC4.Expr>protected edu.nyu.acsys.CVC4.Expr makeNumberImpl(BigInteger pI)
makeNumberImpl in class AbstractNumeralFormulaManager<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula,edu.nyu.acsys.CVC4.Expr>protected edu.nyu.acsys.CVC4.Expr makeNumberImpl(String pI)
makeNumberImpl in class AbstractNumeralFormulaManager<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula,edu.nyu.acsys.CVC4.Expr>protected edu.nyu.acsys.CVC4.Expr makeVariableImpl(String varName)
makeVariableImpl in class AbstractNumeralFormulaManager<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula,edu.nyu.acsys.CVC4.Expr>protected edu.nyu.acsys.CVC4.Expr multiply(edu.nyu.acsys.CVC4.Expr pParam1,
edu.nyu.acsys.CVC4.Expr pParam2)
AbstractNumeralFormulaManagermultiply in class AbstractNumeralFormulaManager<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula,edu.nyu.acsys.CVC4.Expr>pParam1 - first factorpParam2 - second factorprotected edu.nyu.acsys.CVC4.Expr modulo(edu.nyu.acsys.CVC4.Expr pParam1,
edu.nyu.acsys.CVC4.Expr pParam2)
AbstractNumeralFormulaManagermodulo in class AbstractNumeralFormulaManager<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula,edu.nyu.acsys.CVC4.Expr>pParam1 - the dividendpParam2 - the divisorprotected edu.nyu.acsys.CVC4.Expr negate(edu.nyu.acsys.CVC4.Expr pParam1)
negate in class AbstractNumeralFormulaManager<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula,edu.nyu.acsys.CVC4.Expr>protected edu.nyu.acsys.CVC4.Expr add(edu.nyu.acsys.CVC4.Expr pParam1,
edu.nyu.acsys.CVC4.Expr pParam2)
add in class AbstractNumeralFormulaManager<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula,edu.nyu.acsys.CVC4.Expr>protected edu.nyu.acsys.CVC4.Expr subtract(edu.nyu.acsys.CVC4.Expr pParam1,
edu.nyu.acsys.CVC4.Expr pParam2)
subtract in class AbstractNumeralFormulaManager<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula,edu.nyu.acsys.CVC4.Expr>protected edu.nyu.acsys.CVC4.Expr equal(edu.nyu.acsys.CVC4.Expr pParam1,
edu.nyu.acsys.CVC4.Expr pParam2)
equal in class AbstractNumeralFormulaManager<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula,edu.nyu.acsys.CVC4.Expr>protected edu.nyu.acsys.CVC4.Expr greaterThan(edu.nyu.acsys.CVC4.Expr pParam1,
edu.nyu.acsys.CVC4.Expr pParam2)
greaterThan in class AbstractNumeralFormulaManager<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula,edu.nyu.acsys.CVC4.Expr>protected edu.nyu.acsys.CVC4.Expr greaterOrEquals(edu.nyu.acsys.CVC4.Expr pParam1,
edu.nyu.acsys.CVC4.Expr pParam2)
greaterOrEquals in class AbstractNumeralFormulaManager<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula,edu.nyu.acsys.CVC4.Expr>protected edu.nyu.acsys.CVC4.Expr lessThan(edu.nyu.acsys.CVC4.Expr pParam1,
edu.nyu.acsys.CVC4.Expr pParam2)
lessThan in class AbstractNumeralFormulaManager<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula,edu.nyu.acsys.CVC4.Expr>protected edu.nyu.acsys.CVC4.Expr lessOrEquals(edu.nyu.acsys.CVC4.Expr pParam1,
edu.nyu.acsys.CVC4.Expr pParam2)
lessOrEquals in class AbstractNumeralFormulaManager<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula,edu.nyu.acsys.CVC4.Expr>protected edu.nyu.acsys.CVC4.Expr distinctImpl(List<edu.nyu.acsys.CVC4.Expr> pParam)
distinctImpl in class AbstractNumeralFormulaManager<edu.nyu.acsys.CVC4.Expr,edu.nyu.acsys.CVC4.Type,edu.nyu.acsys.CVC4.ExprManager,ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula,edu.nyu.acsys.CVC4.Expr>protected final FormulaCreator<TFormulaInfo,TType,TEnv,TFuncDecl> getFormulaCreator()
protected final TType toSolverType(FormulaType<?> formulaType)