Class MathUtils

java.lang.Object
io.servicetalk.utils.internal.MathUtils

public final class MathUtils extends Object
Internal math utilities.
  • Method Details

    • findNextPositivePowerOfTwo

      public static int findNextPositivePowerOfTwo(int value)
      Fast method of finding the next power of 2 greater than or equal to the supplied value.

      If the value is <= 0 then 1 will be returned. This method is not suitable for Integer.MIN_VALUE or numbers greater than 2^30.

      Parameters:
      value - from which to search for next power of 2
      Returns:
      The next power of 2 or the value itself if it is a power of 2
    • safeFindNextPositivePowerOfTwo

      public static int safeFindNextPositivePowerOfTwo(int value)
      Fast method of finding the next power of 2 greater than or equal to the supplied value.

      This method will do runtime bounds checking and call findNextPositivePowerOfTwo(int) if within a valid range.

      Parameters:
      value - from which to search for next power of 2
      Returns:
      The next power of 2 or the value itself if it is a power of 2.

      Special cases for return values are as follows:

      • <= 0 to 1
      • >= 2^30 to 2^30