+inline Quaternion operator -(const Quaternion &q);
+inline Quaternion operator +(const Quaternion &a, const Quaternion &b);
+inline Quaternion operator -(const Quaternion &a, const Quaternion &b);
+inline Quaternion operator *(const Quaternion &a, const Quaternion &b);
+
+inline Quaternion &operator +=(Quaternion &a, const Quaternion &b);
+inline Quaternion &operator -=(Quaternion &a, const Quaternion &b);
+inline Quaternion &operator *=(Quaternion &a, const Quaternion &b);
+
+inline float length(const Quaternion &q);
+inline float length_sq(const Quaternion &q);
+
+inline Quaternion normalize(const Quaternion &q);
+inline Quaternion conjugate(const Quaternion &q);
+inline Quaternion inverse(const Quaternion &q);
+
+Quaternion slerp(const Quaternion &a, const Quaternion &b, float t);
+inline Quaternion lerp(const Quaternion &a, const Quaternion &b, float t);
+
+#include "quat.inl"
+