max calculator

by alexbfree

JavaScript

function calculate_absolute_axis_limit(range, top) {
  let sign = (top<0) ? -1: 1;
  top = Math.abs(top);
  if (top>=5000) {
    return 10000 * sign;
  } else if (top >= 1000) {
    let possible_ends = [2000,3000,4000,5000]; // take the smallest of these that exceeds top.
    let valid_ends = possible_ends.filter(end => end>=top);
    return valid_ends[0] * sign;
  } else if (top >500) {
    return 1000 * sign;
  } else if (top >=100) {
    let possible_ends = [200,300,400,500]; // take the smallest of these that exceeds top.
    let valid_ends = possible_ends.filter(end => end>=top);
    return valid_ends[0] * sign;
  } else if (top >50) {
    return 100 * sign;
  } else if (top >=10) {
    let possible_ends = [20,30,40,50]; // take the smallest of these that exceeds top.
    let valid_ends = possible_ends.filter(end => end>=top);
    return valid_ends[0] * sign;
  } else if (top >5) {
    return 10 * sign;
  } else if (top >=1) {
    let possible_ends = [2,3,4,5]; // take the smallest of these that exceeds top.
    let valid_ends = possible_ends.filter(end => end>=top);
    return valid_ends[0] * sign;
  } else if (top >0) {
    return sign;
  } else {
    return 0;
 ...