mirror of
https://github.com/fooflington/selfdefined.git
synced 2025-06-12 13:41:40 +00:00
update
This commit is contained in:
130
node_modules/prelude-ls/lib/Num.js
generated
vendored
Normal file
130
node_modules/prelude-ls/lib/Num.js
generated
vendored
Normal file
@ -0,0 +1,130 @@
|
||||
// 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();
|
||||
}
|
Reference in New Issue
Block a user