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