pRC
multi-purpose Tensor Train library for C++
Loading...
Searching...
No Matches
Namespaces | Functions
range.hpp File Reference
#include <prc/core/basic/context.hpp>
#include <prc/core/basic/direction.hpp>
#include <prc/core/basic/sequence.hpp>
#include <prc/core/basic/type_traits.hpp>
#include <prc/core/functors/mul.hpp>

Go to the source code of this file.

Namespaces

namespace  pRC
 

Functions

template<Context C, Size I, Size L, Direction D = Direction::Forwards, Size S = 1, class F , class... Xs>
static constexpr auto pRC::range (F &&f, Xs &&...args)
 
template<Size I, Size L, Direction D = Direction::Forwards, Size S = 1, class F , class... Xs>
static constexpr auto pRC::range (F &&f, Xs &&...args)
 
template<Size L, Direction D = Direction::Forwards, Size S = 1, class F , class... Xs>
static constexpr auto pRC::range (F &&f, Xs &&...args)
 
template<Context C, class I , class L , Direction O, class D , class S = decltype(makeConstantSequence<Size, typename I::Dimension{}, 1>()), class F , class... Xs, If< IsSizes< I > > = 0, If< IsSizes< L > > = 0, If< IsSequence< D > > = 0, If< IsSizes< S > > = 0, If< IsSame< Direction, typename D::Type > > = 0, If< IsSame< typename I::Dimension, typename L::Dimension, typename D::Dimension, typename S::Dimension > > = 0, If< IsSatisfied<((L() - I()) % S()==Constant< Size, 0 >())> , If< IsSatisfied<(O==Direction::LeftToRight||O==Direction::RightToLeft)> > = 0>
static constexpr auto pRC::range (F &&f, Xs &&...args)
 
template<Context C, class L , Direction O, class D , class S = decltype(makeConstantSequence<Size, typename L::Dimension{}, 1>()), class F , class... Xs, If< IsSizes< L > > = 0, If< IsSequence< D > > = 0, If< IsSizes< S > > = 0, If< IsSame< Direction, typename D::Type > > = 0, If< IsSame< typename L::Dimension, typename D::Dimension, typename S::Dimension > > = 0, If< IsSatisfied<(L() % S()==Constant< Size, 0 >())> , If< IsSatisfied<(O==Direction::LeftToRight||O==Direction::RightToLeft)> > = 0>
static constexpr auto pRC::range (F &&f, Xs &&...args)
 
template<class I , class L , Direction O, class D , class S = decltype(makeConstantSequence<Size, typename I::Dimension{}, 1>()), class F , class... Xs, If< IsSizes< I > > = 0, If< IsSizes< L > > = 0, If< IsSequence< D > > = 0, If< IsSizes< S > > = 0, If< IsSame< Direction, typename D::Type > > = 0, If< IsSame< typename I::Dimension, typename L::Dimension, typename D::Dimension, typename S::Dimension > > = 0, If< IsSatisfied<((L() - I()) % S()==Constant< Size, 0 >())> , If< IsSatisfied<(O==Direction::LeftToRight||O==Direction::RightToLeft)> > = 0>
static constexpr auto pRC::range (F &&f, Xs &&...args)
 
template<class L , Direction O, class D , class S = decltype(makeConstantSequence<Size, typename L::Dimension{}, 1>()), class F , class... Xs, If< IsSizes< L > > = 0, If< IsSequence< D > > = 0, If< IsSizes< S > > = 0, If< IsSame< Direction, typename D::Type > > = 0, If< IsSame< typename L::Dimension, typename D::Dimension, typename S::Dimension > > = 0, If< IsSatisfied<(L() % S()==Constant< Size, 0 >())> , If< IsSatisfied<(O==Direction::LeftToRight||O==Direction::RightToLeft)> > = 0>
static constexpr auto pRC::range (F &&f, Xs &&...args)