Class NumberHelper
- java.lang.Object
-
- org.apache.tinkerpop.gremlin.util.NumberHelper
-
public final class NumberHelper extends Object
- Author:
- Daniel Kuppitz (http://gremlin.guru)
-
-
Field Summary
Fields Modifier and Type Field Description BiFunction<Number,Number,Number>
add
BiFunction<Number,Number,Integer>
cmp
BiFunction<Number,Number,Number>
div
BiFunction<Number,Number,Number>
max
BiFunction<Number,Number,Number>
min
BiFunction<Number,Number,Number>
mul
BiFunction<Number,Number,Number>
sub
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Number
add(Number a, Number b)
Adds two numbers returning the highest common number class between them.static boolean
bothAreNaN(Object first, Object second)
static Integer
compare(Number a, Number b)
Compares two numbers.static Number
div(Number a, Number b)
Divides two numbers returning the highest common number class between them callingdiv(Number, Number, boolean)
with afalse
.static Number
div(Number a, Number b, boolean forceFloatingPoint)
Divides two numbers returning the highest common number class between them.static boolean
eitherAreNaN(Object first, Object second)
static Class<? extends Number>
getHighestCommonNumberClass(boolean forceFloatingPoint, Number... numbers)
static Class<? extends Number>
getHighestCommonNumberClass(Number... numbers)
static boolean
isNaN(Object object)
static boolean
isNegativeInfinity(Object value)
static boolean
isPositiveInfinity(Object value)
static Comparable
max(Comparable a, Comparable b)
Gets the larger number of the two provided returning the highest common number class between them.static Number
max(Number a, Number b)
Gets the larger number of the two provided returning the highest common number class between them.static Comparable
min(Comparable a, Comparable b)
Gets the smaller number of the two provided returning the highest common number class between them.static Number
min(Number a, Number b)
Gets the smaller number of the two provided returning the highest common number class between them.static Number
mul(Number a, Number b)
Multiplies two numbers returning the highest common number class between them.static Number
sub(Number a, Number b)
Subtracts two numbers returning the highest common number class between them.
-
-
-
Field Detail
-
add
public final BiFunction<Number,Number,Number> add
-
sub
public final BiFunction<Number,Number,Number> sub
-
mul
public final BiFunction<Number,Number,Number> mul
-
div
public final BiFunction<Number,Number,Number> div
-
min
public final BiFunction<Number,Number,Number> min
-
max
public final BiFunction<Number,Number,Number> max
-
cmp
public final BiFunction<Number,Number,Integer> cmp
-
-
Method Detail
-
getHighestCommonNumberClass
public static Class<? extends Number> getHighestCommonNumberClass(Number... numbers)
-
getHighestCommonNumberClass
public static Class<? extends Number> getHighestCommonNumberClass(boolean forceFloatingPoint, Number... numbers)
-
add
public static Number add(Number a, Number b)
Adds two numbers returning the highest common number class between them.a = 1, b = 1 -> 2 a = null, b = 1 -> null a = 1, b = null -> 1 a = null, b = null -> null
- Parameters:
a
- should be thought of as the seed to be modified byb
b
- the modifier to {code a}
-
sub
public static Number sub(Number a, Number b)
Subtracts two numbers returning the highest common number class between them.a = 1, b = 1 -> 0 a = null, b = 1 -> null a = 1, b = null -> 1 a = null, b = null -> null
- Parameters:
a
- should be thought of as the seed to be modified byb
b
- the modifier to {code a}
-
mul
public static Number mul(Number a, Number b)
Multiplies two numbers returning the highest common number class between them.a = 1, b = 2 -> 2 a = null, b = 1 -> null a = 1, b = null -> 1 a = null, b = null -> null
- Parameters:
a
- should be thought of as the seed to be modified byb
b
- the modifier to {code a}
-
div
public static Number div(Number a, Number b)
Divides two numbers returning the highest common number class between them callingdiv(Number, Number, boolean)
with afalse
.
-
div
public static Number div(Number a, Number b, boolean forceFloatingPoint)
Divides two numbers returning the highest common number class between them.a = 4, b = 2 -> 2 a = null, b = 1 -> null a = 1, b = null -> 1 a = null, b = null -> null
- Parameters:
a
- should be thought of as the seed to be modified byb
b
- the modifier to {code a}forceFloatingPoint
- when set totrue
ensures that the return value is the highest common floating number class
-
min
public static Number min(Number a, Number b)
Gets the smaller number of the two provided returning the highest common number class between them.a = 4, b = 2 -> 2 a = null, b = 1 -> 1 a = 1, b = null -> 1 a = null, b = null -> null a = NaN, b = 1 -> 1 a = 1, b = NaN -> 1 a = NaN, b = NaN -> NaN
-
min
public static Comparable min(Comparable a, Comparable b)
Gets the smaller number of the two provided returning the highest common number class between them.a = 4, b = 2 -> 2 a = null, b = 1 -> 1 a = 1, b = null -> 1 a = null, b = null -> null a = NaN, b = 1 -> 1 a = 1, b = NaN -> 1 a = NaN, b = NaN -> NaN
-
max
public static Number max(Number a, Number b)
Gets the larger number of the two provided returning the highest common number class between them.a = 4, b = 2 -> 4 a = null, b = 1 -> 1 a = 1, b = null -> 1 a = null, b = null -> null a = NaN, b = 1 -> 1 a = 1, b = NaN -> 1 a = NaN, b = NaN -> NaN
-
max
public static Comparable max(Comparable a, Comparable b)
Gets the larger number of the two provided returning the highest common number class between them.a = 4, b = 2 -> 4 a = null, b = 1 -> 1 a = 1, b = null -> 1 a = null, b = null -> null a = NaN, b = 1 -> 1 a = 1, b = NaN -> 1 a = NaN, b = NaN -> NaN
-
compare
public static Integer compare(Number a, Number b)
Compares two numbers. Follows orderability semantics for NaN, which places NaN after +Inf.a = 4, b = 2 -> 1 a = 2, b = 4 -> -1 a = null, b = 1 -> -1 a = 1, b = null -> 1 a = null, b = null -> 0 a = NaN, b = NaN -> 0 a = NaN, b = Inf -> 1
-
isNaN
public static boolean isNaN(Object object)
-
isPositiveInfinity
public static boolean isPositiveInfinity(Object value)
-
isNegativeInfinity
public static boolean isNegativeInfinity(Object value)
-
-