3#ifndef pRC_TENSOR_TRAIN_TENSOR_VIEWS_VIEW_H
4#define pRC_TENSOR_TRAIN_TENSOR_VIEWS_VIEW_H
23 static_assert(
sizeof...(Ns) - 1 ==
sizeof...(
Rs));
25 "Tensor<T, Sizes<Ns...>>: T has to be of type Value or Complex.");
51 using Value =
typename T::Value;
52 template<
class V, If<IsValue<V>> = 0>
61 using Width =
typename T::Width;
70 template<
class E =
typename N::IsLinearizable, If<E> = 0>
71 static constexpr auto n()
81 template<
class E =
typename Sizes::IsLinearizable, If<E> = 0>
82 static constexpr auto size()
99 template<
class X, If<IsConstructible<T, X>> = 0>
100 static inline constexpr auto Single(
X &&value,
108 constexpr decltype(
auto)
core()
110 return this->self().template
core<C>();
114 constexpr decltype(
auto)
core()
const
116 return this->self().template
core<C>();
119 template<
class...
Is,
131 template<
class...
Is,
197 constexpr View(View
const &) =
default;
198 constexpr View(View &&) =
default;
199 constexpr View &operator=(View
const &) =
delete;
200 constexpr View &operator=(View &&) =
delete;
219 template<
class T,
Size...
Ns,
class R,
class F>
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 Single(X &&value, Is const ... indices)
Definition view.hpp:94
static constexpr auto size(Index const dimension)
Definition view.hpp:87
typename T::Value Value
Definition view.hpp:51
typename T::Width Width
Definition view.hpp:61
static constexpr auto size()
Definition view.hpp:82
static constexpr auto n(Index const dimension)
Definition view.hpp:76
static constexpr auto Single(X &&value, Subscripts const &subscripts)
Definition view.hpp:100
constexpr decltype(auto) core()
Definition view.hpp:108
T Type
Definition view.hpp:47
typename T::IsComplexified IsComplexified
Definition view.hpp:66
typename N::Dimension Dimension
Definition view.hpp:36
typename T::Signed Signed
Definition view.hpp:56
constexpr decltype(auto) core() const
Definition view.hpp:114
static constexpr auto n()
Definition view.hpp:71
Definition type_traits.hpp:37
Definition type_traits.hpp:17
Class storing tensors.
Definition tensor.hpp:44
static constexpr auto Single(X &&value, Is const ... indices)
Returns a Tensor of the Tensor class with a single non-zero entry.
Definition tensor.hpp:120
static constexpr auto size()
Returns the number of entries of the Tensor class.
Definition tensor.hpp:84
Definition type_traits.hpp:35
Definition cholesky.hpp:18
std::enable_if_t< B{}, int > If
Definition type_traits.hpp:68
std::size_t Size
Definition type_traits.hpp:20
static constexpr auto range(F &&f, Xs &&...args)
Definition range.hpp:16
static constexpr auto makeSeries()
Definition sequence.hpp:361
Constant< Bool, B > IsSatisfied
Definition type_traits.hpp:71
static constexpr Conditional< IsSatisfied< C >, RemoveConstReference< X >, X > copy(X &&a)
Definition copy.hpp:13
static constexpr decltype(auto) expand(Sequence< T, Seq... > const, F &&f, Xs &&...args)
forwards the values in a pRC::Sequence to a function as parameters
Definition sequence.hpp:354
Size Index
Definition type_traits.hpp:21
Definition type_traits.hpp:15