コード例 #1
0
        public void ExecuteDotProductTest()
        {
            var vector1 = new Maths.Expressions.Matrices.Vector(new[] { new Number(1), new Number(2), new Number(3) });
            var vector2 = new Maths.Expressions.Matrices.Vector(new[] { new Number(4), new Number(5), new Number(6) });
            var exp     = new Mul(vector1, vector2);

            Assert.Equal(32.0, exp.Execute());
        }
コード例 #2
0
ファイル: MulTest.cs プロジェクト: suigin500/xFunc
 public void ExecuteCrossFailTest()
 {
     Assert.Throws <ArgumentException>(() =>
     {
         var vector1 = new Maths.Expressions.Matrices.Vector(new[] { new Number(1), new Number(3) });
         var vector2 = new Maths.Expressions.Matrices.Vector(new[] { new Number(10), new Number(20) });
         var exp     = new Mul(vector1, vector2);
         exp.Execute();
     });
 }
コード例 #3
0
ファイル: MulTest.cs プロジェクト: suigin500/xFunc
        public void ExecuteCrossTest()
        {
            var vector1 = new Maths.Expressions.Matrices.Vector(new[] { new Number(1), new Number(2), new Number(3) });
            var vector2 = new Maths.Expressions.Matrices.Vector(new[] { new Number(10), new Number(20), new Number(30) });
            var exp     = new Mul(vector1, vector2);

            var expected = new Maths.Expressions.Matrices.Vector(new[] { new Number(0), new Number(0), new Number(0) });

            Assert.Equal(expected, exp.Execute());
        }
コード例 #4
0
ファイル: SubTest.cs プロジェクト: suigin500/xFunc
        public void SubTwoVectorsTest()
        {
            var vector1 = new Maths.Expressions.Matrices.Vector(new[] { new Number(2), new Number(3) });
            var vector2 = new Maths.Expressions.Matrices.Vector(new[] { new Number(7), new Number(1) });
            var sub     = new Sub(vector1, vector2);

            var expected = new Maths.Expressions.Matrices.Vector(new[] { new Number(-5), new Number(2) });
            var result   = sub.Execute();

            Assert.Equal(expected, result);
        }
コード例 #5
0
ファイル: AddTest.cs プロジェクト: zhiyongpeng/xFunc
        public void AddTwoVectorsTest()
        {
            var vector1 = new Maths.Expressions.Matrices.Vector(new[] { new Number(2), new Number(3) });
            var vector2 = new Maths.Expressions.Matrices.Vector(new[] { new Number(7), new Number(1) });
            var add     = new Add(vector1, vector2);

            var expected = new Maths.Expressions.Matrices.Vector(new[] { new Number(9), new Number(4) });
            var result   = add.Execute();

            Assert.Equal(expected, result);
        }
コード例 #6
0
ファイル: SubTest.cs プロジェクト: suigin500/xFunc
        public void Sub4MatricesTest()
        {
            var vector1 = new Maths.Expressions.Matrices.Vector(new IExpression[] { new Number(1), new Number(2) });
            var vector2 = new Maths.Expressions.Matrices.Vector(new IExpression[] { new Number(1), new Number(2) });
            var vector3 = new Maths.Expressions.Matrices.Vector(new IExpression[] { new Number(1), new Number(2) });
            var vector4 = new Maths.Expressions.Matrices.Vector(new IExpression[] { new Number(1), new Number(2) });
            var sub1    = new Sub(vector1, vector2);
            var sub2    = new Sub(vector3, vector4);
            var sub3    = new Sub(sub1, sub2);

            var expected = new Maths.Expressions.Matrices.Vector(new IExpression[] { new Number(0), new Number(0) });

            Assert.Equal(expected, sub3.Execute());
        }
コード例 #7
0
ファイル: AddTest.cs プロジェクト: zhiyongpeng/xFunc
        public void Add4MatricesTest()
        {
            var vector1 = new Maths.Expressions.Matrices.Vector(new IExpression[] { new Number(1), new Number(2) });
            var vector2 = new Maths.Expressions.Matrices.Vector(new IExpression[] { new Number(1), new Number(2) });
            var vector3 = new Maths.Expressions.Matrices.Vector(new IExpression[] { new Number(1), new Number(2) });
            var vector4 = new Maths.Expressions.Matrices.Vector(new IExpression[] { new Number(1), new Number(2) });
            var add1    = new Add(vector1, vector2);
            var add2    = new Add(vector3, vector4);
            var add3    = new Add(add1, add2);

            var expected = new Maths.Expressions.Matrices.Vector(new IExpression[] { new Number(4), new Number(8) });

            Assert.Equal(expected, add3.Execute());
        }
コード例 #8
0
        public void ExecuteMulNunberByVectorTest()
        {
            var number = new Number(5);
            var vector = new Maths.Expressions.Matrices.Vector(new[]
            {
                new Number(1),
                new Number(2),
                new Number(3)
            });
            var exp = new Mul(number, vector);

            var expected = new Maths.Expressions.Matrices.Vector(new[]
            {
                new Number(5),
                new Number(10),
                new Number(15)
            });

            Assert.Equal(expected, exp.Execute());
        }
コード例 #9
0
        public void ExecuteMulVectorByMatrixTest()
        {
            var vector = new Maths.Expressions.Matrices.Vector(new[]
            {
                new Number(1),
                new Number(2),
                new Number(3)
            });
            var matrix = new Maths.Expressions.Matrices.Matrix(new[]
            {
                new Maths.Expressions.Matrices.Vector(new[] { new Number(4) }),
                new Maths.Expressions.Matrices.Vector(new[] { new Number(5) }),
                new Maths.Expressions.Matrices.Vector(new[] { new Number(6) })
            });
            var exp = new Mul(vector, matrix);

            var expected = new Maths.Expressions.Matrices.Matrix(new[]
            {
                new Maths.Expressions.Matrices.Vector(new[] { new Number(32) })
            });

            Assert.Equal(expected, exp.Execute());
        }