Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Classes | Namespaces | Concepts | Functions
reduction_axes.hpp File Reference

Normalized input and surviving axes for fixed-rank tensor reductions. More...

#include <uni20/common/trace.hpp>
#include <algorithm>
#include <array>
#include <concepts>
#include <cstddef>
#include <type_traits>
#include <utility>
Include dependency graph for reduction_axes.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  uni20::linalg::ReductionAxes< InputRank, ReducedRank >
 Normalized axes for reducing a fixed-rank input. More...
 

Namespaces

namespace  uni20
 
namespace  uni20::linalg
 

Concepts

concept  uni20::linalg::ReductionAxis
 Integral runtime axis accepted by reduction front ends.
 

Functions

template<std::size_t InputRank>
constexpr auto uni20::linalg::all_reduction_axes () -> ReductionAxes< InputRank, InputRank >
 Construct the full-reduction descriptor for a fixed input rank.
 
template<std::size_t InputRank, ReductionAxis... Axes>
auto uni20::linalg::make_reduction_axes (Axes... requested_axes) -> ReductionAxes< InputRank, sizeof...(Axes)>
 Normalize and validate a runtime reduction-axis pack.
 
template<std::size_t InputRank, std::size_t ReducedRank>
constexpr bool uni20::linalg::reduction_axes_are_valid (ReductionAxes< InputRank, ReducedRank > const &axes) noexcept
 Return whether a reduction-axis descriptor partitions every input axis.
 

Detailed Description

Normalized input and surviving axes for fixed-rank tensor reductions.