public static Float2 operator -(Float2 a)
 {
     return(Float2.Negate(a));
 }
 public static float Dot(Float2 a, Float2 b)
 {
     return(a.x * b.x + a.y * b.y);
 }
 public static Float2 operator +(Float2 a)
 {
     return(Float2.Plus(a));
 }
 public static Float2 Multiply(Float2 a, Float2 b)
 {
     return(new Float2(a.x * b.x, a.y * b.y));
 }
 public static Float2 Divide(Float2 a, float b)
 {
     return(new Float2(a.x / b, a.y / b));
 }
 public static Float2 Subtract(Float2 a, Float2 b)
 {
     return(new Float2(a.x - b.x, a.y - b.y));
 }
 public static Float2 Multiply(float b, Float2 a)
 {
     return(new Float2(a.x * b, a.y * b));
 }
 public static Float2 Negate(Float2 a)
 {
     return(new Float2(-a.x, -a.y));
 }
 public static Float2 Add(Float2 a, Float2 b)
 {
     return(new Float2(a.x + b.x, a.y + b.y));
 }
 /// <summary>
 /// Determines whether the specified object is equal to the current object.
 /// </summary>
 /// <param name="other">The object to compare with the current object.</param>
 /// <returns><value>true</value> if the specified object is equal to the current object; otherwise, <value>false</value>.</returns>
 public bool Equals(Float2 other)
 {
     return(this.x == other.x &&
            this.y == other.y);
 }
 public static Float2 Plus(Float2 a)
 {
     return(new Float2(a.x, a.y));
 }
 public static Float2 operator /(Float2 a, float b)
 {
     return(Float2.Divide(a, b));
 }
 public static Float2 operator *(Float2 a, Float2 b)
 {
     return(Float2.Multiply(a, b));
 }
 public static Float2 operator *(float b, Float2 a)
 {
     return(Float2.Multiply(b, a));
 }
 public static Float2 operator -(Float2 a, Float2 b)
 {
     return(Float2.Subtract(a, b));
 }
 public static Float2 operator +(Float2 a, Float2 b)
 {
     return(Float2.Add(a, b));
 }