00001 #include <TooN/TooN.h> 00002 #include <cmath> 00003 00004 using namespace TooN; 00005 using namespace std; 00006 00007 extern Vector<4>& v; 00008 00009 inline void norm_in_place(Vector<4>& v) 00010 { 00011 v/=sqrt(v*v); 00012 } 00013 00014 00015 inline Vector<4> unit(const Vector<4>& v) 00016 { 00017 return v/sqrt(v*v); 00018 } 00019 00020 00021 void norm_v_1() 00022 { 00023 norm_in_place(v); 00024 } 00025 00026 void norm_v_2() 00027 { 00028 v = unit(v); 00029 } 00030 00031 00032 void norm_v_3() 00033 { 00034 v.slice<0,4>() = unit(v.slice<0,4>()); 00035 } 00036