public final class ArithmeticOpTable extends Object
Modifier and Type | Class and Description |
---|---|
static interface |
ArithmeticOpTable.ArithmeticOpWrapper |
static class |
ArithmeticOpTable.BinaryOp<T>
Describes a binary arithmetic operation.
|
static class |
ArithmeticOpTable.FloatConvertOp |
static class |
ArithmeticOpTable.IntegerConvertOp<T> |
static class |
ArithmeticOpTable.Op |
static class |
ArithmeticOpTable.ShiftOp<OP>
Describes a shift operation.
|
static class |
ArithmeticOpTable.UnaryOp<T>
Describes a unary arithmetic operation.
|
private final ArithmeticOpTable.UnaryOp<ArithmeticOpTable.UnaryOp.Neg> neg
private final ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Add> add
private final ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Sub> sub
private final ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Mul> mul
private final ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Div> div
private final ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Rem> rem
private final ArithmeticOpTable.UnaryOp<ArithmeticOpTable.UnaryOp.Not> not
private final ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.And> and
private final ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Or> or
private final ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Xor> xor
private final ArithmeticOpTable.ShiftOp<ArithmeticOpTable.ShiftOp.Shl> shl
private final ArithmeticOpTable.ShiftOp<ArithmeticOpTable.ShiftOp.Shr> shr
private final ArithmeticOpTable.ShiftOp<ArithmeticOpTable.ShiftOp.UShr> ushr
private final ArithmeticOpTable.UnaryOp<ArithmeticOpTable.UnaryOp.Abs> abs
private final ArithmeticOpTable.UnaryOp<ArithmeticOpTable.UnaryOp.Sqrt> sqrt
private final ArithmeticOpTable.IntegerConvertOp<ArithmeticOpTable.IntegerConvertOp.ZeroExtend> zeroExtend
private final ArithmeticOpTable.IntegerConvertOp<ArithmeticOpTable.IntegerConvertOp.SignExtend> signExtend
private final ArithmeticOpTable.IntegerConvertOp<ArithmeticOpTable.IntegerConvertOp.Narrow> narrow
private final ArithmeticOpTable.FloatConvertOp[] floatConvert
private final int hash
public static final ArithmeticOpTable EMPTY
public ArithmeticOpTable(ArithmeticOpTable.UnaryOp<ArithmeticOpTable.UnaryOp.Neg> neg, ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Add> add, ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Sub> sub, ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Mul> mul, ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Div> div, ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Rem> rem, ArithmeticOpTable.UnaryOp<ArithmeticOpTable.UnaryOp.Not> not, ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.And> and, ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Or> or, ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Xor> xor, ArithmeticOpTable.ShiftOp<ArithmeticOpTable.ShiftOp.Shl> shl, ArithmeticOpTable.ShiftOp<ArithmeticOpTable.ShiftOp.Shr> shr, ArithmeticOpTable.ShiftOp<ArithmeticOpTable.ShiftOp.UShr> ushr, ArithmeticOpTable.UnaryOp<ArithmeticOpTable.UnaryOp.Abs> abs, ArithmeticOpTable.UnaryOp<ArithmeticOpTable.UnaryOp.Sqrt> sqrt, ArithmeticOpTable.IntegerConvertOp<ArithmeticOpTable.IntegerConvertOp.ZeroExtend> zeroExtend, ArithmeticOpTable.IntegerConvertOp<ArithmeticOpTable.IntegerConvertOp.SignExtend> signExtend, ArithmeticOpTable.IntegerConvertOp<ArithmeticOpTable.IntegerConvertOp.Narrow> narrow, ArithmeticOpTable.FloatConvertOp... floatConvert)
private ArithmeticOpTable(ArithmeticOpTable.UnaryOp<ArithmeticOpTable.UnaryOp.Neg> neg, ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Add> add, ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Sub> sub, ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Mul> mul, ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Div> div, ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Rem> rem, ArithmeticOpTable.UnaryOp<ArithmeticOpTable.UnaryOp.Not> not, ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.And> and, ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Or> or, ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Xor> xor, ArithmeticOpTable.ShiftOp<ArithmeticOpTable.ShiftOp.Shl> shl, ArithmeticOpTable.ShiftOp<ArithmeticOpTable.ShiftOp.Shr> shr, ArithmeticOpTable.ShiftOp<ArithmeticOpTable.ShiftOp.UShr> ushr, ArithmeticOpTable.UnaryOp<ArithmeticOpTable.UnaryOp.Abs> abs, ArithmeticOpTable.UnaryOp<ArithmeticOpTable.UnaryOp.Sqrt> sqrt, ArithmeticOpTable.IntegerConvertOp<ArithmeticOpTable.IntegerConvertOp.ZeroExtend> zeroExtend, ArithmeticOpTable.IntegerConvertOp<ArithmeticOpTable.IntegerConvertOp.SignExtend> signExtend, ArithmeticOpTable.IntegerConvertOp<ArithmeticOpTable.IntegerConvertOp.Narrow> narrow, Stream<ArithmeticOpTable.FloatConvertOp> floatConvert)
public static ArithmeticOpTable forStamp(Stamp s)
private static <T> T wrapIfNonNull(Function<T,T> wrapper, T obj)
public static ArithmeticOpTable wrap(ArithmeticOpTable.ArithmeticOpWrapper wrapper, ArithmeticOpTable inner)
public ArithmeticOpTable.UnaryOp<ArithmeticOpTable.UnaryOp.Neg> getNeg()
public ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Add> getAdd()
public ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Sub> getSub()
public ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Mul> getMul()
public ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Div> getDiv()
public ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Rem> getRem()
public ArithmeticOpTable.UnaryOp<ArithmeticOpTable.UnaryOp.Not> getNot()
public ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.And> getAnd()
public ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Or> getOr()
public ArithmeticOpTable.BinaryOp<ArithmeticOpTable.BinaryOp.Xor> getXor()
public ArithmeticOpTable.ShiftOp<ArithmeticOpTable.ShiftOp.Shl> getShl()
public ArithmeticOpTable.ShiftOp<ArithmeticOpTable.ShiftOp.Shr> getShr()
public ArithmeticOpTable.ShiftOp<ArithmeticOpTable.ShiftOp.UShr> getUShr()
public ArithmeticOpTable.UnaryOp<ArithmeticOpTable.UnaryOp.Abs> getAbs()
public ArithmeticOpTable.UnaryOp<ArithmeticOpTable.UnaryOp.Sqrt> getSqrt()
public ArithmeticOpTable.IntegerConvertOp<ArithmeticOpTable.IntegerConvertOp.ZeroExtend> getZeroExtend()
public ArithmeticOpTable.IntegerConvertOp<ArithmeticOpTable.IntegerConvertOp.SignExtend> getSignExtend()
public ArithmeticOpTable.IntegerConvertOp<ArithmeticOpTable.IntegerConvertOp.Narrow> getNarrow()
public ArithmeticOpTable.FloatConvertOp getFloatConvert(FloatConvert op)
public static String toString(ArithmeticOpTable.Op... ops)
private boolean opsEquals(ArithmeticOpTable that)