OpenLB 1.7
Loading...
Searching...
No Matches
Namespaces | Functions
omath.h File Reference
#include <iostream>
#include <cmath>
#include <cstdlib>
#include <type_traits>
+ Include dependency graph for omath.h:

Go to the source code of this file.

Namespaces

namespace  olb
 Top level namespace for all of OpenLB.
 
namespace  olb::util
 

Functions

template<typename T , typename S >
any_platform auto olb::util::pow (T base, S exp) -> std::enable_if_t< std::is_arithmetic_v< T >, decltype(std::pow(base, exp))>
 
any_platform float olb::util::powf (float base, float exp)
 
long double olb::util::powl (long double base, long double exp)
 
float olb::util::fmod (float x, float y)
 
float olb::util::fmodf (float x, float y)
 
double olb::util::fmod (double x, double y)
 
long double olb::util::fmod (long double x, long double y)
 
long double olb::util::fmodl (long double x, long double y)
 
float olb::util::fmod (float x, int y)
 
double olb::util::fmod (double x, int y)
 
long double olb::util::fmod (long double x, int y)
 
template<typename T , typename S >
auto olb::util::fmod (T x, S y)
 
template<typename T >
std::enable_if_t< std::is_floating_point_v< T >, T > olb::util::exp (T arg) any_platform
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::exp (T arg) any_platform
 
float olb::util::expf (float arg)
 
long double olb::util::expl (long double arg)
 
float olb::util::log (float arg)
 
float olb::util::logf (float arg)
 
double olb::util::log (double arg)
 
long double olb::util::log (long double arg)
 
long double olb::util::logl (long double arg)
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::log (T arg)
 
float olb::util::log10 (float arg)
 
float olb::util::log10f (float arg)
 
double olb::util::log10 (double arg)
 
long double olb::util::log10 (long double arg)
 
long double olb::util::log10l (long double arg)
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::log10 (T arg)
 
float olb::util::log2 (float arg)
 
float olb::util::log2f (float arg)
 
double olb::util::log2 (double arg)
 
long double olb::util::log2 (long double arg)
 
long double olb::util::log2l (long double arg)
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::log2 (T arg)
 
float olb::util::log1p (float arg)
 
float olb::util::log1pf (float arg)
 
double olb::util::log1p (double arg)
 
long double olb::util::log1p (long double arg)
 
long double olb::util::log1pl (long double arg)
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::log1p (T arg)
 
any_platform float olb::util::sqrtf (float arg)
 
long double olb::util::sqrtl (long double arg)
 
template<typename T >
std::enable_if_t< std::is_floating_point_v< T >, T > olb::util::sqrt (T arg) any_platform
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::sqrt (T arg) any_platform
 
float olb::util::sin (float arg)
 
float olb::util::sinf (float arg)
 
double olb::util::sin (double arg)
 
long double olb::util::sin (long double arg)
 
long double olb::util::sinl (long double arg)
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::sin (T arg)
 
float olb::util::sinh (float arg)
 
float olb::util::sinhf (float arg)
 
double olb::util::sinh (double arg)
 
long double olb::util::sinh (long double arg)
 
long double olb::util::sinhl (long double arg)
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::sinh (T arg)
 
float olb::util::cos (float arg)
 
float olb::util::cosf (float arg)
 
double olb::util::cos (double arg)
 
long double olb::util::cos (long double arg)
 
long double olb::util::cosl (long double arg)
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::cos (T arg)
 
float olb::util::cosh (float arg)
 
float olb::util::coshf (float arg)
 
double olb::util::cosh (double arg)
 
long double olb::util::cosh (long double arg)
 
long double olb::util::coshl (long double arg)
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::cosh (T arg)
 
float olb::util::tan (float arg)
 
float olb::util::tanf (float arg)
 
double olb::util::tan (double arg)
 
long double olb::util::tan (long double arg)
 
long double olb::util::tanl (long double arg)
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::tan (T arg)
 
float olb::util::tanh (float arg)
 
float olb::util::tanhf (float arg)
 
