UNPKG

pondjs

Version:

A timeseries library build on top of immutable.js

130 lines 2.47 kB
// 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(); }