StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics https://doi.org/10.1109/TVCG.2020.3030352
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
StackGenVis/frontend/node_modules/mumath/normalize.js

35 lines
765 B

/**
* Get rid of float remainder
*
* @module mumath/normalize
*/
'use strict';
var almost = require('almost-equal');
module.exports = function(value, eps) {
//ignore ints
var rem = value%1;
if (!rem) return value;
if (eps == null) eps = Number.EPSILON || almost.FLT_EPSILON;
//pick number’s neighbour, which is way shorter, like 0.4999999999999998 → 0.5
//O(20)
var range = 5;
var len = (rem+'').length;
for (var i = 1; i < range; i+=.5) {
var left = rem - eps*i,
right = rem + eps*i;
var leftStr = left+'', rightStr = right + '';
if (len - leftStr.length > 2) return value - eps*i;
if (len - rightStr.length > 2) return value + eps*i;
// if (leftStr[2] != rightStr[2])
}
return value;
};