Skip to content

Commit

Permalink
LANG-1519 support custom Number class implementations
Browse files Browse the repository at this point in the history
  • Loading branch information
Nivruth Nandigam committed Feb 23, 2020
1 parent 59c5ffe commit 78b691f
Show file tree
Hide file tree
Showing 2 changed files with 354 additions and 35 deletions.
18 changes: 12 additions & 6 deletions src/main/java/org/apache/commons/lang3/math/NumberUtils.java
Expand Up @@ -1848,9 +1848,11 @@ public static boolean isZero(final Number number) {
return number.floatValue() == FLOAT_ZERO;
} else if (number instanceof Double) {
return number.doubleValue() == DOUBLE_ZERO;
} else {
return number.intValue() == INTEGER_ZERO && number.longValue() == LONG_ZERO &&
number.byteValue() == BYTE_ZERO && number.shortValue() == SHORT_ZERO &&
number.floatValue() == FLOAT_ZERO && number.doubleValue() == DOUBLE_ZERO;
}

return false;
}

/**
Expand Down Expand Up @@ -1888,9 +1890,11 @@ public static boolean isPositive(final Number number) {
return number.floatValue() > FLOAT_ZERO;
} else if (number instanceof Double) {
return number.doubleValue() > DOUBLE_ZERO;
} else {
return number.intValue() > INTEGER_ZERO && number.longValue() > LONG_ZERO &&
number.byteValue() > BYTE_ZERO && number.shortValue() > SHORT_ZERO &&
number.floatValue() > FLOAT_ZERO && number.doubleValue() > DOUBLE_ZERO;
}

return false;
}

/**
Expand Down Expand Up @@ -1928,9 +1932,11 @@ public static boolean isNegative(final Number number) {
return number.floatValue() < FLOAT_ZERO;
} else if (number instanceof Double) {
return number.doubleValue() < DOUBLE_ZERO;
} else {
return number.intValue() < INTEGER_ZERO && number.longValue() < LONG_ZERO &&
number.byteValue() < BYTE_ZERO && number.shortValue() < SHORT_ZERO &&
number.floatValue() < FLOAT_ZERO && number.doubleValue() < DOUBLE_ZERO;
}

return false;
}

/**
Expand Down

0 comments on commit 78b691f

Please sign in to comment.