Example #1
0
        /// <summary> The sum of a sequence of int. </summary>
        public static int Sum(this SpanEnumerable <int> spanEnum)
        {
            var vector = spanEnum.VectorSum();
            var accum  = vector[0];

            for (var i = 1; i < Vector <int> .Count; ++i)
            {
                accum += vector[i];
            }

            return(accum);
        }
Example #2
0
        /// <summary> The sum of a sequence of float. </summary>
        public static float Sum <TIn, TProducer>(
            this SpanEnumerable <TIn, float, TProducer> spanEnum)
            where TProducer : struct, IProducer <TIn, float>
        {
            var vector = spanEnum.VectorSum();
            var accum  = vector[0];

            for (var i = 1; i < Vector <float> .Count; ++i)
            {
                accum += vector[i];
            }

            return(accum);
        }
Example #3
0
        /// <summary> The sum of a sequence of double. </summary>
        public static double Sum <TProducer>(
            this SpanEnumerable <double, TProducer> spanEnum)
            where TProducer : struct, IProducer <double>
        {
            var vector = spanEnum.VectorSum();
            var accum  = vector[0];

            for (var i = 1; i < Vector <double> .Count; ++i)
            {
                accum += vector[i];
            }

            return(accum);
        }