Example #1
0
        public void CanBroadcast_3_to_2_3()
        {
            // http://www.onlamp.com/pub/a/python/2000/09/27/numerically.html?page=2

            /*
             *
             * a = np.array([[1, 2, 3], [4, 5, 6]])
             * b = np.array([[7, 8, 9]])
             * a + b
             *
             */
            var a = NN.Array(new[, ] {
                { 1, 2, 3 }, { 4, 5, 6 }
            });
            var c    = NN.Array(new[] { 7, 8, 9 });
            var rAdd = NN.Array(new[, ] {
                { 8, 10, 12 }, { 11, 13, 15 }
            });
            var rMul = NN.Array(new[, ] {
                { 7, 16, 27 }, { 28, 40, 54 }
            });

            a.AssertOfShape(2, 3);
            c.AssertOfShape(3);

            AssertArray.GenerateTests(a, c, NN.Ones <int>, (a1, c1) => AssertArray.AreEqual(rAdd, a1 + c1));
            AssertArray.GenerateTests(a, c, NN.Zeros <int>, (a1, c1) => AssertArray.AreEqual(rMul, a1 * c1));
        }
Example #2
0
        public void CanReshape_6_to_2_3_WithForcedCopy()
        {
            var a0 = NN.Range(6);
            var b  = NN.Array(new[, ] {
                { 0, 1, 2 },
                { 3, 4, 5 }
            });

            AssertArray.GenerateTests(a0, a => AssertArray.AreEqual(b, a.Reshape(new[] { 2, 3 }, forceCopy: true)));
        }
Example #3
0
        public void CanReshape_6_to_2_3()
        {
            var a0 = NN.Range(6);
            var b  = NN.Array(new[, ] {
                { 0, 1, 2 },
                { 3, 4, 5 }
            });

            AssertArray.GenerateTests(a0, a => AssertArray.AreEqual(b, a.Reshape(2, 3)));
        }
Example #4
0
        public void CanBroadcastScalarToArray()
        {
            // http://www.onlamp.com/pub/a/python/2000/09/27/numerically.html

            /*
             *
             * a = np.array([[1,2],[3, 4]])
             * b = 1
             * a + b
             *
             */
            var a = NN.Array(new[, ] {
                { 1, 2 }, { 3, 4 }
            });
            var b = 1;
            var r = NN.Array(new[, ] {
                { 2, 3 }, { 4, 5 }
            });

            AssertArray.GenerateTests(a, NN.Ones <int>, a1 => AssertArray.AreEqual(r, a1 + b));
        }
Example #5
0
 public void TestGenerateMat()
 {
     var a = NN.Range<float>(12).Reshape(4, 3);
     var c = a.Copy();
     AssertArray.GenerateTests(a, b => AssertArray.AreAlmostEqual(c, b));
 }
Example #6
0
 public void TestGenerateVec()
 {
     var a = NN.Range<float>(5);
     var c = a.Copy();
     AssertArray.GenerateTests(a, b => AssertArray.AreAlmostEqual(c, b));
 }