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)); }
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); }