Class NumericNonOverflowingMod
- java.lang.Object
-
- it.unive.lisa.symbolic.value.operator.binary.NumericOperation
-
- it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingMod
-
- All Implemented Interfaces:
Operator
,ArithmeticOperator
,BinaryOperator
,ModuloOperator
public class NumericNonOverflowingMod extends NumericOperation implements ModuloOperator
Given two expressions that both evaluate to numeric values, aBinaryExpression
using this operator computes the arithmetic modulo (Euclidean modulo between the two operands and taking the sign of the divisor) 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 NumericNonOverflowingMod
INSTANCE
The singleton instance of this class.
-
Constructor Summary
Constructors Modifier Constructor Description protected
NumericNonOverflowingMod()
Builds the operator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
toString()
-
Methods inherited from class it.unive.lisa.symbolic.value.operator.binary.NumericOperation
typeInference
-
-
-
-
Field Detail
-
INSTANCE
public static final NumericNonOverflowingMod INSTANCE
The singleton instance of this class.
-
-
Constructor Detail
-
NumericNonOverflowingMod
protected NumericNonOverflowingMod()
Builds the operator. This constructor is visible to allow subclassing: instances of this class should be unique, and the singleton can be retrieved through fieldINSTANCE
.
-
-