| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
 | | // Generated by LiveScript 1.6.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(); |  | } | 
 |