Main Page | Namespace List | Class List | File List | Namespace Members | Class Members | Related Pages

util.hh

00001 #ifndef UTIL_HH
00002 #define UTIL_HH
00003 
00004 #include <algorithm>
00005 #include <vector>
00006 
00008 namespace util {
00009 
00011   template <typename T>
00012   T sqr(T a)
00013   {
00014     return a * a;
00015   }
00016 
00020   template <typename T>
00021   T
00022   median(std::vector<T> v)
00023   {
00024     std::sort(v.begin(), v.end());
00025     return v[v.size() / 2];
00026   }
00027 
00029   template <typename T>
00030   T
00031   abs(const T &value)
00032   {
00033     if (value < 0)
00034       return -value;
00035     return value;
00036   }
00037 
00039   template <typename T>
00040   T
00041   max(const T &a, const T &b)
00042   {
00043     if (a < b)
00044       return b;
00045     return a;
00046   }
00047 
00048 };
00049 
00050 #endif /* UTIL_HH */

Generated on Sat Feb 26 22:54:39 2005 for GoCam by doxygen 1.3.4