36 #ifndef OPM_AVERAGE_HEADER 37 #define OPM_AVERAGE_HEADER 40 #include <type_traits> 50 template <
typename T,
typename Tresult>
51 Tresult arithmeticAverage(
const T& t1,
const T& t2)
55 static_assert(std::is_integral<T>::value ==
false,
"");
69 T geometricAverage(
const T& t1,
const T& t2)
73 static_assert(std::is_integral<T>::value ==
false,
"");
76 return std::sqrt(t1*t2);
84 T harmonicAverage(
const T& t1,
const T& t2)
88 static_assert(std::is_integral<T>::value ==
false,
"");
91 return (2*t1*t2)/(t1 + t2);
101 #endif // OPM_AVERAGE_HEADER Definition: AnisotropicEikonal.cpp:446