Line data Source code
1 : #pragma once 2 : 3 : #include <thrust/fill.h> 4 : #include <thrust/copy.h> 5 : #include <type_traits> 6 : 7 : namespace elsa 8 : { 9 : /// @brief Fill given range with scalar value 10 : /// @ingroup transforms 11 : template <class InputIter, class data_t> 12 : void fill(InputIter first, InputIter last, const data_t& scalar) 13 56115 : { 14 56115 : thrust::fill(first, last, scalar); 15 56115 : } 16 : 17 : /// @brief Copy input range to the output range 18 : /// @ingroup transforms 19 : template <class InputIter, class OutputIter> 20 : void assign(InputIter first, InputIter last, OutputIter out) 21 17279 : { 22 17279 : thrust::copy(first, last, out); 23 17279 : } 24 : } // namespace elsa