private IByteStreamProcessor AddSummationToResult(IByteStreamProcessor summation, IByteStreamProcessor result, int count)
        {
            result.AverageCurrent          = summation.AverageCurrent / count;
            result.AverageVoltage          = summation.AverageVoltage / count;
            result.TotalTestedByteSize     = summation.TotalTestedByteSize / count;
            result.TotalTestedEnergyJoules = summation.TotalTestedEnergyJoules / count;
            result.TotalTestTime           = TimeSpan.FromTicks(summation.TotalTestTime.Ticks / count);

            return(result);
        }
        private IByteStreamProcessor GenerateResult(IByteStreamProcessor bucketValue, IByteStreamProcessor result)
        {
            result.ProfileId            = Guid.NewGuid();
            result.Author               = this.SummarizedAuthor;
            result.Description          = this.SummarizedDescription;
            result.PlatformName         = bucketValue.PlatformName;
            result.TestedFrequency      = bucketValue.TestedFrequency;
            result.NumCores             = bucketValue.NumCores;
            result.AdditionalUniqueInfo = bucketValue.AdditionalUniqueInfo;

            return(result);
        }
        private IByteStreamProcessor CreateSummation <T>(List <T> devices, IByteStreamProcessor summation)
            where T : IByteStreamProcessor
        {
            foreach (var device in devices)
            {
                summation.AverageCurrent          += device.AverageCurrent;
                summation.AverageVoltage          += device.AverageVoltage;
                summation.TotalTestedByteSize     += device.TotalTestedByteSize;
                summation.TotalTestedEnergyJoules += device.TotalTestedEnergyJoules;
                summation.TotalTestTime           += device.TotalTestTime;
            }

            return(summation);
        }