|
template<int N, class T > |
void | tinker::symlusolve (const T *aUpRowMajor, T *b) |
| This subroutine uses the LU decomposition method to solve the linear system Ax = b, returning x in b. A is an n by n real symmetric matrix with its upper triangle (including the diagonal) stored by rows. More...
|
|
template<class T , class T2 > |
T | tinker::maxOf (T a, T2 b) |
|
template<class T , class T2 , class... Ts> |
T | tinker::maxOf (T a, T2 b, Ts... cs) |
|
template<class T , class T2 > |
T | tinker::minOf (T a, T2 b) |
|
template<class T , class T2 , class... Ts> |
T | tinker::minOf (T a, T2 b, Ts... cs) |
|
double | tinker::OUProcess (double t, double x0, double gamma, double a, double b, double R) |
| Returns the value of an Ornstein-Uhlenbeck process after time t. More...
|
|
constexpr bool | tinker::isPow2 (size_t val) |
| Return true if and only if val is a power of 2. More...
|
|
constexpr int | tinker::pow2 (int val) |
| Integer base 2 power. More...
|
|
constexpr long long | tinker::pow2ll (int val) |
| Long long integer base 2 power. More...
|
|
constexpr int | tinker::floorLog2_constexpr (size_t val) |
| The base-2 logarithm of val . More...
|
|
constexpr size_t | tinker::pow2Le (size_t val) |
| A power of 2 that is less than or equal to val . More...
|
|
constexpr size_t | tinker::pow2Ge (size_t val) |
| A power of 2 that is greater than or equal to val . More...
|
|
int | tinker::floorLog2 (int val) |
| Non-constexpr floorLog2(int) . More...
|
|
int | tinker::floorLog2 (long long val) |
| Non-constexpr floorLog2(long long) . More...
|
|
int | tinker::ceilLog2 (int val) |
| Non-constexpr log base 2 ceiling. More...
|
|
int | tinker::ceilLog2 (long long val) |
| Non-constexpr log base 2 ceiling. More...
|
|
template<class T > |
T | tinker::random () |
| Returns a random number on [0,1] from a uniform distribution. More...
|
|
template<class T > |
T | tinker::normal () |
| Returns a random number from a normal Gaussian distribution with a mean of zero and a standard deviation of one. More...
|
|
template<class T > |
T | tinker::normal (T u, T s) |
| Returns a random number from a normal Gaussian distribution with a mean of u and a standard deviation of s . More...
|
|
template<class T > |
T | tinker::chiSquared (int k) |
| Returns a random number as if the square of k independent standard normal N(0,1) random variables were aggregated. More...
|
|
void | tinker::randomData (RcOp) |
|
template<class T > |
T | tinker::sinhc (T x) |
| \( \sinh(x)/x \) More...
|
|
template<int DO_DTAPER> |
__device__ void | tinker::switchTaper5 (real rik, real cut, real off, real &__restrict__ taper, real &__restrict__ dtaper) |
| Smooth function F: [cut,off]->[1,0] . More...
|
|
template<class T > |
void | tinker::matmul3 (T R[3][3], T A[3][3], T B[3][3]) |
| Matrix multiplication of two 3 by 3 matrices. \( R = A B \). Matrices are stored in the row-major order (C-style). More...
|
|
template<class T > |
void | tinker::matmul3 (T R[3][3], T A[3][3]) |
| Matrix multiplication of two 3 by 3 matrices. \( R = A R \). Matrices are stored in the row-major order (C-style). More...
|
|
template<class T > |
void | tinker::trimatExp (T ans[3][3], T m[3][3], T t) |
| \( \exp(mt) \). Matrix m is 3 by 3 upper triangular. Matrices are stored in the row-major order (C-style). More...
|
|
template<class T > |
void | tinker::trimatExpm1c (T ans[3][3], T m[3][3], T t) |
| \( (\exp(mt)-I)/(mt) \). Matrix m is 3 by 3 upper triangular. Matrices are stored in the row-major order (C-style). More...
|
|
template<class T > |
void | tinker::trimatTExpm1c (T ans[3][3], T m[3][3], T t) |
| \( t \frac{\exp(mt)-I}{mt} \). Matrix m is 3 by 3 upper triangular. Matrices are stored in the row-major order (C-style). More...
|
|
void | tinker::zeroOnHost (int &v) |
| Zeros variable on host. More...
|
|
void | tinker::zeroOnHost (float &v) |
| Zeros variable on host. More...
|
|
void | tinker::zeroOnHost (double &v) |
| Zeros variable on host. More...
|
|
void | tinker::zeroOnHost (unsigned long long &v) |
| Zeros variable on host. More...
|
|
template<class T > |
void | tinker::zeroOnHost (T *&ptr) |
| Zeros variable on host. More...
|
|
template<class T , size_t N> |
void | tinker::zeroOnHost (T(&v)[N]) |
| Zeros variables on host. More...
|
|
template<class T , class... Ts> |
void | tinker::zeroOnHost (T &v, Ts &... vs) |
| Zeros variables on host. More...
|
|
template<class T > |
void | tinker::zeroOnDevice3Async (int nelem, T *a1, T *a2, T *a3) |
| Zeros variables on device. More...
|
|
template<class T , int N> |
void | tinker::zeroOnDevice3Async (int nelem, T(*a1)[N], T(*a2)[N], T(*a3)[N]) |
| Zeros variables on device. More...
|
|
template<class T > |
void | tinker::zeroOnDevice9Async (int nelem, T *a1, T *a2, T *a3, T *a4, T *a5, T *a6, T *a7, T *a8, T *a9) |
| Zeros variables on device. More...
|
|
__device__ int | tinker::intCopysignShift (int a, int b) |
| If b < 0 , returns -abs(a) , otherwise, returns abs(a) . Similar to the 32-bit integer version of Fortran SIGN(A,B) . More...
|
|
__device__ int | tinker::intCopysignIf (int a, int b) |
| If b < 0 , returns -abs(a) , otherwise, returns abs(a) . More...
|
|
__device__ int | tinker::ffsnShift (int c1, int n) |
| Find the position of the n-th least significant bit set in a 32-bit integer. Returns a value from 0 to 32. More...
|
|
__device__ int | tinker::ffsnLoop (int c1, int n) |
| An alternative implementation of ffsn using loop. More...
|
|
|
constexpr real | tinker::pi = M_PI |
| \( \pi \) More...
|
|
constexpr real | tinker::sqrtpi = 1.77245385090551602730 |
| \( \sqrt{\pi} \) More...
|
|
constexpr real | tinker::radian = 57.2957795130823208768 |
| \( 180/\pi \) More...
|
|
constexpr real | tinker::_1radian = 0.01745329251994329576924 |
| \( \pi/180 \) More...
|
|
using | tinker::real2 = float2 |
|
using | tinker::real3 = float3 |
|
using | tinker::real4 = float4 |
|
__device__ real3 | tinker::operator- (real3 a) |
|
__device__ real3 | tinker::operator+ (real3 a, real3 b) |
|
__device__ real3 | tinker::operator- (real3 a, real3 b) |
|
__device__ real3 | tinker::operator* (real a, real3 b) |
|
__device__ real3 | tinker::operator* (real3 b, real a) |
|
__device__ void | tinker::operator+= (real3 &a, real3 b) |
|
__device__ void | tinker::operator-= (real3 &a, real3 b) |
|
__device__ void | tinker::operator*= (real3 &a, real b) |
|
__device__ real | tinker::dot3 (real3 a, real3 b) |
|
__device__ real | tinker::dot3 (real3 a, real bx, real by, real bz) |
|
__device__ real | tinker::dot3 (real ax, real ay, real az, real3 b) |
|
__device__ real | tinker::dot3 (real ax, real ay, real az, real bx, real by, real bz) |
|
__device__ real3 | tinker::matvec (real xx, real xy, real xz, real yy, real yz, real zz, real3 v) |
|
__device__ real3 | tinker::cross (real ax, real ay, real az, real bx, real by, real bz) |
|
__device__ real3 | tinker::cross (real ax, real ay, real az, real3 b) |
|
__device__ real3 | tinker::cross (real3 a, real bx, real by, real bz) |
|
__device__ real3 | tinker::cross (real3 a, real3 b) |
|
template<class T > |
__device__ void | tinker::fsinhc1 (T d, T &__restrict__ f1d) |
|
template<class T > |
__device__ void | tinker::fsinhc2 (T d, T &__restrict__ f1d, T &__restrict__ f2d) |
|
template<class T > |
__device__ void | tinker::fsinhc3 (T d, T &__restrict__ f1d, T &__restrict__ f2d, T &__restrict__ f3d) |
|
template<class T > |
__device__ void | tinker::fsinhc4 (T d, T &__restrict__ f1d, T &__restrict__ f2d, T &__restrict__ f3d, T &__restrict__ f4d) |
|
template<class T > |
__device__ void | tinker::fsinhc5 (T d, T &__restrict__ f1d, T &__restrict__ f2d, T &__restrict__ f3d, T &__restrict__ f4d, T &__restrict__ f5d) |
|
template<class T > |
__device__ void | tinker::fsinhc6 (T d, T &__restrict__ f1d, T &__restrict__ f2d, T &__restrict__ f3d, T &__restrict__ f4d, T &__restrict__ f5d, T &__restrict__ f6d) |
|
template<class T > |
__device__ void | tinker::fsinhc7 (T d, T &__restrict__ f1d, T &__restrict__ f2d, T &__restrict__ f3d, T &__restrict__ f4d, T &__restrict__ f5d, T &__restrict__ f6d, T &__restrict__ f7d) |
|