Project
Loading...
Searching...
No Matches
o2::gpu::GPUCommonMath Class Reference

#include <GPUCommonMath.h>

Public Member Functions

 GPUd () static float2 MakeFloat2(float x
 
template<class T >
 GPUhd () const expr static T Min(const T x
 
template<class T >
 GPUhd () const expr static T Max(const T x
 
template<class T , class S , class R >
 GPUd () static T MinWithRef(T x
 
template<class T , class S , class R >
 GPUd () static T MaxWithRef(T x
 
template<class T , class S , class R >
 GPUd () static T MaxWithRef(T x
 
template<class T >
 GPUdi () const expr static T Clamp(const T v
 
 GPUhdni () const expr static float Sqrt(float x)
 
 GPUd () const expr static double Sqrtd(double x)
 
 GPUd () static float InvSqrt(float x)
 
template<class T >
 GPUdi () const expr static T Square(T x)
 
template<class T >
 GPUhd () const expr static T Abs(T x)
 
 GPUd () const expr static float ASin(float x)
 
 GPUd () const expr static double ASind(double x)
 
 GPUd () const expr static float ACos(float x)
 
 GPUd () const expr static double ACosd(double x)
 
 GPUd () const expr static float ATan(float x)
 
 GPUd () const expr static double ATand(double x)
 
 GPUhd () const expr static float ATan2(float y
 
 GPUd () const expr static double ATan2d(double y
 
 GPUd () const expr static float Sin(float x)
 
 GPUd () const expr static double Sind(double x)
 
 GPUd () const expr static float Cos(float x)
 
 GPUd () const expr static double Cosd(double x)
 
 GPUhdni () static void SinCos(float x
 
 GPUhdni () static void SinCosd(double x
 
 GPUd () const expr static float Tan(float x)
 
 GPUd () const expr static double Tand(double x)
 
 GPUd () const expr static float Pow(float x
 
 GPUd () const expr static float Log(float x)
 
 GPUd () const expr static double Logd(double x)
 
 GPUd () const expr static float Exp(float x)
 
 GPUd () const expr static double Expd(double x)
 
 GPUhdni () const expr static float Copysign(float x
 
 GPUd () const expr static double Copysignd(double x
 
 GPUd () const expr static float TwoPi()
 
 GPUd () const expr static float Pi()
 
 GPUd () const expr static float Round(float x)
 
 GPUd () const expr static float Floor(float x)
 
 GPUd () static uint32_t Float2UIntReint(const float &x)
 
 GPUd () const expr static uint32_t Float2UIntRn(float x)
 
 GPUd () const expr static int32_t Float2IntRn(float x)
 
 GPUd () const expr static float Modf(float x
 
 GPUhdi () static float Remainderf(float x
 
 GPUd () const expr static bool Finite(float x)
 
 GPUd () const expr static bool IsNaN(float x)
 
 GPUd () const expr static float QuietNaN()
 
 GPUd () const expr static uint32_t Clz(uint32_t val)
 
 GPUd () const expr static uint32_t Ctz(uint32_t val)
 
 GPUd () const expr static uint32_t Popcount(uint32_t val)
 
 GPUd () const expr static uint32_t Clz64(uint64_t val)
 
 GPUd () const expr static uint32_t Ctz64(uint64_t val)
 
 GPUd () const expr static uint32_t Popcount64(uint64_t val)
 
 GPUd () static void memcpy(void *dst
 
 GPUhdi () const expr static float Hypot(float x
 
 GPUhdi () const expr static float Hypot(float x
 
 GPUhdi () const expr static float Hypot(float x
 
template<typename T >
 GPUhd () const expr static void Swap(T &a
 
template<class T >
 GPUdi () static T AtomicExch(GPUglobalref() GPUgeneric() GPUAtomic(T) *addr
 
template<class T >
 GPUdi () static bool AtomicCAS(GPUglobalref() GPUgeneric() GPUAtomic(T) *addr
 
template<class T >
 GPUdi () static T AtomicAdd(GPUglobalref() GPUgeneric() GPUAtomic(T) *addr
 
template<class T >
 GPUdi () static void AtomicMax(GPUglobalref() GPUgeneric() GPUAtomic(T) *addr
 
template<class T >
 GPUdi () static void AtomicMin(GPUglobalref() GPUgeneric() GPUAtomic(T) *addr
 
template<class T >
 GPUdi () static T AtomicLoad(GPUglobalref() GPUgeneric() GPUAtomic(T) *addr)
 
template<class T >
 GPUdi () static void AtomicStore(GPUglobalref() GPUgeneric() GPUAtomic(T) *addr
 
template<class T >
 GPUdi () static T AtomicExchShared(GPUsharedref() GPUgeneric() GPUAtomic(T) *addr
 
template<class T >
 GPUdi () static T AtomicAddShared(GPUsharedref() GPUgeneric() GPUAtomic(T) *addr
 
template<class T >
 GPUdi () static void AtomicMaxShared(GPUsharedref() GPUgeneric() GPUAtomic(T) *addr
 
template<class T >
 GPUdi () static void AtomicMinShared(GPUsharedref() GPUgeneric() GPUAtomic(T) *addr
 
 GPUd () const expr static int32_t Mul24(int32_t a
 
 GPUd () const expr static float FMulRZ(float a
 
template<int32_t I, class T >
 GPUd () const expr static T nextMultipleOf(T val)
 
template<typename... Args>
 GPUhdni () const expr static float Sum2(float w
 

Public Attributes

float y { return GPUCA_CHOICE(std::copysignf(x, y), copysignf(x, y), copysign(x, y))
 
const T y
 
T y
 
T S refX
 
T S S refY
 
T S S R & r
 
T T z
 
T T T w
 
T T T S refX
 
T T T S S refY
 
T T T S S S refZ
 
T T T S S S S refW
 
T T T S S S S R & r
 
const T lo
 
const T const T hi
 
float x
 
double x
 
float & s
 
float float & c
 
double & s
 
double double & c
 
double y
 
const void * src
 
const void size_t size
 
float float z { return Sqrt(x * x + y * y + z * z)
 
float float float w { return Sqrt(x * x + y * y + z * z + w * w)
 
T & b
 
T val
 
T cmp
 
T T val
 
int32_t b
 
float b
 
Args args
 

Detailed Description

Definition at line 48 of file GPUCommonMath.h.

Member Function Documentation

◆ GPUd() [1/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [2/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [3/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [4/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [5/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [6/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [7/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [8/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [9/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [10/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [11/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [12/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [13/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [14/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [15/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [16/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [17/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [18/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [19/46]

o2::gpu::GPUCommonMath::GPUd ( ) const
inline

Definition at line 110 of file GPUCommonMath.h.

◆ GPUd() [20/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [21/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [22/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [23/46]

o2::gpu::GPUCommonMath::GPUd ( ) const
inline

Definition at line 108 of file GPUCommonMath.h.

◆ GPUd() [24/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [25/46]

o2::gpu::GPUCommonMath::GPUd ( ) const
inline

Definition at line 119 of file GPUCommonMath.h.

◆ GPUd() [26/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [27/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [28/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [29/46]

o2::gpu::GPUCommonMath::GPUd ( ) const
inline

Definition at line 107 of file GPUCommonMath.h.

◆ GPUd() [30/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [31/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [32/46]

template<int32_t I, class T >
o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [33/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [34/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [35/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [36/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [37/46]

o2::gpu::GPUCommonMath::GPUd ( ) const
inline

Definition at line 112 of file GPUCommonMath.h.

◆ GPUd() [38/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [39/46]

o2::gpu::GPUCommonMath::GPUd ( ) const

◆ GPUd() [40/46]

o2::gpu::GPUCommonMath::GPUd ( )

◆ GPUd() [41/46]

o2::gpu::GPUCommonMath::GPUd ( )

◆ GPUd() [42/46]

template<class T , class S , class R >
o2::gpu::GPUCommonMath::GPUd ( )

◆ GPUd() [43/46]

template<class T , class S , class R >
o2::gpu::GPUCommonMath::GPUd ( )

◆ GPUd() [44/46]

template<class T , class S , class R >
o2::gpu::GPUCommonMath::GPUd ( )

◆ GPUd() [45/46]

o2::gpu::GPUCommonMath::GPUd ( ) const &

◆ GPUd() [46/46]

o2::gpu::GPUCommonMath::GPUd ( )

◆ GPUdi() [1/13]

template<class T >
o2::gpu::GPUCommonMath::GPUdi ( ) const

◆ GPUdi() [2/13]

template<class T >
o2::gpu::GPUCommonMath::GPUdi ( ) const
inline

Definition at line 78 of file GPUCommonMath.h.

◆ GPUdi() [3/13]

template<class T >
o2::gpu::GPUCommonMath::GPUdi ( )

◆ GPUdi() [4/13]

template<class T >
o2::gpu::GPUCommonMath::GPUdi ( )

◆ GPUdi() [5/13]

template<class T >
o2::gpu::GPUCommonMath::GPUdi ( )

◆ GPUdi() [6/13]

template<class T >
o2::gpu::GPUCommonMath::GPUdi ( )

◆ GPUdi() [7/13]

template<class T >
o2::gpu::GPUCommonMath::GPUdi ( )

◆ GPUdi() [8/13]

template<class T >
o2::gpu::GPUCommonMath::GPUdi ( )
inline

Definition at line 165 of file GPUCommonMath.h.

◆ GPUdi() [9/13]

template<class T >
o2::gpu::GPUCommonMath::GPUdi ( )

◆ GPUdi() [10/13]

template<class T >
o2::gpu::GPUCommonMath::GPUdi ( )

◆ GPUdi() [11/13]

template<class T >
o2::gpu::GPUCommonMath::GPUdi ( )

◆ GPUdi() [12/13]

template<class T >
o2::gpu::GPUCommonMath::GPUdi ( )

◆ GPUdi() [13/13]

template<class T >
o2::gpu::GPUCommonMath::GPUdi ( )

◆ GPUhd() [1/5]

o2::gpu::GPUCommonMath::GPUhd ( ) const

◆ GPUhd() [2/5]

template<class T >
o2::gpu::GPUCommonMath::GPUhd ( ) const

◆ GPUhd() [3/5]

template<class T >
o2::gpu::GPUCommonMath::GPUhd ( ) const

◆ GPUhd() [4/5]

template<class T >
o2::gpu::GPUCommonMath::GPUhd ( ) const

◆ GPUhd() [5/5]

template<typename T >
o2::gpu::GPUCommonMath::GPUhd ( ) const &

◆ GPUhdi() [1/4]

o2::gpu::GPUCommonMath::GPUhdi ( ) const

◆ GPUhdi() [2/4]

o2::gpu::GPUCommonMath::GPUhdi ( ) const

◆ GPUhdi() [3/4]

o2::gpu::GPUCommonMath::GPUhdi ( ) const

◆ GPUhdi() [4/4]

o2::gpu::GPUCommonMath::GPUhdi ( )

◆ GPUhdni() [1/5]

o2::gpu::GPUCommonMath::GPUhdni ( ) const

◆ GPUhdni() [2/5]

o2::gpu::GPUCommonMath::GPUhdni ( ) const

◆ GPUhdni() [3/5]

template<typename... Args>
o2::gpu::GPUCommonMath::GPUhdni ( ) const

◆ GPUhdni() [4/5]

o2::gpu::GPUCommonMath::GPUhdni ( )

◆ GPUhdni() [5/5]

o2::gpu::GPUCommonMath::GPUhdni ( )

Member Data Documentation

◆ args

Args o2::gpu::GPUCommonMath::args

Definition at line 201 of file GPUCommonMath.h.

◆ b [1/3]

T& o2::gpu::GPUCommonMath::b

Definition at line 135 of file GPUCommonMath.h.

◆ b [2/3]

int32_t o2::gpu::GPUCommonMath::b

Definition at line 194 of file GPUCommonMath.h.

◆ b [3/3]

float o2::gpu::GPUCommonMath::b

Definition at line 195 of file GPUCommonMath.h.

◆ c [1/2]

float float& o2::gpu::GPUCommonMath::c

Definition at line 96 of file GPUCommonMath.h.

◆ c [2/2]

double double& o2::gpu::GPUCommonMath::c

Definition at line 97 of file GPUCommonMath.h.

◆ cmp

T o2::gpu::GPUCommonMath::cmp

Definition at line 144 of file GPUCommonMath.h.

◆ hi

const T const T o2::gpu::GPUCommonMath::hi
Initial value:
{
return Max(lo, Min(v, hi))
const GLdouble * v
Definition glcorearb.h:832

Definition at line 70 of file GPUCommonMath.h.

◆ lo

const T o2::gpu::GPUCommonMath::lo

Definition at line 70 of file GPUCommonMath.h.

◆ r [1/2]

T S S R & o2::gpu::GPUCommonMath::r

Definition at line 64 of file GPUCommonMath.h.

◆ r [2/2]

T T T S S S S R& o2::gpu::GPUCommonMath::r

Definition at line 68 of file GPUCommonMath.h.

◆ refW

T T T S S S S o2::gpu::GPUCommonMath::refW

Definition at line 68 of file GPUCommonMath.h.

◆ refX [1/2]

T S o2::gpu::GPUCommonMath::refX

Definition at line 64 of file GPUCommonMath.h.

◆ refX [2/2]

T T T S o2::gpu::GPUCommonMath::refX

Definition at line 68 of file GPUCommonMath.h.

◆ refY [1/2]

T S S o2::gpu::GPUCommonMath::refY

Definition at line 64 of file GPUCommonMath.h.

◆ refY [2/2]

T T T S S o2::gpu::GPUCommonMath::refY

Definition at line 68 of file GPUCommonMath.h.

◆ refZ

T T T S S S o2::gpu::GPUCommonMath::refZ

Definition at line 68 of file GPUCommonMath.h.

◆ s [1/2]

float& o2::gpu::GPUCommonMath::s

Definition at line 96 of file GPUCommonMath.h.

◆ s [2/2]

double& o2::gpu::GPUCommonMath::s

Definition at line 97 of file GPUCommonMath.h.

◆ size

const void size_t o2::gpu::GPUCommonMath::size

Definition at line 128 of file GPUCommonMath.h.

◆ src

const void* o2::gpu::GPUCommonMath::src

Definition at line 128 of file GPUCommonMath.h.

◆ val [1/2]

T o2::gpu::GPUCommonMath::val
Initial value:
{
return GPUCommonMath::AtomicExchInternal(addr, val)
GLuint GLfloat * val
Definition glcorearb.h:1582

Definition at line 138 of file GPUCommonMath.h.

◆ val [2/2]

T T o2::gpu::GPUCommonMath::val
Initial value:
{
return GPUCommonMath::AtomicCASInternal(addr, cmp, val)

Definition at line 144 of file GPUCommonMath.h.

◆ w [1/2]

T T T o2::gpu::GPUCommonMath::w

Definition at line 68 of file GPUCommonMath.h.

◆ w [2/2]

float float float o2::gpu::GPUCommonMath::w { return Sqrt(x * x + y * y + z * z + w * w)

Definition at line 132 of file GPUCommonMath.h.

◆ x [1/2]

float o2::gpu::GPUCommonMath::x

Definition at line 90 of file GPUCommonMath.h.

◆ x [2/2]

double o2::gpu::GPUCommonMath::x

Definition at line 91 of file GPUCommonMath.h.

◆ y [1/4]

float o2::gpu::GPUCommonMath::y { return GPUCA_CHOICE(std::copysignf(x, y), copysignf(x, y), copysign(x, y))

Definition at line 51 of file GPUCommonMath.h.

◆ y [2/4]

const T o2::gpu::GPUCommonMath::y
Initial value:
{
return GPUCA_CHOICE(std::min(x, y), min(x, y), min(x, y))
#define GPUCA_CHOICE(c1, c2, c3)
GLint GLenum GLint x
Definition glcorearb.h:403
GLint y
Definition glcorearb.h:270
constexpr size_t min

Definition at line 54 of file GPUCommonMath.h.

◆ y [3/4]

T o2::gpu::GPUCommonMath::y

Definition at line 64 of file GPUCommonMath.h.

◆ y [4/4]

double o2::gpu::GPUCommonMath::y

Definition at line 106 of file GPUCommonMath.h.

◆ z [1/2]

float float o2::gpu::GPUCommonMath::z

Definition at line 68 of file GPUCommonMath.h.

◆ z [2/2]

float float o2::gpu::GPUCommonMath::z { return Sqrt(x * x + y * y + z * z)

Definition at line 131 of file GPUCommonMath.h.


The documentation for this class was generated from the following file: