alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
math.hpp File Reference
#include "alpaka/core/common.hpp"
#include "alpaka/math/internal/stlMath.hpp"
#include <cmath>
#include <complex>
#include <type_traits>
#include "alpaka/math/internal/stlMathImpl.hpp"

Go to the source code of this file.

Classes

struct  alpaka::math::internal::Abs
struct  alpaka::math::internal::Abs::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Acos
struct  alpaka::math::internal::Acos::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Acosh
struct  alpaka::math::internal::Acosh::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Arg
struct  alpaka::math::internal::Arg::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Asin
struct  alpaka::math::internal::Asin::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Asinh
struct  alpaka::math::internal::Asinh::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Atan
struct  alpaka::math::internal::Atan2
struct  alpaka::math::internal::Atan2::Op< T_MathImpl, T_Y, T_X >
struct  alpaka::math::internal::Atan::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Atanh
struct  alpaka::math::internal::Atanh::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Cbrt
struct  alpaka::math::internal::Cbrt::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Ceil
struct  alpaka::math::internal::Ceil::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Conj
struct  alpaka::math::internal::Conj::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Copysign
struct  alpaka::math::internal::Copysign::Op< T_MathImpl, T_Mag, T_Sgn >
struct  alpaka::math::internal::Cos
struct  alpaka::math::internal::Cos::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Cosh
struct  alpaka::math::internal::Cosh::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Erf
struct  alpaka::math::internal::Erf::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Exp
struct  alpaka::math::internal::Exp::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Floor
struct  alpaka::math::internal::Floor::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Fma
struct  alpaka::math::internal::Fma::Op< T_MathImpl, T_X, T_Y, T_Z >
struct  alpaka::math::internal::Fmod
struct  alpaka::math::internal::Fmod::Op< T_MathImpl, T_X, T_Y >
struct  alpaka::math::internal::Isfinite
struct  alpaka::math::internal::Isfinite::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Isinf
struct  alpaka::math::internal::Isinf::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Isnan
struct  alpaka::math::internal::Isnan::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Llround
struct  alpaka::math::internal::Llround::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Log
struct  alpaka::math::internal::Log10
struct  alpaka::math::internal::Log10::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Log2
struct  alpaka::math::internal::Log2::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Log::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Lround
struct  alpaka::math::internal::Lround::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Max
struct  alpaka::math::internal::Max::Op< T_MathImpl, T_A, T_B >
struct  alpaka::math::internal::Min
struct  alpaka::math::internal::Min::Op< T_MathImpl, T_A, T_B >
struct  alpaka::math::internal::Pow
struct  alpaka::math::internal::Pow::Op< T_MathImpl, T_Base, T_Exp >
struct  alpaka::math::internal::Remainder
struct  alpaka::math::internal::Remainder::Op< T_MathImpl, T_X, T_Y >
struct  alpaka::math::internal::Round
struct  alpaka::math::internal::Round::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Rsqrt
struct  alpaka::math::internal::Rsqrt::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Sin
struct  alpaka::math::internal::Sin::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::SinCos
struct  alpaka::math::internal::SinCos::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Sinh
struct  alpaka::math::internal::Sinh::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Sqrt
struct  alpaka::math::internal::Sqrt::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Tan
struct  alpaka::math::internal::Tan::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Tanh
struct  alpaka::math::internal::Tanh::Op< T_MathImpl, T_Arg >
struct  alpaka::math::internal::Trunc
struct  alpaka::math::internal::Trunc::Op< T_MathImpl, T_Arg >

Namespaces

namespace  alpaka
 main alpaka namespace.
namespace  alpaka::math
namespace  alpaka::math::internal
namespace  alpaka::math::internal::detail

Macros

#define ALPAKA_MATH_UNARY_FUNCTOR(FUNC_NAME, OP_NAME)

Functions

template<typename T_Arg>
ALPAKA_FN_INLINE constexpr auto alpaka::math::internal::detail::rsqrt (T_Arg const &arg)
 Fallback implementation when no better ADL match was found.
template<typename T_Arg>
constexpr auto alpaka::math::internal::detail::sincos (T_Arg const &arg, T_Arg &result_sin, T_Arg &result_cos)
 Fallback implementation when no better ADL match was found.

Macro Definition Documentation

◆ ALPAKA_MATH_UNARY_FUNCTOR

#define ALPAKA_MATH_UNARY_FUNCTOR ( FUNC_NAME,
OP_NAME )
Value:
struct FUNC_NAME \
{ \
template<typename T_MathImpl, typename T_Arg> \
struct Op \
{ \
constexpr auto operator()(T_MathImpl, T_Arg const& argument) const \
{ \
if constexpr(std::same_as<T_MathImpl, StlMath>) \
{ \
/* use for ADL lookup namespace std only if StlMath is used */ \
using std::OP_NAME; \
return OP_NAME(argument); \
} \
else \
return OP_NAME(argument); \
} \
}; \
}

Definition at line 19 of file math.hpp.