Пример #1
0
    public static void Main()
    {
        Number <Byte> byt = new Number <Byte>(12);

        Console.WriteLine(byt.Add(12));

        Number <SByte> sbyt = new Number <SByte>(-3);

        Console.WriteLine(sbyt.Subtract(12));

        Number <ushort> ush = new Number <ushort>(16);

        Console.WriteLine(ush.Add((ushort)3));

        Number <double> dbl = new Number <double>(Math.PI);

        Console.WriteLine(dbl.Add(1.0));

        FloatingPoint <Single> sng = new FloatingPoint <float>(12.3f);

        Console.WriteLine(sng.Add(3.0f));

//       FloatingPoint<int> f2 = new FloatingPoint<int>(16);
//       Console.WriteLine(f2.Add(6));
    }
Пример #2
0
        private List <Point> GetPointsBetween(Point p1, Point p2)
        {
            double        step_size = 0.01; //todo adjust
            List <Point>  points    = new List <Point>();
            FloatingPoint pointer   = new FloatingPoint(p1);

            int CompareX(Point start, Point end)
            {
                return(end.X.CompareTo(start.X));
            }

            int CompareY(Point start, Point end)
            {
                return(end.Y.CompareTo(start.Y));
            }

            int           x_comp = CompareX(p1, p2);
            int           y_comp = CompareY(p1, p2);
            FloatingPoint delta  = new FloatingPoint(p1, p2).Multiply(step_size);

            while (x_comp != CompareX(p2, pointer.Floored()) || y_comp != CompareY(p2, pointer.Floored()))
            {
                pointer = pointer.Add(delta);
                Point current = pointer.Floored();
                if (!points.Contains(current))
                {
                    points.Add(current);
                }
            }
            return(points);
        }