|
unsigned int | gmx::log2I (std::int32_t x) |
| Compute floor of logarithm to base 2, 32 bit signed argument. More...
|
|
unsigned int | gmx::log2I (std::int64_t x) |
| Compute floor of logarithm to base 2, 64 bit signed argument. More...
|
|
unsigned int | gmx::log2I (std::uint32_t x) |
| Compute floor of logarithm to base 2, 32 bit unsigned argument. More...
|
|
unsigned int | gmx::log2I (std::uint64_t x) |
| Compute floor of logarithm to base 2, 64 bit unsigned argument. More...
|
|
std::int64_t | gmx::greatestCommonDivisor (std::int64_t p, std::int64_t q) |
| Find greatest common divisor of two numbers. More...
|
|
static float | gmx::invsqrt (float x) |
| Calculate 1.0/sqrt(x) in single precision. More...
|
|
static double | gmx::invsqrt (double x) |
| Calculate 1.0/sqrt(x) in double precision, but single range. More...
|
|
static double | gmx::invsqrt (int x) |
| Calculate 1.0/sqrt(x) for integer x in double precision. More...
|
|
static float | gmx::invcbrt (float x) |
| Calculate inverse cube root of x in single precision. More...
|
|
static double | gmx::invcbrt (double x) |
| Calculate inverse sixth root of x in double precision. More...
|
|
static double | gmx::invcbrt (int x) |
| Calculate inverse sixth root of integer x in double precision. More...
|
|
static float | gmx::sixthroot (float x) |
| Calculate sixth root of x in single precision. More...
|
|
static double | gmx::sixthroot (double x) |
| Calculate sixth root of x in double precision. More...
|
|
static double | gmx::sixthroot (int x) |
| Calculate sixth root of integer x, return double. More...
|
|
static float | gmx::invsixthroot (float x) |
| Calculate inverse sixth root of x in single precision. More...
|
|
static double | gmx::invsixthroot (double x) |
| Calculate inverse sixth root of x in double precision. More...
|
|
static double | gmx::invsixthroot (int x) |
| Calculate inverse sixth root of integer x in double precision. More...
|
|
template<typename T > |
T | gmx::square (T x) |
| calculate x^2 More...
|
|
template<typename T > |
T | gmx::power3 (T x) |
| calculate x^3 More...
|
|
template<typename T > |
T | gmx::power4 (T x) |
| calculate x^4 More...
|
|
template<typename T > |
T | gmx::power5 (T x) |
| calculate x^5 More...
|
|
template<typename T > |
T | gmx::power6 (T x) |
| calculate x^6 More...
|
|
template<typename T > |
T | gmx::power12 (T x) |
| calculate x^12 More...
|
|
static real | gmx::series_sinhx (real x) |
| Maclaurin series for sinh(x)/x. More...
|
|
double | gmx::erfinv (double x) |
| Inverse error function, double precision. More...
|
|
float | gmx::erfinv (float x) |
| Inverse error function, single precision. More...
|
|
constexpr int32_t | gmx::exactDiv (int32_t a, int32_t b) |
| Exact integer division, 32bit. More...
|
|
constexpr int64_t | gmx::exactDiv (int64_t a, int64_t b) |
| Exact integer division, 64bit.
|
|
static int | gmx::roundToInt (float x) |
| Round float to int. More...
|
|
static int | gmx::roundToInt (double x) |
| Round double to int.
|
|
static int64_t | gmx::roundToInt64 (float x) |
| Round float to int64_t.
|
|
static int64_t | gmx::roundToInt64 (double x) |
| Round double to int64_t.
|
|
template<typename T , typename = std::enable_if_t<std::is_integral<T>::value>> |
static constexpr bool | gmx::isPowerOfTwo (const T v) |
| Check whether v is an integer power of 2.
|
|
template<typename T > |
constexpr T | gmx::divideRoundUp (T numerator, T denominator) |
| Return numerator divided by denominator rounded up to the next integer. More...
|
|
template<typename T > |
T | gmx::makePeriodic (const T x, const T period) |
| Return x modulo period such that it is within the interval [-0.5*period, 0.5*period]. More...
|
|