static void Main(string[] args)
        {
            for (int i = 0; i < delegates.Length; i++)
            {
                delegates[i] = Random_0_to_99;
            }

            Console.WriteLine("Исходные числа:");
            ArithmeticMean result = delegate(Func <int>[] dlgs) {
                long sum = 0;
                foreach (Func <int> dlg in dlgs)
                {
                    int nextNumber = dlg();
                    sum += nextNumber;
                    Console.Write(nextNumber);
                    Console.Write(" ");
                }
                Console.WriteLine();
                Console.Write("Среднее арифметическое: ");
                return((double)sum / delegates.Length);
            };

            Console.WriteLine(result(delegates));
            Console.ReadKey();
        }
示例#2
0
        public void CalculationTest(double value, double value2, double answer)
        {
            var    calculator = new ArithmeticMean();
            double actual     = calculator.calculate(value, value2);

            Assert.AreEqual(answer, actual, 0.001);
        }
示例#3
0
        public void CalculateArithmeticMeanTest(double firstValue, double secondValue, double expected)
        {
            ITwoArgumentsCalculator calculator = new ArithmeticMean();
            double result = calculator.Calculate(3, 5);

            Assert.AreEqual(4, result);
        }
示例#4
0
        public void CalculatorTest(
            double firstValue,
            double secondValue,
            double expected)
        {
            var calculator   = new ArithmeticMean();
            var actualResult = calculator.Calculate(firstValue, secondValue);

            Assert.AreEqual(expected, actualResult);
        }
        protected DeviceState(SerializationInfo info, StreamingContext context)
        {
            if (info.MemberCount == 18) // la version sin serialization custom.-
            {
                Version0(info);
                ObjectVersion = 0;
                FixVersion1();
                return;
            }

            var version = ObjectVersion = info.GetInt32("ObjectVersion");

            if (version == 1)
            {
                Version1(info);
                FixVersion1();
            }

            if (version == 2)
            {
                Version2(info);
            }

            if (version == 3)
            {
                Version3(info);
                AverageConnectedTime = new ArithmeticMean(32);
            }

            if (version == 4)
            {
                Version4(info);
            }


            if (version == 5)
            {
                Version5(info);
            }

            //STrace.Trace(GetType().FullName,9, "DeviceState[{0}]: Deserializado.", LogId);

            if (version == 6)
            {
                Version6(info);
            }

            if (version > 6)
            {
                Version1(info);
                throw new DeviceStateUpgradeRequired(version, this);
            }
        }
示例#6
0
        protected void TestInitialize()
        {
            amDecimal = new ArithmeticMean(decimalArray);
            amInt     = new ArithmeticMean(intArray);
            amDouble  = new ArithmeticMean(doublelArray);
            amFloat   = new ArithmeticMean(floatArray);

            sdDecimal = new StandardDeviation(decimalArray);
            sdInt     = new StandardDeviation(intArray);
            sdDouble  = new StandardDeviation(doublelArray);
            sdFloat   = new StandardDeviation(floatArray);

            filteringMethods = new Func <object, bool>[] { FilterValues1, FilterValues2 };
        }
 private void FixVersion1()
 {
     Organization        = "";
     FlashCounter        = new Gauge64();
     CrapReceivedCounter = new Gauge64();
     StatesChanges       = new Gauge64();
     PERMANENTCounter    = new Gauge64();
     MAINTCounter        = new Gauge64();
     OFFLINECounter      = new Gauge64();
     CONNECTEDCounter    = new Gauge64();
     ONLINECounter       = new Gauge64();
     ONNETCounter        = new Gauge64();
     SHUTDOWNCounter     = new Gauge64();
     SYNCINGCounter      = new Gauge64();
     OUTOFSERVICECounter = new Gauge64();
     //TransitionTrend = new Toolkit.TransitionTrend<ServiceStates>();
     AverageConnectedTime = new ArithmeticMean(32);
 }
 private void Version2(SerializationInfo info)
 {
     Version1(info);
     Organization        = info.GetString((ObjectVersion < 6 ? "District" : "Organization"));
     FlashCounter        = new Gauge64((Counter64)info.GetValue("FlashCounter", typeof(Counter64)));
     CrapReceivedCounter = new Gauge64((Counter64)info.GetValue("CrapReceivedCounter", typeof(Counter64)));
     StatesChanges       = new Gauge64((Counter64)info.GetValue("StatesChanges", typeof(Counter64)));
     PERMANENTCounter    = new Gauge64((Counter64)info.GetValue("PERMANENTCounter", typeof(Counter64)));
     MAINTCounter        = new Gauge64((Counter64)info.GetValue("MAINTCounter", typeof(Counter64)));
     OFFLINECounter      = new Gauge64((Counter64)info.GetValue("OFFLINECounter", typeof(Counter64)));
     CONNECTEDCounter    = new Gauge64((Counter64)info.GetValue("CONNECTEDCounter", typeof(Counter64)));
     ONLINECounter       = new Gauge64((Counter64)info.GetValue("ONLINECounter", typeof(Counter64)));
     ONNETCounter        = new Gauge64((Counter64)info.GetValue("ONNETCounter", typeof(Counter64)));
     SHUTDOWNCounter     = new Gauge64((Counter64)info.GetValue("SHUTDOWNCounter", typeof(Counter64)));
     SYNCINGCounter      = new Gauge64((Counter64)info.GetValue("SYNCINGCounter", typeof(Counter64)));
     OUTOFSERVICECounter = new Gauge64((Counter64)info.GetValue("STOCKCounter", typeof(Counter64)));
     //TransitionTrend = (Toolkit.TransitionTrend<ServiceStates>)info.GetValue("TransitionTrend", typeof(Toolkit.TransitionTrend<ServiceStates>));
     AverageConnectedTime = new ArithmeticMean(32);
 }
        protected void TestInitialize()
        {
            amDecimal = new ArithmeticMean(decimalArray);
            amInt     = new ArithmeticMean(intArray);
            amDouble  = new ArithmeticMean(doublelArray);
            amFloat   = new ArithmeticMean(floatArray);

            sdDecimal = new StandardDeviation(decimalArray);
            sdInt     = new StandardDeviation(intArray);
            sdDouble  = new StandardDeviation(doublelArray);
            sdFloat   = new StandardDeviation(floatArray);

            InitializeLists();

            amDecimalList = new ArithmeticMean(decimalList.ToArray());
            amIntList     = new ArithmeticMean(intList.ToArray());
            amDoubleList  = new ArithmeticMean(doubleList.ToArray());
            amFloatList   = new ArithmeticMean(floatList.ToArray());
        }
