- java.lang.Object
-
- io.netty5.util.internal.MathUtil
-
public final class MathUtil extends Object
Math utility methods.
-
-
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 boolean
isOutOfBounds(int index, int length, int capacity)
Determine if the requestedindex
andlength
will fit withincapacity
.static int
safeFindNextPositivePowerOfTwo(int value)
Fast method of finding the next power of 2 greater than or equal to the supplied value.
-
-
-
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 forInteger.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
-> 1>= 2^30
-> 2^30
-
isOutOfBounds
public static boolean isOutOfBounds(int index, int length, int capacity)
Determine if the requestedindex
andlength
will fit withincapacity
.- Parameters:
index
- The starting index.length
- The length which will be utilized (starting fromindex
).capacity
- The capacity thatindex + length
is allowed to be within.- Returns:
false
if the requestedindex
andlength
will fit withincapacity
.true
if this would result in an index out of bounds exception.
-
-