PowerShell Standard Deviation

I recently needed a good way of picking from a list of volumes, free space and directory count where factors. I would almost expect that computing standard deviation and variance for a set of numbers would be built in to System.Math but in their absence, this is what I've come up with:

function Compute-StandardDeviation {
    param (
        $set,
        [switch]$sampleSet
    )
    $variance = Compute-Variance $set -sampleSet:$sampleSet
    [Math]::Sqrt($variance)
}

function Compute-Variance {
    param (
        $set,
        [switch]$sampleSet
    )
    [double]$sum = 0
    [double]$div = 0
    $set | ? { $_ -match '^[\d.]+$' } | % { [double]$i = [double]$; $sum += $i; $div++ }
    if ($sampleSet) { $div-- }
    $mean = ($sum)/$div

    ($set | % { [Math]::Pow($($
- $mean),2) } | measure -Average).Average
}

I have found some implementations that have proven to be buggy. This may not be the most optimized code but it works.