示例#10
0
        public void calculateMeans()
        {
            double sum               = 0;
            double inverseSum        = 0;
            double product           = 1;
            int    numberOfResults   = 0;
            double arithmeticalSum   = 0;
            double arithmeticalTotal = 0;

            foreach (BenchmarkStatisticsResult benchmarkStatisticsResult in this)
            {
                if (benchmarkStatisticsResult.Accuracy != double.NaN && benchmarkStatisticsResult.Accuracy > 0)
                {
                    arithmeticalTotal += benchmarkStatisticsResult.NumberOfBranches;
                    arithmeticalSum   += benchmarkStatisticsResult.NumberOfCorrectPredictions;
                    sum        += benchmarkStatisticsResult.Accuracy;
                    inverseSum += 1.0d / benchmarkStatisticsResult.Accuracy;
                    product    *= benchmarkStatisticsResult.Accuracy;
                    numberOfResults++;
                }
            }
            if (numberOfResults != 0)
            {
                ArithmeticMean.Accuracy = sum / numberOfResults;
                GeometricMean.Accuracy  = Math.Pow(product, 1.0d / numberOfResults);
                HarmonicMean.Accuracy   = numberOfResults / inverseSum;
            }
            else
            {
                ArithmeticMean.Accuracy = 0;
                GeometricMean.Accuracy  = 0;
                HarmonicMean.Accuracy   = 0;
            }

            ArithmeticMean.NotifyPropertyChanged(StatisticsResult.PercentAccuracyPropertyChangedEventArgs);
            GeometricMean.NotifyPropertyChanged(StatisticsResult.PercentAccuracyPropertyChangedEventArgs);
            HarmonicMean.NotifyPropertyChanged(StatisticsResult.PercentAccuracyPropertyChangedEventArgs);
        }
示例#11
0
 // constructor utilizado al crear la base de datos
 public DeviceState(short id, States initial_state)
 {
     STrace.Debug(GetType().FullName, String.Format("DEVICE_STATE: constructor de ALTA id={0}.", id));
     Id                  = id;
     ServiceState        = initial_state;
     QTreeState          = DeviceTypes.QTreeStates.UNKNOWN;
     firstActivity       = DateTime.MinValue;
     LastCommit          = DateTime.MinValue;
     FlashCounter        = new Gauge64();
     CrapReceivedCounter = new Gauge64();
     StatesChanges       = new Gauge64();
     PERMANENTCounter    = new Gauge64();
     MAINTCounter        = new Gauge64();
     OFFLINECounter      = new Gauge64();
     CONNECTEDCounter    = new Gauge64();
     ONLINECounter       = new Gauge64();
     ONNETCounter        = new Gauge64();
     SHUTDOWNCounter     = new Gauge64();
     SYNCINGCounter      = new Gauge64();
     OUTOFSERVICECounter = new Gauge64();
     //TransitionTrend     = new Toolkit.TransitionTrend<ServiceStates>();
     AverageConnectedTime = new ArithmeticMean(32);
 }
示例#12
0
 public void Setup()
 {
     unitUnderTest = new ArithmeticMean();
 }
 public void ShouldThrowAnException_NullArgument()
 {
     ArithmeticMean am = new ArithmeticMean(nullData);
 }
 public void ShouldThrowAnException_DataTypeNotSupported()
 {
     ArithmeticMean am = new ArithmeticMean(incorrectDataFormat);
 }