19 using NestedType = TMatrix;
20 using ScalarType =
typename NestedType::ScalarType;
21 using SelfType = TiledView<NestedType, RepeatRows, RepeatCols>;
23 static auto constexpr kRows = RepeatRows * NestedType::kRows;
24 static auto constexpr kCols = RepeatCols * NestedType::kCols;
25 static bool constexpr bRowMajor = NestedType::bRowMajor;
27 PBAT_HOST_DEVICE TiledView(NestedType
const& _A) : A(_A) {}
29 PBAT_HOST_DEVICE ScalarType operator()(
auto i,
auto j)
const
31 return A(i % NestedType::kRows, j % NestedType::kCols);
35 PBAT_HOST_DEVICE ScalarType operator()(
auto i)
const {
return (*
this)(i % kRows, i / kRows); }
36 PBAT_HOST_DEVICE ScalarType operator[](
auto i)
const {
return (*
this)(i); }
38 PBAT_MINI_READ_API(SelfType)