3#ifndef pRC_CORE_TENSOR_VIEWS_CONTRACT_H
4#define pRC_CORE_TENSOR_VIEWS_CONTRACT_H
13 template<
class T,
class N,
class S1,
class S2,
class V>
20 ContractUnary<T, N, Sequence<Index, ILs...>,
21 Sequence<Index, IRs...>, V>>
24 static_assert(((V::size(
ILs) == V::size(
IRs)) && ...));
30 template<
class X, If<IsSame<V, RemoveReference<X>>> = 0>
37 If<
IsSatisfied<(
sizeof...(Is) ==
typename Base::Dimension())>> = 0>
52 If<
IsSatisfied<(
sizeof...(Is) ==
typename Base::Dimension())>> = 0>
66 constexpr decltype(
auto)
operator()(
72 constexpr decltype(
auto)
operator()(
73 typename Base::Subscripts
const &
subscripts)
const
Definition sequence.hpp:56
Definition sequence.hpp:34
constexpr decltype(auto) operator()(Is const ... indices) const
Definition contract.hpp:53
constexpr decltype(auto) operator()(Is const ... indices)
Definition contract.hpp:38
ContractUnary(X &&a)
Definition contract.hpp:31
Definition contract.hpp:14
Definition type_traits.hpp:32
pRC::Float<> T
Definition externs_nonTT.hpp:1
Definition diagonal.hpp:11
static constexpr auto makeConstantSequence()
Definition sequence.hpp:402
Size Index
Definition type_traits.hpp:21
std::enable_if_t< B{}, int > If
Definition type_traits.hpp:68
Constant< Bool, B > IsSatisfied
Definition type_traits.hpp:71
static constexpr auto loop(F &&f, Xs &&...args)
Definition loop.hpp:22
static constexpr auto range(F &&f, Xs &&...args)
Definition range.hpp:16
static constexpr auto chip(Sequence< T, Is... > const)
Definition sequence.hpp:551
Definition type_traits.hpp:262