Comprehensive statistics on an array of Floats
// Comprehensive statistics on an array of Floats
var data: array of Float = [10.0, 20.0, 30.0, 40.0, 50.0];
function CalculateStats(a: array of Float): JSONVariant;
begin
var sum := 0.0;
for var v in a do
sum += v;
var mean := sum / a.Length;
var varianceSum := 0.0;
for var v in a do
varianceSum += Sqr(v - mean);
var variance := varianceSum / a.Length;
Result := JSON.NewObject;
Result.Sum := sum;
Result.Mean := mean;
Result.Variance := variance;
Result.StdDev := Sqrt(variance);
end;
var stats := CalculateStats(data);
PrintLn('Data: ' + JSON.Stringify(data));
PrintLn('Sum: ' + Float(stats.Sum).ToString(2));
PrintLn('Mean: ' + Float(stats.Mean).ToString(2));
PrintLn('Variance: ' + Float(stats.Variance).ToString(2));
PrintLn('StdDev: ' + Float(stats.StdDev).ToString(2));
Data: [10,20,30,40,50] Sum: 150.00 Mean: 30.00 Variance: 200.00 StdDev: 14.14