Skip to content

Commit

Permalink
fix rowwise reductions constructors
Browse files Browse the repository at this point in the history
  • Loading branch information
t4c1 committed Feb 19, 2020
1 parent 4de2ae7 commit 496161e
Showing 1 changed file with 12 additions and 10 deletions.
22 changes: 12 additions & 10 deletions stan/math/opencl/kernel_generator/rowwise_reduction.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -174,9 +174,10 @@ class rowwise_sum_
*/
template <typename T,
typename = require_all_valid_expressions_and_none_scalar_t<T>>
inline rowwise_sum_<as_operation_cl_t<T>> rowwise_sum(T&& a) {
return rowwise_sum_<as_operation_cl_t<T>>(
as_operation_cl(std::forward<T>(a)).deep_copy());
inline auto rowwise_sum(T&& a) {
auto&& arg_copy = as_operation_cl(std::forward<T>(a)).deep_copy();
return rowwise_sum_<std::remove_reference_t<decltype(arg_copy)>>(
std::move(arg_copy));
}

/**
Expand Down Expand Up @@ -241,11 +242,11 @@ class rowwise_max_
*/
template <typename T,
typename = require_all_valid_expressions_and_none_scalar_t<T>>
inline rowwise_max_<as_operation_cl_t<T>> rowwise_max(T&& a) {
return rowwise_max_<as_operation_cl_t<T>>(
as_operation_cl(std::forward<T>(a)).deep_copy());
inline auto rowwise_max(T&& a) {
auto&& arg_copy = as_operation_cl(std::forward<T>(a)).deep_copy();
return rowwise_max_<std::remove_reference_t<decltype(arg_copy)>>(
std::move(arg_copy));
}

/**
* Operation for min reduction.
* @tparam T type to reduce
Expand Down Expand Up @@ -308,9 +309,10 @@ class rowwise_min_
*/
template <typename T,
typename = require_all_valid_expressions_and_none_scalar_t<T>>
inline rowwise_min_<as_operation_cl_t<T>> rowwise_min(T&& a) {
return rowwise_min_<as_operation_cl_t<T>>(
as_operation_cl(std::forward<T>(a)).deep_copy());
inline auto rowwise_min(T&& a) {
auto&& arg_copy = as_operation_cl(std::forward<T>(a)).deep_copy();
return rowwise_min_<std::remove_reference_t<decltype(arg_copy)>>(
std::move(arg_copy));
}

} // namespace math
Expand Down

0 comments on commit 496161e

Please sign in to comment.