00001 #ifndef MATHUTIL_H
00002 #define MATHUTIL_H
00003 #include <math.h>
00004 #include <stdlib.h>
00005 #include <vector>
00006
00007
00008
00009
00010
00011
00012 using namespace std;
00013
00014
00015
00016
00017 class MathUtil
00018 {
00019 public:
00020
00021 static double getMax(double* arr)
00022 {
00023 double max = arr[0];
00024
00025 if(sizeof(arr)/sizeof(double) == 0)
00026 return *arr;
00027 for(int i = 0; i < (int) (sizeof(arr)/sizeof(double)); i++)
00028 {
00029 if(arr[i]>max)
00030 max = arr[i];
00031 }
00032 return max;
00033 }
00034
00035
00036 static double getVMax(vector<double> vec)
00037 {
00038 double max = vec.at(0);
00039
00040 if(vec.size() == 0)
00041 return vec.at(0);
00042 for(unsigned int i = 0; i < vec.size(); i++)
00043 {
00044 if(vec[i]>max)
00045 max = vec[i];
00046 }
00047 return max;
00048 }
00049
00050
00051 static double round(double value)
00052 {
00053 return floor(value + 0.5);
00054 }
00055
00056
00057 };
00058
00059 #endif // MATHUTIL_H