|
struct | dg::ZERO |
| \( f(x, ...) = 0\) More...
|
|
struct | dg::ONE |
| \( f(x,...) = 1\) More...
|
|
struct | dg::CONSTANT |
| \( f(x,...) = c\) More...
|
|
struct | dg::PLUS< T > |
| \( f(x) = x + c\) More...
|
|
struct | dg::EXP< T > |
| \( f(x) = \exp( x)\) More...
|
|
struct | dg::LN< T > |
| \( f(x) = \ln(x)\) More...
|
|
struct | dg::SQRT< T > |
| \( f(x) = \sqrt{x}\) More...
|
|
struct | dg::Square |
| \( f(x) = x^2\) More...
|
|
struct | dg::InvSqrt< T > |
| \( f(x) = \frac{1}{\sqrt{x}}\) More...
|
|
struct | dg::INVERT< T > |
| \( f(x) = 1/x \) More...
|
|
struct | dg::ABS< T > |
| \( f(x) = |x|\) More...
|
|
struct | dg::Sign< T > |
| \( f(x) = \text{sgn}(x) = \begin{cases}
-1 \text{ for } x < 0 \\
0 \text{ for } x = 0 \\
+1 \text{ for } x > 0
\end{cases}\) More...
|
|
struct | dg::AbsMax< T > |
| \( f(x,y) = \max(|x|,|y|)\) More...
|
|
struct | dg::AbsMin< T > |
| \( f(x,y) = \min(|x|,|y|)\) More...
|
|
struct | dg::POSVALUE< T > |
| \( f(x) = \begin{cases}
x \text{ for } x>0 \\
0 \text{ else}
\end{cases}
\) More...
|
|
struct | dg::MOD< T > |
| \( f(x) = \) x mod m > 0 ? x mod m : x mod m + m More...
|
|
struct | dg::ISNFINITE< T > |
| \( f(x) = \mathrm{!std::isfinite(x)}\) More...
|
|
struct | dg::ISNSANE< T > |
| \( f(x) =\begin{cases} \mathrm{true\ if}\ |x| > 10^{100}\\
\mathrm{false\ else}
\end{cases}\) More...
|
|
struct | dg::MinMod |
| \( f(x_1, x_2, ...) = \begin{cases}
\min(x_1, x_2, ...) &\text{ for } x_1, x_2, ... >0 \\
\max(x_1, x_2, ...) &\text{ for } x_1, x_2, ... <0 \\
0 &\text{ else}
\end{cases}
\) More...
|
|
struct | dg::VanLeer |
| \( f(x_1,x_2) = 2\begin{cases}
\frac{x_1x_2}{x_1+x_2} &\text{ if } x_1x_2 > 0 \\
0 & \text { else }
\end{cases}
\) More...
|
|
struct | dg::Upwind |
| \( \text{up}(v, b, f ) = \begin{cases} b &\text{ if } v \geq 0 \\
f &\text{ else}
\end{cases}
\) More...
|
|
struct | dg::UpwindProduct |
| \( \text{up}(v, b, f ) = v \begin{cases} b &\text{ if } v \geq 0 \\
f &\text{ else}
\end{cases}
\) More...
|
|
struct | dg::SlopeLimiter< Limiter > |
| \( \text{up}(v, g_m, g_0, g_p, h_m, h_p ) = \begin{cases} +h_m \Lambda( g_0, g_m) &\text{ if } v \geq 0 \\
-h_p \Lambda( g_p, g_0) &\text{ else}
\end{cases}
\) More...
|
|
struct | dg::SlopeLimiterProduct< Limiter > |
| \( \text{up}(v, g_m, g_0, g_p, h_m, h_p ) = v \begin{cases} +h_m \Lambda( g_0, g_m) &\text{ if } v \geq 0 \\
-h_p \Lambda( g_p, g_0) &\text{ else}
\end{cases}
\) More...
|
|
struct | dg::IDENTITY |
| \( f(x) = x\) More...
|
|
|
template<class T , class ... Ts> |
DG_DEVICE T | dg::zero (T x, Ts ...xs) |
| This enum can be used in dg::evaluate .
|
|
template<class T , class ... Ts> |
DG_DEVICE T | dg::one (T x, Ts ...xs) |
| \( f(x, ...) = 1\)
|
|
DG_DEVICE double | dg::cooX1d (double x) |
| \( f(x) = x\)
|
|
DG_DEVICE double | dg::cooX2d (double x, double y) |
| \( f(x,y) = x\)
|
|
DG_DEVICE double | dg::cooX3d (double x, double y, double z) |
| \( f(x,y,z) = x\)
|
|
DG_DEVICE double | dg::cooY2d (double x, double y) |
| \( f(x,y) = y\)
|
|
DG_DEVICE double | dg::cooY3d (double x, double y, double z) |
| \( f(x,y,z) = y\)
|
|
DG_DEVICE double | dg::cooZ3d (double x, double y, double z) |
| \( f(x,y,z) = z\)
|
|
DG_DEVICE double | dg::cooRZP2X (double R, double Z, double P) |
| \( x = R\sin(\varphi)\)
|
|
DG_DEVICE double | dg::cooRZP2Y (double R, double Z, double P) |
| \( y = R\cos(\varphi)\)
|
|
DG_DEVICE double | dg::cooRZP2Z (double R, double Z, double P) |
| \( z = Z\)
|
|
template<class T > |
T | dg::gcd (T a, T b) |
| Greatest common divisor.
|
|
template<class T > |
T | dg::lcm (T a, T b) |
| Least common multiple.
|
|
bool | dg::is_same (double x, double y, double eps=1e-15) |
|
bool | dg::is_same (float x, float y, float eps=1e-6) |
|
template<class T > |
bool | dg::is_same (T x, T y) |
|
bool | dg::is_divisable (double a, double b, double eps=1e-15) |
|
bool | dg::is_divisable (float a, float b, float eps=1e-6) |
|