partial_reduce.h
TILEDARRAY_FORCE_INLINE void for_each_block(Op &&op, Result *const result, const Args *const ... args)
Definition: vector_op.h:162
static TILEDARRAY_FORCE_INLINE void col_reduce(const Arg *MADNESS_RESTRICT const arg, const std::size_t stride, Result *MADNESS_RESTRICT const result, const Op &op)
Definition: partial_reduce.h:163
void reduce_op_serial(Op &&op, const std::size_t n, Result &result, const Args *const ... args)
Definition: vector_op.h:562
TILEDARRAY_FORCE_INLINE void gather_block(Result *const result, const Arg *const arg, const std::size_t stride)
Definition: vector_op.h:248
TILEDARRAY_FORCE_INLINE void copy_block(Result *const result, const Arg *const arg)
Definition: vector_op.h:219
void inplace_vector_op(Op &&op, const std::size_t n, Result *const result, const Args *const ... args)
Definition: vector_op.h:391
static TILEDARRAY_FORCE_INLINE void row_reduce(const Left *MADNESS_RESTRICT const left, const std::size_t, const Right *MADNESS_RESTRICT const right, Result *MADNESS_RESTRICT const result, const Op &op)
Definition: partial_reduce.h:47
Partial reduce algorithm automatic loop unwinding.
Definition: partial_reduce.h:102
void row_reduce(const std::size_t m, const std::size_t n, const Left *MADNESS_RESTRICT const left, const Right *MADNESS_RESTRICT const right, Result *MADNESS_RESTRICT const result, const Op &op)
Reduce the rows of a matrix.
Definition: partial_reduce.h:195
PartialReduceUnwind< N - 1 > PartialReduceUnwindN1
Definition: partial_reduce.h:104
PartialReduceUnwind< TILEDARRAY_LOOP_UNWIND - 1 > PartialReduceUnwindN
Definition: partial_reduce.h:179
static TILEDARRAY_FORCE_INLINE void col_reduce(const Left *MADNESS_RESTRICT const left, const std::size_t stride, const Right *MADNESS_RESTRICT const right, Result *MADNESS_RESTRICT const result, const Op &op)
Definition: partial_reduce.h:140
TILEDARRAY_FORCE_INLINE void reduce_block(Op &&op, Result &result, const Args *const ... args)
Definition: vector_op.h:200
static const std::size_t offset
Definition: partial_reduce.h:106
Definition: array_impl.cpp:28
static TILEDARRAY_FORCE_INLINE void col_reduce(const Arg *MADNESS_RESTRICT const arg, const std::size_t, Result *MADNESS_RESTRICT const result, const Op &op)
Definition: partial_reduce.h:89
static TILEDARRAY_FORCE_INLINE void row_reduce(const Arg *MADNESS_RESTRICT const arg, const std::size_t stride, Result *MADNESS_RESTRICT const result, const Op &op)
Definition: partial_reduce.h:125
static TILEDARRAY_FORCE_INLINE void row_reduce(const Arg *MADNESS_RESTRICT const arg, const std::size_t, Result *MADNESS_RESTRICT const result, const Op &op)
Definition: partial_reduce.h:59
static TILEDARRAY_FORCE_INLINE void row_reduce(const Left *MADNESS_RESTRICT const left, const std::size_t stride, const Right *MADNESS_RESTRICT const right, Result *MADNESS_RESTRICT const result, const Op &op)
Definition: partial_reduce.h:109
static TILEDARRAY_FORCE_INLINE void col_reduce(const Left *MADNESS_RESTRICT const left, const std::size_t, const Right *MADNESS_RESTRICT const right, Result *MADNESS_RESTRICT const result, const Op &op)
Definition: partial_reduce.h:70
void col_reduce(const std::size_t m, const std::size_t n, const Left *MADNESS_RESTRICT const left, const Right *MADNESS_RESTRICT const right, Result *MADNESS_RESTRICT const result, const Op &op)
Reduce the columns of a matrix.
Definition: partial_reduce.h:322