Skip to content

class expression_reduce<Tout, Dims, Twork, Tin, ReduceFn, TransformFn, FinalFn> reducing

template <typename Tout, index_t Dims, typename Twork, typename Tin, typename ReduceFn, typename TransformFn,
          typename FinalFn>
struct expression_reduce : public expression_traits_defaults { … }

typedef value_type

using value_type             = Tin

Defined at base/reduce.hpp:74

variable dims

constexpr static size_t dims = Dims

Defined at base/reduce.hpp:75

function get_shape(const expression_reduce<Tout, Dims, Twork, Tin, ReduceFn, TransformFn, FinalFn> &)

constexpr static shape<dims> get_shape(const expression_reduce&) { … }

Defined at base/reduce.hpp:76

function get_shape()

constexpr static shape<dims> get_shape() { … }

Defined at base/reduce.hpp:77

variable width

constexpr static size_t width = vector_width<Tin> * bitness_const(1, 2)

Defined at base/reduce.hpp:79

constructor expression_reduce<Tout, Dims, Twork, Tin, ReduceFn, TransformFn, FinalFn>(ReduceFn &&, TransformFn &&, FinalFn &&)

expression_reduce(ReduceFn&& reducefn, TransformFn&& transformfn, FinalFn&& finalfn)

Defined at base/reduce.hpp:81

function get()

Defined at base/reduce.hpp:87

function set_elements(expression_reduce<Tout, Dims, Twork, Tin, ReduceFn, TransformFn, FinalFn> &, shape<Dims>, axis_params<VecAxis, N>, const std::type_identity_t<vec<Tin, N>> &)

template <size_t N, index_t VecAxis>
friend KFR_INTRINSIC void set_elements(expression_reduce& self, shape<Dims>, axis_params<VecAxis, N>,
                                       const std::type_identity_t<vec<Tin, N>>& x)

Defined at base/reduce.hpp:93

function reset()

void reset()

Defined at base/reduce.hpp:101

function process(const vec<Tin, width> &)

Defined at base/reduce.hpp:102

function process(const vec<Tin, N> &)

template <size_t N>
    requires(N > width)
KFR_MEM_INTRINSIC void process(const vec<Tin, N>& x) const

Defined at base/reduce.hpp:116

variable counter

mutable size_t counter

Defined at base/reduce.hpp:122

variable reducefn

ReduceFn reducefn

Defined at base/reduce.hpp:123

variable transformfn

TransformFn transformfn

Defined at base/reduce.hpp:124

variable finalfn

FinalFn finalfn

Defined at base/reduce.hpp:125

variable value

mutable vec<Twork, width> value

Defined at base/reduce.hpp:126

Defined at base/reduce.hpp:72