21 #ifndef GRPPI_SEQ_STENCIL_H 22 #define GRPPI_SEQ_STENCIL_H 26 #include "../common/iterator.h" 52 template <
typename InputIt,
typename OutputIt,
typename StencilTransformer,
53 typename Neighbourhood>
55 InputIt first, InputIt last, OutputIt out,
56 StencilTransformer transform_op,
57 Neighbourhood neighbour_op)
60 *out = transform_op(first, neighbour_op(first));
82 template <
typename InputIt,
typename OutputIt,
typename StencilTransformer,
83 typename Neighbourhood,
typename ... OtherInputIts>
85 InputIt first, InputIt last, OutputIt out,
86 StencilTransformer transform_op,
87 Neighbourhood neighbour_op, OtherInputIts ... other_firsts)
90 *out = transform_op(first, neighbour_op(first, other_firsts ...));
Definition: callable_traits.h:24
void stencil(parallel_execution_native &ex, InputIt first, InputIt last, OutputIt first_out, StencilTransformer transform_op, Neighbourhood neighbour_op)
Invoke Stencil pattern on a data sequence with native parallel execution.
Definition: native/stencil.h:53
void advance_iterators(size_t delta, InputIt &...in)
Definition: iterator.h:29
Sequential execution policy.
Definition: sequential_execution.h:31