Averages/Pythagorean means: Difference between revisions

Content added Content deleted
(→‎{{header|VBA}}: Excel has also built-in average and geometric mean)
Line 3,316: Line 3,316:
3.41417152147406
3.41417152147406
</pre>
</pre>

=={{header|Visual Basic .NET}}==
{{trans|C#}}
<lang vbnet>Imports System.Runtime.CompilerServices

Module Module1

<Extension()>
Function Gmean(n As IEnumerable(Of Double)) As Double
Return Math.Pow(n.Aggregate(Function(s, i) s * i), 1.0 / n.Count())
End Function

<Extension()>
Function Hmean(n As IEnumerable(Of Double)) As Double
Return n.Count() / n.Sum(Function(i) 1.0 / i)
End Function

Sub Main()
Dim nums = From n In Enumerable.Range(1, 10) Select CDbl(n)

Dim a = nums.Average()
Dim g = nums.Gmean()
Dim h = nums.Hmean()

Console.WriteLine("Arithmetic mean {0}", a)
Console.WriteLine(" Geometric mean {0}", g)
Console.WriteLine(" Harmonic mean {0}", h)
Debug.Assert(a >= g AndAlso g >= h)
End Sub

End Module</lang>
{{out}}
<pre>Arithmetic mean 5.5
Geometric mean 4.52872868811677
Harmonic mean 3.41417152147406</pre>


=={{header|XPL0}}==
=={{header|XPL0}}==