Skip to content

Commit 4cbcd50

Browse files
authored
Merge pull request #288 from HyperloopUPV-H8/fix/MatrixMultiplierType
Changed Calculation Type for MatrixMultiplier from double to float
2 parents 047904e + 5058f6c commit 4cbcd50

1 file changed

Lines changed: 16 additions & 16 deletions

File tree

Inc/ST-LIB_HIGH/Control/Blocks/MatrixMultiplier.hpp

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
template<size_t U, size_t V, size_t W> class MatrixMultiplier;
55

66
template<size_t U, size_t V, size_t W> requires (U > 1 && V > 1 && W > 1)
7-
class MatrixMultiplier<U,V,W> : public ControlBlock<double(*)[U][V], double(*)[U][W]>{
8-
double(&A)[U][V], (&B)[V][W], (&result)[U][W];
7+
class MatrixMultiplier<U,V,W> : public ControlBlock<float(*)[U][V], float(*)[U][W]>{
8+
float(&A)[U][V], (&B)[V][W], (&result)[U][W];
99
public:
10-
MatrixMultiplier(double(&A)[U][V], double(&B)[V][W], double(&result)[U][W]) : A(A), B(B), result(result){
10+
MatrixMultiplier(float(&A)[U][V], float(&B)[V][W], float(&result)[U][W]) : A(A), B(B), result(result){
1111
this->input_value = &A;
1212
this->output_value = &result;
1313
}
@@ -33,14 +33,14 @@ class MatrixMultiplier<U,V,W> : public ControlBlock<double(*)[U][V], double(*)[U
3333
//CTAD
3434
#if __cpp_deduction_guides >= 201606
3535
template<size_t U, size_t V, size_t W> requires (U > 1 && V > 1 && W > 1)
36-
MatrixMultiplier(double(&)[U][V], double(&)[V][W], double(&)[U][W])->MatrixMultiplier<U,V,W>;
36+
MatrixMultiplier(float(&)[U][V], float(&)[V][W], float(&)[U][W])->MatrixMultiplier<U,V,W>;
3737
#endif
3838

3939
template<size_t U, size_t V>
40-
class MatrixMultiplier<U,V,1> : public ControlBlock<double(*)[U][V], double(*)[U]>{
41-
double(&A)[U][V], (&B)[V], (&result)[U];
40+
class MatrixMultiplier<U,V,1> : public ControlBlock<float(*)[U][V], float(*)[U]>{
41+
float(&A)[U][V], (&B)[V], (&result)[U];
4242
public:
43-
MatrixMultiplier(double(&A)[U][V], double(&B)[V], double(&result)[U]) : A(A), B(B), result(result){
43+
MatrixMultiplier(float(&A)[U][V], float(&B)[V], float(&result)[U]) : A(A), B(B), result(result){
4444
this->input_value = &A;
4545
this->output_value = &result;
4646
}
@@ -63,14 +63,14 @@ class MatrixMultiplier<U,V,1> : public ControlBlock<double(*)[U][V], double(*)[U
6363
//CTAD
6464
#if __cpp_deduction_guides >= 201606
6565
template<size_t U, size_t V> requires (U > 1 && V > 1)
66-
MatrixMultiplier(double(&)[U][V], double(&)[V], double(&)[U])->MatrixMultiplier<U,V,1>;
66+
MatrixMultiplier(float(&)[U][V], float(&)[V], float(&)[U])->MatrixMultiplier<U,V,1>;
6767
#endif
6868

6969
template<size_t U, size_t V>
70-
class MatrixMultiplier<1,U,V> : public ControlBlock<double(*)[U], double(*)[V]>{
71-
double(&A)[U], (&B)[U][V], (&result)[V];
70+
class MatrixMultiplier<1,U,V> : public ControlBlock<float(*)[U], float(*)[V]>{
71+
float(&A)[U], (&B)[U][V], (&result)[V];
7272
public:
73-
MatrixMultiplier(double(&A)[U], double(&B)[U][V], double(&result)[V]) : A(A), B(B), result(result){
73+
MatrixMultiplier(float(&A)[U], float(&B)[U][V], float(&result)[V]) : A(A), B(B), result(result){
7474
this->input_value = &A;
7575
this->output_value = &result;
7676
}
@@ -93,14 +93,14 @@ class MatrixMultiplier<1,U,V> : public ControlBlock<double(*)[U], double(*)[V]>{
9393
//CTAD
9494
#if __cpp_deduction_guides >= 201606
9595
template<size_t U, size_t V> requires (U > 1 && V > 1)
96-
MatrixMultiplier(double(&)[U], double(&)[U][V], double(&)[V])->MatrixMultiplier<1,U,V>;
96+
MatrixMultiplier(float(&)[U], float(&)[U][V], float(&)[V])->MatrixMultiplier<1,U,V>;
9797
#endif
9898

9999
template<size_t U>
100-
class MatrixMultiplier<1,U,1> : public ControlBlock<double(*)[U], double(*)>{
101-
double(&A)[U], (&B)[U], (&result);
100+
class MatrixMultiplier<1,U,1> : public ControlBlock<float(*)[U], float(*)>{
101+
float(&A)[U], (&B)[U], &result;
102102
public:
103-
MatrixMultiplier(double(&A)[U], double(&B)[U], double(&result)) : A(A), B(B), result(result){
103+
MatrixMultiplier(float(&A)[U], float(&B)[U], float(&result)) : A(A), B(B), result(result){
104104
this->input_value = &A;
105105
this->output_value = &result;
106106
}
@@ -119,5 +119,5 @@ class MatrixMultiplier<1,U,1> : public ControlBlock<double(*)[U], double(*)>{
119119
//CTAD
120120
#if __cpp_deduction_guides >= 201606
121121
template<size_t U> requires (U > 1)
122-
MatrixMultiplier(double(&)[U], double(&)[U], double(&))->MatrixMultiplier<1,U,1>;
122+
MatrixMultiplier(float(&)[U], float(&)[U], float(&))->MatrixMultiplier<1,U,1>;
123123
#endif

0 commit comments

Comments
 (0)