mirror of
https://github.com/luxfi/consensus.git
synced 2026-09-24 00:26:58 +00:00
- Removed all Snow consensus code and dependencies - Replaced snow.Context with consensuscontext.Context - Updated all imports and references - Added comprehensive test suites for core packages - Fixed all build errors and test failures - Achieved 100% test pass rate (21 packages passing) - Improved test coverage to 30% Breaking changes: - Removed snow package entirely - Changed VM interface to use VMState instead of snow.State - Updated ChainContext structure Tests added: - core/app_error_test.go: 100% coverage - core/bootstrap_test.go: comprehensive concurrent tests - core/health_test.go: full integration tests - validators/validators_test.go: complete interface tests - version/version_test.go: 100% coverage - codec/codec_test.go: marshal/unmarshal tests - context/context_test.go: all functions tested
130 lines
2.4 KiB
JavaScript
130 lines
2.4 KiB
JavaScript
// Generated by LiveScript 1.6.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();
|
|
} |