summaryrefslogtreecommitdiff
path: root/src/math.js
diff options
context:
space:
mode:
authorPirate Praveen <praveen@debian.org>2017-10-09 11:57:35 +0530
committerPirate Praveen <praveen@debian.org>2017-10-09 11:57:35 +0530
commit3db5c79f87119a5b46ab63cbfa6050700a978117 (patch)
treece0bc40cb6a86a7c0e20c6c9cbde83e18b1d9c44 /src/math.js
Import Upstream version 1.9.0
Diffstat (limited to 'src/math.js')
-rw-r--r--src/math.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/math.js b/src/math.js
new file mode 100644
index 0000000..32f41fb
--- /dev/null
+++ b/src/math.js
@@ -0,0 +1,35 @@
+export var epsilon = 1e-6;
+export var epsilon2 = 1e-12;
+export var pi = Math.PI;
+export var halfPi = pi / 2;
+export var quarterPi = pi / 4;
+export var tau = pi * 2;
+
+export var degrees = 180 / pi;
+export var radians = pi / 180;
+
+export var abs = Math.abs;
+export var atan = Math.atan;
+export var atan2 = Math.atan2;
+export var cos = Math.cos;
+export var ceil = Math.ceil;
+export var exp = Math.exp;
+export var floor = Math.floor;
+export var log = Math.log;
+export var pow = Math.pow;
+export var sin = Math.sin;
+export var sign = Math.sign || function(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; };
+export var sqrt = Math.sqrt;
+export var tan = Math.tan;
+
+export function acos(x) {
+ return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);
+}
+
+export function asin(x) {
+ return x > 1 ? halfPi : x < -1 ? -halfPi : Math.asin(x);
+}
+
+export function haversin(x) {
+ return (x = sin(x / 2)) * x;
+}