diff --git a/sxt/algorithm/base/mapper.h b/sxt/algorithm/base/mapper.h index ae893d4b..1a838323 100644 --- a/sxt/algorithm/base/mapper.h +++ b/sxt/algorithm/base/mapper.h @@ -28,7 +28,7 @@ namespace sxt::algb { * Mapper turns an index into a value. */ template -concept mapper = requires(M m, typename M::value_type& x, unsigned int i, void* data) { +concept mapper = requires(M m, typename M::value_type& x, unsigned int i) { { m.map_index(i) } noexcept -> std::convertible_to; { m.map_index(x, i) } noexcept; }; diff --git a/sxt/algorithm/base/reducer.h b/sxt/algorithm/base/reducer.h index 27f7b704..42cea3cc 100644 --- a/sxt/algorithm/base/reducer.h +++ b/sxt/algorithm/base/reducer.h @@ -25,9 +25,7 @@ namespace sxt::algb { * See https://developer.download.nvidia.com/assets/cuda/files/reduction.pdf */ template -concept reducer = requires(typename R::value_type& x, typename R::value_type& xv, - typename R::value_type& yv, typename R::value_type& z) { - { R::accumulate_inplace(x, z) } noexcept; - { R::accumulate_inplace(xv, yv) } noexcept; +concept reducer = requires(typename R::value_type& x) { + { R::accumulate_inplace(x, x) } noexcept; }; } // namespace sxt::algb