Show More
Commit Description:
change logger to be limited by file size
Commit Description:
change logger to be limited by file size
References:
File last commit:
Show/Diff file:
Action:
node_modules/prelude-ls/lib/Num.js
| 129 lines
| 2.4 KiB
| application/javascript
| JavascriptLexer
|
r789 | // 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(); | |||
} |