size_array.h
void set(pointer const first, pointer const last)
Definition: size_array.h:74
void outer_fill(const std::size_t m, const std::size_t n, const X *const x, const Y *const y, A *a, const Op &op)
Compute and store outer of x and y in a.
Definition: outer.h:175
std::reverse_iterator< iterator > reverse_iterator
Definition: size_array.h:118
std::reverse_iterator< const_iterator > const_reverse_iterator
Definition: size_array.h:119
Result reduce(Result result, const ReduceOp &reduce_op, const JoinOp &join_op) const
Unary reduction operation.
Definition: size_array.h:301
std::ptrdiff_t difference_type
Definition: size_array.h:55
void permute_array(const Perm &perm, const Arg &arg, Result &result)
Create a permuted copy of an array.
Definition: permutation.h:66
void outer(const std::size_t m, const std::size_t n, const X *const x, const Y *const y, A *a, const Op &op)
Compute the outer of x and y to modify a.
Definition: outer.h:239
std::vector< T > operator*(const Permutation &perm, const SizeArray< T > &orig)
Definition: size_array.h:432
void outer_fill(const size_type m, const size_type n, const Left *const left, const Right *const right, const Op &op)
Outer fill operation.
Definition: size_array.h:401
Permutation of a sequence of objects indexed by base-0 indices.
Definition: permutation.h:130
void col_reduce(const size_type m, const Arg *const arg, const Op &op)
Columns reduce operation.
Definition: size_array.h:365
void reduce_op(ReduceOp &&reduce_op, JoinOp &&join_op, const Result &identity, const std::size_t n, Result &result, const Args *const ... args)
Definition: vector_op.h:628
void vector_op(Op &&op, const std::size_t n, Result *const result, const Args *const ... args)
Definition: vector_op.h:472
bool operator==(const SizeArray< U > &other) const
Definition: size_array.h:189
std::ostream & operator<<(std::ostream &os, const TileReference< Impl > &a)
redirect operator to std::ostream for TileReference objects
Definition: array_impl.h:132
void fill_vector(const std::size_t n, const Arg &arg, Result *const result)
Definition: vector_op.h:666
void outer(const size_type m, const size_type n, const Left *const left, const Right *const right, const Op &op)
Outer operation.
Definition: size_array.h:382
reference operator[](size_type i)
Definition: size_array.h:131
const_reference operator[](size_type i) const
Definition: size_array.h:132
void row_reduce(const size_type n, const Arg *const arg, const Op &op)
Row reduce operation.
Definition: size_array.h:334
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
SizeArray< T > & operator=(const U &other)
Definition: size_array.h:86
SizeArray(pointer const first, const size_type n)
Definition: size_array.h:66
SizeArray< T > & operator=(const SizeArray< T > &other)
Definition: size_array.h:79
void outer_fill(const size_type m, const size_type n, const Left *const left, const Right *const right, const Base *const base, const Op &op)
Outer operation.
Definition: size_array.h:422
void col_reduce(const size_type m, const Left *const left, const Right *right, const Op &op)
Column reduce operation.
Definition: size_array.h:350
~SizeArray()=default
Result reduce(const Arg *const arg, Result result, const ReduceOp &reduce_op, const JoinOp &join_op) const
Binary reduction operation.
Definition: size_array.h:283
Definition: array_impl.cpp:28
void print_array(std::ostream &out, const A &a, const std::size_t n)
Print the content of an array like object.
Definition: utility.h:48
const_reverse_iterator rbegin() const
Definition: size_array.h:122
std::enable_if<!(std::is_same< Arg, Result >::value &&detail::is_scalar_v< Arg >)>::type copy_vector(const std::size_t n, const Arg *const arg, Result *const result)
Definition: vector_op.h:648
SizeArray(const SizeArray &)=default
void binary(const Left *const left, const Right *const right, const Op &op)
Binary vector operation.
Definition: size_array.h:241
bool operator!=(const SizeArray< U > &other) const
Definition: size_array.h:202
void row_reduce(const size_type n, const Left *const left, const Right *right, const Op &op)
Row reduce operation.
Definition: size_array.h:319
SizeArray(pointer const first, pointer const last)
Definition: size_array.h:63
SizeArray()=default
void set(pointer const first, const size_type n)
Definition: size_array.h:69
SizeArray(SizeArray< T > &&)=default
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