예제 #1
0
        //(Значимый тип) - float без квадратного корня
        public float PointDistanceShortFloat(PointStruct pointOne, PointStruct pointTwo)
        {
            float x = pointOne.X - pointTwo.X;
            float y = pointOne.Y - pointTwo.Y;

            return((x * x) + (y * y));
        }
예제 #2
0
        //(Значимый тип) - double с квадратный корнем
        public double PointDistanceShortDoubleWithSqrt(PointStruct pointOne, PointStruct pointTwo)
        {
            double xD = pointOne.Xd - pointTwo.Xd;
            double yD = pointOne.Yd - pointTwo.Yd;

            return(Math.Sqrt((xD * xD) + (yD * yD)));
        }
예제 #3
0
        public void BenchmarkOfPointDistanceShortFloat()
        {
            for (int i = 0; i <= 1500; i++)
            {
                var pointOneStrFloat = new PointStruct()
                {
                    X = rnd.Next(200), Y = rnd.Next(200)
                };
                var pointTwoStrFloat = new PointStruct()
                {
                    X = rnd.Next(345), Y = rnd.Next(345)
                };

                PointDistanceShortFloat(pointOneStrFloat, pointTwoStrFloat);
            }
        }
예제 #4
0
        public void BenchmarkOfPointDistanceShortDoubleWithSqrt()
        {
            for (int i = 0; i <= 1500; i++)
            {
                var pointOneStrDouble = new PointStruct()
                {
                    Xd = rnd.Next(200), Yd = rnd.Next(200)
                };
                var pointTwoStrDouble = new PointStruct()
                {
                    Xd = rnd.Next(345), Yd = rnd.Next(345)
                };

                PointDistanceShortDoubleWithSqrt(pointOneStrDouble, pointTwoStrDouble);
            }
        }