aboutsummaryrefslogtreecommitdiff
path: root/node_modules/prelude-ls/lib/Num.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-05-03 15:35:00 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-05-03 15:35:00 +0200
commitde98e0b232509d5f40c135d540a70e415272ff85 (patch)
treea79222a5b58484ab3b80d18efcaaa7ccc4769b33 /node_modules/prelude-ls/lib/Num.js
parente0c9d480a73fa629c1e4a47d3e721f1d2d345406 (diff)
node_modules
Diffstat (limited to 'node_modules/prelude-ls/lib/Num.js')
-rw-r--r--node_modules/prelude-ls/lib/Num.js130
1 files changed, 130 insertions, 0 deletions
diff --git a/node_modules/prelude-ls/lib/Num.js b/node_modules/prelude-ls/lib/Num.js
new file mode 100644
index 000000000..0e25be7b3
--- /dev/null
+++ b/node_modules/prelude-ls/lib/Num.js
@@ -0,0 +1,130 @@
+// Generated by LiveScript 1.4.0
+var max, min, negate, abs, signum, quot, rem, div, mod, recip, pi, tau, exp, sqrt, ln, pow, sin, tan, cos, asin, acos, atan, atan2, truncate, round, ceiling, floor, isItNaN, even, odd, gcd, lcm;
+max = curry$(function(x$, y$){
+ return x$ > y$ ? x$ : y$;
+});
+min = curry$(function(x$, y$){
+ return x$ < y$ ? x$ : y$;
+});
+negate = function(x){
+ return -x;
+};
+abs = Math.abs;
+signum = function(x){
+ if (x < 0) {
+ return -1;
+ } else if (x > 0) {
+ return 1;
+ } else {
+ return 0;
+ }
+};
+quot = curry$(function(x, y){
+ return ~~(x / y);
+});
+rem = curry$(function(x$, y$){
+ return x$ % y$;
+});
+div = curry$(function(x, y){
+ return Math.floor(x / y);
+});
+mod = curry$(function(x$, y$){
+ var ref$;
+ return (((x$) % (ref$ = y$) + ref$) % ref$);
+});
+recip = (function(it){
+ return 1 / it;
+});
+pi = Math.PI;
+tau = pi * 2;
+exp = Math.exp;
+sqrt = Math.sqrt;
+ln = Math.log;
+pow = curry$(function(x$, y$){
+ return Math.pow(x$, y$);
+});
+sin = Math.sin;
+tan = Math.tan;
+cos = Math.cos;
+asin = Math.asin;
+acos = Math.acos;
+atan = Math.atan;
+atan2 = curry$(function(x, y){
+ return Math.atan2(x, y);
+});
+truncate = function(x){
+ return ~~x;
+};
+round = Math.round;
+ceiling = Math.ceil;
+floor = Math.floor;
+isItNaN = function(x){
+ return x !== x;
+};
+even = function(x){
+ return x % 2 === 0;
+};
+odd = function(x){
+ return x % 2 !== 0;
+};
+gcd = curry$(function(x, y){
+ var z;
+ x = Math.abs(x);
+ y = Math.abs(y);
+ while (y !== 0) {
+ z = x % y;
+ x = y;
+ y = z;
+ }
+ return x;
+});
+lcm = curry$(function(x, y){
+ return Math.abs(Math.floor(x / gcd(x, y) * y));
+});
+module.exports = {
+ max: max,
+ min: min,
+ negate: negate,
+ abs: abs,
+ signum: signum,
+ quot: quot,
+ rem: rem,
+ div: div,
+ mod: mod,
+ recip: recip,
+ pi: pi,
+ tau: tau,
+ exp: exp,
+ sqrt: sqrt,
+ ln: ln,
+ pow: pow,
+ sin: sin,
+ tan: tan,
+ cos: cos,
+ acos: acos,
+ asin: asin,
+ atan: atan,
+ atan2: atan2,
+ truncate: truncate,
+ round: round,
+ ceiling: ceiling,
+ floor: floor,
+ isItNaN: isItNaN,
+ even: even,
+ odd: odd,
+ gcd: gcd,
+ lcm: lcm
+};
+function curry$(f, bound){
+ var context,
+ _curry = function(args) {
+ return f.length > 1 ? function(){
+ var params = args ? args.concat() : [];
+ context = bound ? context || this : this;
+ return params.push.apply(params, arguments) <
+ f.length && arguments.length ?
+ _curry.call(context, params) : f.apply(context, params);
+ } : f;
+ };
+ return _curry();
+} \ No newline at end of file