Accord.Tests.Interop.Math.LbfgsbComparisonTest.check C# (CSharp) Метод

check() приватный статический Метод

private static check ( OptimizationProgressEventArgs actual, Info expected ) : void
actual Accord.Math.Optimization.OptimizationProgressEventArgs
expected Info
Результат void
        private static void check(OptimizationProgressEventArgs[] actual, Info[] expected)
        {
            Assert.AreEqual(expected.Length, actual.Length);
            for (int i = 0; i < expected.Length; i++)
            {
                var a = (BoundedBroydenFletcherGoldfarbShannoInnerStatus)actual[i].Tag;
                var e = expected[i];

                Assert.AreEqual(e.Iteration, actual[i].Iteration);
                Assert.AreEqual(e.Value, actual[i].Value);

                for (int j = 0; j < a.Work.Length; j++)
                    Assert.AreEqual(e.Work[j], a.Work[j]);

                for (int j = 0; j < actual[i].Gradient.Length; j++)
                    Assert.AreEqual(e.Gradient[j], actual[i].Gradient[j]);

                for (int j = 0; j < a.Integers.Length; j++)
                    Assert.AreEqual(e.isave[j], a.Integers[j]);

                for (int j = 0; j < a.Doubles.Length; j++)
                {
                    Assert.AreEqual(Double.IsNaN(e.dsave[j]), Double.IsNaN(a.Doubles[j]));
                    if (!Double.IsNaN(e.dsave[j]))
                        Assert.AreEqual(e.dsave[j], a.Doubles[j], 1e-200);
                }

                for (int j = 0; j < a.Booleans.Length; j++)
                    Assert.AreEqual(e.lsave[j], a.Booleans[j] ? 1 : 0);

                String trim = e.csave.Trim();
                Assert.AreEqual(trim, a.Strings);
            }
        }