| // 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(); |
| } |