Math functions that deal intelligently with the various types in Clojure's numeric tower, as well as math functions commonly found in Scheme implementations.
(expt x y) - x to the yth power
(abs n) - absolute value of n
(gcd m n) - greatest common divisor of m and n
(floor x) - round down
(ceil x) - round up
(round x) - round to nearest
(sqrt x) - square root, exact if possible
(exact-integer-sqrt k) returns floor of square root and the "remainder"
More documentation in docstrings.
Latest stable release: 0.0.2
Leiningen dependency information:
Maven dependency information:
<dependency> <groupId>org.clojure</groupId> <artifactId>math.numeric-tower</artifactId> <version>0.0.2</version> </dependency>
(ns example.core (:require [clojure.math.numeric-tower :as math])) (defn- sqr "Uses the numeric tower expt to square a number" [x] (math/expt x 2)) (defn euclidean-squared-distance "Computes the Euclidean squared distance between two sequences" [a b] (reduce + (map (comp sqr -) a b))) (defn euclidean-distance "Computes the Euclidean distance between two sequences" [a b] (math/sqrt (euclidean-squared-distance a b))) (let [a [1 2 3 5 8 13 21] b [0 2 4 6 8 10 12] (euclidean-distance a b)) ;;=> 9.643650760992955
Refer to docstrings in the
clojure.math.numeric-tower namespace for
Release 0.0.2 on 2012-11-23
- Added type hints to remove some reflective calls.
Release 0.0.1 on 2011-10-15
- Initial release.
- Source-compatible with clojure.contrib.math, except for the name change.
Distributed under the Eclipse Public License, the same as Clojure.