java.lang.Object
org.maxicp.util.NumberUtils
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic intceilDiv(int v1, int v2) static intfloorDiv(int v1, int v2) static booleanisPerfectSquare(int n) static intmaxFloorDiv(int c, int... vals) static intminCeilDiv(int c, int... vals) static booleannegativeProduct(int v1, int v2) static booleanoverFlowMul(int a, int b) static booleanpositiveProduct(int v1, int v2) static intsafeMul(int a, int b)
-
Constructor Details
-
NumberUtils
public NumberUtils()
-
-
Method Details
-
isPerfectSquare
public static boolean isPerfectSquare(int n) -
negativeProduct
public static boolean negativeProduct(int v1, int v2) -
positiveProduct
public static boolean positiveProduct(int v1, int v2) -
ceilDiv
public static int ceilDiv(int v1, int v2) - Parameters:
v1-v2- != 0- Returns:
- ceil(v1/v2)
-
floorDiv
public static int floorDiv(int v1, int v2) - Parameters:
v1-v2- != 0- Returns:
- floor(v1/v2)
-
minCeilDiv
public static int minCeilDiv(int c, int... vals) - Parameters:
c- != 0vals- different from 0- Returns:
- min(ceil(c/v)) with v in vals
-
maxFloorDiv
public static int maxFloorDiv(int c, int... vals) - Parameters:
c- != 0vals- different from 0- Returns:
- max(floor(c/v)) with v in vals
-
overFlowMul
public static boolean overFlowMul(int a, int b) - Parameters:
a-b-- Returns:
- true if a*b generates an overflow
-
safeMul
public static int safeMul(int a, int b) - Parameters:
a-b-- Returns:
- a*b (rounded to Integer.MAX_VALUE /Integer.MIN_VALUE in case of overflow)
-