3#ifndef pRC_TENSOR_TRAIN_OPERATOR_VIEWS_VIEW_H
4#define pRC_TENSOR_TRAIN_OPERATOR_VIEWS_VIEW_H
23 static_assert(
sizeof...(Ms) ==
sizeof...(
Ns));
24 static_assert(
sizeof...(Ns) - 1 ==
sizeof...(
Rs));
26 "Operator<T, Sizes<Ns...>>: T has to be of type Value or Complex.");
55 template<
class V, If<IsValue<V>> = 0>
73 template<
class E =
typename M::IsLinearizable, If<E> = 0>
74 static constexpr auto m()
84 template<
class E =
typename N::IsLinearizable, If<E> = 0>
85 static constexpr auto n()
95 template<
class E =
typename Sizes::IsLinearizable, If<E> = 0>
96 static constexpr auto size()
114 template<
class X, If<IsConstructible<T, X>> = 0>
115 static inline constexpr auto Single(
X &&value,
122 template<
class X, If<IsConstructible<T, X>> = 0>
131 constexpr decltype(
auto)
core()
133 return this->self().template
core<C>();
137 constexpr decltype(
auto)
core()
const
139 return this->self().template
core<C>();
142 template<
class...
Is,
149 template<
class...
Is,
179 [
this, &
is, &
js](
auto const...
seq)
190 [
this, &
is, &
js](
auto const...
seq)
233 constexpr View(View
const &) =
default;
234 constexpr View(View &&) =
default;
235 constexpr View &operator=(View
const &) =
delete;
236 constexpr View &operator=(View &&) =
delete;
pRC::Constant< Size, W > Width
Definition float.hpp:39
Float< W > Value
Definition float.hpp:31
False<> IsComplexified
Definition float.hpp:43
True<> Signed
Definition float.hpp:35
Definition sequence.hpp:56
static constexpr auto size()
Definition sequence.hpp:88
Constant< Size, sizeof...(Ns)> Dimension
Definition sequence.hpp:74
Constant< Bool, linearizable()> IsLinearizable
Definition sequence.hpp:75
Definition subscripts.hpp:20
static constexpr auto m(Index const dimension)
Definition view.hpp:79
constexpr decltype(auto) core() const
Definition view.hpp:137
typename T::Value Value
Definition view.hpp:54
typename T::Width Width
Definition view.hpp:64
static constexpr auto n(Index const dimension)
Definition view.hpp:90
static constexpr auto size(Index const dimension)
Definition view.hpp:101
constexpr decltype(auto) core()
Definition view.hpp:131
static constexpr auto Single(X &&value, Subscripts const &subscripts)
Definition view.hpp:115
static constexpr auto m()
Definition view.hpp:74
static constexpr auto Single(X &&value, SubscriptsM const &is, SubscriptsN const &js)
Definition view.hpp:123
static constexpr auto size()
Definition view.hpp:96
constexpr auto operator()(SubscriptsM const &is, SubscriptsN const &js) const
Definition view.hpp:186
static constexpr auto Single(X &&value, Is const ... indices)
Definition view.hpp:108
constexpr decltype(auto) operator()(Is const ... indices)
Definition view.hpp:144
typename T::Signed Signed
Definition view.hpp:59
typename N::Dimension Dimension
Definition view.hpp:39
typename T::IsComplexified IsComplexified
Definition view.hpp:69
static constexpr auto n()
Definition view.hpp:85
constexpr decltype(auto) operator()(Is const ... indices) const
Definition view.hpp:151
constexpr auto operator()(SubscriptsM const &is, SubscriptsN const &js)
Definition view.hpp:176
Definition type_traits.hpp:37
Definition type_traits.hpp:17
static constexpr auto size()
Definition tensor.hpp:65
TN::Subscripts S
Definition externs_nonTT.hpp:9
pRC::Float<> T
Definition externs_nonTT.hpp:1
Definition type_traits.hpp:35
Definition cholesky.hpp:18
static constexpr auto makeConstantSequence()
Definition sequence.hpp:402
Size Index
Definition type_traits.hpp:21
std::size_t Size
Definition type_traits.hpp:20
std::enable_if_t< B{}, int > If
Definition type_traits.hpp:68
Constant< Bool, B > IsSatisfied
Definition type_traits.hpp:71
static constexpr auto range(F &&f, Xs &&...args)
Definition range.hpp:16
Tensor(TensorViews::View< T, Sizes< Ns... >, F > const &) -> Tensor< T, Ns... >
static constexpr auto makeSeries()
Definition sequence.hpp:351
static constexpr decltype(auto) expand(Sequence< T, Seq... > const, F &&f, Xs &&...args)
Definition sequence.hpp:344
Definition type_traits.hpp:15