Project
Loading...
Searching...
No Matches
o2::math_utils::detail Namespace Reference

Namespaces

namespace  row_offsets_utils
 

Classes

struct  Assign
 
struct  Assign< T, D1, D2, A, MatRepSymGPU< T, D1 >, MatRepStdGPU< T, D1, D2 > >
 
struct  Assign< T, D1, D2, A, MatRepSymGPU< T, D1 >, MatRepSymGPU< T, D1 > >
 
struct  AssignSym
 
class  Bracket
 
struct  Check
 
struct  Check< false >
 
struct  CircleXY
 
class  Expr
 
struct  GPUPoint2D
 
struct  GPUPoint3D
 
class  IntervalXY
 
class  Inverter
 Inversion. More...
 
class  MatRepStdGPU
 SMatReprStd starting port here. More...
 
class  MatRepSymGPU
 
class  MatrixMulOpGPU
 
struct  meta_dot
 
struct  meta_dot< 0 >
 
struct  meta_matrix_dot
 
struct  meta_matrix_dot< 0 >
 
struct  MultPolicyGPU
 
class  SMatrixGPU
 
struct  SMatrixIdentity
 SMatrixGPU starting port here. More...
 
struct  SMatrixNoInit
 
struct  StatAccumulator
 
class  SVectorGPU
 
class  TransposeOpGPU
 
struct  TranspPolicyGPU
 
struct  TranspPolicyGPU< T, D1, D2, MatRepSymGPU< T, D1 > >
 

Functions

