3#ifndef pRC_CORE_CONTAINER_SUBSCRIPTS_H
4#define pRC_CORE_CONTAINER_SUBSCRIPTS_H
25 template<
class E =
typename Sizes::IsLinearizable, If<E> = 0>
26 static constexpr auto size()
51 template<Index D = Dimension(), If<IsSatisfied<(D == 0)>> = 0>
57 template<Index D = Dimension(), If<IsSatisfied<(D > 1)>> = 0,
65 [
this](
auto index,
auto const...
seq)
75 template<
class E =
typename Sizes::IsLinearizable, If<E> = 0>
76 explicit constexpr operator Index()
const
122 auto lhsE = mSubscripts[
i - 1];
151 [
this](
auto const...
seq)
159 return *
this %=
Sizes();
162 template<
class X, If<IsInvocable<Add, Subscripts &, X>> = 0>
168 template<
class X, If<IsInvocable<Sub, Subscripts &, X>> = 0>
174 template<
class X, If<IsInvocable<Mul, Subscripts &, X>> = 0>
180 template<
class X, If<IsInvocable<Div, Subscripts &, X>> = 0>
186 template<
class X, If<IsInvocable<Mod, Subscripts &, X>> = 0>
197 if(!(index <
size()))
pRC::Size const D
Definition CalculatePThetaTests.cpp:9
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
constexpr Subscripts & operator=(Subscripts const &) &=default
static constexpr auto size()
Definition subscripts.hpp:26
constexpr decltype(auto) operator[](Index const dimension) &&
Definition subscripts.hpp:97
constexpr auto & operator/=(X &&rhs) &
Definition subscripts.hpp:181
constexpr auto isOutOfRange() const
Definition subscripts.hpp:148
constexpr auto & operator+=(X &&rhs) &
Definition subscripts.hpp:163
constexpr auto & operator-=(X &&rhs) &
Definition subscripts.hpp:169
constexpr Subscripts(Index const index)
Definition subscripts.hpp:59
typename Sizes::Dimension Dimension
Definition subscripts.hpp:23
constexpr Subscripts()=default
constexpr Subscripts & operator=(Subscripts &&) &=default
constexpr Subscripts(Ss const ... subscripts)
Definition subscripts.hpp:46
constexpr decltype(auto) periodize() &
Definition subscripts.hpp:157
constexpr Subscripts(Index const index)
Definition subscripts.hpp:52
constexpr auto & operator%=(X &&rhs) &
Definition subscripts.hpp:187
static constexpr auto size(Index const dimension)
Definition subscripts.hpp:31
constexpr Subscripts(Subscripts &&)=default
constexpr Subscripts(Subscripts const &)=default
pRC::Sizes< Ns... > Sizes
Definition subscripts.hpp:22
constexpr bool operator<(const Subscripts &rhs) const
Definition subscripts.hpp:117
constexpr auto & operator*=(X &&rhs) &
Definition subscripts.hpp:175
static void error(Xs &&...args)
Definition log.hpp:14
Definition cholesky.hpp:18
static constexpr auto arg(Complex< T > const &a)
Definition arg.hpp:12
static constexpr auto rotate(Sequence< T, First, Is... > const)
Definition sequence.hpp:460
static constexpr auto makeConstantSequence()
Definition sequence.hpp:402
Size Index
Definition type_traits.hpp:21
std::size_t Size
Definition type_traits.hpp:20
static constexpr auto reverse(Direction const D)
Definition direction.hpp:24
std::enable_if_t< B{}, int > If
Definition type_traits.hpp:68
Constant< Bool, B > IsSatisfied
Definition type_traits.hpp:71
static constexpr auto operator-(Sequence< T, As... > const, Sequence< T, Bs... > const)
Definition sequence.hpp:132
static constexpr auto makeSeries()
Definition sequence.hpp:351
CommonArray< Allocation::Stack, T, Ns... > StackArray
Definition type_traits.hpp:52
static constexpr auto operator!=(JacobiRotation< TA > const &a, JacobiRotation< TB > const &b)
Definition jacobi_rotation.hpp:304
constexpr auto cDebugLevel
Definition config.hpp:46
static constexpr auto permute(Sequence< T, Is... > const)
Definition sequence.hpp:440
static constexpr auto operator==(JacobiRotation< TA > const &a, JacobiRotation< TB > const &b)
Definition jacobi_rotation.hpp:297
static constexpr auto operator+(Sequence< T, As... > const, Sequence< T, Bs... > const)
Definition sequence.hpp:110
Sequence(std::integer_sequence< T, Seq... > const) -> Sequence< T, Seq... >
Direction
Definition direction.hpp:9
static constexpr auto chip(Sequence< T, Is... > const)
Definition sequence.hpp:551
static constexpr decltype(auto) expand(Sequence< T, Seq... > const, F &&f, Xs &&...args)
Definition sequence.hpp:344
static constexpr X max(X &&a)
Definition max.hpp:13
#define BEGIN_IGNORE_DIAGNOSTIC_GCC(warning)
Definition pragma.hpp:42
#define END_IGNORE_DIAGNOSTIC_GCC
Definition pragma.hpp:43