typeops.core

*

(*)(* x)(* x y)(* x y & more)
Returns the product of nums. (multiply) returns 1.

*debug*

dynamic

When set to true (not just truthy) any exception thrown
for assoc or merge operations that cause type violations
will carry the data {:map map :key key :val val :cur cur}

*rounding*

dynamic

The rounding mode applied when decimal accuracy is lost. Defaults
to BigDecimal/ROUND_HALF_UP

+

(+)(+ x)(+ x y)(+ x y & more)
Returns the sum of nums. (+) returns 0.

-

(- x)(- x y)(- x y & more)
If no ys are supplied, returns the negation of x, else subtracts
the ys from x and returns the result.

/

(/ x)(/ x y)(/ x y & more)
If no denominators are supplied, returns 1/numerator,
else returns numerator divided by all of the denominators.

init-global!

(init-global!)
Alter the root bindings of vars  +, -, * and / to use typeops
arithmetic operations globally

reset-global!

(reset-global!)
Reset the root bindings of vars  +, -, * and / to use
clojure.core arithmetic operations globally