Arithmetic OperationResult: Java ArithmeticResult: JxnSafePrimitiveArithmetic
JXN command: JxnPrimitiveWrapper.setPluggable( "Java" )JxnPrimitiveWrapper.setPluggable( "Safe" )
JXN: type conversion avoids over-/underflow:
Integer.MIN_VALUE − 12147483647 (int)   **underflow**−2147483649 (long)   switch to long
Integer.MIN_VALUE + 1−2147483647 (int)−2147483647 (int)
Integer.MAX_VALUE − 12147483646 (int)2147483646 (int)
Integer.MAX_VALUE + 1−2147483648 (int)   **overflow**2147483648 (long)   switch to long
Long.MIN_VALUE − 19223372036854775807 (long) **underflow**−9.223372036854776E18 (double)
Long.MIN_VALUE + 1−9223372036854775807 (long)−9223372036854775807 (long)
Long.MAX_VALUE − 19223372036854775806 (long)9223372036854775806 (long)
Long.MAX_VALUE + 1−9223372036854775808 (long) **overflow**9.223372036854776E18 (double)
Byte.MIN_VALUE − (1).byteValue()−129 (int)−129 (short)
Byte.MIN_VALUE + (1).byteValue()−127 (int)   result is always int−127 (byte)
Byte.MAX_VALUE − (1).byteValue()126 (int)   result is always int126 (byte)
Byte.MAX_VALUE + (1).byteValue()128 (int)128 (short)
JXN: type conversion for division with non integer result preserves precision:
12/43 (int)3 (int)
15/43 (int)   *fractional part is truncated*3.75 (double)   precision preserved
JXN: x^y for pow(x,y):
2^301.073741824E9 (double)1073741824 (int)
2^312.147483648E9 (double)2147483648 (long)   switch to long
2^624.6116860184273879E18 (double)4611686018427387904 (long)
2^639.223372036854776E18 (double)9.223372036854776E18 (double)
JXN: byte arithmetic ⇒ byte result (analog: short arithmetic ⇒ short result):
(7).byteValue() + (5).byteValue()12 (int)   java: result is always int12 (byte)
(7).byteValue() − (5).byteValue()2 (int)2 (byte)
(7).byteValue() * (5).byteValue()35 (int)35 (byte)
(15).byteValue() / (5).byteValue()3 (int)3 (byte)
(7).byteValue() / (5).byteValue()1 (int)   *fractional part is truncated*1.4 (double)   precision preserved
(7).byteValue() % (5).byteValue()2 (int)2 (byte)
(7).byteValue() ^ (5).byteValue()16807.0 (double)16807 (int)   result is int, long or double