StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics
https://doi.org/10.1109/TVCG.2020.3030352
25 lines
441 B
25 lines
441 B
4 years ago
|
module.exports = normalize
|
||
|
|
||
|
/**
|
||
|
* Normalize a vec4
|
||
|
*
|
||
|
* @param {vec4} out the receiving vector
|
||
|
* @param {vec4} a vector to normalize
|
||
|
* @returns {vec4} out
|
||
|
*/
|
||
|
function normalize (out, a) {
|
||
|
var x = a[0],
|
||
|
y = a[1],
|
||
|
z = a[2],
|
||
|
w = a[3]
|
||
|
var len = x * x + y * y + z * z + w * w
|
||
|
if (len > 0) {
|
||
|
len = 1 / Math.sqrt(len)
|
||
|
out[0] = x * len
|
||
|
out[1] = y * len
|
||
|
out[2] = z * len
|
||
|
out[3] = w * len
|
||
|
}
|
||
|
return out
|
||
|
}
|