user=> (- Integer/MAX_VALUE Integer/MIN_VALUE)
java.lang.ArithmeticException: integer overflow (NO_SOURCE_FILE:0)
user=> (- Long/MAX_VALUE Long/MIN_VALUE)
java.lang.ArithmeticException: integer overflow (NO_SOURCE_FILE:0)
Is this behavior correct?
Frantisek
On Jan 10, 5:25 am, Chouser wrote:
On Thu, Jan 8, 2009 at 2:07 PM, Achim Passen wrote:
>
> Hi all!
>
> I encountered some corner cases where overflow checking for "-"
> doesn't work as I would expect:
>
> user=> (- Integer/MAX_VALUE Integer/MIN_VALUE)
> -1
> user=> (- Long/MAX_VALUE Long/MIN_VALUE)
> -1
>
> The problem seems to be
Hi all!
I encountered some corner cases where overflow checking for "-"
doesn't work as I would expect:
user=> (- Integer/MAX_VALUE Integer/MIN_VALUE)
-1
user=> (- Long/MAX_VALUE Long/MIN_VALUE)
-1
The problem seems to be that negating MIN_VALUE yields MIN_VALUE
again, so it slips through t