Back
PI (clj)
(source)variable
Constant for pi, the ratio of the circumference of a circle to its diameter.
See: https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html#PI
Examples
clojure
(ns clojure.test-clojure.math
(:require
[clojure.test :refer :all]
[clojure.math :as m]))
(deftest test-sin
(is (NaN? (m/sin ##NaN)))
(is (NaN? (m/sin ##-Inf)))
(is (NaN? (m/sin ##Inf)))
(is (pos-zero? (m/sin 0.0)))
(is (neg-zero? (m/sin -0.0)))
(is (ulp= (m/sin m/PI) (- (m/sin (- m/PI))) 1)))
(deftest test-cos
(is (NaN? (m/cos ##NaN)))
(is (NaN? (m/cos ##-Inf)))
(is (NaN? (m/cos ##Inf)))
(is (= 1.0 (m/cos 0.0) (m/cos -0.0)))
(is (ulp= (m/cos m/PI) (m/cos (- m/PI)) 1)))
(deftest test-tan
(is (NaN? (m/tan ##NaN)))
(is (NaN? (m/tan ##-Inf)))
(is (NaN? (m/tan ##Inf)))
(is (pos-zero? (m/tan 0.0)))
(is (neg-zero? (m/tan -0.0)))
(is (ulp= (- (m/tan m/PI)) (m/tan (- m/PI)) 1)))
(deftest test-acos
(is (NaN? (m/acos ##NaN)))
(is (NaN? (m/acos -2.0)))
(is (NaN? (m/acos 2.0)))
(is (ulp= (* 2 (m/acos 0.0)) m/PI 1)))
(deftest test-ceil
(is (NaN? (m/ceil ##NaN)))
(is (= ##Inf (m/ceil ##Inf)))
(is (= ##-Inf (m/ceil ##-Inf)))
(is (= 4.0 (m/ceil m/PI))))
(deftest test-floor
(is (NaN? (m/floor ##NaN)))
(is (= ##Inf (m/floor ##Inf)))
(is (= ##-Inf (m/floor ##-Inf)))
(is (= 3.0 (m/floor m/PI))))
(deftest test-atan2
(is (NaN? (m/atan2 ##NaN 1.0)))
(is (NaN? (m/atan2 1.0 ##NaN)))
(is (pos-zero? (m/atan2 0.0 1.0)))
(is (neg-zero? (m/atan2 -0.0 1.0)))
(is (ulp= (m/atan2 0.0 -1.0) m/PI 2))
(is (ulp= (m/atan2 -0.0 -1.0) (- m/PI) 2))
(is (ulp= (* 2.0 (m/atan2 1.0 0.0)) m/PI 2))
(is (ulp= (* -2.0 (m/atan2 -1.0 0.0)) m/PI 2))
(is (ulp= (* 4.0 (m/atan2 ##Inf ##Inf)) m/PI 2))
(is (ulp= (/ (* 4.0 (m/atan2 ##Inf ##-Inf)) 3.0) m/PI 2))
(is (ulp= (* -4.0 (m/atan2 ##-Inf ##Inf)) m/PI 2))
(is (ulp= (/ (* -4.0 (m/atan2 ##-Inf ##-Inf)) 3.0) m/PI 2)))