public abstract class IntExpression extends Node
Modifier and Type | Method and Description |
---|---|
IntExpression |
abs()
Returns an IntExpression that represents the absolute value of this int expression.
|
abstract <E,F,D,I> I |
accept(ReturnVisitor<E,F,D,I> visitor)
Accepts the given visitor and returns the result
of the visit (i.e.
|
abstract void |
accept(VoidVisitor visitor)
Accepts the given void visitor by calling visitor.visit(this).
|
static IntExpression |
and(Collection<? extends IntExpression> intExprs)
Returns the bitwise and of the given int expressions.
|
static IntExpression |
and(IntExpression... intExprs)
Returns the bitwise and of the given int expressions.
|
IntExpression |
and(IntExpression intExpr)
Returns an IntExpression that represents the bitwise AND of this and
the given int node.
|
IntExpression |
apply(IntOperator op)
Returns an expression that represents the application of the given unary
operator to this integer expression.
|
Expression |
cast(IntCastOperator op)
Returns an expression that is the relational representation of this
integer expression specified by the given operator.
|
Formula |
compare(IntCompOperator op,
IntExpression intExpr)
Returns a formula comparing this and the given integer expression using the
specified operator.
|
static IntExpression |
compose(IntOperator op,
Collection<? extends IntExpression> intExprs)
Returns the composition of the given int expressions using the given operator.
|
static IntExpression |
compose(IntOperator op,
IntExpression... intExprs)
Returns the composition of the given int expressions using the given operator.
|
IntExpression |
compose(IntOperator op,
IntExpression intExpr)
Returns an expression that combines this and the given integer expression using the
specified operator.
|
IntExpression |
divide(IntExpression intExpr)
Returns an IntExpression that represents the quotient of the division
between this and the given int node.
|
Formula |
eq(IntExpression intExpr)
Returns a formula stating that the given int expression and
this have the same value.
|
Formula |
gt(IntExpression intExpr)
Returns a formula stating that the value of this int expression is greater than the
value of the given int expression The effect
of this method is the same as calling this.compare(GT, intExpr).
|
Formula |
gte(IntExpression intExpr)
Returns a formula stating that the value of this int expression is greater than
or equal to the value of the given int expression The effect
of this method is the same as calling this.compare(GTE, intExpr).
|
Formula |
lt(IntExpression intExpr)
Returns a formula stating that the value of this int expression is less than the
value of the given int expression The effect
of this method is the same as calling this.compare(LT, intExpr).
|
Formula |
lte(IntExpression intExpr)
Returns a formula stating that the value of this int expression is less than
or equal to the value of the given int expression The effect
of this method is the same as calling this.compare(LTE, intExpr).
|
IntExpression |
minus(IntExpression intExpr)
Returns an IntExpression that represents the difference between this and
the given int node.
|
IntExpression |
modulo(IntExpression intExpr)
Returns an IntExpression that represents the remainder of the division
between this and the given int node.
|
static IntExpression |
multiply(Collection<? extends IntExpression> intExprs)
Returns the product of the given int expressions.
|
static IntExpression |
multiply(IntExpression... intExprs)
Returns the product of the given int expressions.
|
IntExpression |
multiply(IntExpression intExpr)
Returns an IntExpression that represents the product of this and
the given int node.
|
IntExpression |
negate()
Returns an IntExpression that represents the negation of this int expression.
|
IntExpression |
not()
Returns an IntExpression that represents the bitwise negation of this int expression.
|
static IntExpression |
or(Collection<? extends IntExpression> intExprs)
Returns the bitwise or of the given int expressions.
|
static IntExpression |
or(IntExpression... intExprs)
Returns the bitwise or of the given int expressions.
|
IntExpression |
or(IntExpression intExpr)
Returns an IntExpression that represents the bitwise OR of this and
the given int node.
|
static IntExpression |
plus(Collection<? extends IntExpression> intExprs)
Returns the plus of the given int expressions.
|
static IntExpression |
plus(IntExpression... intExprs)
Returns the sum of the given int expressions.
|
IntExpression |
plus(IntExpression intExpr)
Returns an IntExpression that represents the sum of this and
the given int node.
|
IntExpression |
sha(IntExpression intExpr)
Returns an IntExpression that represents the right shift of this and
the given int node, with sign extension.
|
IntExpression |
shl(IntExpression intExpr)
Returns an IntExpression that represents the left shift of this by
the given int node.
|
IntExpression |
shr(IntExpression intExpr)
Returns an IntExpression that represents the right shift of this and
the given int node, with zero extension.
|
IntExpression |
signum()
Returns an IntExpression that represents the sign of this int expression.
|
IntExpression |
sum(Decls decls)
Returns an integer expression that is the sum of all
values that this integer expression can take given the
provided declarations.
|
Expression |
toBitset()
Returns an expression whose meaning is the set containing the atoms
that represent the powers of 2 (bits) present in this integer expression.
|
Expression |
toExpression()
Returns an expression whose meaning is the singleton set containing the atom
that represents the integer given by this integer expression.
|
IntExpression |
xor(IntExpression intExpr)
Returns an IntExpression that represents the bitwise XOR of this and
the given int node.
|
public final IntExpression abs()
public abstract <E,F,D,I> I accept(ReturnVisitor<E,F,D,I> visitor)
accept
in class Node
Node.accept(kodkod.ast.visitor.ReturnVisitor)
public abstract void accept(VoidVisitor visitor)
accept
in class Node
Node.accept(kodkod.ast.visitor.VoidVisitor)
public static IntExpression and(Collection<? extends IntExpression> intExprs)
public static IntExpression and(IntExpression... intExprs)
public final IntExpression and(IntExpression intExpr)
public final IntExpression apply(IntOperator op)
op.unary()
public final Expression cast(IntCastOperator op)
public Formula compare(IntCompOperator op, IntExpression intExpr)
public static IntExpression compose(IntOperator op, Collection<? extends IntExpression> intExprs)
intExprs.length = 2 => op.binary(), intExprs.length > 2 => op.nary()
public static IntExpression compose(IntOperator op, IntExpression... intExprs)
intExprs.length = 2 => op.binary(), intExprs.length > 2 => op.nary()
public final IntExpression compose(IntOperator op, IntExpression intExpr)
op.binary()
public final IntExpression divide(IntExpression intExpr)
public final Formula eq(IntExpression intExpr)
public final Formula gt(IntExpression intExpr)
public final Formula gte(IntExpression intExpr)
public final Formula lt(IntExpression intExpr)
public final Formula lte(IntExpression intExpr)
public final IntExpression minus(IntExpression intExpr)
public final IntExpression modulo(IntExpression intExpr)
public static IntExpression multiply(Collection<? extends IntExpression> intExprs)
public static IntExpression multiply(IntExpression... intExprs)
public final IntExpression multiply(IntExpression intExpr)
public final IntExpression negate()
public final IntExpression not()
public static IntExpression or(Collection<? extends IntExpression> intExprs)
public static IntExpression or(IntExpression... intExprs)
public final IntExpression or(IntExpression intExpr)
public static IntExpression plus(Collection<? extends IntExpression> intExprs)
public static IntExpression plus(IntExpression... intExprs)
public final IntExpression plus(IntExpression intExpr)
public final IntExpression sha(IntExpression intExpr)
public final IntExpression shl(IntExpression intExpr)
public final IntExpression shr(IntExpression intExpr)
public final IntExpression signum()
public final IntExpression sum(Decls decls)
public final Expression toBitset()
public final Expression toExpression()
public final IntExpression xor(IntExpression intExpr)
© Emina Torlak 2005-present