00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef GMATH_H
00018 #define GMATH_H
00019
00020 #include <math.h>
00021
00022 namespace camvox {
00023
00024 template <class T>
00025 static inline T gmin(T a, T b)
00026 {
00027 return a < b ? a : b;
00028 }
00029
00030 static inline double gmin(double a, double b)
00031 {
00032 return fmin(a, b);
00033 }
00034
00035 template <class T>
00036 static inline T gmax(T a, T b)
00037 {
00038 return a > b ? a : b;
00039 }
00040
00041 static inline double gmax(double a, double b)
00042 {
00043 return fmax(a, b);
00044 }
00045
00046 template <class T>
00047 static inline T gabs(T a)
00048 {
00049 return a < 0 ? -a : a;
00050 }
00051
00052 static inline double gabd(double a)
00053 {
00054 return fabs(a);
00055 }
00056
00057 static inline double gcos(double a) {
00058 return cos(a);
00059 }
00060
00061 static inline double gsin(double a) {
00062 return sin(a);
00063 }
00064
00065 static inline double gsquare(double a) {
00066 return a * a;
00067 }
00068
00069 static inline double gsqrt(double a) {
00070 return sqrt(a);
00071 }
00072
00073 }
00074
00075 #endif