Calculate XEN Max Term
by jarosciak
HTML
<HTML>
<head>
<title>Calculate XEN Max Term</title>
<script>
const MAX_TERM_START = 8640000, TERM_AMPLIFIER_THRESHOLD = 5000, TERM_AMPLIFIER = 15, SECONDS_IN_DAY = 86400, MAX_TERM_END = 8640000000;
window.addEventListener("load", _calculateMaxTerm);
// Function to calculate max term
function _calculateMaxTerm(globalRank) {
let maxTerm;
if (globalRank > TERM_AMPLIFIER_THRESHOLD) {
let delta = Math.log2(globalRank) * TERM_AMPLIFIER;
let newMax = MAX_TERM_START + delta * SECONDS_IN_DAY;
maxTerm = Math.floor(Math.min(newMax, MAX_TERM_END) / SECONDS_IN_DAY);
} else {
maxTerm = Math.floor(MAX_TERM_START / SECONDS_IN_DAY);
}
return maxTerm;
}
function numberWithCommas(x) {
var parts = x.toString().split(".");
parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
return parts.join(".");
}
function abbreviateNumber(num,digits) {
let units = [' Thousand', ' Million', ' Billion', ' Trillion', ' Quadrillion', ' Quintillion', ' Sextillion', ' Yotta'];
let floor = Math.floor(Math.abs(num).toString().length / 3);
let value=+(num / Math.pow(1000, floor))
return value.toFixed(value > 1?digits:2) + units[floor - 1];
}
</script>
</head>
<body>
<h1>Calculate XEN Max Term</h1>
<div>
<label>Global Rank:</label><br>
<input type="range" min="0" max="10000000000000" step="1000" id="globalRankInput" value="5000">
<input type="number" value="5000" min="0" max="10000000000000" step="1000" id="globalRankNumberInput">
</div>
<div>
<label>Max Term:</label>
<output id="maxTermOutput"></output>
</div>
<script>
let globalRankInput = document.getElementById("globalRankInput");
let globalRankNumberInput = document.getElementById("globalRankNumberInput");
// Update value in input box when slider is moved
globalRankInput.addEventListener("input", function() {
globalRankNumberInput.value = globalRankInput.value;
});
globalRankNumberInput.addEventListener("input",...