3#ifndef pRC_TENSOR_TRAIN_OPERATOR_UNIT_H
4#define pRC_TENSOR_TRAIN_OPERATOR_UNIT_H
14 struct Unit<
T,
If<TensorTrain::IsOperatorView<T>>> :
Unit<ResultOf<Eval, T>>
19 struct Unit<
T,
If<TensorTrain::IsOperator<T>>>
26 constexpr auto CRL = Core::size(0);
27 constexpr auto CM = Core::size(1);
28 constexpr auto CN = Core::size(2);
29 constexpr auto CRR = Core::size(3);
33 zero<
typename Core::template ChangeSizes<
CRL - 1,
CM,
CN,
38 using M =
typename T::M;
39 using N =
typename T::N;
40 using Ranks =
typename T::Ranks;
46 template<
class X, If<IsConstructible<
typename T::Type, X>> = 0>
50 [value =
typename T::Type(forward<X>(value))]<
Index C>()
53 constexpr auto CRL = Core::size(0);
54 constexpr auto CM = Core::size(1);
55 constexpr auto CN = Core::size(2);
56 constexpr auto CRR = Core::size(3);
63 zero<
typename Core::template ChangeSizes<
CRL - 1,
CM,
69 unit<
typename Core::template ChangeSizes<1,
CM,
CN,
71 zero<
typename Core::template ChangeSizes<
CRL - 1,
CM,
77 using M =
typename T::M;
78 using N =
typename T::N;
79 using Ranks =
typename T::Ranks;
Definition enumerate.hpp:19
Definition cholesky.hpp:18
static constexpr auto makeConstantSequence()
Definition sequence.hpp:402
Size Index
Definition type_traits.hpp:21
static constexpr auto zero()
Definition zero.hpp:12
std::enable_if_t< B{}, int > If
Definition type_traits.hpp:68
static constexpr auto unit()
Definition unit.hpp:12
RemoveConst< RemoveReference< T > > RemoveConstReference
Definition type_traits.hpp:62
constexpr auto operator()()
Definition unit.hpp:21
constexpr auto operator()(X &&value)
Definition unit.hpp:47
Definition type_traits.hpp:265