Skip to content

Commit 57516f1

Browse files
committed
Move mini::Repeat into own file
1 parent dceabc3 commit 57516f1

18 files changed

+102
-51
lines changed

source/pbat/math/linalg/mini/Api.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#include "SubMatrix.h"
77
#include "Transpose.h"
88

9-
#define PBAT_MINI_READ_API(SelfType) \
9+
#define PBAT_MINI_READ_API(SelfType) \
1010
PBAT_MINI_DIMENSIONS_API \
1111
PBAT_MINI_CONST_SUBMATRIX_API(SelfType) \
1212
PBAT_MINI_CONST_TRANSPOSE_API(SelfType)

source/pbat/math/linalg/mini/BinaryOperations.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#include "BinaryOperations.h"
22

3+
#include "Matrix.h"
34
#include "pbat/Aliases.h"
4-
#include "pbat/math/linalg/mini/Matrix.h"
55

66
#include <doctest/doctest.h>
77

source/pbat/math/linalg/mini/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ target_sources(PhysicsBasedAnimationToolkit_PhysicsBasedAnimationToolkit
1515
"Norm.h"
1616
"Product.h"
1717
"Reductions.h"
18+
"Repeat.h"
1819
"Scale.h"
1920
"SubMatrix.h"
2021
"Transpose.h"
@@ -32,6 +33,7 @@ target_sources(PhysicsBasedAnimationToolkit_PhysicsBasedAnimationToolkit
3233
"Norm.cpp"
3334
"Product.cpp"
3435
"Reductions.cpp"
36+
"Repeat.cpp"
3537
"Scale.cpp"
3638
"SubMatrix.cpp"
3739
"Transpose.cpp"

source/pbat/math/linalg/mini/Determinant.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#include "Determinant.h"
22

3+
#include "Matrix.h"
34
#include "pbat/Aliases.h"
4-
#include "pbat/math/linalg/mini/Matrix.h"
55

66
#include <cmath>
77
#include <doctest/doctest.h>

source/pbat/math/linalg/mini/Eigen.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#include "Eigen.h"
22

3+
#include "Matrix.h"
34
#include "pbat/Aliases.h"
4-
#include "pbat/math/linalg/mini/Matrix.h"
55

66
#include <doctest/doctest.h>
77

source/pbat/math/linalg/mini/Geometry.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#include "Geometry.h"
22

3+
#include "Matrix.h"
34
#include "pbat/Aliases.h"
4-
#include "pbat/math/linalg/mini/Matrix.h"
55

66
#include <doctest/doctest.h>
77

source/pbat/math/linalg/mini/Inverse.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#include "Inverse.h"
22

3+
#include "Matrix.h"
4+
#include "Scale.h"
35
#include "pbat/Aliases.h"
4-
#include "pbat/math/linalg/mini/Matrix.h"
5-
#include "pbat/math/linalg/mini/Scale.h"
66

77
#include <Eigen/LU>
88
#include <cmath>

source/pbat/math/linalg/mini/Matrix.h

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -227,42 +227,6 @@ class SMatrixView
227227
template <class TScalar, int M>
228228
using SVectorView = SMatrixView<TScalar, M, 1>;
229229

230-
template <CMatrix TMatrix, int RepeatRows, int RepeatCols>
231-
class TiledView
232-
{
233-
public:
234-
using NestedType = TMatrix;
235-
using ScalarType = typename NestedType::ScalarType;
236-
using SelfType = TiledView<NestedType, RepeatRows, RepeatCols>;
237-
238-
static auto constexpr kRows = RepeatRows * NestedType::kRows;
239-
static auto constexpr kCols = RepeatCols * NestedType::kCols;
240-
static bool constexpr bRowMajor = NestedType::bRowMajor;
241-
242-
PBAT_HOST_DEVICE TiledView(NestedType const& A) : A(A) {}
243-
244-
PBAT_HOST_DEVICE ScalarType operator()(auto i, auto j) const
245-
{
246-
return A(i % NestedType::kRows, j % NestedType::kCols);
247-
}
248-
249-
// Vector(ized) access
250-
PBAT_HOST_DEVICE ScalarType operator()(auto i) const { return (*this)(i % kRows, i / kRows); }
251-
PBAT_HOST_DEVICE ScalarType operator[](auto i) const { return (*this)(i); }
252-
253-
PBAT_MINI_READ_API(SelfType)
254-
255-
private:
256-
NestedType const& A;
257-
};
258-
259-
template <auto RepeatRows, auto RepeatCols, class /*CMatrix*/ TMatrix>
260-
PBAT_HOST_DEVICE auto Repeat(TMatrix&& A)
261-
{
262-
using MatrixType = std::remove_cvref_t<TMatrix>;
263-
return TiledView<MatrixType, RepeatRows, RepeatCols>(std::forward<TMatrix>(A));
264-
}
265-
266230
template <class TScalar, int M>
267231
PBAT_HOST_DEVICE auto Unit(auto i)
268232
{

source/pbat/math/linalg/mini/Mini.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include "Norm.h"
1313
#include "Product.h"
1414
#include "Reductions.h"
15+
#include "Repeat.h"
1516
#include "SubMatrix.h"
1617
#include "Transpose.h"
1718
#include "UnaryOperations.h"

source/pbat/math/linalg/mini/Norm.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#include "Norm.h"
22

3+
#include "Matrix.h"
4+
#include "Scale.h"
35
#include "pbat/Aliases.h"
4-
#include "pbat/math/linalg/mini/Matrix.h"
5-
#include "pbat/math/linalg/mini/Scale.h"
66

77
#include <doctest/doctest.h>
88

0 commit comments

Comments
 (0)