Skip to content

Commit

Permalink
Merge pull request #17 from Frugle/master
Browse files Browse the repository at this point in the history
Added == and != operators for vectors
  • Loading branch information
LaurentGomila committed Nov 18, 2013
2 parents 5cc0d7d + 805fe81 commit 1ce8e41
Showing 1 changed file with 78 additions and 0 deletions.
78 changes: 78 additions & 0 deletions src/Window/Vector2.cs
Expand Up @@ -102,6 +102,32 @@ public Vector2f(float x, float y)
public static Vector2f operator /(Vector2f v, float x)
{
return new Vector2f(v.X / x, v.Y / x);
}

////////////////////////////////////////////////////////////
/// <summary>
/// Operator == overload ; check vector equality
/// </summary>
/// <param name="v1">First vector</param>
/// <param name="v2">Second vector</param>
/// <returns>v1 + v2</returns>
////////////////////////////////////////////////////////////
public static bool operator ==(Vector2f v1, Vector2f v2)
{
return v1.X == v2.X && v1.Y == v2.Y;
}

////////////////////////////////////////////////////////////
/// <summary>
/// Operator != overload ; check vector inequality
/// </summary>
/// <param name="v1">First vector</param>
/// <param name="v2">Second vector</param>
/// <returns>v1 + v2</returns>
////////////////////////////////////////////////////////////
public static bool operator !=(Vector2f v1, Vector2f v2)
{
return !(v1 == v2);
}

////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -221,6 +247,32 @@ public Vector2i(int x, int y)
public static Vector2i operator /(Vector2i v, int x)
{
return new Vector2i(v.X / x, v.Y / x);
}

////////////////////////////////////////////////////////////
/// <summary>
/// Operator == overload ; check vector equality
/// </summary>
/// <param name="v1">First vector</param>
/// <param name="v2">Second vector</param>
/// <returns>v1 + v2</returns>
////////////////////////////////////////////////////////////
public static bool operator ==(Vector2i v1, Vector2i v2)
{
return v1.X == v2.X && v1.Y == v2.Y;
}

////////////////////////////////////////////////////////////
/// <summary>
/// Operator != overload ; check vector inequality
/// </summary>
/// <param name="v1">First vector</param>
/// <param name="v2">Second vector</param>
/// <returns>v1 + v2</returns>
////////////////////////////////////////////////////////////
public static bool operator !=(Vector2i v1, Vector2i v2)
{
return !(v1 == v2);
}

////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -328,6 +380,32 @@ public Vector2u(uint x, uint y)
public static Vector2u operator /(Vector2u v, uint x)
{
return new Vector2u(v.X / x, v.Y / x);
}

////////////////////////////////////////////////////////////
/// <summary>
/// Operator == overload ; check vector equality
/// </summary>
/// <param name="v1">First vector</param>
/// <param name="v2">Second vector</param>
/// <returns>v1 + v2</returns>
////////////////////////////////////////////////////////////
public static bool operator ==(Vector2u v1, Vector2u v2)
{
return v1.X == v2.X && v1.Y == v2.Y;
}

////////////////////////////////////////////////////////////
/// <summary>
/// Operator != overload ; check vector inequality
/// </summary>
/// <param name="v1">First vector</param>
/// <param name="v2">Second vector</param>
/// <returns>v1 + v2</returns>
////////////////////////////////////////////////////////////
public static bool operator !=(Vector2u v1, Vector2u v2)
{
return !(v1 == v2);
}

////////////////////////////////////////////////////////////
Expand Down

0 comments on commit 1ce8e41

Please sign in to comment.