1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-03 07:08:01 +00:00

Add When Overflow Is Desired as a clojure til.

This commit is contained in:
jbranchaud
2015-08-21 11:03:27 -05:00
parent 7410aba592
commit 527713541a
2 changed files with 19 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
# When Overflow Is Desired
If you try to add two `MAX_VALUE` Longs, Clojure is kind enough to warn you.
```clojure
> (+ 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`).
```clojure
> (unchecked-add Long/MAX_VALUE Long/MAX_VALUE)
-2
```
See also `unchecked-subtract` and `unchecked-multiply`.