]> git.mxchange.org Git - simgear.git/commitdiff
Modified Files:
authorfrohlich <frohlich>
Sat, 2 Dec 2006 15:57:55 +0000 (15:57 +0000)
committerfrohlich <frohlich>
Sat, 2 Dec 2006 15:57:55 +0000 (15:57 +0000)
SGVec2.hxx SGVec3.hxx SGVec4.hxx: Add inf norm function

simgear/math/SGVec2.hxx
simgear/math/SGVec3.hxx
simgear/math/SGVec4.hxx

index 6205e12618c3a564500d9dae815a01104a75c2f2..3153875857238cc5ce1062259c30ef93da131a42 100644 (file)
@@ -267,6 +267,13 @@ T
 norm1(const SGVec2<T>& v)
 { return fabs(v(0)) + fabs(v(1)); }
 
+/// The inf-norm of the vector
+template<typename T>
+inline
+T
+normI(const SGVec2<T>& v)
+{ return SGMisc<T>::max(fabs(v(0)), fabs(v(1))); }
+
 /// The euclidean norm of the vector, that is what most people call length
 template<typename T>
 inline
index df742744373d7fb472527403d3c4ee95b9df00b2..4d3100b5945fac7fc54c8daada44f78e9f7e6152 100644 (file)
@@ -346,6 +346,13 @@ T
 norm1(const SGVec3<T>& v)
 { return fabs(v(0)) + fabs(v(1)) + fabs(v(2)); }
 
+/// The inf-norm of the vector
+template<typename T>
+inline
+T
+normI(const SGVec3<T>& v)
+{ return SGMisc<T>::max(fabs(v(0)), fabs(v(1)), fabs(v(2))); }
+
 /// Vector cross product
 template<typename T>
 inline
index b8223a7a02759b367f468902fb2eb26a3b00ca60..d610a6ca8c11851285edfaa9a3f33f901cbf7a84 100644 (file)
@@ -314,6 +314,13 @@ T
 norm1(const SGVec4<T>& v)
 { return fabs(v(0)) + fabs(v(1)) + fabs(v(2)) + fabs(v(3)); }
 
+/// The inf-norm of the vector
+template<typename T>
+inline
+T
+normI(const SGVec4<T>& v)
+{ return SGMisc<T>::max(fabs(v(0)), fabs(v(1)), fabs(v(2)), fabs(v(2))); }
+
 /// The euclidean norm of the vector, that is what most people call length
 template<typename T>
 inline