diff options
Diffstat (limited to 'src/Vector3.h')
-rw-r--r-- | src/Vector3.h | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/Vector3.h b/src/Vector3.h index 071997f50..c5431438e 100644 --- a/src/Vector3.h +++ b/src/Vector3.h @@ -78,11 +78,6 @@ public: ); } - inline bool HasNonZeroLength(void) const - { - return ((x != 0) || (y != 0) || (z != 0)); - } - inline double Length(void) const { return sqrt(static_cast<double>(x * x + y * y + z * z)); @@ -126,7 +121,11 @@ public: { // Perform a bitwise comparison of the contents - we want to know whether this object is exactly equal // To perform EPS-based comparison, use the EqualsEps() function - return !((x != a_Rhs.x) || (y != a_Rhs.y) || (z != a_Rhs.z)); + return ( + (memcmp(&x, &a_Rhs.x, sizeof(x)) == 0) && + (memcmp(&y, &a_Rhs.y, sizeof(y)) == 0) && + (memcmp(&z, &a_Rhs.z, sizeof(z)) == 0) + ); } inline bool EqualsEps(const Vector3<T> & a_Rhs, T a_Eps) const |