public abstract class AbstractBitvectorFormulaManager<TFormulaInfo,TType,TEnv,TFuncDecl> extends Object implements BitvectorFormulaManager
| Modifier and Type | Field and Description |
|---|---|
protected FormulaCreator<TFormulaInfo,TType,TEnv,TFuncDecl> |
formulaCreator |
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractBitvectorFormulaManager(FormulaCreator<TFormulaInfo,TType,TEnv,TFuncDecl> pCreator) |
| Modifier and Type | Method and Description |
|---|---|
BitvectorFormula |
add(BitvectorFormula pNumber1,
BitvectorFormula pNumber2) |
protected abstract TFormulaInfo |
add(TFormulaInfo pParam1,
TFormulaInfo pParam2) |
BitvectorFormula |
and(BitvectorFormula pBits1,
BitvectorFormula pBits2)
Creates a formula representing an AND of the two arguments.
|
protected abstract TFormulaInfo |
and(TFormulaInfo pParam1,
TFormulaInfo pParam2) |
BitvectorFormula |
concat(BitvectorFormula pNumber,
BitvectorFormula pAppend) |
protected abstract TFormulaInfo |
concat(TFormulaInfo number,
TFormulaInfo pAppend) |
BitvectorFormula |
divide(BitvectorFormula pNumber1,
BitvectorFormula pNumber2,
boolean signed) |
protected abstract TFormulaInfo |
divide(TFormulaInfo pParam1,
TFormulaInfo pParam2,
boolean signed) |
BooleanFormula |
equal(BitvectorFormula pNumber1,
BitvectorFormula pNumber2) |
protected abstract TFormulaInfo |
equal(TFormulaInfo pParam1,
TFormulaInfo pParam2) |
BitvectorFormula |
extend(BitvectorFormula pNumber,
int pExtensionBits,
boolean pSigned)
Extend a bitvector to the left (add most significant bits).
|
protected abstract TFormulaInfo |
extend(TFormulaInfo pNumber,
int pExtensionBits,
boolean pSigned) |
BitvectorFormula |
extract(BitvectorFormula pNumber,
int pMsb,
int pLsb,
boolean pSigned) |
protected abstract TFormulaInfo |
extract(TFormulaInfo pNumber,
int pMsb,
int pLsb,
boolean pSigned) |
protected FormulaCreator<TFormulaInfo,TType,TEnv,TFuncDecl> |
getFormulaCreator() |
int |
getLength(BitvectorFormula pNumber) |
BooleanFormula |
greaterOrEquals(BitvectorFormula pNumber1,
BitvectorFormula pNumber2,
boolean signed) |
protected abstract TFormulaInfo |
greaterOrEquals(TFormulaInfo pParam1,
TFormulaInfo pParam2,
boolean signed) |
BooleanFormula |
greaterThan(BitvectorFormula pNumber1,
BitvectorFormula pNumber2,
boolean signed) |
protected abstract TFormulaInfo |
greaterThan(TFormulaInfo pParam1,
TFormulaInfo pParam2,
boolean signed) |
BooleanFormula |
lessOrEquals(BitvectorFormula pNumber1,
BitvectorFormula pNumber2,
boolean signed) |
protected abstract TFormulaInfo |
lessOrEquals(TFormulaInfo pParam1,
TFormulaInfo pParam2,
boolean signed) |
BooleanFormula |
lessThan(BitvectorFormula pNumber1,
BitvectorFormula pNumber2,
boolean signed) |
protected abstract TFormulaInfo |
lessThan(TFormulaInfo pParam1,
TFormulaInfo pParam2,
boolean signed) |
BitvectorFormula |
makeBitvector(int pLength,
BigInteger i) |
BitvectorFormula |
makeBitvector(int pLength,
long i) |
protected abstract TFormulaInfo |
makeBitvectorImpl(int pLength,
BigInteger pI) |
protected abstract TFormulaInfo |
makeBitvectorImpl(int pLength,
long pI) |
BitvectorFormula |
makeVariable(FormulaType.BitvectorType type,
String pVar) |
BitvectorFormula |
makeVariable(int pLength,
String pVar) |
protected abstract TFormulaInfo |
makeVariableImpl(int pLength,
String pVar) |
BooleanFormula |
modularCongruence(BitvectorFormula pNumber1,
BitvectorFormula pNumber2,
long pModulo) |
protected abstract TFormulaInfo |
modularCongruence(TFormulaInfo pNumber1,
TFormulaInfo pNumber2,
long pModulo) |
BitvectorFormula |
modulo(BitvectorFormula pNumber1,
BitvectorFormula pNumber2,
boolean signed) |
protected abstract TFormulaInfo |
modulo(TFormulaInfo pParam1,
TFormulaInfo pParam2,
boolean signed) |
BitvectorFormula |
multiply(BitvectorFormula pNumber1,
BitvectorFormula pNumber2) |
protected abstract TFormulaInfo |
multiply(TFormulaInfo pParam1,
TFormulaInfo pParam2) |
BitvectorFormula |
negate(BitvectorFormula pNumber) |
protected abstract TFormulaInfo |
negate(TFormulaInfo pParam1) |
BitvectorFormula |
not(BitvectorFormula pBits)
Creates a formula representing a negation of the argument.
|
protected abstract TFormulaInfo |
not(TFormulaInfo pParam1) |
BitvectorFormula |
or(BitvectorFormula pBits1,
BitvectorFormula pBits2)
Creates a formula representing an OR of the two arguments.
|
protected abstract TFormulaInfo |
or(TFormulaInfo pParam1,
TFormulaInfo pParam2) |
BitvectorFormula |
shiftLeft(BitvectorFormula pNumber,
BitvectorFormula toShift) |
protected abstract TFormulaInfo |
shiftLeft(TFormulaInfo pExtract,
TFormulaInfo pExtract2) |
BitvectorFormula |
shiftRight(BitvectorFormula pNumber,
BitvectorFormula toShift,
boolean signed)
Return a term representing the (arithmetic if signed is true) right shift of number by toShift.
|
protected abstract TFormulaInfo |
shiftRight(TFormulaInfo pNumber,
TFormulaInfo toShift,
boolean signed) |
BitvectorFormula |
subtract(BitvectorFormula pNumber1,
BitvectorFormula pNumber2) |
protected abstract TFormulaInfo |
subtract(TFormulaInfo pParam1,
TFormulaInfo pParam2) |
protected TType |
toSolverType(FormulaType<?> formulaType) |
BitvectorFormula |
xor(BitvectorFormula pBits1,
BitvectorFormula pBits2) |
protected abstract TFormulaInfo |
xor(TFormulaInfo pParam1,
TFormulaInfo pParam2) |
protected final FormulaCreator<TFormulaInfo,TType,TEnv,TFuncDecl> formulaCreator
protected AbstractBitvectorFormulaManager(FormulaCreator<TFormulaInfo,TType,TEnv,TFuncDecl> pCreator)
public BitvectorFormula negate(BitvectorFormula pNumber)
negate in interface BitvectorFormulaManagerprotected abstract TFormulaInfo negate(TFormulaInfo pParam1)
public BitvectorFormula add(BitvectorFormula pNumber1, BitvectorFormula pNumber2)
add in interface BitvectorFormulaManagerprotected abstract TFormulaInfo add(TFormulaInfo pParam1, TFormulaInfo pParam2)
public BitvectorFormula subtract(BitvectorFormula pNumber1, BitvectorFormula pNumber2)
subtract in interface BitvectorFormulaManagerprotected abstract TFormulaInfo subtract(TFormulaInfo pParam1, TFormulaInfo pParam2)
public BitvectorFormula divide(BitvectorFormula pNumber1, BitvectorFormula pNumber2, boolean signed)
divide in interface BitvectorFormulaManagerprotected abstract TFormulaInfo divide(TFormulaInfo pParam1, TFormulaInfo pParam2, boolean signed)
public BitvectorFormula modulo(BitvectorFormula pNumber1, BitvectorFormula pNumber2, boolean signed)
modulo in interface BitvectorFormulaManagerprotected abstract TFormulaInfo modulo(TFormulaInfo pParam1, TFormulaInfo pParam2, boolean signed)
public BooleanFormula modularCongruence(BitvectorFormula pNumber1, BitvectorFormula pNumber2, long pModulo)
modularCongruence in interface BitvectorFormulaManagerprotected abstract TFormulaInfo modularCongruence(TFormulaInfo pNumber1, TFormulaInfo pNumber2, long pModulo)
public BitvectorFormula multiply(BitvectorFormula pNumber1, BitvectorFormula pNumber2)
multiply in interface BitvectorFormulaManagerprotected abstract TFormulaInfo multiply(TFormulaInfo pParam1, TFormulaInfo pParam2)
public BooleanFormula equal(BitvectorFormula pNumber1, BitvectorFormula pNumber2)
equal in interface BitvectorFormulaManagerprotected abstract TFormulaInfo equal(TFormulaInfo pParam1, TFormulaInfo pParam2)
public BooleanFormula greaterThan(BitvectorFormula pNumber1, BitvectorFormula pNumber2, boolean signed)
greaterThan in interface BitvectorFormulaManagerprotected abstract TFormulaInfo greaterThan(TFormulaInfo pParam1, TFormulaInfo pParam2, boolean signed)
public BooleanFormula greaterOrEquals(BitvectorFormula pNumber1, BitvectorFormula pNumber2, boolean signed)
greaterOrEquals in interface BitvectorFormulaManagerprotected abstract TFormulaInfo greaterOrEquals(TFormulaInfo pParam1, TFormulaInfo pParam2, boolean signed)
public BooleanFormula lessThan(BitvectorFormula pNumber1, BitvectorFormula pNumber2, boolean signed)
lessThan in interface BitvectorFormulaManagerprotected abstract TFormulaInfo lessThan(TFormulaInfo pParam1, TFormulaInfo pParam2, boolean signed)
public BooleanFormula lessOrEquals(BitvectorFormula pNumber1, BitvectorFormula pNumber2, boolean signed)
lessOrEquals in interface BitvectorFormulaManagerprotected abstract TFormulaInfo lessOrEquals(TFormulaInfo pParam1, TFormulaInfo pParam2, boolean signed)
public BitvectorFormula not(BitvectorFormula pBits)
BitvectorFormulaManagernot in interface BitvectorFormulaManagerpBits - Formula!f1protected abstract TFormulaInfo not(TFormulaInfo pParam1)
public BitvectorFormula and(BitvectorFormula pBits1, BitvectorFormula pBits2)
BitvectorFormulaManagerand in interface BitvectorFormulaManagerpBits1 - a FormulapBits2 - a Formulaf1 & f2protected abstract TFormulaInfo and(TFormulaInfo pParam1, TFormulaInfo pParam2)
public BitvectorFormula or(BitvectorFormula pBits1, BitvectorFormula pBits2)
BitvectorFormulaManageror in interface BitvectorFormulaManagerpBits1 - a FormulapBits2 - a Formulaf1 | f2protected abstract TFormulaInfo or(TFormulaInfo pParam1, TFormulaInfo pParam2)
public BitvectorFormula xor(BitvectorFormula pBits1, BitvectorFormula pBits2)
xor in interface BitvectorFormulaManagerprotected abstract TFormulaInfo xor(TFormulaInfo pParam1, TFormulaInfo pParam2)
public BitvectorFormula makeBitvector(int pLength, long i)
makeBitvector in interface BitvectorFormulaManagerprotected abstract TFormulaInfo makeBitvectorImpl(int pLength, long pI)
public BitvectorFormula makeBitvector(int pLength, BigInteger i)
makeBitvector in interface BitvectorFormulaManagerprotected abstract TFormulaInfo makeBitvectorImpl(int pLength, BigInteger pI)
public BitvectorFormula makeVariable(FormulaType.BitvectorType type, String pVar)
makeVariable in interface BitvectorFormulaManagerpublic BitvectorFormula makeVariable(int pLength, String pVar)
makeVariable in interface BitvectorFormulaManagerprotected abstract TFormulaInfo makeVariableImpl(int pLength, String pVar)
public BitvectorFormula shiftRight(BitvectorFormula pNumber, BitvectorFormula toShift, boolean signed)
shiftRight in interface BitvectorFormulaManagerprotected abstract TFormulaInfo shiftRight(TFormulaInfo pNumber, TFormulaInfo toShift, boolean signed)
public BitvectorFormula shiftLeft(BitvectorFormula pNumber, BitvectorFormula toShift)
shiftLeft in interface BitvectorFormulaManagerprotected abstract TFormulaInfo shiftLeft(TFormulaInfo pExtract, TFormulaInfo pExtract2)
public final BitvectorFormula concat(BitvectorFormula pNumber, BitvectorFormula pAppend)
concat in interface BitvectorFormulaManagerprotected abstract TFormulaInfo concat(TFormulaInfo number, TFormulaInfo pAppend)
public final BitvectorFormula extract(BitvectorFormula pNumber, int pMsb, int pLsb, boolean pSigned)
extract in interface BitvectorFormulaManagerprotected abstract TFormulaInfo extract(TFormulaInfo pNumber, int pMsb, int pLsb, boolean pSigned)
public final BitvectorFormula extend(BitvectorFormula pNumber, int pExtensionBits, boolean pSigned)
BitvectorFormulaManagerextend in interface BitvectorFormulaManagerpNumber - The bitvector to extend.pExtensionBits - How many bits to add.pSigned - Whether the extension should depend on the sign bit.protected abstract TFormulaInfo extend(TFormulaInfo pNumber, int pExtensionBits, boolean pSigned)
public int getLength(BitvectorFormula pNumber)
getLength in interface BitvectorFormulaManagerprotected final FormulaCreator<TFormulaInfo,TType,TEnv,TFuncDecl> getFormulaCreator()
protected final TType toSolverType(FormulaType<?> formulaType)