template<typename T >
 GPUhdi () T copysign(T x
 
template<class T >
 GPUdi () int nint(T x)
 
 GPUdi () unsigned int clz(unsigned int val)
 
template<>
 GPUhdi () double copysign(double x
 
template<>
 GPUhdi () double sqrt(double x)
 
template<>
 GPUdi () int nint(double x)
 
template<>
 GPUdi () bool finite(double x)
 
template<>
 GPUdi () double log(double x)
 
int numberOfBitsSet (uint32_t x)
 
template<typename T >
constexpr uint32_t bit2Mask (T v)
 
template<typename T , typename... Args>
constexpr uint32_t bit2Mask (T first, Args... args)
 
template<typename T >
 GPUdi () T &IntervalXY< T >
 
template<typename T >
 GPUhdi () void bringTo02Pi(T &phi)
 
template<typename T >
T to02PiGen (T phi)
 
template<typename T >
void bringTo02PiGen (T &phi)
 
template<typename T >
T toPMPiGen (T phi)
 
template<typename T >
void bringToPMPiGen (T &phi)
 
template<>
 GPUhdi () void sincos(double ang
 
template<typename T >
std::tuple< T, TrotateZ (T xL, T yL, T snAlp, T csAlp)
 
 if (!okForPhiMin(phi0, phi1))
 
 if (phi0 > phi1)
 
 bringTo02Pi (phi)
 
 if (del< 0)
 
return copysign< T > (atan2P(o2::gpu::GPUCommonMath::Abs(y), x), y)
 
template<>
 GPUdi () double twoPi()
 
template<>
 GPUdi () double pi()
 
template<>
 GPUdi () double tan(double x)
 
template<>
 GPUdi () double sin(double x)
 
template<>
 GPUdi () double atan2(double y
 
template<>
 GPUdi () double atan(double x)
 
template<>
 GPUdi () double asin(double x)
 
template<>
 GPUdi () double acos(double x)
 
template<>
 GPUdi () double cos(double x)
 
template<class T , unsigned int D>
 GPUdi () T *SVectorGPU< T
 
template<class T , unsigned int N>
 GPUhdi () const T &SVectorGPU< T
 
template<class T , unsigned int N>
 GPUdi () const T &SVectorGPU< T
 
template<class T , unsigned int N>
 GPUd () SVectorGPU< T
 
template<class T , unsigned int D1, unsigned int D2, class R , typename Y , typename X = Y>
requires (sizeof(typename X::traits_type::pos_type) != 0)
 GPUd () X &operator<<(Y &y
 
template<class T , unsigned int D1, unsigned int D2, class R >
const SMatrixGPU< T, D1, D2, R > & GPUdi () SMatrixGPU< T
 
template<class T , unsigned int D1, unsigned int D2, class R >
 GPUdi () SMatrixGPU< T
 
template<class R2 >
 GPUd () SMatrixGPU< T
 
template<class T , unsigned int D1, unsigned int D2, class R >
 GPUdi () const T &SMatrixGPU< T
 
template<class T , unsigned int D1, unsigned int D, unsigned int D2, class R1 , class R2 >
 GPUdi () Expr< MatrixMulOpGPU< SMatrixGPU< T
 
MultPolicyGPU< T, R1, R2 >::RepType operator* (const SMatrixGPU< T, D1, D, R1 > &lhs, const SMatrixGPU< T, D, D2, R2 > &rhs)
 
D1 operator* (const SMatrixGPU< T, D1, D2, R > &rhs, const SVectorGPU< T, D2 > &lhs)
 
TranspPolicyGPU< T, D1, D2, R >::RepType Transpose (const SMatrixGPU< T, D1, D2, R > &rhs)
 
MatRepSymGPU< T, D1Similarity (const SMatrixGPU< T, D1, D2, R > &lhs, const SMatrixGPU< T, D2, D2, MatRepSymGPU< T, D2 > > &rhs)
 

Variables

T y
 
Ts
 
T Tc
 
T yL
 
T TxG
 
T T TyG = xL * snAlp + yL * csAlp
 
T T T T snAlp
 
T T T T T csAlp
 
T TxL
 
T phi
 
template<typename T >
return((dphi > 0 &&dphi< constants::math::PI)||dphi< -constants::math::PI) ? true GPUhdi () const expr bool okForPhiMax(T phiMax
 
return((dphi< 0 &&dphi > -constants::math::PI)||dphi > constants::math::PI) ? true T phi1
 
 else
 
 del = phi1 - phi0
 
T x
 
auto atan
 
auto atan2P
 
Dlhs
 
D const SVectorGPU< T, D > & rhs
 
const SMatrixGPU< T, D1, D2, RD1
 
const SMatrixGPU< T, D1, D2, RD2
 
 D
 
 R1
 
 SMatrixGPU< T, D, D2, R2 >
 
 T
 
 R
 

Function Documentation

◆ bit2Mask() [1/2]

template<typename T , typename... Args>
constexpr uint32_t o2::math_utils::detail::bit2Mask ( T  first,
Args...  args 
)
constexpr

Definition at line 46 of file bitOps.h.

◆ bit2Mask() [2/2]

template<typename T >
constexpr uint32_t o2::math_utils::detail::bit2Mask ( T  v)
constexpr

Definition at line 40 of file bitOps.h.

◆ bringTo02Pi()

o2::math_utils::detail::bringTo02Pi ( phi  )

◆ bringTo02PiGen()

template<typename T >
void o2::math_utils::detail::bringTo02PiGen ( T phi)
inline

Definition at line 68 of file trigonometric.h.

◆ bringToPMPiGen()

template<typename T >
void o2::math_utils::detail::bringToPMPiGen ( T phi)
inline

Definition at line 107 of file trigonometric.h.

◆ copysign< T >()

return o2::math_utils::detail::copysign< T > ( atan2P(o2::gpu::GPUCommonMath::Abs(y), x ,
y   
)

◆ GPUd() [1/3]

template<class R2 >
o2::math_utils::detail::GPUd ( )

◆ GPUd() [2/3]

template<class T , unsigned int N>
o2::math_utils::detail::GPUd ( )

◆ GPUd() [3/3]

template<class T , unsigned int D1, unsigned int D2, class R , typename Y , typename X = Y>
requires (sizeof(typename X::traits_type::pos_type) != 0)
o2::math_utils::detail::GPUd ( ) &

◆ GPUdi() [1/21]

template<>
o2::math_utils::detail::GPUdi ( )

Definition at line 114 of file basicMath.h.

◆ GPUdi() [2/21]

template<class T , unsigned int D1, unsigned int D2, class R >
o2::math_utils::detail::GPUdi ( ) const &

◆ GPUdi() [3/21]

template<class T , unsigned int N>
o2::math_utils::detail::GPUdi ( ) const &

◆ GPUdi() [4/21]

template<>
o2::math_utils::detail::GPUdi ( )

Definition at line 405 of file trigonometric.h.

◆ GPUdi() [5/21]

template<>
o2::math_utils::detail::GPUdi ( )

Definition at line 400 of file trigonometric.h.

◆ GPUdi() [6/21]

template<>
o2::math_utils::detail::GPUdi ( )

Definition at line 395 of file trigonometric.h.

◆ GPUdi() [7/21]

template<>
o2::math_utils::detail::GPUdi ( )

◆ GPUdi() [8/21]

template<>
o2::math_utils::detail::GPUdi ( )

Definition at line 410 of file trigonometric.h.

◆ GPUdi() [9/21]

template<>
o2::math_utils::detail::GPUdi ( )

Definition at line 119 of file basicMath.h.

◆ GPUdi() [10/21]

template<>
o2::math_utils::detail::GPUdi ( )

Definition at line 373 of file trigonometric.h.

◆ GPUdi() [11/21]

template<>
o2::math_utils::detail::GPUdi ( )

Definition at line 385 of file trigonometric.h.

◆ GPUdi() [12/21]

template<>
o2::math_utils::detail::GPUdi ( )

Definition at line 380 of file trigonometric.h.

◆ GPUdi() [13/21]

template<>
o2::math_utils::detail::GPUdi ( )

Definition at line 361 of file trigonometric.h.

◆ GPUdi() [14/21]

template<class T , unsigned int D1, unsigned int D, unsigned int D2, class R1 , class R2 >
o2::math_utils::detail::GPUdi ( )

◆ GPUdi() [15/21]

template<>
o2::math_utils::detail::GPUdi ( )

Definition at line 109 of file basicMath.h.

◆ GPUdi() [16/21]

template<class T >
o2::math_utils::detail::GPUdi ( )

Definition at line 66 of file basicMath.h.

◆ GPUdi() [17/21]

template<class T , unsigned int D1, unsigned int D2, class R >
const SMatrixGPU< T, D1, D2, R > & o2::math_utils::detail::GPUdi ( )

◆ GPUdi() [18/21]

template<class T , unsigned int D1, unsigned int D2, class R >
o2::math_utils::detail::GPUdi ( )

◆ GPUdi() [19/21]

template<typename T >
o2::math_utils::detail::GPUdi ( ) &

Definition at line 130 of file IntervalXY.h.

◆ GPUdi() [20/21]

template<class T , unsigned int D>
o2::math_utils::detail::GPUdi ( )

◆ GPUdi() [21/21]

o2::math_utils::detail::GPUdi ( )

Definition at line 77 of file basicMath.h.

◆ GPUhdi() [1/6]

template<class T , unsigned int N>
o2::math_utils::detail::GPUhdi ( ) const &

◆ GPUhdi() [2/6]

template<>
o2::math_utils::detail::GPUhdi ( )

Definition at line 104 of file basicMath.h.

◆ GPUhdi() [3/6]

template<>
o2::math_utils::detail::GPUhdi ( )

Definition at line 100 of file basicMath.h.

◆ GPUhdi() [4/6]

template<typename T >
o2::math_utils::detail::GPUhdi ( )

Definition at line 54 of file basicMath.h.

◆ GPUhdi() [5/6]

template<typename T >
o2::math_utils::detail::GPUhdi ( ) &

Definition at line 48 of file trigonometric.h.

◆ GPUhdi() [6/6]

template<>
o2::math_utils::detail::GPUhdi ( )

◆ if() [1/3]

o2::math_utils::detail::if ( okForPhiMinphi0, phi1)

Definition at line 239 of file trigonometric.h.

◆ if() [2/3]

o2::math_utils::detail::if ( )

Definition at line 264 of file trigonometric.h.

◆ if() [3/3]

o2::math_utils::detail::if ( phi0  ,
phi1   
)

Definition at line 244 of file trigonometric.h.

◆ numberOfBitsSet()

int o2::math_utils::detail::numberOfBitsSet ( uint32_t  x)
inline

Definition at line 30 of file bitOps.h.

◆ operator*() [1/2]

MultPolicyGPU< T, R1, R2 >::RepType o2::math_utils::detail::operator* ( const SMatrixGPU< T, D1, D, R1 > &  lhs,
const SMatrixGPU< T, D, D2, R2 > &  rhs 
)

Definition at line 748 of file SMatrixGPU.h.

◆ operator*() [2/2]

D1 o2::math_utils::detail::operator* ( const SMatrixGPU< T, D1, D2, R > &  rhs,
const SVectorGPU< T, D2 > &  lhs 
)

Definition at line 1482 of file SMatrixGPU.h.

◆ rotateZ()

template<typename T >
std::tuple< T, T > o2::math_utils::detail::rotateZ ( T  xL,
T  yL,
T  snAlp,
T  csAlp 
)
inline

Definition at line 143 of file trigonometric.h.

◆ Similarity()

MatRepSymGPU< T, D1 > o2::math_utils::detail::Similarity ( const SMatrixGPU< T, D1, D2, R > &  lhs,
const SMatrixGPU< T, D2, D2, MatRepSymGPU< T, D2 > > &  rhs 
)

Definition at line 1502 of file SMatrixGPU.h.

◆ to02PiGen()

template<typename T >
T o2::math_utils::detail::to02PiGen ( T  phi)
inline

Definition at line 54 of file trigonometric.h.

◆ toPMPiGen()

template<typename T >
T o2::math_utils::detail::toPMPiGen ( T  phi)
inline

Definition at line 93 of file trigonometric.h.

◆ Transpose()

TranspPolicyGPU< T, D1, D2, R >::RepType o2::math_utils::detail::Transpose ( const SMatrixGPU< T, D1, D2, R > &  rhs)

Definition at line 1495 of file SMatrixGPU.h.

Variable Documentation

◆ atan

auto o2::math_utils::detail::atan
Initial value:
= [](T a) -> T {
constexpr T A = 0.0776509570923569;
constexpr T B = -0.287434475393028;
constexpr T C = (Pi / 4 - A - B);
const T a2 = a * a;
return ((A * a2 + B) * a2 + C) * a;
}
Definition A.h:16
Definition B.h:16
GLboolean GLboolean GLboolean GLboolean a
Definition glcorearb.h:1233

Definition at line 279 of file trigonometric.h.

◆ atan2P

auto o2::math_utils::detail::atan2P
Initial value:
= [atan](T yy, T xx) -> T {
constexpr T Pi025 = 1 * Pi / 4;
constexpr T Pi075 = 3 * Pi / 4;
const T x1 = xx + yy;
const T y1 = yy - xx;
T phi0 = 0;
T tan = 0;
if (xx < 0) {
phi0 = Pi075;
tan = -x1 / y1;
} else {
phi0 = Pi025;
tan = y1 / x1;
}
return phi0 + atan(tan);
}
GLuint GLfloat GLfloat GLfloat GLfloat y1
Definition glcorearb.h:5034
GLuint GLfloat GLfloat GLfloat x1
Definition glcorearb.h:5034

Definition at line 290 of file trigonometric.h.

◆ c

double double & o2::math_utils::detail::c
Initial value:
{
return o2::gpu::GPUCommonMath::SinCos(ang, s, c)
uint32_t c
Definition RawData.h:2

Definition at line 120 of file trigonometric.h.

◆ csAlp

T T T T T o2::math_utils::detail::csAlp

◆ D

o2::math_utils::detail::D

Definition at line 747 of file SMatrixGPU.h.

◆ D1

o2::math_utils::detail::D1

Definition at line 529 of file SMatrixGPU.h.

◆ D2

o2::math_utils::detail::D2

Definition at line 529 of file SMatrixGPU.h.

◆ del

return o2::math_utils::detail::del = phi1 - phi0

Definition at line 263 of file trigonometric.h.

◆ else

o2::math_utils::detail::else
Initial value:
{
phi = 0.5 * (phi0 + phi1)
return((dphi< 0 &&dphi > -constants::math::PI)||dphi > constants::math::PI) ? true T phi1

Definition at line 246 of file trigonometric.h.

◆ GPUhdi

template<typename T >
o2::math_utils::detail::GPUhdi ( ) const

Definition at line 227 of file trigonometric.h.

◆ lhs

D& o2::math_utils::detail::lhs

Definition at line 190 of file SMatrixGPU.h.

◆ phi

return o2::math_utils::detail::phi
Initial value:
{
const T dphi = phi - phiMin

Definition at line 219 of file trigonometric.h.

◆ phi1

T o2::math_utils::detail::phi1
Initial value:
{

Definition at line 235 of file trigonometric.h.

◆ R

o2::math_utils::detail::R

Definition at line 1495 of file SMatrixGPU.h.

◆ R1

o2::math_utils::detail::R1

Definition at line 747 of file SMatrixGPU.h.

◆ rhs

D const SVectorGPU<T, D>& o2::math_utils::detail::rhs
Initial value:
{
return meta_dot<D - 1>::f(lhs, rhs, T())

Definition at line 190 of file SMatrixGPU.h.

◆ s

double & o2::math_utils::detail::s

Definition at line 120 of file trigonometric.h.

◆ SMatrixGPU< T, D, D2, R2 >

Definition at line 747 of file SMatrixGPU.h.

◆ snAlp

T T T T o2::math_utils::detail::snAlp

Definition at line 170 of file trigonometric.h.

◆ T

o2::math_utils::detail::T

Definition at line 747 of file SMatrixGPU.h.

◆ x

double o2::math_utils::detail::x
Initial value:
{
constexpr T Pi = 3.1415926535897932384626433832795

Definition at line 271 of file trigonometric.h.

◆ xG

T T& o2::math_utils::detail::xG

Definition at line 170 of file trigonometric.h.

◆ xL

T T& o2::math_utils::detail::xL

Definition at line 179 of file trigonometric.h.

◆ y

double o2::math_utils::detail::y
Initial value:
{
return o2::gpu::GPUCommonMath::Copysign(x, y)
GLint GLenum GLint x
Definition glcorearb.h:403

Definition at line 36 of file basicMath.h.

◆ yG

T o2::math_utils::detail::yG = xL * snAlp + yL * csAlp

Definition at line 170 of file trigonometric.h.

◆ yL

T T T & o2::math_utils::detail::yL

Definition at line 170 of file trigonometric.h.