예제 #1
0
        public void ClasdistanceToThrowTest()
        {
            var p1 = new PointIdFloat(0, new List <float>()
            {
                1.0f
            });
            var p2 = new PointIdFloat(1, new List <float>()
            {
                2.0f, 3.0f
            });

            VectorDistanceHelper.L2Norm(p1.coordinates, p2.coordinates);
        }
예제 #2
0
        public void ClasdistanceIsSimmetricToTest()
        {
            var x = new PointIdFloat(0, new List <float>()
            {
                1.0f
            });
            var y = new PointIdFloat(1, new List <float>()
            {
                2.0f
            });

            Assert.AreEqual(VectorDistanceHelper.L2Norm(x.coordinates, y.coordinates),
                            VectorDistanceHelper.L2Norm(y.coordinates, x.coordinates));
        }
예제 #3
0
        public void ClasdistanceToTest()
        {
            PointIdFloat x = new PointIdFloat(0, new List <float>()
            {
                1.0f
            });
            PointIdFloat y = new PointIdFloat(1, new List <float>()
            {
                2.0f
            });

            Assert.AreEqual(0.0f, VectorDistanceHelper.L2Norm(x.coordinates, x.coordinates));
            Assert.AreEqual(1.0f, VectorDistanceHelper.L2Norm(x.coordinates, y.coordinates));

            x = new PointIdFloat(2, new List <float>()
            {
                1.0f, 2.2f
            });
            y = new PointIdFloat(3, new List <float>()
            {
                4.0f, 6.2f
            });
            Assert.AreEqual(0.0f, VectorDistanceHelper.L2Norm(y.coordinates, y.coordinates));
            Assert.IsTrue(Math.Abs(3.535534f - VectorDistanceHelper.L2Norm(x.coordinates, y.coordinates)) < 1e-5);

            x = new PointIdFloat(5, new List <float>()
            {
                1.0f, 2.5f, 3.0f
            });
            y = new PointIdFloat(6, new List <float>()
            {
                2.0f, 3.0f, 3.0f
            });
            var d1 = 0.6454972f;
            var d2 = VectorDistanceHelper.L2Norm(x.coordinates, y.coordinates);

            Assert.IsTrue(Math.Abs(d1 - d2) < 1e-5);
        }