示例#1
0
        public static M Average <M, R>(this IVectorspace <M, R> v, IEnumerable <M> source)
        {
            var baseField = v.BaseField;
            var sum       = v.Zero();
            var count     = 0;

            foreach (var value in source)
            {
                sum = v.Add(sum, value);
                count++;
            }
            var embeddedCount = baseField.EmbedFrom(count);
            var scalar        = baseField.Inverse(embeddedCount);

            return(v.ScalarMult(scalar, sum));
        }
示例#2
0
 public static M Average <M, R>(this IVectorspace <M, R> v, params M[] source)
 {
     return(v.Average(source.ToList()));
 }