Accord.Tests.Math.MatrixTest.nth_element_1 C# (CSharp) Method

nth_element_1() private method

private nth_element_1 ( ) : void
return void
        public void nth_element_1()
        {
            for (int size = 1; size < 1000; size += 10)
            {
                for (int nth = 1; nth < size; nth += 10)
                {
                    int[] random = UniformDiscreteDistribution.Random(size);
                    double[] a = random.ToDouble();
                    double[] b = random.ToDouble();
                    int[] bk = (int[])random.Clone();
                    double[] c = random.ToDouble();
                    double[] d = random.ToDouble();
                    int[] dk = (int[])random.Clone();
                    double[] e = random.ToDouble();
                    double[] f = random.ToDouble();
                    int[] fk = (int[])random.Clone();

                    Sort.NthElement(a, 0, a.Length - 1, nth);
                    Sort.NthElement(b, bk, 0, b.Length - 1, nth);
                    Assert.IsTrue(a.IsEqual(b));
                    Assert.IsTrue(a.IsEqual(bk));

                    Func<double, double, int> comparer = (x, y) => x.CompareTo(y);
                    Sort.NthElement(c, 0, a.Length - 1, nth, comparer);
                    Sort.NthElement(d, dk, 0, b.Length - 1, nth, comparer);
                    var str = random.ToString(CSharpArrayFormatProvider.InvariantCulture);
                    Assert.IsTrue(a.IsEqual(c));
                    Assert.IsTrue(c.IsEqual(d));
                    Assert.IsTrue(d.IsEqual(dk));

                    Func<double, double, int> comparer2 = (x, y) => -x.CompareTo(y);
                    Sort.NthElement(e, 0, a.Length - 1, nth, comparer2, asc: false);
                    Sort.NthElement(f, fk, 0, b.Length - 1, nth, comparer2, asc: false);
                    Assert.IsTrue(a.IsEqual(e));
                    Assert.IsTrue(e.IsEqual(f));
                    Assert.IsTrue(f.IsEqual(fk));

                    Assert.IsTrue(a.IsEqual(c));
                    Assert.IsTrue(a.IsEqual(d));
                    Assert.IsTrue(a.IsEqual(e));
                    Assert.IsTrue(a.IsEqual(f));
                    Assert.IsTrue(a.IsEqual(fk));
                }
            }
        }
MatrixTest