8183912: java.math.BigDecimal.movePointLeft() should return this if called with zero argument
Reviewed-by: rriggs
--- a/src/java.base/share/classes/java/math/BigDecimal.java Wed Dec 19 14:02:19 2018 -0500
+++ b/src/java.base/share/classes/java/math/BigDecimal.java Wed Dec 19 11:44:57 2018 -0800
@@ -2871,6 +2871,8 @@
* @throws ArithmeticException if scale overflows.
*/
public BigDecimal movePointLeft(int n) {
+ if (n == 0) return this;
+
// Cannot use movePointRight(-n) in case of n==Integer.MIN_VALUE
int newScale = checkScale((long)scale + n);
BigDecimal num = new BigDecimal(intVal, intCompact, newScale, 0);
@@ -2893,6 +2895,8 @@
* @throws ArithmeticException if scale overflows.
*/
public BigDecimal movePointRight(int n) {
+ if (n == 0) return this;
+
// Cannot use movePointLeft(-n) in case of n==Integer.MIN_VALUE
int newScale = checkScale((long)scale - n);
BigDecimal num = new BigDecimal(intVal, intCompact, newScale, 0);