adding quats
[gph-math] / src / quat.inl
diff --git a/src/quat.inl b/src/quat.inl
new file mode 100644 (file)
index 0000000..5552165
--- /dev/null
@@ -0,0 +1,18 @@
+inline Quaternion operator -(const Quaternion &q)
+{
+       return Quaternion(-q.x, -q.y, -q.z, -q.w);
+}
+
+inline Quaternion operator +(const Quaternion &a, const Quaternion &b)
+{
+       return Quaternion(a.x + b.x, a.y + b.y, a.z + b.z, a.w + b.w);
+}
+
+inline Quaternion operator -(const Quaternion &a, const Quaternion &b)
+{
+       return Quaternion(a.x - b.x, a.y - b.y, a.z - b.z, a.w - b.w);
+}
+
+inline Quaternion operator *(const Quaternion &a, const Quaternion &b)
+{
+       float x = a.w * b.w - (a.x * b.x + a.y * b.y + a.z * b.z);