当前位置: 首页>>代码示例>>C#>>正文


C# IReadOnlyList.Sum方法代码示例

本文整理汇总了C#中IReadOnlyList.Sum方法的典型用法代码示例。如果您正苦于以下问题:C# IReadOnlyList.Sum方法的具体用法?C# IReadOnlyList.Sum怎么用?C# IReadOnlyList.Sum使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IReadOnlyList的用法示例。


在下文中一共展示了IReadOnlyList.Sum方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ReassembleChunksAndDispatch

      private void ReassembleChunksAndDispatch(IReadOnlyList<MultiPartChunkDto> chunks) {
//         Console.WriteLine(chunks.First().MultiPartMessageId.ToString("n").Substring(0, 6) + " Got to reassemble!");
         RemoveAssemblerFromCache(chunks.First().MultiPartMessageId);

         var payloadLength = chunks.Sum(c => c.BodyLength);
         var payloadBytes = new byte[payloadLength];
         for (int i = 0, offset = 0; i < chunks.Count; i++) {
            var chunk = chunks[i];
            Buffer.BlockCopy(chunk.Body, 0, payloadBytes, offset, chunk.BodyLength);
            offset += chunk.BodyLength;
         }

         var e = inboundDataEventPool.TakeObject();
         e.Data = payloadBytes;
         e.DataOffset = 0;
         e.DataLength = payloadLength;

//         Console.WriteLine(chunks.First().MultiPartMessageId.ToString("n").Substring(0, 6) + " Dispatching to HIDE!");
         dispatcher.HandleInboundDataEvent(
            e,
            _ => {
               e.Data = null;
               inboundDataEventPool.ReturnObject(e);
            });
      }
开发者ID:the-dargon-project,项目名称:courier,代码行数:25,代码来源:MultiPartPacketReassembler.cs

示例2: ConcatenateChunksOfSamples

        private float[] ConcatenateChunksOfSamples(IReadOnlyList<float[]> chunks)
        {
            if (chunks.Count == 1)
            {
                return chunks[0];
            }

            float[] samples = new float[chunks.Sum(a => a.Length)];
            int startAt = 0;
            foreach (float[] chunk in chunks)
            {
                Buffer.BlockCopy(chunk, 0, samples, startAt * sizeof(float), chunk.Length * sizeof(float));
                startAt += chunk.Length;
            }

            return samples;
        }
开发者ID:AddictedCS,项目名称:soundfingerprinting,代码行数:17,代码来源:SamplesAggregator.cs

示例3: ConcatenateChunksOfSamples

        private float[] ConcatenateChunksOfSamples(IReadOnlyList<float[]> chunks)
        {
            if (chunks.Count == 1)
            {
                return chunks[0];
            }

            float[] samples = new float[chunks.Sum(a => a.Length)];
            int index = 0;
            foreach (float[] chunk in chunks)
            {
                Array.Copy(chunk, 0, samples, index, chunk.Length);
                index += chunk.Length;
            }

            return samples;
        }
开发者ID:gaborp,项目名称:soundfingerprinting,代码行数:17,代码来源:SamplesAggregator.cs

示例4: CopyData

        private static Point2[] CopyData(IReadOnlyList<Vector2> outer, IReadOnlyList<IReadOnlyList<Vector2>> holes)
        {
            var points = new Point2[outer.Count + holes.Sum(h => h.Count)];
            var index = 0;

            //Copy points backwards (because CGAL wants them counter-clowise, but we supply them clockwise)
            for (var i = outer.Count - 1; i >= 0; i--)
                points[index++] = new Point2(outer[i].X, outer[i].Y);

            //Points are copied forward here, because holes are supplied to us clockwise wound and CGAL wants them clockwise
            foreach (var hole in holes)
            {
                for (var j = 0; j < hole.Count; j++)
                    points[index++] = new Point2(hole[j].X, hole[j].Y);
            }
            return points;
        }
开发者ID:martindevans,项目名称:CGAL_StraightSkeleton_Wrapper,代码行数:17,代码来源:StraightSkeleton.cs

示例5: RunningVarianceIncDec

        /// <summary>
        /// Calculates incremental and decremental running variance.
        /// </summary>
        /// <param name="samples">Sample data.</param>
        /// <param name="onCalculated">
        /// Action callback which fires on each element addition-removal. 
        /// <para>Parameters are: (index, incremental (average, incremental variance, decremental average, decremental variance).</para>
        /// </param>
        /// <param name="weights">Sample weights.</param>
        /// <param name="returnSSE">True to return unnormalized variance (SSE). False to return variance instead.</param>
        public static void RunningVarianceIncDec(this IReadOnlyList<double[]> samples, Action<int, double[], double, double[], double> onCalculated, IReadOnlyList<double> weights, bool returnSSE = false)
        {
            //weights = weights.Select(x => x * 1000).ToArray();

            int sampleDim = samples.First().Length;

            double sumWeightInc = 0;
            double[] meanInc = new double[sampleDim];
            double M2_Inc = 0;
       
            double sumWeightDec = weights.Sum();
            double[] meanDec = samples.Average(weights);
            double M2_Dec = samples.Variance(weights).Multiply(sumWeightDec).Sum();

            for (int i = 0; i < samples.Count; i++)
            {
                var varInc = UpdateVarianceSumIncremental(ref M2_Inc, ref sumWeightInc, ref meanInc, samples[i], weights[i]);
                var varDec = UpdateVarianceSumDecremental(ref M2_Dec, ref sumWeightDec, ref meanDec, samples[i], weights[i]);

                /*var averageInc = samples.Take(i + 1).Average(weights.Take(i + 1));
                var averageDec = samples.Skip(i + 1).Average(weights.Skip(i + 1));

                if (System.Math.Abs(averageInc[0] - meanInc[0]) > 0.001 ||
                   System.Math.Abs(averageDec.FirstOrDefault() - meanDec[0]) > 0.001)
                {
                    Console.WriteLine();
                }*/

                if(!returnSSE)
                    onCalculated(i, meanInc, varInc, meanDec, varDec); 
                else
                    onCalculated(i, meanInc, M2_Inc, meanDec, M2_Dec); 
            }
        }
开发者ID:Candy29,项目名称:accord-net-extensions,代码行数:44,代码来源:RunningWeightedVariance.cs

示例6: GetModalString

        private string GetModalString(IReadOnlyList<int> squarePopularity)
        {
            for (var idx = 0; idx < NumberOfSquares; ++idx)
            {
                Console.WriteLine("{0:00}: {1:00000000} ({2})", idx, squarePopularity[idx], squares[idx].Name);
            }

            var totalVisits = squarePopularity.Sum(sp => sp);
            var squaresWithIndex = squarePopularity.Select((item, index) => new { Popularity = (double)item / (double)totalVisits, Position = index });
            var mostPopularSquares = squaresWithIndex.OrderByDescending(sp => sp.Popularity).Take(3).ToList();

            return string.Format("{0:00}{1:00}{2:00}", mostPopularSquares[0].Position, mostPopularSquares[1].Position,
                mostPopularSquares[2].Position);
        }
开发者ID:kajones,项目名称:Puzzles,代码行数:14,代码来源:Problem_0084_MonopolyOdds.cs


注:本文中的IReadOnlyList.Sum方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。