init commit
This commit is contained in:
+141
@@ -0,0 +1,141 @@
|
||||
(ns math
|
||||
"Erlang :math module — mathematical functions.
|
||||
|
||||
In CljElixir: (math/sqrt 2), (math/pow 2 10), etc.
|
||||
All functions return floats.")
|
||||
|
||||
(defn pi
|
||||
"Returns the value of pi.
|
||||
(math/pi) ;=> 3.141592653589793"
|
||||
[])
|
||||
|
||||
(defn e
|
||||
"Returns Euler's number.
|
||||
(math/e) ;=> 2.718281828459045"
|
||||
[])
|
||||
|
||||
(defn tau
|
||||
"Returns tau (2*pi).
|
||||
(math/tau) ;=> 6.283185307179586"
|
||||
[])
|
||||
|
||||
;; --- Powers & Roots ---
|
||||
|
||||
(defn pow
|
||||
"Returns `x` raised to `y`.
|
||||
(math/pow 2 10) ;=> 1024.0"
|
||||
[x y])
|
||||
|
||||
(defn sqrt
|
||||
"Returns the square root.
|
||||
(math/sqrt 4) ;=> 2.0"
|
||||
[x])
|
||||
|
||||
(defn exp
|
||||
"Returns e^x.
|
||||
(math/exp 1) ;=> 2.718281828459045"
|
||||
[x])
|
||||
|
||||
(defn log
|
||||
"Returns the natural logarithm (base e).
|
||||
(math/log 2.718281828459045) ;=> 1.0"
|
||||
[x])
|
||||
|
||||
(defn log2
|
||||
"Returns the base-2 logarithm.
|
||||
(math/log2 1024) ;=> 10.0"
|
||||
[x])
|
||||
|
||||
(defn log10
|
||||
"Returns the base-10 logarithm.
|
||||
(math/log10 1000) ;=> 3.0"
|
||||
[x])
|
||||
|
||||
;; --- Trigonometry ---
|
||||
|
||||
(defn sin
|
||||
"Returns the sine (radians).
|
||||
(math/sin (/ (math/pi) 2)) ;=> 1.0"
|
||||
[x])
|
||||
|
||||
(defn cos
|
||||
"Returns the cosine (radians).
|
||||
(math/cos 0) ;=> 1.0"
|
||||
[x])
|
||||
|
||||
(defn tan
|
||||
"Returns the tangent (radians).
|
||||
(math/tan 0) ;=> 0.0"
|
||||
[x])
|
||||
|
||||
(defn asin
|
||||
"Returns the arcsine (radians).
|
||||
(math/asin 1) ;=> 1.5707963267948966"
|
||||
[x])
|
||||
|
||||
(defn acos
|
||||
"Returns the arccosine (radians).
|
||||
(math/acos 1) ;=> 0.0"
|
||||
[x])
|
||||
|
||||
(defn atan
|
||||
"Returns the arctangent (radians).
|
||||
(math/atan 1) ;=> 0.7853981633974483"
|
||||
[x])
|
||||
|
||||
(defn atan2
|
||||
"Returns the two-argument arctangent (radians).
|
||||
(math/atan2 1 1) ;=> 0.7853981633974483"
|
||||
[y x])
|
||||
|
||||
;; --- Hyperbolic ---
|
||||
|
||||
(defn sinh
|
||||
"Returns the hyperbolic sine."
|
||||
[x])
|
||||
|
||||
(defn cosh
|
||||
"Returns the hyperbolic cosine."
|
||||
[x])
|
||||
|
||||
(defn tanh
|
||||
"Returns the hyperbolic tangent."
|
||||
[x])
|
||||
|
||||
(defn asinh
|
||||
"Returns the inverse hyperbolic sine."
|
||||
[x])
|
||||
|
||||
(defn acosh
|
||||
"Returns the inverse hyperbolic cosine."
|
||||
[x])
|
||||
|
||||
(defn atanh
|
||||
"Returns the inverse hyperbolic tangent."
|
||||
[x])
|
||||
|
||||
;; --- Rounding ---
|
||||
|
||||
(defn ceil
|
||||
"Returns the smallest integer >= x (as float).
|
||||
(math/ceil 3.2) ;=> 4.0"
|
||||
[x])
|
||||
|
||||
(defn floor
|
||||
"Returns the largest integer <= x (as float).
|
||||
(math/floor 3.8) ;=> 3.0"
|
||||
[x])
|
||||
|
||||
(defn fmod
|
||||
"Returns the floating-point remainder of x/y.
|
||||
(math/fmod 10.0 3.0) ;=> 1.0"
|
||||
[x y])
|
||||
|
||||
(defn erf
|
||||
"Returns the error function.
|
||||
(math/erf 1) ;=> 0.8427007929497149"
|
||||
[x])
|
||||
|
||||
(defn erfc
|
||||
"Returns the complementary error function."
|
||||
[x])
|
||||
Reference in New Issue
Block a user