pRC
multi-purpose Tensor Train library for C++
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
subscripts.hpp File Reference
#include <prc/core/basic/sequence.hpp>
#include <prc/core/container/type_traits.hpp>
#include <prc/core/functors/add.hpp>
#include <prc/core/functors/div.hpp>
#include <prc/core/functors/mod.hpp>
#include <prc/core/functors/mul.hpp>
#include <prc/core/functors/sub.hpp>
#include <prc/core/log/log.hpp>
#include <prc/pragma.hpp>

Go to the source code of this file.

Classes

class  pRC::Subscripts< Ns >
 

Namespaces

namespace  pRC
 

Functions

template<Size... Ns>
static constexpr auto pRC::operator+ (Subscripts< Ns... > const &lhs, Subscripts< Ns... > const &rhs)
 
template<Size... Ns>
static constexpr auto pRC::operator- (Subscripts< Ns... > const &lhs, Subscripts< Ns... > const &rhs)
 
template<Size... Ns, Size... Ss, If< IsSatisfied<(sizeof...(Ns)==sizeof...(Ss))> > = 0>
static constexpr auto pRC::operator* (Subscripts< Ns... > const &lhs, Sizes< Ss... > const)
 
template<Size... Ns, Size... Ss, If< IsSatisfied<(sizeof...(Ns)==sizeof...(Ss))> > = 0>
static constexpr auto pRC::operator* (Sizes< Ss... > const, Subscripts< Ns... > const &rhs)
 
template<Size... Ns, Size... Ss, If< IsSatisfied<(sizeof...(Ns)==sizeof...(Ss))> > = 0>
static constexpr auto pRC::operator/ (Subscripts< Ns... > const &lhs, Sizes< Ss... > const)
 
template<Size... Ns, Size... Ss, If< IsSatisfied<(sizeof...(Ns)==sizeof...(Ss))> > = 0>
static constexpr auto pRC::operator% (Subscripts< Ns... > const &lhs, Sizes< Ss... > const)
 
template<Size... Ns>
static constexpr auto pRC::operator== (Subscripts< Ns... > const &lhs, Subscripts< Ns... > const &rhs)
 
template<Size... Ns>
static constexpr auto pRC::operator!= (Subscripts< Ns... > const &lhs, Subscripts< Ns... > const &rhs)
 
template<Index... Ps, Size... Ns, If< IsSatisfied<(sizeof...(Ps)==sizeof...(Ns))> > = 0, If< IsSatisfied<(max(Ps...)< sizeof...(Ns))> > = 0, If< IsUnique< Constant< Index, Ps >... > > = 0>
static constexpr auto pRC::permute (Subscripts< Ns... > const &arg)
 
template<Size... Ns>
static constexpr auto pRC::reverse (Subscripts< Ns... > const &arg)
 
template<Direction D, Size Step, Size... Ns, If< True< decltype(rotate< D, Step >(makeSeriesFor< Index, Ns... >()))> >
static constexpr auto pRC::rotate (Subscripts< Ns... > const &arg)
 
template<Index... Ds, Size... Ns, If< True< decltype(chip< Ds... >(Sequence< Index, Ns... >()))> >
static constexpr auto pRC::chip (Subscripts< Ns... > const &arg)