"Backstop" implementations that apply to anything that descends from ::v/real.
Operations which allow promotion to complex numbers when their arguments would otherwise result in a NaN if computed on the real line
Specialized methods provided by the host platforms.
We don't yet suport quotient, remainder with floating point, but there are a few cases where it does make sense. When two numbers are identical up to sign, it's fine to say that they divide evenly (and return 1 or -1). If that happens, we can return a 0 remainder.
All JVM and JS types that respond to ::native-integral behave correctly with Clojure's native quot
, rem
, mod
.
This section defines methods that act differently between ClojureScript and Clojure. The clojure methods are all slightly more refined based on Java's type system.
ClojureScript and Javascript have a number of numeric types available that don't respond true to number? These each require their own block of method implementations.