|
7 | 7 | namespace FSLinalg |
8 | 8 | { |
9 | 9 |
|
10 | | -template<class Derived> template<typename Alpha, class Dst, bool checkAliasing> |
11 | | -void MatrixBase<Derived>::assignTo(const Alpha& alpha, MatrixBase<Dst>& dst, std::bool_constant<checkAliasing> bc) const requires(IsConvertibleTo<Dst>::value and IsScalar<Alpha>::value) |
| 10 | +template<class Derived> template<typename Bool, typename Alpha, class Dst> |
| 11 | +void MatrixBase<Derived>::assignTo(const Bool checkAliasing, const Alpha& alpha, MatrixBase<Dst>& dst) const requires(IsConvertibleTo<Dst>::value and IsScalar<Alpha>::value) |
12 | 12 | { |
13 | 13 | static_assert(Dst::nRows == nRows, "Matrix sizes must match"); |
14 | 14 | static_assert(Dst::nCols == nCols, "Matrix sizes must match"); |
@@ -42,12 +42,12 @@ void MatrixBase<Derived>::assignTo(const Alpha& alpha, MatrixBase<Dst>& dst, std |
42 | 42 | } |
43 | 43 | else |
44 | 44 | { |
45 | | - Base::derived().assignToImpl(alpha, dst, bc); |
| 45 | + Base::derived().assignToImpl(checkAliasing, alpha, dst); |
46 | 46 | } |
47 | 47 | } |
48 | 48 |
|
49 | | -template<class Derived> template<typename Alpha, class Dst, bool checkAliasing> |
50 | | -void MatrixBase<Derived>::increment(const Alpha& alpha, MatrixBase<Dst>& dst, std::bool_constant<checkAliasing> bc) const requires(IsConvertibleTo<Dst>::value and IsScalar<Alpha>::value) |
| 49 | +template<class Derived> template<typename Bool, typename Alpha, class Dst> |
| 50 | +void MatrixBase<Derived>::increment(const Bool checkAliasing, const Alpha& alpha, MatrixBase<Dst>& dst) const requires(IsConvertibleTo<Dst>::value and IsScalar<Alpha>::value) |
51 | 51 | { |
52 | 52 | static_assert(Dst::nRows == nRows, "Matrix sizes must match"); |
53 | 53 | static_assert(Dst::nCols == nCols, "Matrix sizes must match"); |
@@ -81,12 +81,12 @@ void MatrixBase<Derived>::increment(const Alpha& alpha, MatrixBase<Dst>& dst, st |
81 | 81 | } |
82 | 82 | else |
83 | 83 | { |
84 | | - Base::derived().incrementImpl(alpha, dst, bc); |
| 84 | + Base::derived().incrementImpl(checkAliasing, alpha, dst); |
85 | 85 | } |
86 | 86 | } |
87 | 87 |
|
88 | | -template<class Derived> template<typename Alpha, class Dst, bool checkAliasing> |
89 | | -void MatrixBase<Derived>::decrement(const Alpha& alpha, MatrixBase<Dst>& dst, std::bool_constant<checkAliasing> bc) const requires(IsConvertibleTo<Dst>::value and IsScalar<Alpha>::value) |
| 88 | +template<class Derived> template<typename Bool, typename Alpha, class Dst> |
| 89 | +void MatrixBase<Derived>::decrement(const Bool checkAliasing, const Alpha& alpha, MatrixBase<Dst>& dst) const requires(IsConvertibleTo<Dst>::value and IsScalar<Alpha>::value) |
90 | 90 | { |
91 | 91 | static_assert(Dst::nRows == nRows, "Matrix sizes must match"); |
92 | 92 | static_assert(Dst::nCols == nCols, "Matrix sizes must match"); |
@@ -120,7 +120,7 @@ void MatrixBase<Derived>::decrement(const Alpha& alpha, MatrixBase<Dst>& dst, st |
120 | 120 | } |
121 | 121 | else |
122 | 122 | { |
123 | | - Base::derived().decrementImpl(alpha, dst, bc); |
| 123 | + Base::derived().decrementImpl(checkAliasing, alpha, dst); |
124 | 124 | } |
125 | 125 | } |
126 | 126 |
|
|
0 commit comments