mirror of
https://github.com/carp-lang/Carp.git
synced 2024-09-11 05:25:28 +03:00
53 lines
1.6 KiB
Plaintext
53 lines
1.6 KiB
Plaintext
(defmodule Double
|
|
(def π 3.1415926536)
|
|
(def e 2.7182818285)
|
|
(register = (Fn [Double Double] Bool))
|
|
(register < (Fn [Double Double] Bool))
|
|
(register > (Fn [Double Double] Bool))
|
|
(register + (Fn [Double Double] Double))
|
|
(register - (Fn [Double Double] Double))
|
|
(register * (Fn [Double Double] Double))
|
|
(register / (Fn [Double Double] Double))
|
|
(register to-int (Fn [Double] Int))
|
|
(register from-int (Fn [Int] Double))
|
|
(register sin (Fn [Double] Double))
|
|
(register cos (Fn [Double] Double))
|
|
(register tan (Fn [Double] Double))
|
|
(register acos (Fn [Double] Double))
|
|
(register asin (Fn [Double] Double))
|
|
(register atan (Fn [Double] Double))
|
|
(register atan2 (Fn [Double Double] Double))
|
|
(register cosh (Fn [Double] Double))
|
|
(register sinh (Fn [Double] Double))
|
|
(register tanh (Fn [Double] Double))
|
|
(register exp (Fn [Double] Double))
|
|
(register frexp (Fn [Double (Ref Int)] Double))
|
|
(register ldexp (Fn [Double Int] Double))
|
|
(register log (Fn [Double] Double))
|
|
(register log10 (Fn [Double] Double))
|
|
(register modf (Fn [Double (Ref Double)] Double))
|
|
(register pow (Fn [Double Double] Double))
|
|
(register sqrt (Fn [Double] Double))
|
|
(register str (Fn [Double] String))
|
|
(register floor (Fn [Double] Double))
|
|
(register ceil (Fn [Double] Double))
|
|
(register mod (Fn [Double Double] Double))
|
|
(register copy (Fn [(Ref Double)] Double))
|
|
(register abs (Fn [Double] Double))
|
|
|
|
(defn clamp [min, max, val]
|
|
(if (> val max)
|
|
max
|
|
(if (< val min)
|
|
min
|
|
val)))
|
|
|
|
(defn approx [x y]
|
|
(if (> x y)
|
|
(< (- x y) 0.00001)
|
|
(< (- y x) 0.00001)))
|
|
|
|
(defn /= [x y]
|
|
(not (= x y)))
|
|
)
|