3#ifndef pRC_CORE_TENSOR_VIEWS_BROADCAST_H
4#define pRC_CORE_TENSOR_VIEWS_BROADCAST_H
10 template<
class T,
class N,
class B,
class V>
13 template<
class T,
Size... Ns,
Size... Bs,
class V>
16 :
public View<T, Sizes<Ns...>,
17 Broadcast<T, Sizes<Ns...>, Sizes<Bs...>, V>>
30 template<IsConvertible<Index>... Is>
31 requires(
sizeof...(Is) == Base::Dimension)
32 constexpr decltype(
auto)
operator()(Is
const... indices)
34 return asConst(mA((indices % (Ns / Bs))...));
37 template<IsConvertible<Index>... Is>
38 requires(
sizeof...(Is) == Base::Dimension)
39 constexpr decltype(
auto)
operator()(Is
const... indices)
const
41 return mA((indices % (Ns / Bs))...);
44 constexpr decltype(
auto)
operator()(
45 typename Base::Subscripts
const &subscripts)
47 return this->call(subscripts);
50 constexpr decltype(
auto)
operator()(
51 typename Base::Subscripts
const &subscripts)
const
53 return this->call(subscripts);
56 constexpr decltype(
auto)
operator[](
Index const index) =
delete;
57 constexpr decltype(
auto)
operator[](
Index const index)
const =
delete;
Definition sequence.hpp:29
Broadcast(X &&a)
Definition broadcast.hpp:25
Definition broadcast.hpp:11
Definition declarations.hpp:20
Definition concepts.hpp:28
Definition declarations.hpp:36
pRC::Float<> T
Definition externs_nonTT.hpp:1
Definition declarations.hpp:18
Size Index
Definition basics.hpp:32
std::size_t Size
Definition basics.hpp:31
static constexpr AddConst< X > & asConst(X &a)
Definition basics.hpp:71