Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
uni20::linalg::cpu::ContractionCompatible Concept Reference

Report whether resolved mdspans support reference contraction expressions. More...

#include <contract.hpp>

Concept definition

template<class OutputMdspan, class Scalar, class LhsMdspan, class RhsMdspan, std::size_t LhsRank, std::size_t RhsRank, std::size_t ContractedRank>
std::same_as<std::remove_cv_t<typename std::remove_cvref_t<OutputMdspan>::element_type>, Scalar> &&
detail::contraction_output_expressions<OutputMdspan, Scalar>(
detail::contraction_input_expressions<LhsMdspan, Scalar>(std::make_index_sequence<LhsRank>{}) &&
detail::contraction_input_expressions<RhsMdspan, Scalar>(std::make_index_sequence<RhsRank>{}) &&
detail::contraction_preserves_output_structure<OutputMdspan, LhsMdspan, RhsMdspan, LhsRank, RhsRank,
ContractedRank>() &&
requires(Scalar value) {
{ value == Scalar{} } -> std::convertible_to<bool>;
{ value != Scalar{} } -> std::convertible_to<bool>;
}
A mutable mdspan-like type with a specified static rank.
Definition mdspan/concepts.hpp:494
An mdspan-like type with a specified static rank.
Definition mdspan/concepts.hpp:447
Concept for numeric scalar types (integer, real, or complex).
Definition scalar_concepts.hpp:81
Report whether resolved mdspans support reference contraction expressions.
Definition linalg/cpu/contract.hpp:268
locale_t value
Definition data_table.cpp:49
static constexpr std::size_t output_rank
Definition contraction_axes.hpp:35

Detailed Description

Report whether resolved mdspans support reference contraction expressions.