Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions hydra/detail/FunctionArgument.h
Original file line number Diff line number Diff line change
Expand Up @@ -339,7 +339,7 @@ operator+( Arg1 const& a1, Arg2 const& a2) {

template<typename Arg1, typename Arg2>
requires (detail::FunctionArg<Arg1> && !detail::FunctionArg<Arg2>)
__hydra_host__ __hydra_device__ decltype(std::declval<typename Arg1::value_type>()+ std::declval<Arg2>() )
__hydra_host__ __hydra_device__ decltype(std::declval<Arg2>()+ std::declval<typename Arg1::value_type>() )
operator+(Arg2 const& a2, Arg1 const& a1 ) {

typedef decltype(std::declval<typename Arg1::value_type>()+
Expand Down Expand Up @@ -376,13 +376,13 @@ operator-( Arg1 const& a1, Arg2 const& a2) {

template<typename Arg1, typename Arg2>
requires (detail::FunctionArg<Arg1> && !detail::FunctionArg<Arg2>)
__hydra_host__ __hydra_device__ decltype(std::declval<typename Arg1::value_type>()- std::declval<Arg2>() )
__hydra_host__ __hydra_device__ decltype(std::declval<Arg2>()- std::declval<typename Arg1::value_type>() )
operator-(Arg2 const& a2, Arg1 const& a1 ) {

typedef decltype(std::declval<typename Arg1::value_type>()-
std::declval<Arg2>() ) return_type;

return a1.Value() - a2;
return a2 - a1.Value();
}

template<typename Arg1, typename Arg2>
Expand All @@ -405,18 +405,18 @@ requires (detail::FunctionArg<Arg1> && !detail::FunctionArg<Arg2>)
__hydra_host__ __hydra_device__ decltype(std::declval<typename Arg1::value_type>()* std::declval<Arg2>() )
operator*( Arg1 const& a1, Arg2 const& a2) {

typedef decltype(std::declval<typename Arg1::value_type>()-
typedef decltype(std::declval<typename Arg1::value_type>()*
std::declval<Arg2>() ) return_type;

return a1.Value() * a2;
}

template<typename Arg1, typename Arg2>
requires (detail::FunctionArg<Arg1> && !detail::FunctionArg<Arg2>)
__hydra_host__ __hydra_device__ decltype(std::declval<typename Arg1::value_type>()* std::declval<Arg2>() )
__hydra_host__ __hydra_device__ decltype(std::declval<Arg2>()* std::declval<typename Arg1::value_type>() )
operator*(Arg2 const& a2, Arg1 const& a1 ) {

typedef decltype(std::declval<typename Arg1::value_type>()-
typedef decltype(std::declval<typename Arg1::value_type>()*
std::declval<Arg2>() ) return_type;

return a1.Value() * a2;
Expand All @@ -441,21 +441,21 @@ requires (detail::FunctionArg<Arg1> && !detail::FunctionArg<Arg2>)
__hydra_host__ __hydra_device__ decltype(std::declval<typename Arg1::value_type>() / std::declval<Arg2>() )
operator/( Arg1 const& a1, Arg2 const& a2) {

typedef decltype(std::declval<typename Arg1::value_type>()-
typedef decltype(std::declval<typename Arg1::value_type>()/
std::declval<Arg2>() ) return_type;

return a1.Value() / a2;
}

template<typename Arg1, typename Arg2>
requires (detail::FunctionArg<Arg1> && !detail::FunctionArg<Arg2>)
__hydra_host__ __hydra_device__ decltype(std::declval<typename Arg1::value_type>() / std::declval<Arg2>() )
__hydra_host__ __hydra_device__ decltype(std::declval<Arg2>() / std::declval<typename Arg1::value_type>() )
operator/(Arg2 const& a2, Arg1 const& a1 ) {

typedef decltype(std::declval<typename Arg1::value_type>()-
typedef decltype(std::declval<typename Arg1::value_type>()/
std::declval<Arg2>() ) return_type;

return a1.Value() / a2;
return a2 / a1.Value();
}

template<typename Arg1, typename Arg2>
Expand Down