JDK 14 RFR of JDK-8230074: Improve specification for {Math, StrictMath}.negateExact

Joe Darcy joe.darcy at oracle.com
Wed Aug 28 16:38:04 UTC 2019


Hello,

Please review the small amendment to make the specifications for some of 
the "exact" methods in Math and StrictMath more explicit in their 
exceptional behavior:

     JDK-8230074: Improve specification for {Math, StrictMath}.negateExact
     http://cr.openjdk.java.net/~darcy/8230074.0/

Patch below.

Thanks,

-Joe

--- old/src/java.base/share/classes/java/lang/Math.java 2019-08-28 
09:31:35.640999999 -0700
+++ new/src/java.base/share/classes/java/lang/Math.java 2019-08-28 
09:31:35.500999999 -0700
@@ -952,6 +952,7 @@
      /**
       * Returns the argument incremented by one, throwing an exception 
if the
       * result overflows an {@code int}.
+     * The overflow only occurs for {@linkplain Integer#MAX_VALUE the 
maximum value}.
       *
       * @param a the value to increment
       * @return the result
@@ -970,6 +971,7 @@
      /**
       * Returns the argument incremented by one, throwing an exception 
if the
       * result overflows a {@code long}.
+     * The overflow only occurs for {@linkplain Long#MAX_VALUE the 
maximum value}.
       *
       * @param a the value to increment
       * @return the result
@@ -988,6 +990,7 @@
      /**
       * Returns the argument decremented by one, throwing an exception 
if the
       * result overflows an {@code int}.
+     * The overflow only occurs for {@linkplain Integer#MIN_VALUE the 
minimum value}.
       *
       * @param a the value to decrement
       * @return the result
@@ -1006,6 +1009,7 @@
      /**
       * Returns the argument decremented by one, throwing an exception 
if the
       * result overflows a {@code long}.
+     * The overflow only occurs for {@linkplain Long#MIN_VALUE the 
minimum value}.
       *
       * @param a the value to decrement
       * @return the result
@@ -1024,6 +1028,7 @@
      /**
       * Returns the negation of the argument, throwing an exception if the
       * result overflows an {@code int}.
+     * The overflow only occurs for {@linkplain Integer#MIN_VALUE the 
minimum value}.
       *
       * @param a the value to negate
       * @return the result
@@ -1042,6 +1047,7 @@
      /**
       * Returns the negation of the argument, throwing an exception if the
       * result overflows a {@code long}.
+     * The overflow only occurs for {@linkplain Long#MIN_VALUE the 
minimum value}.
       *
       * @param a the value to negate
       * @return the result
--- old/src/java.base/share/classes/java/lang/StrictMath.java 2019-08-28 
09:31:35.996999999 -0700
+++ new/src/java.base/share/classes/java/lang/StrictMath.java 2019-08-28 
09:31:35.856999999 -0700
@@ -837,6 +837,7 @@
      /**
       * Returns the argument incremented by one,
       * throwing an exception if the result overflows an {@code int}.
+     * The overflow only occurs for {@linkplain Integer#MAX_VALUE the 
maximum value}.
       *
       * @param a the value to increment
       * @return the result
@@ -851,6 +852,7 @@
      /**
       * Returns the argument incremented by one,
       * throwing an exception if the result overflows a {@code long}.
+     * The overflow only occurs for {@linkplain Long#MAX_VALUE the 
maximum value}.
       *
       * @param a the value to increment
       * @return the result
@@ -865,6 +867,7 @@
      /**
       * Returns the argument decremented by one,
       * throwing an exception if the result overflows an {@code int}.
+     * The overflow only occurs for {@linkplain Integer#MIN_VALUE the 
minimum value}.
       *
       * @param a the value to decrement
       * @return the result
@@ -879,6 +882,7 @@
      /**
       * Returns the argument decremented by one,
       * throwing an exception if the result overflows a {@code long}.
+     * The overflow only occurs for {@linkplain Long#MIN_VALUE the 
minimum value}.
       *
       * @param a the value to decrement
       * @return the result
@@ -893,6 +897,7 @@
      /**
       * Returns the negation of the argument,
       * throwing an exception if the result overflows an {@code int}.
+     * The overflow only occurs for {@linkplain Integer#MIN_VALUE the 
minimum value}.
       *
       * @param a the value to negate
       * @return the result
@@ -907,6 +912,7 @@
      /**
       * Returns the negation of the argument,
       * throwing an exception if the result overflows a {@code long}.
+     * The overflow only occurs for {@linkplain Long#MIN_VALUE the 
minimum value}.
       *
       * @param a the value to negate
       * @return the result



More information about the core-libs-dev mailing list