public static Normalization BuildNormalization(NeuralTyresEntry[] tyres, string key, double valuePadding, out double[] normalizedValues, double minValue, double maxValue) { var result = new Normalization(); normalizedValues = new double[tyres.Length]; for (var i = normalizedValues.Length - 1; i >= 0; i--) { var value = GetValue(tyres[i], key); normalizedValues[i] = value; result.Extend(value); } result.Seal(valuePadding, minValue, maxValue); for (var i = normalizedValues.Length - 1; i >= 0; i--) { normalizedValues[i] = result.Normalize(normalizedValues[i]); } return(result); }