26 #ifndef TILEDARRAY_TILE_OP_UNARY_REDUCTION_H__INCLUDED 27 #define TILEDARRAY_TILE_OP_UNARY_REDUCTION_H__INCLUDED 37 template <
typename Tile>
68 template <
typename Tile>
101 template <
typename Tile>
124 result +=
trace(arg);
134 template <
typename Tile>
170 template <
typename Tile,
typename Enabler =
void>
173 template <
typename Tile>
175 detail::numeric_t<Tile>>::value>::type> {
208 template <
typename Tile,
typename Enabler =
void>
211 template <
typename Tile>
213 detail::numeric_t<Tile>>::value>::type> {
245 template <
typename Tile>
277 template <
typename Tile>
307 #endif // TILEDARRAY_TILE_OP_UNARY_REDUCTION_H__INCLUDED const result_type & operator()(const result_type &result) const
void operator()(result_type &result, const result_type &arg) const
void operator()(result_type &result, const result_type &arg) const
decltype(auto) product(const Tile< Arg > &arg)
Multiply the elements of a tile.
decltype(auto) min(const Tile< Arg > &arg)
Minimum element of a tile.
decltype(auto) squared_norm(const Tile< Arg > &arg)
Squared vector 2-norm of the elements of a tile.
const result_type & operator()(const result_type &result) const
result_type operator()() const
decltype(min(std::declval< Tile >())) result_type
const result_type & operator()(const result_type &result) const
void operator()(result_type &result, const argument_type &arg) const
const result_type & operator()(const result_type &result) const
void operator()(result_type &result, const argument_type &arg) const
KroneckerDeltaTile< _N >::numeric_type max(const KroneckerDeltaTile< _N > &arg)
void operator()(result_type &result, const argument_type &arg) const
auto abs(const ComplexConjugate< T > &a)
result_type operator()() const
result_type operator()() const
void operator()(result_type &result, const argument_type &arg) const
result_type operator()() const
result_type operator()() const
decltype(max(std::declval< Tile >())) result_type
decltype(abs_max(std::declval< Tile >())) result_type
decltype(auto) abs_min(const Tile< Arg > &arg)
Absolute mainimum element of a tile.
decltype(squared_norm(std::declval< Tile >())) result_type
void operator()(result_type &result, const result_type &arg) const
void operator()(result_type &result, const result_type &arg) const
decltype(auto) abs_max(const Tile< Arg > &arg)
Absolute maximum element of a tile.
void operator()(result_type &result, const argument_type &arg) const
decltype(product(std::declval< Tile >())) result_type
void operator()(result_type &result, const argument_type &arg) const
void operator()(result_type &result, const result_type &arg) const
result_type operator()() const
decltype(auto) max(const Tile< Arg > &arg)
Maximum element of a tile.
const result_type & operator()(const result_type &result) const
const result_type & operator()(const result_type &result) const
result_type operator()() const
const result_type & operator()(const result_type &result) const
decltype(auto) sum(const Tile< Arg > &arg)
Sum the elements of a tile.
decltype(trace(std::declval< Tile >())) result_type
void operator()(result_type &result, const result_type &arg) const
void operator()(result_type &result, const result_type &arg) const
Squared norm tile reduction.
KroneckerDeltaTile< _N >::numeric_type min(const KroneckerDeltaTile< _N > &arg)
void operator()(result_type &result, const argument_type &arg) const
result_type operator()() const
An N-dimensional shallow copy wrapper for tile objects.
void operator()(result_type &result, const argument_type &arg) const
const result_type & operator()(const result_type &result) const
decltype(auto) trace(const Tile< Arg > &arg)
Sum the hyper-diagonal elements a tile.
void operator()(result_type &result, const result_type &arg) const
decltype(sum(std::declval< Tile >())) result_type
decltype(abs_min(std::declval< Tile >())) result_type