From 35bbe20b95fff211a81608afd61c16167fd134b1 Mon Sep 17 00:00:00 2001 From: Zzooouhh Date: Wed, 20 Dec 2017 00:21:44 +0100 Subject: [PATCH] Included overflow check methods --- Mage/src/main/java/mage/game/GameImpl.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Mage/src/main/java/mage/game/GameImpl.java b/Mage/src/main/java/mage/game/GameImpl.java index 9e07a84e340..b37590f40a6 100644 --- a/Mage/src/main/java/mage/game/GameImpl.java +++ b/Mage/src/main/java/mage/game/GameImpl.java @@ -3000,4 +3000,25 @@ public abstract class GameImpl implements Game, Serializable { } } + @Override + public int addWithOverflowCheck(int base, int increment) { + long result = ((long) base) + increment; + if (result > Integer.MAX_VALUE) { + return Integer.MAX_VALUE; + } else if (result < Integer.MIN_VALUE) { + return Integer.MIN_VALUE; + } + return base + increment; + } + + @Override + public int subtractWithOverflowCheck(int base, int decrement) { + long result = ((long) base) - decrement; + if (result > Integer.MAX_VALUE) { + return Integer.MAX_VALUE; + } else if (result < Integer.MIN_VALUE) { + return Integer.MIN_VALUE; + } + return base - decrement; + } }