ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
detray::algebra::math Namespace Reference

Namespace to pick up common math functions from. More...

Functions

template<detray::concepts::vc_simd_vector T>
constexpr decltype(auto) abs (T &&vec)
 Vc overloads of common math functions.
template<detray::concepts::vc_simd_vector T>
constexpr decltype(auto) fabs (T &&vec)
template<detray::concepts::vc_simd_vector T>
constexpr decltype(auto) sqrt (T &&vec)
template<detray::concepts::vc_simd_vector T>
constexpr decltype(auto) exp (T &&vec)
template<detray::concepts::vc_simd_vector T>
constexpr decltype(auto) log (T &&vec)
template<detray::concepts::vc_simd_vector T>
constexpr decltype(auto) sin (T &&vec)
template<detray::concepts::vc_simd_vector T>
constexpr decltype(auto) asin (T &&vec)
template<detray::concepts::vc_simd_vector T>
constexpr decltype(auto) cos (T &&vec)
template<detray::concepts::vc_simd_vector T>
constexpr decltype(auto) tan (T &&vec)
template<detray::concepts::vc_simd_vector T>
constexpr decltype(auto) atan (T &&vec)
template<detray::concepts::vc_simd_vector T, detray::concepts::vc_simd_vector S>
constexpr decltype(auto) copysign (T &&mag, S &&sgn)
template<detray::concepts::vc_simd_vector T>
constexpr decltype(auto) min (T &&vec)
template<detray::concepts::vc_simd_vector T>
constexpr decltype(auto) max (T &&vec)
template<detray::concepts::vc_simd_vector T>
constexpr decltype(auto) signbit (T &&vec)
template<detray::concepts::vc_simd_vector T>
constexpr decltype(auto) fma (T &&x, T &&y, T &&z)
 Evaluate the fused multiply-add x * y + z lane by lane.

Detailed Description

Namespace to pick up common math functions from.

Function Documentation

◆ abs()

decltype(auto) detray::algebra::math::abs ( T && vec)
constexpr

Vc overloads of common math functions.

Parameters
vecSIMD vector whose lanes are evaluated.
Returns
Absolute value of each lane.

◆ asin()

decltype(auto) detray::algebra::math::asin ( T && vec)
constexpr
Parameters
vecSIMD vector whose lanes are evaluated.
Returns
Inverse sine of each lane.

◆ atan()

decltype(auto) detray::algebra::math::atan ( T && vec)
constexpr
Parameters
vecSIMD vector whose lanes are evaluated.
Returns
Inverse tangent of each lane.

◆ copysign()

decltype(auto) detray::algebra::math::copysign ( T && mag,
S && sgn )
constexpr
Parameters
magSIMD vector providing magnitudes.
sgnSIMD vector providing signs.
Returns
Magnitudes with signs copied lane by lane.

◆ cos()

decltype(auto) detray::algebra::math::cos ( T && vec)
constexpr
Parameters
vecSIMD vector whose lanes are evaluated.
Returns
Cosine of each lane.

◆ exp()

decltype(auto) detray::algebra::math::exp ( T && vec)
constexpr
Parameters
vecSIMD vector whose lanes are evaluated.
Returns
Exponential of each lane.

◆ fabs()

decltype(auto) detray::algebra::math::fabs ( T && vec)
constexpr
Parameters
vecSIMD vector whose lanes are evaluated.
Returns
Absolute value of each lane.

◆ fma()

decltype(auto) detray::algebra::math::fma ( T && x,
T && y,
T && z )
constexpr

Evaluate the fused multiply-add x * y + z lane by lane.

Parameters
xFirst SIMD operand.
ySecond SIMD operand.
zAddend SIMD operand.
Returns
The fused multiply-add result.

◆ log()

decltype(auto) detray::algebra::math::log ( T && vec)
constexpr
Parameters
vecSIMD vector whose lanes are evaluated.
Returns
Natural logarithm of each lane.

◆ max()

decltype(auto) detray::algebra::math::max ( T && vec)
constexpr
Parameters
vecSIMD vector whose lanes are reduced.
Returns
The maximum lane value.

◆ min()

decltype(auto) detray::algebra::math::min ( T && vec)
constexpr
Parameters
vecSIMD vector whose lanes are reduced.
Returns
The minimum lane value.

◆ signbit()

decltype(auto) detray::algebra::math::signbit ( T && vec)
constexpr
Parameters
vecSIMD vector whose lane signs are inspected.
Returns
A mask identifying negative lanes.

◆ sin()

decltype(auto) detray::algebra::math::sin ( T && vec)
constexpr
Parameters
vecSIMD vector whose lanes are evaluated.
Returns
Sine of each lane.

◆ sqrt()

decltype(auto) detray::algebra::math::sqrt ( T && vec)
constexpr
Parameters
vecSIMD vector whose lanes are evaluated.
Returns
Square root of each lane.

◆ tan()

decltype(auto) detray::algebra::math::tan ( T && vec)
constexpr
Parameters
vecSIMD vector whose lanes are evaluated.
Returns
Tangent computed as sine divided by cosine for each lane.