Statistical functions: Standard Deviation

image_pdfimage_print
   
 
#region Disclaimer/Info

///////////////////////////////////////////////////////////////////////////////////////////////////
// Subtext WebLog
// 
// Subtext is an open source weblog system that is a fork of the .TEXT
// weblog system.
//
// For updated news and information please visit http://subtextproject.com/
// Subtext is hosted at Google Code at http://code.google.com/p/subtext/
// The development mailing list is at subtext@googlegroups.com 
//
// This project is licensed under the BSD license.  See the License.txt file for more information.
///////////////////////////////////////////////////////////////////////////////////////////////////
// This class adapted from Rama Krishna Vavilala's Tag Cloud control article on 
// Code Project: http://www.codeproject.com/useritems/cloud.asp

#endregion

using System;
using System.Collections.Generic;
using System.Globalization;

namespace Subtext.Framework.Util
{
    /// <summary>
    /// Statistical functions
    /// </summary>
    public static class Statistics
    {

        public static double StandardDeviation<TValue>(this IEnumerable<TValue> values, out double mean)
        {
            var converted = new List<double>();
            foreach(TValue value in values)
            {
                converted.Add(Convert.ToDouble(value, CultureInfo.InvariantCulture));
            }
            return StandardDeviation(converted, out mean);
        }
    }
}