diff options
Diffstat (limited to 'src/Java/gtPlusPlus/core/util/math')
-rw-r--r-- | src/Java/gtPlusPlus/core/util/math/MathUtils.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/Java/gtPlusPlus/core/util/math/MathUtils.java b/src/Java/gtPlusPlus/core/util/math/MathUtils.java index 7ed15ec27b..a46bd8c61d 100644 --- a/src/Java/gtPlusPlus/core/util/math/MathUtils.java +++ b/src/Java/gtPlusPlus/core/util/math/MathUtils.java @@ -3,6 +3,7 @@ package gtPlusPlus.core.util.math; import java.util.Map; import java.util.Random; +import gregtech.api.enums.GT_Values; import gtPlusPlus.core.util.Utils; import gtPlusPlus.xmod.gregtech.api.objects.XSTR; @@ -96,7 +97,7 @@ public class MathUtils { } while (((bits-val)+(n-1)) < 0L); return val; } - + /** * Returns a psuedo-random number between min and max, inclusive. * The difference between min and max can be at most @@ -359,4 +360,12 @@ public class MathUtils { } } + public static int safeInt(long number, int margin){ + return number>Integer.MAX_VALUE-margin ? Integer.MAX_VALUE-margin :(int)number; + } + + public static int safeInt(long number){ + return number>GT_Values.V[GT_Values.V.length-1] ? safeInt(GT_Values.V[GT_Values.V.length-1],1) : number<Integer.MIN_VALUE ? Integer.MIN_VALUE : (int)number; + } + } |