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

}