-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Arduino Due Support #13
Comments
Hey Juan, |
Hi Tom, #include <BasicLinearAlgebra.h> } When the board is MEGA or UNO for instance, everything is ok. But when the selected board is a DUE, Arduino: 1.8.5 (Windows 10), Board: "Arduino Due (Programming Port)" In file included from C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:16:0,
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:4:61: error: using typedef-name 'Matrix' after 'class' template<int rows, int cols, class ElemT, class MemT> class Matrix;
In file included from C:\Users\juanj\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\system/CMSIS/Device/ATMEL/sam3xa/include/sam3x8e.h:282:0,
C:\Users\juanj\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\system/CMSIS/Device/ATMEL/sam3xa/include/component/component_matrix.h:71:3: note: 'Matrix' has a previous declaration here } Matrix; ^ In file included from C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:16:0,
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:24:1: error: 'Matrix' is not a template Matrix<rows,cols,retElemT,Array<rows,cols,retElemT> > &Add(const Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > &A, const Matrix<rows,cols,opElemT,Array<rows,cols,opElemT> > &B, Matrix<rows,cols,retElemT,Array<rows,cols,retElemT> > &C) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:24:66: error: 'Matrix' is not a template Matrix<rows,cols,retElemT,Array<rows,cols,retElemT> > &Add(const Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > &A, const Matrix<rows,cols,opElemT,Array<rows,cols,opElemT> > &B, Matrix<rows,cols,retElemT,Array<rows,cols,retElemT> > &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:24:124: error: 'Matrix' is not a template Matrix<rows,cols,retElemT,Array<rows,cols,retElemT> > &Add(const Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > &A, const Matrix<rows,cols,opElemT,Array<rows,cols,opElemT> > &B, Matrix<rows,cols,retElemT,Array<rows,cols,retElemT> > &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:24:180: error: 'Matrix' is not a template Matrix<rows,cols,retElemT,Array<rows,cols,retElemT> > &Add(const Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > &A, const Matrix<rows,cols,opElemT,Array<rows,cols,opElemT> > &B, Matrix<rows,cols,retElemT,Array<rows,cols,retElemT> > &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp: In function 'Matrix& Add(const Matrix&, const Matrix&, Matrix&)': C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:28:15: error: 'struct Matrix' has no member named 'delegate'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:28:44: error: 'const struct Matrix' has no member named 'delegate'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:28:73: error: 'const struct Matrix' has no member named 'delegate'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp: At global scope: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:34:1: error: 'Matrix' is not a template Matrix<rows,cols,retElemT,Array<rows,cols,retElemT> > &Subtract(const Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > &A, const Matrix<rows,cols,opElemT,Array<rows,cols,opElemT> > &B, Matrix<rows,cols,retElemT,Array<rows,cols,retElemT> > &C) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:34:71: error: 'Matrix' is not a template Matrix<rows,cols,retElemT,Array<rows,cols,retElemT> > &Subtract(const Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > &A, const Matrix<rows,cols,opElemT,Array<rows,cols,opElemT> > &B, Matrix<rows,cols,retElemT,Array<rows,cols,retElemT> > &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:34:129: error: 'Matrix' is not a template Matrix<rows,cols,retElemT,Array<rows,cols,retElemT> > &Subtract(const Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > &A, const Matrix<rows,cols,opElemT,Array<rows,cols,opElemT> > &B, Matrix<rows,cols,retElemT,Array<rows,cols,retElemT> > &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:34:185: error: 'Matrix' is not a template Matrix<rows,cols,retElemT,Array<rows,cols,retElemT> > &Subtract(const Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > &A, const Matrix<rows,cols,opElemT,Array<rows,cols,opElemT> > &B, Matrix<rows,cols,retElemT,Array<rows,cols,retElemT> > &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp: In function 'Matrix& Subtract(const Matrix&, const Matrix&, Matrix&)': C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:38:15: error: 'struct Matrix' has no member named 'delegate'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:38:44: error: 'const struct Matrix' has no member named 'delegate'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:38:73: error: 'const struct Matrix' has no member named 'delegate'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp: At global scope: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:44:1: error: 'Matrix' is not a template Matrix<rows,operandCols,retElemT,Array<rows,operandCols,retElemT> > &Multiply(const Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > &A, const Matrix<cols,operandCols,opElemT,Array<cols,operandCols,opElemT> > &B, Matrix<rows,operandCols,retElemT,Array<rows,operandCols,retElemT> > &C) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:44:85: error: 'Matrix' is not a template Matrix<rows,operandCols,retElemT,Array<rows,operandCols,retElemT> > &Multiply(const Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > &A, const Matrix<cols,operandCols,opElemT,Array<cols,operandCols,opElemT> > &B, Matrix<rows,operandCols,retElemT,Array<rows,operandCols,retElemT> > &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:44:143: error: 'Matrix' is not a template Matrix<rows,operandCols,retElemT,Array<rows,operandCols,retElemT> > &Multiply(const Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > &A, const Matrix<cols,operandCols,opElemT,Array<cols,operandCols,opElemT> > &B, Matrix<rows,operandCols,retElemT,Array<rows,operandCols,retElemT> > &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:44:213: error: 'Matrix' is not a template Matrix<rows,operandCols,retElemT,Array<rows,operandCols,retElemT> > &Multiply(const Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > &A, const Matrix<cols,operandCols,opElemT,Array<cols,operandCols,opElemT> > &B, Matrix<rows,operandCols,retElemT,Array<rows,operandCols,retElemT> > &C)
In file included from C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:16:0,
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp: In function 'Matrix& Multiply(const Matrix&, const Matrix&, Matrix&)': C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:52:19: error: 'struct Matrix' has no member named 'delegate'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:52:55: error: 'const struct Matrix' has no member named 'delegate'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:52:80: error: 'const struct Matrix' has no member named 'delegate'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:55:19: error: 'struct Matrix' has no member named 'delegate'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:55:56: error: 'const struct Matrix' has no member named 'delegate'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:55:85: error: 'const struct Matrix' has no member named 'delegate'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp: At global scope: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:78:87: error: 'Matrix' is not a template template<int rows, int cols, class ParentMemT, class ElemT = float> using RefMatrix = Matrix<rows, cols, ElemT, Ref<ElemT,ParentMemT> >;
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:95:68: error: 'Matrix' is not a template template<int rows, int cols, class ElemT = float> using Identity = Matrix<rows, cols, ElemT, Iden >;
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:154:94: error: 'Matrix' is not a template template<int rows, int cols, int tableSize = cols, class ElemT = float> using SparseMatrix = Matrix<rows, cols, ElemT, Sparse<cols, tableSize, ElemT> >;
In file included from C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:1:0: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:20:99: error: using typedef-name 'Matrix' after 'class' template<int rows, int cols = 1, class ElemT = float, class MemT = Array<rows,cols,ElemT> > class Matrix
In file included from C:\Users\juanj\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\system/CMSIS/Device/ATMEL/sam3xa/include/sam3x8e.h:282:0,
C:\Users\juanj\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\system/CMSIS/Device/ATMEL/sam3xa/include/component/component_matrix.h:71:3: note: 'Matrix' has a previous declaration here } Matrix; ^ In file included from C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:1:0: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:71:14: error: expected initializer before '<' token ElemT &Matrix<rows,cols,ElemT,MemT>::operator()(int row, int col) const
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:78:1: error: 'Matrix' is not a template Matrix<height,width,ElemT,Ref<ElemT,MemT> > Matrix<rows,cols,ElemT,MemT>::Submatrix(Range rowRange, Range colRange) const ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:78:45: error: too many template-parameter-lists Matrix<height,width,ElemT,Ref<ElemT,MemT> > Matrix<rows,cols,ElemT,MemT>::Submatrix(Range rowRange, Range colRange) const
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:88:1: error: 'Matrix' is not a template Matrix<rows,cols,ElemT,MemT> &Matrix<rows,cols,ElemT,MemT>::operator=(const Matrix<rows,cols,opElemT,opMemT> &obj) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:88:30: error: too many template-parameter-lists Matrix<rows,cols,ElemT,MemT> &Matrix<rows,cols,ElemT,MemT>::operator=(const Matrix<rows,cols,opElemT,opMemT> &obj)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:98:1: error: 'Matrix' is not a template Matrix<rows,cols,ElemT,MemT> &Matrix<rows,cols,ElemT,MemT>::operator=(ElemT arr[rows][cols]) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:98:37: error: expected initializer before '<' token Matrix<rows,cols,ElemT,MemT> &Matrix<rows,cols,ElemT,MemT>::operator=(ElemT arr[rows][cols])
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:108:1: error: 'Matrix' is not a template Matrix<rows,cols,ElemT,MemT> &Matrix<rows,cols,ElemT,MemT>::Fill(const ElemT &val) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:108:37: error: expected initializer before '<' token Matrix<rows,cols,ElemT,MemT> &Matrix<rows,cols,ElemT,MemT>::Fill(const ElemT &val)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:121:1: error: 'Matrix' is not a template Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > Matrix<rows,cols,ElemT,MemT>::operator+(const Matrix<rows,cols,opElemT,opMemT> &obj) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:121:49: error: too many template-parameter-lists Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > Matrix<rows,cols,ElemT,MemT>::operator+(const Matrix<rows,cols,opElemT,opMemT> &obj)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:131:1: error: 'Matrix' is not a template Matrix<rows,cols,ElemT,MemT> &Matrix<rows,cols,ElemT,MemT>::operator+=(const Matrix<rows,cols,opElemT,opMemT> &obj) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:131:30: error: too many template-parameter-lists Matrix<rows,cols,ElemT,MemT> &Matrix<rows,cols,ElemT,MemT>::operator+=(const Matrix<rows,cols,opElemT,opMemT> &obj)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:139:1: error: 'Matrix' is not a template Matrix<rows,cols,retElemT,retMemT> &Add(const Matrix<rows,cols,ElemT,MemT> &A, const Matrix<rows,cols,opElemT,opMemT> &B, Matrix<rows,cols,retElemT,retMemT> &C) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:139:47: error: 'Matrix' is not a template Matrix<rows,cols,retElemT,retMemT> &Add(const Matrix<rows,cols,ElemT,MemT> &A, const Matrix<rows,cols,opElemT,opMemT> &B, Matrix<rows,cols,retElemT,retMemT> &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:139:86: error: 'Matrix' is not a template Matrix<rows,cols,retElemT,retMemT> &Add(const Matrix<rows,cols,ElemT,MemT> &A, const Matrix<rows,cols,opElemT,opMemT> &B, Matrix<rows,cols,retElemT,retMemT> &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:139:123: error: 'Matrix' is not a template Matrix<rows,cols,retElemT,retMemT> &Add(const Matrix<rows,cols,ElemT,MemT> &A, const Matrix<rows,cols,opElemT,opMemT> &B, Matrix<rows,cols,retElemT,retMemT> &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h: In function 'Matrix& Add(const Matrix&, const Matrix&, Matrix&)': C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:143:15: error: 'struct Matrix' has no member named 'delegate'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:143:33: error: 'const struct Matrix' has no member named 'delegate'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:143:51: error: 'const struct Matrix' has no member named 'delegate'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h: At global scope: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:152:1: error: 'Matrix' is not a template Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > Matrix<rows,cols,ElemT,MemT>::operator-(const Matrix<rows,cols,opElemT,opMemT> &obj) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:152:49: error: too many template-parameter-lists Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > Matrix<rows,cols,ElemT,MemT>::operator-(const Matrix<rows,cols,opElemT,opMemT> &obj)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:162:1: error: 'Matrix' is not a template Matrix<rows,cols,ElemT,MemT> &Matrix<rows,cols,ElemT,MemT>::operator-=(const Matrix<rows,cols,opElemT,opMemT> &obj) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:162:30: error: too many template-parameter-lists Matrix<rows,cols,ElemT,MemT> &Matrix<rows,cols,ElemT,MemT>::operator-=(const Matrix<rows,cols,opElemT,opMemT> &obj)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:170:1: error: 'Matrix' is not a template Matrix<rows,cols,retElemT,retMemT> &Subtract(const Matrix<rows,cols,ElemT,MemT> &A, const Matrix<rows,cols,opElemT,opMemT> &B, Matrix<rows,cols,retElemT,retMemT> &C) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:170:52: error: 'Matrix' is not a template Matrix<rows,cols,retElemT,retMemT> &Subtract(const Matrix<rows,cols,ElemT,MemT> &A, const Matrix<rows,cols,opElemT,opMemT> &B, Matrix<rows,cols,retElemT,retMemT> &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:170:91: error: 'Matrix' is not a template Matrix<rows,cols,retElemT,retMemT> &Subtract(const Matrix<rows,cols,ElemT,MemT> &A, const Matrix<rows,cols,opElemT,opMemT> &B, Matrix<rows,cols,retElemT,retMemT> &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:170:128: error: 'Matrix' is not a template Matrix<rows,cols,retElemT,retMemT> &Subtract(const Matrix<rows,cols,ElemT,MemT> &A, const Matrix<rows,cols,opElemT,opMemT> &B, Matrix<rows,cols,retElemT,retMemT> &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h: In function 'Matrix& Subtract(const Matrix&, const Matrix&, Matrix&)': C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:174:18: error: no match for call to '(Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:174:27: error: no match for call to '(const Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:174:36: error: no match for call to '(const Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h: At global scope: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:183:1: error: 'Matrix' is not a template Matrix<rows,operandCols,ElemT,Array<rows,operandCols,ElemT> > Matrix<rows,cols,ElemT,MemT>::operator*(const Matrix<cols,operandCols,opElemT,opMemT> &operand) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:183:63: error: too many template-parameter-lists Matrix<rows,operandCols,ElemT,Array<rows,operandCols,ElemT> > Matrix<rows,cols,ElemT,MemT>::operator*(const Matrix<cols,operandCols,opElemT,opMemT> &operand)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:193:1: error: 'Matrix' is not a template Matrix<rows,cols,ElemT,MemT> &Matrix<rows,cols,ElemT,MemT>::operator*=(const Matrix<rows,cols,opElemT,opMemT> &operand) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:193:30: error: too many template-parameter-lists Matrix<rows,cols,ElemT,MemT> &Matrix<rows,cols,ElemT,MemT>::operator*=(const Matrix<rows,cols,opElemT,opMemT> &operand)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:204:1: error: 'Matrix' is not a template Matrix<rows,operandCols,retElemT,retMemT> &Multiply(const Matrix<rows,cols,ElemT,MemT> &A, const Matrix<cols,operandCols,opElemT,opMemT> &B, Matrix<rows,operandCols,retElemT,retMemT> &C) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:204:59: error: 'Matrix' is not a template Matrix<rows,operandCols,retElemT,retMemT> &Multiply(const Matrix<rows,cols,ElemT,MemT> &A, const Matrix<cols,operandCols,opElemT,opMemT> &B, Matrix<rows,operandCols,retElemT,retMemT> &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:204:98: error: 'Matrix' is not a template Matrix<rows,operandCols,retElemT,retMemT> &Multiply(const Matrix<rows,cols,ElemT,MemT> &A, const Matrix<cols,operandCols,opElemT,opMemT> &B, Matrix<rows,operandCols,retElemT,retMemT> &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:204:142: error: 'Matrix' is not a template Matrix<rows,operandCols,retElemT,retMemT> &Multiply(const Matrix<rows,cols,ElemT,MemT> &A, const Matrix<cols,operandCols,opElemT,opMemT> &B, Matrix<rows,operandCols,retElemT,retMemT> &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h: In function 'Matrix& Multiply(const Matrix&, const Matrix&, Matrix&)': C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:212:19: error: 'struct Matrix' has no member named 'delegate'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:212:37: error: 'const struct Matrix' has no member named 'delegate'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:212:55: error: 'const struct Matrix' has no member named 'delegate'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:215:19: error: 'struct Matrix' has no member named 'delegate'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:215:38: error: 'const struct Matrix' has no member named 'delegate'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:215:56: error: 'const struct Matrix' has no member named 'delegate'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h: At global scope: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:224:1: error: 'Matrix' is not a template Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > Matrix<rows,cols,ElemT,MemT>::operator-() ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:224:55: error: expected initializer before '<' token Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > Matrix<rows,cols,ElemT,MemT>::operator-()
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:238:1: error: 'Matrix' is not a template Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > Matrix<rows,cols,ElemT,MemT>::operator*(ElemT k) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:238:55: error: expected initializer before '<' token Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > Matrix<rows,cols,ElemT,MemT>::operator*(ElemT k)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:247:1: error: 'Matrix' is not a template Matrix<rows,cols,ElemT,MemT> &Matrix<rows,cols,ElemT,MemT>::operator*=(ElemT k) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:247:37: error: expected initializer before '<' token Matrix<rows,cols,ElemT,MemT> &Matrix<rows,cols,ElemT,MemT>::operator*=(ElemT k)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:256:1: error: 'Matrix' is not a template Matrix<rows,operandCols,retElemT,retMemT> &Scale(const Matrix<rows,cols,ElemT,MemT> &A, const opElemT &B, Matrix<rows,operandCols,retElemT,retMemT> &C) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:256:56: error: 'Matrix' is not a template Matrix<rows,operandCols,retElemT,retMemT> &Scale(const Matrix<rows,cols,ElemT,MemT> &A, const opElemT &B, Matrix<rows,operandCols,retElemT,retMemT> &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:256:107: error: 'Matrix' is not a template Matrix<rows,operandCols,retElemT,retMemT> &Scale(const Matrix<rows,cols,ElemT,MemT> &A, const opElemT &B, Matrix<rows,operandCols,retElemT,retMemT> &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h: In function 'Matrix& Scale(const Matrix&, const opElemT&, Matrix&)': C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:260:18: error: no match for call to '(Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:260:27: error: no match for call to '(const Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h: At global scope: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:268:1: error: 'Matrix' is not a template Matrix<cols,rows,ElemT,Array<cols,rows,ElemT> > Matrix<rows,cols,ElemT,MemT>::Transpose() ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:268:55: error: expected initializer before '<' token Matrix<cols,rows,ElemT,Array<cols,rows,ElemT> > Matrix<rows,cols,ElemT,MemT>::Transpose()
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:280:1: error: 'Matrix' is not a template Matrix<cols,rows,retElemT,retMemT> &Transpose(const Matrix<rows,cols,ElemT,MemT> &A, Matrix<cols,rows,retElemT,retMemT> &C) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:280:53: error: 'Matrix' is not a template Matrix<cols,rows,retElemT,retMemT> &Transpose(const Matrix<rows,cols,ElemT,MemT> &A, Matrix<cols,rows,retElemT,retMemT> &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:280:86: error: 'Matrix' is not a template Matrix<cols,rows,retElemT,retMemT> &Transpose(const Matrix<rows,cols,ElemT,MemT> &A, Matrix<cols,rows,retElemT,retMemT> &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h: In function 'Matrix& Transpose(const Matrix&, Matrix&)': C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:284:18: error: no match for call to '(Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:284:27: error: no match for call to '(const Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h: At global scope: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:292:1: error: 'Matrix' is not a template Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > Matrix<rows,cols,ElemT,MemT>::Inverse(int *res = NULL) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:292:55: error: expected initializer before '<' token Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > Matrix<rows,cols,ElemT,MemT>::Inverse(int *res = NULL)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:302:1: error: 'Matrix' is not a template Matrix<dim,dim,ElemT,MemT> &Invert(Matrix<dim,dim,ElemT,MemT> &A, int *res = NULL) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:302:36: error: 'Matrix' is not a template Matrix<dim,dim,ElemT,MemT> &Invert(Matrix<dim,dim,ElemT,MemT> &A, int *res = NULL)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h: In function 'Matrix& Invert(Matrix&, int*)': C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:314:26: error: no match for call to '(Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:316:33: error: no match for call to '(Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:322:23: error: no match for call to '(Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:332:28: error: no match for call to '(Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:333:22: error: no match for call to '(Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:333:36: error: no match for call to '(Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:334:27: error: no match for call to '(Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:339:27: error: no match for call to '(Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:340:14: error: no match for call to '(Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:344:18: error: no match for call to '(Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:344:27: error: no match for call to '(Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:351:28: error: no match for call to '(Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:352:22: error: no match for call to '(Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:355:26: error: no match for call to '(Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:355:35: error: no match for call to '(Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:355:44: error: no match for call to '(Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:367:28: error: no match for call to '(Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:368:22: error: no match for call to '(Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h: At global scope: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:383:1: error: 'Matrix' is not a template Matrix<rows,cols+operandCols,ElemT,Array<rows,cols+operandCols,ElemT> > HorzCat(const Matrix<rows,cols,ElemT,MemT> &A, const Matrix<rows,operandCols,opElemT,opMemT> &B) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:383:87: error: 'Matrix' is not a template Matrix<rows,cols+operandCols,ElemT,Array<rows,cols+operandCols,ElemT> > HorzCat(const Matrix<rows,cols,ElemT,MemT> &A, const Matrix<rows,operandCols,opElemT,opMemT> &B)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:383:126: error: 'Matrix' is not a template Matrix<rows,cols+operandCols,ElemT,Array<rows,cols+operandCols,ElemT> > HorzCat(const Matrix<rows,cols,ElemT,MemT> &A, const Matrix<rows,operandCols,opElemT,opMemT> &B)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h: In function 'Matrix HorzCat(const Matrix&, const Matrix&)': C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:385:5: error: 'Matrix' is not a template
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:386:9: error: 'struct Matrix' has no member named 'Submatrix'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:387:9: error: 'struct Matrix' has no member named 'Submatrix'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h: At global scope: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:393:1: error: 'Matrix' is not a template Matrix<rows + operandRows,cols,ElemT,Array<rows + operandRows,cols,ElemT> > VertCat(const Matrix<rows,cols,ElemT,MemT> &A, const Matrix<operandRows,cols,opElemT,opMemT> &B) ^ C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:393:91: error: 'Matrix' is not a template Matrix<rows + operandRows,cols,ElemT,Array<rows + operandRows,cols,ElemT> > VertCat(const Matrix<rows,cols,ElemT,MemT> &A, const Matrix<operandRows,cols,opElemT,opMemT> &B)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:393:130: error: 'Matrix' is not a template Matrix<rows + operandRows,cols,ElemT,Array<rows + operandRows,cols,ElemT> > VertCat(const Matrix<rows,cols,ElemT,MemT> &A, const Matrix<operandRows,cols,opElemT,opMemT> &B)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h: In function 'Matrix VertCat(const Matrix&, const Matrix&)': C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:395:5: error: 'Matrix' is not a template
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:396:9: error: 'struct Matrix' has no member named 'Submatrix'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:397:9: error: 'struct Matrix' has no member named 'Submatrix'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h: At global scope: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:426:38: error: 'Matrix' is not a template Print &operator<<(Print &strm, const Matrix<rows,cols,ElemT,MemT> &obj)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h: In function 'Print& operator<<(Print&, const Matrix&)': C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:435:28: error: no match for call to '(const Matrix) (int&, int&)'
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino: In function 'void setup()': HowToUse:16: error: 'Matrix' is not a template Matrix<3,3,float> A; ^ HowToUse:19: error: 'Matrix' is not a template Matrix<3> v; ^ HowToUse:22: error: 'struct Matrix' has no member named 'Fill' v.Fill(0);
HowToUse:25: error: no match for call to '(Matrix) (int, int)' v(2,0) = 5.3;
HowToUse:26: error: no match for call to '(Matrix) (int)' v(1) = 43.67; // you can also just write v(2) = 5.3; since v has only one column
HowToUse:30: error: no match for 'operator=' (operand types are 'Matrix' and 'float [3][3]') A = arrayA;
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:30:5: note: candidates are: In file included from C:\Users\juanj\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\system/CMSIS/Device/ATMEL/sam3xa/include/sam3x8e.h:282:0,
C:\Users\juanj\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\system/CMSIS/Device/ATMEL/sam3xa/include/component/component_matrix.h:71:3: note: Matrix& Matrix::operator=(const Matrix&) } Matrix; ^ C:\Users\juanj\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\system/CMSIS/Device/ATMEL/sam3xa/include/component/component_matrix.h:71:3: note: no known conversion for argument 1 from 'float [3][3]' to 'const Matrix&' C:\Users\juanj\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\system/CMSIS/Device/ATMEL/sam3xa/include/component/component_matrix.h:71:3: note: Matrix& Matrix::operator=(Matrix&&) C:\Users\juanj\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\system/CMSIS/Device/ATMEL/sam3xa/include/component/component_matrix.h:71:3: note: no known conversion for argument 1 from 'float [3][3]' to 'Matrix&&' HowToUse:34: error: 'Matrix' is not a template Matrix<3,3> B(arrayB); ^ HowToUse:34: error: no matching function for call to 'Matrix::Matrix(float [3][3])' Matrix<3,3> B(arrayB);
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:34:23: note: candidates are: In file included from C:\Users\juanj\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\system/CMSIS/Device/ATMEL/sam3xa/include/sam3x8e.h:282:0,
C:\Users\juanj\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\system/CMSIS/Device/ATMEL/sam3xa/include/component/component_matrix.h:71:3: note: Matrix::Matrix() } Matrix; ^ C:\Users\juanj\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\system/CMSIS/Device/ATMEL/sam3xa/include/component/component_matrix.h:71:3: note: candidate expects 0 arguments, 1 provided C:\Users\juanj\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\system/CMSIS/Device/ATMEL/sam3xa/include/component/component_matrix.h:71:3: note: constexpr Matrix::Matrix(const Matrix&) C:\Users\juanj\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\system/CMSIS/Device/ATMEL/sam3xa/include/component/component_matrix.h:71:3: note: no known conversion for argument 1 from 'float [3][3]' to 'const Matrix&' C:\Users\juanj\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\system/CMSIS/Device/ATMEL/sam3xa/include/component/component_matrix.h:71:3: note: constexpr Matrix::Matrix(Matrix&&) C:\Users\juanj\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\system/CMSIS/Device/ATMEL/sam3xa/include/component/component_matrix.h:71:3: note: no known conversion for argument 1 from 'float [3][3]' to 'Matrix&&' HowToUse:37: error: 'Matrix' is not a template Matrix<3,3> C = A + B; ^ HowToUse:37: error: no match for 'operator+' (operand types are 'Matrix' and 'Matrix') Matrix<3,3> C = A + B;
HowToUse:45: error: no matching function for call to 'Add(Matrix&, Matrix&, Matrix&)' Add(A,B,C);
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:45:12: note: candidates are: In file included from C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:16:0,
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:24:56: note: template<int rows, int cols, class ElemT, class opElemT, class retElemT> Matrix& Add(const Matrix&, const Matrix&, Matrix&) Matrix<rows,cols,retElemT,Array<rows,cols,retElemT> > &Add(const Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > &A, const Matrix<rows,cols,opElemT,Array<rows,cols,opElemT> > &B, Matrix<rows,cols,retElemT,Array<rows,cols,retElemT> > &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:24:56: note: template argument deduction/substitution failed: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:45:12: note: couldn't deduce template parameter 'rows' Add(A,B,C);
In file included from C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:1:0: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:139:37: note: template<int rows, int cols, class ElemT, class MemT, class opElemT, class opMemT, class retElemT, class retMemT> Matrix& Add(const Matrix&, const Matrix&, Matrix&) Matrix<rows,cols,retElemT,retMemT> &Add(const Matrix<rows,cols,ElemT,MemT> &A, const Matrix<rows,cols,opElemT,opMemT> &B, Matrix<rows,cols,retElemT,retMemT> &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:139:37: note: template argument deduction/substitution failed: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:45:12: note: couldn't deduce template parameter 'rows' Add(A,B,C);
HowToUse:49: error: no match for 'operator-=' (operand types are 'Matrix' and 'Matrix') C -= B;
HowToUse:52: error: no match for 'operator+=' (operand types are 'Matrix' and 'Matrix') B += A;
HowToUse:56: error: 'Matrix' is not a template Matrix<3,1> D = A * v; ^ HowToUse:56: error: no match for 'operator*' (operand types are 'Matrix' and 'Matrix') Matrix<3,1> D = A * v;
HowToUse:59: error: no matching function for call to 'Multiply(Matrix&, Matrix&, Matrix&)' Multiply(A,v,D);
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:59:17: note: candidates are: In file included from C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:16:0,
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:44:70: note: template<int rows, int cols, int operandCols, class ElemT, class opElemT, class retElemT> Matrix& Multiply(const Matrix&, const Matrix&, Matrix&) Matrix<rows,operandCols,retElemT,Array<rows,operandCols,retElemT> > &Multiply(const Matrix<rows,cols,ElemT,Array<rows,cols,ElemT> > &A, const Matrix<cols,operandCols,opElemT,Array<cols,operandCols,opElemT> > &B, Matrix<rows,operandCols,retElemT,Array<rows,operandCols,retElemT> > &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/MemoryDelegate.hpp:44:70: note: template argument deduction/substitution failed: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:59:17: note: couldn't deduce template parameter 'rows' Multiply(A,v,D);
In file included from C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:1:0: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:204:44: note: template<int rows, int cols, int operandCols, class ElemT, class MemT, class opElemT, class opMemT, class retElemT, class retMemT> Matrix& Multiply(const Matrix&, const Matrix&, Matrix&) Matrix<rows,operandCols,retElemT,retMemT> &Multiply(const Matrix<rows,cols,ElemT,MemT> &A, const Matrix<cols,operandCols,opElemT,opMemT> &B, Matrix<rows,operandCols,retElemT,retMemT> &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:204:44: note: template argument deduction/substitution failed: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:59:17: note: couldn't deduce template parameter 'rows' Multiply(A,v,D);
HowToUse:62: error: 'Matrix' is not a template Matrix<1,3> D_T = D.Transpose(); ^ HowToUse:62: error: 'struct Matrix' has no member named 'Transpose' Matrix<1,3> D_T = D.Transpose();
HowToUse:67: error: 'Matrix' is not a template Matrix<3,3> C_T; ^ HowToUse:68: error: no matching function for call to 'Transpose(Matrix&, Matrix&)' Transpose(C,C_T);
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:68:18: note: candidate is: In file included from C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:1:0: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:280:37: note: template<int rows, int cols, class ElemT, class MemT, class retElemT, class retMemT> Matrix& Transpose(const Matrix&, Matrix&) Matrix<cols,rows,retElemT,retMemT> &Transpose(const Matrix<rows,cols,ElemT,MemT> &A, Matrix<cols,rows,retElemT,retMemT> &C)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:280:37: note: template argument deduction/substitution failed: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:68:18: note: couldn't deduce template parameter 'rows' Transpose(C,C_T);
HowToUse:71: error: 'Matrix' is not a template Matrix<3,3> C_inv = C.Inverse(); ^ HowToUse:71: error: 'struct Matrix' has no member named 'Inverse' Matrix<3,3> C_inv = C.Inverse();
HowToUse:76: error: 'struct Matrix' has no member named 'Inverse' C_inv = C.Inverse(&res); // after this call res will be 0 if the inversion was successful and non-zero otherwise.
HowToUse:79: error: no matching function for call to 'Invert(Matrix&)' Invert(C);
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:79:11: note: candidate is: In file included from C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:1:0: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:302:29: note: template<int dim, class ElemT, class MemT> Matrix& Invert(Matrix&, int*) Matrix<dim,dim,ElemT,MemT> &Invert(Matrix<dim,dim,ElemT,MemT> &A, int *res = NULL)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:302:29: note: template argument deduction/substitution failed: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:79:11: note: couldn't deduce template parameter 'dim' Invert(C);
HowToUse:82: error: 'Matrix' is not a template Matrix<3,6> AleftOfB = HorzCat(A,B); ^ HowToUse:82: error: no matching function for call to 'HorzCat(Matrix&, Matrix&)' Matrix<3,6> AleftOfB = HorzCat(A,B);
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:82:37: note: candidate is: In file included from C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:1:0: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:383:73: note: template<int rows, int cols, int operandCols, class ElemT, class MemT, class opElemT, class opMemT> Matrix HorzCat(const Matrix&, const Matrix&) Matrix<rows,cols+operandCols,ElemT,Array<rows,cols+operandCols,ElemT> > HorzCat(const Matrix<rows,cols,ElemT,MemT> &A, const Matrix<rows,operandCols,opElemT,opMemT> &B)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:383:73: note: template argument deduction/substitution failed: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:82:37: note: couldn't deduce template parameter 'rows' Matrix<3,6> AleftOfB = HorzCat(A,B);
HowToUse:85: error: 'Matrix' is not a template Matrix<6,3> AonTopOfB = VertCat(A,B); ^ HowToUse:85: error: no matching function for call to 'VertCat(Matrix&, Matrix&)' Matrix<6,3> AonTopOfB = VertCat(A,B);
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:85:38: note: candidate is: In file included from C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:1:0: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:393:77: note: template<int rows, int cols, int operandRows, class ElemT, class MemT, class opElemT, class opMemT> Matrix VertCat(const Matrix&, const Matrix&) Matrix<rows + operandRows,cols,ElemT,Array<rows + operandRows,cols,ElemT> > VertCat(const Matrix<rows,cols,ElemT,MemT> &A, const Matrix<operandRows,cols,opElemT,opMemT> &B)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:393:77: note: template argument deduction/substitution failed: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:85:38: note: couldn't deduce template parameter 'rows' Matrix<6,3> AonTopOfB = VertCat(A,B);
HowToUse:88: error: no match for call to '(Matrix) (int)' Serial << "v(1): " << v(1) << '\n';
HowToUse:91: error: no match for 'operator<<' (operand types are 'Print' and 'Matrix') Serial << "B: " << B << '\n';
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:91:19: note: candidates are: In file included from C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:1:0: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:404:15: note: Print& operator<<(Print&, int) inline Print &operator <<(Print &strm, const int obj)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:404:15: note: no known conversion for argument 2 from 'Matrix' to 'int' C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:409:15: note: Print& operator<<(Print&, float) inline Print &operator <<(Print &strm, const float obj)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:409:15: note: no known conversion for argument 2 from 'Matrix' to 'float' C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:414:15: note: Print& operator<<(Print&, const char*) inline Print &operator <<(Print &strm, const char *obj)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:414:15: note: no known conversion for argument 2 from 'Matrix' to 'const char*' C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:419:15: note: Print& operator<<(Print&, char) inline Print &operator <<(Print &strm, const char obj)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:419:15: note: no known conversion for argument 2 from 'Matrix' to 'char' C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:426:8: note: template<int rows, int cols, class ElemT, class MemT> Print& operator<<(Print&, const Matrix&) Print &operator<<(Print &strm, const Matrix<rows,cols,ElemT,MemT> &obj)
C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra/BasicLinearAlgebra.h:426:8: note: template argument deduction/substitution failed: C:\Users\juanj\Documents\Arduino\libraries\BasicLinearAlgebra\examples\HowToUse\HowToUse.ino:91:22: note: couldn't deduce template parameter 'rows' Serial << "B: " << B << '\n';
HowToUse:94: error: no match for 'operator*' (operand types are 'Matrix' and 'Matrix') Serial << "identity matrix: " << AleftOfB * AonTopOfB - (A * A + B * B) + C * C.Inverse() << '\n';
HowToUse:94: error: no match for 'operator*' (operand types are 'Matrix' and 'Matrix') Serial << "identity matrix: " << AleftOfB * AonTopOfB - (A * A + B * B) + C * C.Inverse() << '\n';
HowToUse:94: error: no match for 'operator*' (operand types are 'Matrix' and 'Matrix') Serial << "identity matrix: " << AleftOfB * AonTopOfB - (A * A + B * B) + C * C.Inverse() << '\n';
HowToUse:94: error: 'struct Matrix' has no member named 'Inverse' Serial << "identity matrix: " << AleftOfB * AonTopOfB - (A * A + B * B) + C * C.Inverse() << '\n';
HowToUse:97: error: 'Matrix' is not a template Matrix<3> x; Matrix<2> u; Matrix<3,2> G; Matrix<3,3> F; float dt; ^ HowToUse:97: error: 'Matrix' is not a template Matrix<3> x; Matrix<2> u; Matrix<3,2> G; Matrix<3,3> F; float dt;
HowToUse:97: error: 'Matrix' is not a template Matrix<3> x; Matrix<2> u; Matrix<3,2> G; Matrix<3,3> F; float dt;
HowToUse:97: error: 'Matrix' is not a template Matrix<3> x; Matrix<2> u; Matrix<3,2> G; Matrix<3,3> F; float dt;
HowToUse:98: error: no match for 'operator*' (operand types are 'Matrix' and 'Matrix') x += (F * x + G * u) * dt;
HowToUse:98: error: no match for 'operator*' (operand types are 'Matrix' and 'Matrix') x += (F * x + G * u) * dt;
exit status 1 This report would have more information with |
I've just put up a new version (v2.1) with a few changes that I've been working on over the last few months. Could you upgrade to 2.1 in library manager and let me know how you go? I'd say there's just some differences in the compilation settings between the two boards but to begin with this is worth a shot! |
Ahhh ok, I managed to reproduce this at my end and I think I've figured this out. Basically the CMSIS (a cortex library that used by the DUE) already defines a Matrix class so there's a conflict. I'll just wrap my stuff up in a namespace and we should be good to go. Give me a little while to make the changes |
Ok, try version 2.2 and just make sure that you declare Matrices by first specifying the BLA namespace like so: Let me know how it goes! |
Hi Tom! Thank you for your support! |
No problem, enjoy the library! |
Dear Tom,
It is possible to use the library on Arduino DUE?
I am trying, but I have problems to compile.
Thanks!
The text was updated successfully, but these errors were encountered: