Class MathUtils


  • public final class MathUtils
    extends java.lang.Object
    Internal math utilities.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static int findNextPositivePowerOfTwo​(int value)
      Fast method of finding the next power of 2 greater than or equal to the supplied value.
      static int safeFindNextPositivePowerOfTwo​(int value)
      Fast method of finding the next power of 2 greater than or equal to the supplied value.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • 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