Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80690 views
1
// Generated by LiveScript 1.4.0
2
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;
3
max = curry$(function(x$, y$){
4
return x$ > y$ ? x$ : y$;
5
});
6
min = curry$(function(x$, y$){
7
return x$ < y$ ? x$ : y$;
8
});
9
negate = function(x){
10
return -x;
11
};
12
abs = Math.abs;
13
signum = function(x){
14
if (x < 0) {
15
return -1;
16
} else if (x > 0) {
17
return 1;
18
} else {
19
return 0;
20
}
21
};
22
quot = curry$(function(x, y){
23
return ~~(x / y);
24
});
25
rem = curry$(function(x$, y$){
26
return x$ % y$;
27
});
28
div = curry$(function(x, y){
29
return Math.floor(x / y);
30
});
31
mod = curry$(function(x$, y$){
32
var ref$;
33
return (((x$) % (ref$ = y$) + ref$) % ref$);
34
});
35
recip = (function(it){
36
return 1 / it;
37
});
38
pi = Math.PI;
39
tau = pi * 2;
40
exp = Math.exp;
41
sqrt = Math.sqrt;
42
ln = Math.log;
43
pow = curry$(function(x$, y$){
44
return Math.pow(x$, y$);
45
});
46
sin = Math.sin;
47
tan = Math.tan;
48
cos = Math.cos;
49
asin = Math.asin;
50
acos = Math.acos;
51
atan = Math.atan;
52
atan2 = curry$(function(x, y){
53
return Math.atan2(x, y);
54
});
55
truncate = function(x){
56
return ~~x;
57
};
58
round = Math.round;
59
ceiling = Math.ceil;
60
floor = Math.floor;
61
isItNaN = function(x){
62
return x !== x;
63
};
64
even = function(x){
65
return x % 2 === 0;
66
};
67
odd = function(x){
68
return x % 2 !== 0;
69
};
70
gcd = curry$(function(x, y){
71
var z;
72
x = Math.abs(x);
73
y = Math.abs(y);
74
while (y !== 0) {
75
z = x % y;
76
x = y;
77
y = z;
78
}
79
return x;
80
});
81
lcm = curry$(function(x, y){
82
return Math.abs(Math.floor(x / gcd(x, y) * y));
83
});
84
module.exports = {
85
max: max,
86
min: min,
87
negate: negate,
88
abs: abs,
89
signum: signum,
90
quot: quot,
91
rem: rem,
92
div: div,
93
mod: mod,
94
recip: recip,
95
pi: pi,
96
tau: tau,
97
exp: exp,
98
sqrt: sqrt,
99
ln: ln,
100
pow: pow,
101
sin: sin,
102
tan: tan,
103
cos: cos,
104
acos: acos,
105
asin: asin,
106
atan: atan,
107
atan2: atan2,
108
truncate: truncate,
109
round: round,
110
ceiling: ceiling,
111
floor: floor,
112
isItNaN: isItNaN,
113
even: even,
114
odd: odd,
115
gcd: gcd,
116
lcm: lcm
117
};
118
function curry$(f, bound){
119
var context,
120
_curry = function(args) {
121
return f.length > 1 ? function(){
122
var params = args ? args.concat() : [];
123
context = bound ? context || this : this;
124
return params.push.apply(params, arguments) <
125
f.length && arguments.length ?
126
_curry.call(context, params) : f.apply(context, params);
127
} : f;
128
};
129
return _curry();
130
}
131