1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-03 07:08:01 +00:00
Files
til/clojure/when-overflow-is-desired.md
2015-08-21 11:03:27 -05:00

475 B

When Overflow Is Desired

If you try to add two MAX_VALUE Longs, Clojure is kind enough to warn you.

> (+ Long/MAX_VALUE Long/MAX_VALUE)
ArithmeticException integer overflow  clojure.lang.Numbers.throwIntOverflow (Numbers.java:1424)

However, when overflow is desired, you can use the unchecked operators (e.g. unchecked-add).

> (unchecked-add Long/MAX_VALUE Long/MAX_VALUE)
-2

See also unchecked-subtract and unchecked-multiply.