Class NumericNonOverflowingMod
- java.lang.Object
-
- it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingMod
-
- All Implemented Interfaces:
Operator,ArithmeticOperator,BinaryOperator,Module
public class NumericNonOverflowingMod extends java.lang.Object implements Module, BinaryOperator
Given two expressions that both evaluate to numeric values, aBinaryExpressionusing this operator computes the arithmetic remainder of those values. This operation does never overflows/underflows.
First argument expression type:NumericType
Second argument expression type:NumericType
Computed expression type:NumericType
-
-
Field Summary
Fields Modifier and Type Field Description static NumericNonOverflowingModINSTANCEThe singleton instance of this class.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringtoString()ExternalSet<Type>typeInference(ExternalSet<Type> left, ExternalSet<Type> right)Computes the runtime types of this expression (i.e., of the result of this expression) assuming that the arguments of this expression have the given types.
-
-
-
Field Detail
-
INSTANCE
public static final NumericNonOverflowingMod INSTANCE
The singleton instance of this class.
-
-
Method Detail
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
typeInference
public ExternalSet<Type> typeInference(ExternalSet<Type> left, ExternalSet<Type> right)
Description copied from interface:BinaryOperatorComputes the runtime types of this expression (i.e., of the result of this expression) assuming that the arguments of this expression have the given types.- Specified by:
typeInferencein interfaceBinaryOperator- Parameters:
left- the set of types of the left-most argument of this expressionright- the set of types of the right-most argument of this expression- Returns:
- the runtime types of this expression
-
-