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