public interface BitvectorFormulaManager
| Modifier and Type | Method and Description |
|---|---|
BitvectorFormula |
add(BitvectorFormula number1,
BitvectorFormula number2) |
BitvectorFormula |
and(BitvectorFormula bits1,
BitvectorFormula bits2)
Creates a formula representing an AND of the two arguments.
|
BitvectorFormula |
concat(BitvectorFormula number,
BitvectorFormula append) |
BitvectorFormula |
divide(BitvectorFormula number1,
BitvectorFormula number2,
boolean signed) |
BooleanFormula |
equal(BitvectorFormula number1,
BitvectorFormula number2) |
BitvectorFormula |
extend(BitvectorFormula number,
int extensionBits,
boolean signed)
Extend a bitvector to the left (add most significant bits).
|
BitvectorFormula |
extract(BitvectorFormula number,
int msb,
int lsb,
boolean signed) |
int |
getLength(BitvectorFormula number) |
BooleanFormula |
greaterOrEquals(BitvectorFormula number1,
BitvectorFormula number2,
boolean signed) |
BooleanFormula |
greaterThan(BitvectorFormula number1,
BitvectorFormula number2,
boolean signed) |
BooleanFormula |
lessOrEquals(BitvectorFormula number1,
BitvectorFormula number2,
boolean signed) |
BooleanFormula |
lessThan(BitvectorFormula number1,
BitvectorFormula number2,
boolean signed) |
BitvectorFormula |
makeBitvector(int length,
BigInteger pI)
Convert a number into a bitvector with given size.
|
BitvectorFormula |
makeBitvector(int length,
long pI)
Convert a number into a bitvector with given size.
|
BitvectorFormula |
makeBitvector(int length,
NumeralFormula.IntegerFormula pI)
Convert/Cast a numeral formula into a bitvector with given size.
|
BitvectorFormula |
makeVariable(FormulaType.BitvectorType type,
String pVar) |
BitvectorFormula |
makeVariable(int length,
String pVar)
Creates a variable with exactly the given name and bitwidth.
|
BitvectorFormula |
modulo(BitvectorFormula number1,
BitvectorFormula number2,
boolean signed) |
BitvectorFormula |
multiply(BitvectorFormula number1,
BitvectorFormula number2) |
BitvectorFormula |
negate(BitvectorFormula number) |
BitvectorFormula |
not(BitvectorFormula bits)
Creates a formula representing a negation of the argument.
|
BitvectorFormula |
or(BitvectorFormula bits1,
BitvectorFormula bits2)
Creates a formula representing an OR of the two arguments.
|
BitvectorFormula |
shiftLeft(BitvectorFormula number,
BitvectorFormula toShift) |
BitvectorFormula |
shiftRight(BitvectorFormula number,
BitvectorFormula toShift,
boolean signed)
Return a term representing the (arithmetic if signed is true) right shift of number by toShift.
|
BitvectorFormula |
subtract(BitvectorFormula number1,
BitvectorFormula number2) |
NumeralFormula.IntegerFormula |
toIntegerFormula(BitvectorFormula pI,
boolean signed)
Interpret a signed/unsigned bitvector formula as an integer formula.
|
BitvectorFormula |
xor(BitvectorFormula bits1,
BitvectorFormula bits2) |
BitvectorFormula makeBitvector(int length, long pI)
IllegalArgumentException - if the number is out of range for the given length.BitvectorFormula makeBitvector(int length, BigInteger pI)
IllegalArgumentException - if the number is out of range for the given length.BitvectorFormula makeBitvector(int length, NumeralFormula.IntegerFormula pI)
If the numeral formula is too large for the given length, we cut off the largest bits and only use the smallest bits.
NumeralFormula.IntegerFormula toIntegerFormula(BitvectorFormula pI, boolean signed)
BitvectorFormula makeVariable(int length, String pVar)
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.
BitvectorFormula makeVariable(FormulaType.BitvectorType type, String pVar)
makeVariable(int, String)int getLength(BitvectorFormula number)
BitvectorFormula negate(BitvectorFormula number)
BitvectorFormula add(BitvectorFormula number1, BitvectorFormula number2)
BitvectorFormula subtract(BitvectorFormula number1, BitvectorFormula number2)
BitvectorFormula divide(BitvectorFormula number1, BitvectorFormula number2, boolean signed)
BitvectorFormula modulo(BitvectorFormula number1, BitvectorFormula number2, boolean signed)
BitvectorFormula multiply(BitvectorFormula number1, BitvectorFormula number2)
BooleanFormula equal(BitvectorFormula number1, BitvectorFormula number2)
BooleanFormula greaterThan(BitvectorFormula number1, BitvectorFormula number2, boolean signed)
BooleanFormula greaterOrEquals(BitvectorFormula number1, BitvectorFormula number2, boolean signed)
BooleanFormula lessThan(BitvectorFormula number1, BitvectorFormula number2, boolean signed)
BooleanFormula lessOrEquals(BitvectorFormula number1, BitvectorFormula number2, boolean signed)
BitvectorFormula not(BitvectorFormula bits)
bits - Formula!f1BitvectorFormula and(BitvectorFormula bits1, BitvectorFormula bits2)
bits1 - a Formulabits2 - a Formulaf1 & f2BitvectorFormula or(BitvectorFormula bits1, BitvectorFormula bits2)
bits1 - a Formulabits2 - a Formulaf1 | f2BitvectorFormula xor(BitvectorFormula bits1, BitvectorFormula bits2)
BitvectorFormula shiftRight(BitvectorFormula number, BitvectorFormula toShift, boolean signed)
BitvectorFormula shiftLeft(BitvectorFormula number, BitvectorFormula toShift)
BitvectorFormula concat(BitvectorFormula number, BitvectorFormula append)
BitvectorFormula extract(BitvectorFormula number, int msb, int lsb, boolean signed)
BitvectorFormula extend(BitvectorFormula number, int extensionBits, boolean signed)
number - The bitvector to extend.extensionBits - How many bits to add.signed - Whether the extension should depend on the sign bit.