DiFfRG
Loading...
Searching...
No Matches
autodiff::detail Namespace Reference

Classes

struct  ArithmeticTraits<::cuda::std::__4::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>
__host__ __device__ 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>
__host__ __device__ 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>
__host__ __device__ 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>
__host__ __device__ 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>
__host__ __device__ 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>
__host__ __device__ 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>
__host__ __device__ 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>
__host__ __device__ 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>
__host__ __device__ 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>
__host__ __device__ 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>
__host__ __device__ 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>
__host__ __device__ 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>
__host__ __device__ 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>
__host__ __device__ 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>
__host__ __device__ 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>
__host__ __device__ auto autodiff::detail::operator/ ( const T1 & x,
const complex< T2 > & y )