org.apache.tinkerpop.gremlin.util

## 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 and 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 and Description
    --- | ---
    `static Number` | `add(Number a, Number b)` Adds two numbers returning the highest common number class between them.
    `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 calling `div(Number, Number, boolean)` with a `false`.
    `static Number` | `div(Number a, Number b, boolean forceFloatingPoint)` Divides two numbers returning the highest common number class between them.
    `static Class<? extends Number>` | `getHighestCommonNumberClass(boolean forceFloatingPoint, Number... numbers)`
    `static Class<? extends Number>` | `getHighestCommonNumberClass(Number... numbers)`
    `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.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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 by `b`
        `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 by `b`
        `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 by `b`
        `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 calling `div(Number, Number, boolean)` with a `false`.

    - #### 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 by `b`
        `b` - the modifier to {code a}
        `forceFloatingPoint` - when set to `true` 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

    - #### 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

    - #### 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

    - #### 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

    - #### compare

          public static Integer compare(Number a,
                                        Number b)

      Compares two numbers.

               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

Copyright © 2013–2022 Apache Software Foundation. All rights reserved.