double olb::util::tanh (double arg)
 
long double olb::util::tanh (long double arg)
 
long double olb::util::tanhl (long double arg)
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::tanh (T arg)
 
float olb::util::asin (float arg)
 
float olb::util::asinf (float arg)
 
double olb::util::asin (double arg)
 
long double olb::util::asin (long double arg)
 
long double olb::util::asinl (long double arg)
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::asin (T arg)
 
float olb::util::asinh (float arg)
 
float olb::util::asinhf (float arg)
 
double olb::util::asinh (double arg)
 
long double olb::util::asinh (long double arg)
 
long double olb::util::asinhl (long double arg)
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::asinh (T arg)
 
float olb::util::acos (float arg)
 
float olb::util::acosf (float arg)
 
double olb::util::acos (double arg)
 
long double olb::util::acos (long double arg)
 
long double olb::util::acosl (long double arg)
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::acos (T arg)
 
float olb::util::acosh (float arg)
 
float olb::util::acoshf (float arg)
 
double olb::util::acosh (double arg)
 
long double olb::util::acosh (long double arg)
 
long double olb::util::acoshl (long double arg)
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::acosh (T arg)
 
float olb::util::atan (float arg)
 
float olb::util::atanf (float arg)
 
double olb::util::atan (double arg)
 
long double olb::util::atan (long double arg)
 
long double olb::util::atanl (long double arg)
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::atan (T arg)
 
float olb::util::atan2 (float y, float x)
 
float olb::util::atan2f (float y, float x)
 
double olb::util::atan2 (double y, double x)
 
long double olb::util::atan2 (long double y, long double x)
 
long double olb::util::atan2l (long double y, long double x)
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::atan2 (T y, T x)
 
float olb::util::atanh (float arg)
 
float olb::util::atanhf (float arg)
 
double olb::util::atanh (double arg)
 
long double olb::util::atanh (long double arg)
 
long double olb::util::atanhl (long double arg)
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::atanh (T arg)
 
float olb::util::floor (float arg)
 
double olb::util::floor (double arg)
 
long double olb::util::floor (long double arg)
 
float olb::util::floorf (float arg)
 
long double olb::util::floorl (long double arg)
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::floor (T arg)
 
float olb::util::ceil (float arg)
 
double olb::util::ceil (double arg)
 
long double olb::util::ceil (long double arg)
 
float olb::util::ceilf (float arg)
 
long double olb::util::ceill (long double arg)
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::ceil (T arg)
 
float olb::util::trunc (float arg)
 
float olb::util::truncf (float arg)
 
double olb::util::trunc (double arg)
 
long double olb::util::trunc (long double arg)
 
long double olb::util::truncl (long double arg)
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::trunc (T arg)
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::round (T arg)
 
float olb::util::round (float arg)
 
double olb::util::round (double arg)
 
long double olb::util::round (long double arg)
 
float olb::util::roundf (float arg)
 
double olb::util::roundf (double arg)
 
long double olb::util::roundl (long double arg)
 
template<typename T >
std::enable_if_t< std::is_arithmetic_v< T >, long > olb::util::lround (T arg)
 
long olb::util::lroundf (float arg)
 
long olb::util::lroundl (long double arg)
 
template<typename T >
std::enable_if_t< std::is_arithmetic_v< T >, long long > olb::util::llround (T arg)
 
long long olb::util::llroundf (float arg)
 
long long olb::util::llroundl (long double arg)
 
template<typename T >
std::enable_if_t< std::is_arithmetic_v< T >, T > olb::util::abs (T arg) any_platform
 
template<typename T >
std::enable_if_t< std::is_floating_point_v< T >, T > olb::util::fabs (T arg) any_platform
 
template<typename T >
std::enable_if_t< std::is_integral_v< T >, double > olb::util::fabs (T arg) any_platform
 
long olb::util::labs (long arg)
 
long long olb::util::llabs (long long arg)
 
float olb::util::fabsf (float arg)
 
long double olb::util::fabs (long double arg)
 
long double olb::util::fabsl (long double arg)