detail Namespace Reference#

DiFfRG: autodiff::detail Namespace Reference
DiFfRG
autodiff::detail Namespace Reference

Classes

struct  ArithmeticTraits<::Kokkos::complex< T > >
 

Functions

template<typename T1 , typename T2 >
requires (!std::is_same_v<T1, T2>) && std::is_arithmetic_v<T1> && std::is_arithmetic_v<T2>
KOKKOS_FORCEINLINE_FUNCTION auto operator* (const T1 x, const complex< T2 > y)
 
template<typename T1 , typename T2 >
requires (!std::is_same_v<T1, T2>) && std::is_arithmetic_v<T1> && std::is_arithmetic_v<T2>
KOKKOS_FORCEINLINE_FUNCTION auto operator* (const complex< T1 > &x, const T2 &y)
 
template<typename T1 , typename T2 >
requires (!std::is_same_v<T1, T2>) && std::is_arithmetic_v<T1> && std::is_arithmetic_v<T2>
KOKKOS_FORCEINLINE_FUNCTION auto operator+ (const T1 &x, const complex< T2 > &y)
 
template<typename T1 , typename T2 >
requires (!std::is_same_v<T1, T2>) && std::is_arithmetic_v<T1> && std::is_arithmetic_v<T2>
KOKKOS_FORCEINLINE_FUNCTION auto operator+ (const complex< T1 > &x, const T2 &y)
 
template<typename T1 , typename T2 >
requires (!std::is_same_v<T1, T2>) && std::is_arithmetic_v<T1> && std::is_arithmetic_v<T2>
KOKKOS_FORCEINLINE_FUNCTION auto operator- (const T1 &x, const complex< T2 > &y)
 
template<typename T1 , typename T2 >
requires (!std::is_same_v<T1, T2>) && std::is_arithmetic_v<T1> && std::is_arithmetic_v<T2>
KOKKOS_FORCEINLINE_FUNCTION auto operator- (const complex< T1 > &x, const T2 &y)
 
template<typename T1 , typename T2 >
requires (!std::is_same_v<T1, T2>) && std::is_arithmetic_v<T1> && std::is_arithmetic_v<T2>
KOKKOS_FORCEINLINE_FUNCTION auto operator/ (const T1 &x, const complex< T2 > &y)
 
template<typename T1 , typename T2 >
requires (!std::is_same_v<T1, T2>) && std::is_arithmetic_v<T1> && std::is_arithmetic_v<T2>
KOKKOS_FORCEINLINE_FUNCTION auto operator/ (const complex< T1 > x, const T2 &y)
 

Function Documentation

◆ operator*() [1/2]

template<typename T1 , typename T2 >
requires (!std::is_same_v<T1, T2>) && std::is_arithmetic_v<T1> && std::is_arithmetic_v<T2>
KOKKOS_FORCEINLINE_FUNCTION auto autodiff::detail::operator* ( const complex< T1 > & x,
const T2 & y )

◆ operator*() [2/2]

template<typename T1 , typename T2 >
requires (!std::is_same_v<T1, T2>) && std::is_arithmetic_v<T1> && std::is_arithmetic_v<T2>
KOKKOS_FORCEINLINE_FUNCTION auto autodiff::detail::operator* ( const T1 x,
const complex< T2 > y )

◆ operator+() [1/2]

template<typename T1 , typename T2 >
requires (!std::is_same_v<T1, T2>) && std::is_arithmetic_v<T1> && std::is_arithmetic_v<T2>
KOKKOS_FORCEINLINE_FUNCTION auto autodiff::detail::operator+ ( const complex< T1 > & x,
const T2 & y )

◆ operator+() [2/2]

template<typename T1 , typename T2 >
requires (!std::is_same_v<T1, T2>) && std::is_arithmetic_v<T1> && std::is_arithmetic_v<T2>
KOKKOS_FORCEINLINE_FUNCTION auto autodiff::detail::operator+ ( const T1 & x,
const complex< T2 > & y )

◆ operator-() [1/2]

template<typename T1 , typename T2 >
requires (!std::is_same_v<T1, T2>) && std::is_arithmetic_v<T1> && std::is_arithmetic_v<T2>
KOKKOS_FORCEINLINE_FUNCTION auto autodiff::detail::operator- ( const complex< T1 > & x,
const T2 & y )

◆ operator-() [2/2]

template<typename T1 , typename T2 >
requires (!std::is_same_v<T1, T2>) && std::is_arithmetic_v<T1> && std::is_arithmetic_v<T2>
KOKKOS_FORCEINLINE_FUNCTION auto autodiff::detail::operator- ( const T1 & x,
const complex< T2 > & y )

◆ operator/() [1/2]

template<typename T1 , typename T2 >
requires (!std::is_same_v<T1, T2>) && std::is_arithmetic_v<T1> && std::is_arithmetic_v<T2>
KOKKOS_FORCEINLINE_FUNCTION auto autodiff::detail::operator/ ( const complex< T1 > x,
const T2 & y )

◆ operator/() [2/2]

template<typename T1 , typename T2 >
requires (!std::is_same_v<T1, T2>) && std::is_arithmetic_v<T1> && std::is_arithmetic_v<T2>
KOKKOS_FORCEINLINE_FUNCTION auto autodiff::detail::operator/ ( const T1 & x,
const complex< T2 > & y )