GithubHelp home page GithubHelp logo

bolderflight / eigen Goto Github PK

View Code? Open in Web Editor NEW
25.0 25.0 5.0 1.79 MB

Eigen matrix math library.

License: Other

CMake 0.01% C++ 99.13% C 0.86%
arduino arduino-library cpp drone drones eigen eigen-library eigen3 math matrix robotics

eigen's People

Contributors

flybrianfly avatar tomd53 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

eigen's Issues

Basic Example Compile Error

Compiled the basic Eigen.h example using the Arduino IDE (v2.1.0) for a Teensy 4.1 and got the following errors. Is there a way to fix this?

from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1499:27: error: 'prefetch' is not a member of 'Eigen::internal'; did you mean 'Eigen::prefetch'?
 1499 |                 internal::prefetch(blB + (4 * K + 16) * RhsProgress);             \
      |                           ^~~~~~~~
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1526:13: note: in expansion of macro 'EIGEN_GEBP_ONESTEP'
 1526 |             EIGEN_GEBP_ONESTEP(1);
      |             ^~~~~~~~~~~~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:172,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/GenericPacketMath.h:719:57: note: 'Eigen::prefetch' declared here
  719 | template<typename Scalar> EIGEN_DEVICE_FUNC inline void prefetch(const Scalar* addr)
      |                                                         ^~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:330,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1497:25: error: 'prefetch' is not a member of 'Eigen::internal'; did you mean 'Eigen::prefetch'?
 1497 |               internal::prefetch(blA + (3 * K + 16) * LhsProgress);               \
      |                         ^~~~~~~~
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1527:13: note: in expansion of macro 'EIGEN_GEBP_ONESTEP'
 1527 |             EIGEN_GEBP_ONESTEP(2);
      |             ^~~~~~~~~~~~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:172,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/GenericPacketMath.h:719:57: note: 'Eigen::prefetch' declared here
  719 | template<typename Scalar> EIGEN_DEVICE_FUNC inline void prefetch(const Scalar* addr)
      |                                                         ^~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:330,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1499:27: error: 'prefetch' is not a member of 'Eigen::internal'; did you mean 'Eigen::prefetch'?
 1499 |                 internal::prefetch(blB + (4 * K + 16) * RhsProgress);             \
      |                           ^~~~~~~~
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1527:13: note: in expansion of macro 'EIGEN_GEBP_ONESTEP'
 1527 |             EIGEN_GEBP_ONESTEP(2);
      |             ^~~~~~~~~~~~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:172,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/GenericPacketMath.h:719:57: note: 'Eigen::prefetch' declared here
  719 | template<typename Scalar> EIGEN_DEVICE_FUNC inline void prefetch(const Scalar* addr)
      |                                                         ^~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:330,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1497:25: error: 'prefetch' is not a member of 'Eigen::internal'; did you mean 'Eigen::prefetch'?
 1497 |               internal::prefetch(blA + (3 * K + 16) * LhsProgress);               \
      |                         ^~~~~~~~
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1528:13: note: in expansion of macro 'EIGEN_GEBP_ONESTEP'
 1528 |             EIGEN_GEBP_ONESTEP(3);
      |             ^~~~~~~~~~~~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:172,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/GenericPacketMath.h:719:57: note: 'Eigen::prefetch' declared here
  719 | template<typename Scalar> EIGEN_DEVICE_FUNC inline void prefetch(const Scalar* addr)
      |                                                         ^~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:330,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1499:27: error: 'prefetch' is not a member of 'Eigen::internal'; did you mean 'Eigen::prefetch'?
 1499 |                 internal::prefetch(blB + (4 * K + 16) * RhsProgress);             \
      |                           ^~~~~~~~
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1528:13: note: in expansion of macro 'EIGEN_GEBP_ONESTEP'
 1528 |             EIGEN_GEBP_ONESTEP(3);
      |             ^~~~~~~~~~~~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:172,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/GenericPacketMath.h:719:57: note: 'Eigen::prefetch' declared here
  719 | template<typename Scalar> EIGEN_DEVICE_FUNC inline void prefetch(const Scalar* addr)
      |                                                         ^~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:330,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1497:25: error: 'prefetch' is not a member of 'Eigen::internal'; did you mean 'Eigen::prefetch'?
 1497 |               internal::prefetch(blA + (3 * K + 16) * LhsProgress);               \
      |                         ^~~~~~~~
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1529:13: note: in expansion of macro 'EIGEN_GEBP_ONESTEP'
 1529 |             EIGEN_GEBP_ONESTEP(4);
      |             ^~~~~~~~~~~~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:172,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/GenericPacketMath.h:719:57: note: 'Eigen::prefetch' declared here
  719 | template<typename Scalar> EIGEN_DEVICE_FUNC inline void prefetch(const Scalar* addr)
      |                                                         ^~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:330,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1499:27: error: 'prefetch' is not a member of 'Eigen::internal'; did you mean 'Eigen::prefetch'?
 1499 |                 internal::prefetch(blB + (4 * K + 16) * RhsProgress);             \
      |                           ^~~~~~~~
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1529:13: note: in expansion of macro 'EIGEN_GEBP_ONESTEP'
 1529 |             EIGEN_GEBP_ONESTEP(4);
      |             ^~~~~~~~~~~~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:172,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/GenericPacketMath.h:719:57: note: 'Eigen::prefetch' declared here
  719 | template<typename Scalar> EIGEN_DEVICE_FUNC inline void prefetch(const Scalar* addr)
      |                                                         ^~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:330,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1497:25: error: 'prefetch' is not a member of 'Eigen::internal'; did you mean 'Eigen::prefetch'?
 1497 |               internal::prefetch(blA + (3 * K + 16) * LhsProgress);               \
      |                         ^~~~~~~~
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1530:13: note: in expansion of macro 'EIGEN_GEBP_ONESTEP'
 1530 |             EIGEN_GEBP_ONESTEP(5);
      |             ^~~~~~~~~~~~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:172,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/GenericPacketMath.h:719:57: note: 'Eigen::prefetch' declared here
  719 | template<typename Scalar> EIGEN_DEVICE_FUNC inline void prefetch(const Scalar* addr)
      |                                                         ^~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:330,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1499:27: error: 'prefetch' is not a member of 'Eigen::internal'; did you mean 'Eigen::prefetch'?
 1499 |                 internal::prefetch(blB + (4 * K + 16) * RhsProgress);             \
      |                           ^~~~~~~~
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1530:13: note: in expansion of macro 'EIGEN_GEBP_ONESTEP'
 1530 |             EIGEN_GEBP_ONESTEP(5);
      |             ^~~~~~~~~~~~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:172,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/GenericPacketMath.h:719:57: note: 'Eigen::prefetch' declared here
  719 | template<typename Scalar> EIGEN_DEVICE_FUNC inline void prefetch(const Scalar* addr)
      |                                                         ^~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:330,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1497:25: error: 'prefetch' is not a member of 'Eigen::internal'; did you mean 'Eigen::prefetch'?
 1497 |               internal::prefetch(blA + (3 * K + 16) * LhsProgress);               \
      |                         ^~~~~~~~
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1531:13: note: in expansion of macro 'EIGEN_GEBP_ONESTEP'
 1531 |             EIGEN_GEBP_ONESTEP(6);
      |             ^~~~~~~~~~~~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:172,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/GenericPacketMath.h:719:57: note: 'Eigen::prefetch' declared here
  719 | template<typename Scalar> EIGEN_DEVICE_FUNC inline void prefetch(const Scalar* addr)
      |                                                         ^~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:330,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1499:27: error: 'prefetch' is not a member of 'Eigen::internal'; did you mean 'Eigen::prefetch'?
 1499 |                 internal::prefetch(blB + (4 * K + 16) * RhsProgress);             \
      |                           ^~~~~~~~
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1531:13: note: in expansion of macro 'EIGEN_GEBP_ONESTEP'
 1531 |             EIGEN_GEBP_ONESTEP(6);
      |             ^~~~~~~~~~~~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:172,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/GenericPacketMath.h:719:57: note: 'Eigen::prefetch' declared here
  719 | template<typename Scalar> EIGEN_DEVICE_FUNC inline void prefetch(const Scalar* addr)
      |                                                         ^~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:330,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1497:25: error: 'prefetch' is not a member of 'Eigen::internal'; did you mean 'Eigen::prefetch'?
 1497 |               internal::prefetch(blA + (3 * K + 16) * LhsProgress);               \
      |                         ^~~~~~~~
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1532:13: note: in expansion of macro 'EIGEN_GEBP_ONESTEP'
 1532 |             EIGEN_GEBP_ONESTEP(7);
      |             ^~~~~~~~~~~~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:172,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/GenericPacketMath.h:719:57: note: 'Eigen::prefetch' declared here
  719 | template<typename Scalar> EIGEN_DEVICE_FUNC inline void prefetch(const Scalar* addr)
      |                                                         ^~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:330,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1499:27: error: 'prefetch' is not a member of 'Eigen::internal'; did you mean 'Eigen::prefetch'?
 1499 |                 internal::prefetch(blB + (4 * K + 16) * RhsProgress);             \
      |                           ^~~~~~~~
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1532:13: note: in expansion of macro 'EIGEN_GEBP_ONESTEP'
 1532 |             EIGEN_GEBP_ONESTEP(7);
      |             ^~~~~~~~~~~~~~~~~~
In file included from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:172,
                 from c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:5:
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/GenericPacketMath.h:719:57: note: 'Eigen::prefetch' declared here
  719 | template<typename Scalar> EIGEN_DEVICE_FUNC inline void prefetch(const Scalar* addr)
      |                                                         ^~~~~~~~

<<< LOTS MORE ERROR STUFF>>>

c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/Matrix.h:225:24:   required from 'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Product<Eigen::Product<Eigen::Matrix<float, -1, -1>, Eigen::Transpose<Eigen::Matrix<float, -1, -1> >, 0>, Eigen::Inverse<Eigen::Matrix<float, -1, -1> >, 0>; _Scalar = float; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]'
C:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\examples\arduino\eigen_example\eigen_example.ino:47:40:   required from here
c:\Users\ltber\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2464:21: error: 'ptranspose' was not declared in this scope
 2464 |           ptranspose(kernel);
      |           ~~~~~~~~~~^~~~~~~~

exit status 1

Compilation error: exit status 1

Conflicting identifiers with Arduino core

Eigen contains several symbols having conflicting identifiers with the Arduino-framework (core).

For an instance Eigen uses the identifier B1 giving the following errors:

.pio/libdeps/featheresp32/Bolder Flight Systems Eigen/src/Eigen/src/SVD/BDCSVD.h:378:12: error: request for member 'row' in '1', which is of non-class type 'int' B1.row(k1) = B.row(j); ^ .pio/libdeps/featheresp32/Bolder Flight Systems Eigen/src/Eigen/src/SVD/BDCSVD.h:389:55: error: request for member 'topRows' in '1', which is of non-class type 'int' A.topRows(n1).noalias() = A1.leftCols(k1) * B1.topRows(k1);

The above error is due to a #define of the identifier B1 in .platformio/packages/framework-arduinoespressif32/cores/esp32/binary.h (i.e. the Arduino core):

#define B1 1

Possibly there will be conflicts for A0, A1, B0 and 'round' as well: https://github.com/moritzmaier/Eigen/blob/master/Eigen.h

Unclear what the best solution would be.

Will not compile on Arduino IDE with an STM32F103 (Bluepill)

This fails to compile the MPU9250 example using this library with either SPI or I2C examples.
It seems to be unhappy about the round macro .

Here is the log from the Compiler
Arduino: 1.8.19 (Linux), Board: "Generic STM32F103C series, STM32F103C8 (20k RAM. 64k Flash), Serial, 72Mhz (Normal), Smallest (default)"

In file included from /home/user/.arduino15/packages/stm32duino/hardware/STM32F1/2021.5.31/cores/maple/wirish.h:63:0,
from /home/user/.arduino15/packages/stm32duino/hardware/STM32F1/2021.5.31/cores/maple/Arduino.h:30,
from sketch/spi.ino.cpp:1:
/home/user/Arduino/libraries/Bolder_Flight_Systems_Eigen/src/Eigen/src/Core/MathFunctions.h:1389:51: error: expected unqualified-id before 'const'
inline EIGEN_MATHFUNC_RETVAL(round, Scalar) round(const Scalar& x)
^
/home/user/.arduino15/packages/stm32duino/hardware/STM32F1/2021.5.31/cores/maple/wirish_math.h:123:35: note: in definition of macro 'round'
#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
^
/home/user/Arduino/libraries/Bolder_Flight_Systems_Eigen/src/Eigen/src/Core/MathFunctions.h:1389:51: error: expected ')' before 'const'
inline EIGEN_MATHFUNC_RETVAL(round, Scalar) round(const Scalar& x)
^
/home/user/.arduino15/packages/stm32duino/hardware/STM32F1/2021.5.31/cores/maple/wirish_math.h:123:35: note: in definition of macro 'round'
#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
^
/home/user/Arduino/libraries/Bolder_Flight_Systems_Eigen/src/Eigen/src/Core/MathFunctions.h:1389:51: error: expected ')' before 'const'
inline EIGEN_MATHFUNC_RETVAL(round, Scalar) round(const Scalar& x)
^
/home/user/.arduino15/packages/stm32duino/hardware/STM32F1/2021.5.31/cores/maple/wirish_math.h:123:35: note: in definition of macro 'round'
#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
^
In file included from /home/user/Arduino/libraries/Bolder_Flight_Systems_Eigen/src/Eigen/Core:172:0,
from /home/user/Arduino/libraries/Bolder_Flight_Systems_Eigen/src/eigen.h:36,
from /home/user/Arduino/libraries/Bolder_Flight_Systems_MPU9250/src/mpu9250.h:38,
from /home/user/Arduino/libraries/Bolder_Flight_Systems_MPU9250/examples/arduino/spi/spi.ino:26:
/home/user/Arduino/libraries/Bolder_Flight_Systems_Eigen/src/Eigen/src/Core/GenericPacketMath.h: In function 'Packet Eigen::internal::pround(const Packet&)':
/home/user/Arduino/libraries/Bolder_Flight_Systems_Eigen/src/Eigen/src/Core/GenericPacketMath.h:826:48: error: 'Eigen::numext::round' has not been declared
Packet pround(const Packet& a) { using numext::round; return round(a); }
^
In file included from /home/user/.arduino15/packages/stm32duino/hardware/STM32F1/2021.5.31/cores/maple/wirish.h:63:0,
from /home/user/.arduino15/packages/stm32duino/hardware/STM32F1/2021.5.31/cores/maple/Arduino.h:30,
from sketch/spi.ino.cpp:1:
/home/user/Arduino/libraries/Bolder_Flight_Systems_Eigen/src/Eigen/src/Core/arch/Default/Half.h: At global scope:
/home/user/Arduino/libraries/Bolder_Flight_Systems_Eigen/src/Eigen/src/Core/arch/Default/Half.h:732:50: error: expected unqualified-id before 'const'
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half round(const half& a) {
^
/home/user/.arduino15/packages/stm32duino/hardware/STM32F1/2021.5.31/cores/maple/wirish_math.h:123:35: note: in definition of macro 'round'
#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
^
/home/user/Arduino/libraries/Bolder_Flight_Systems_Eigen/src/Eigen/src/Core/arch/Default/Half.h:732:50: error: expected ')' before 'const'
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half round(const half& a) {
^
/home/user/.arduino15/packages/stm32duino/hardware/STM32F1/2021.5.31/cores/maple/wirish_math.h:123:35: note: in definition of macro 'round'
#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
^
/home/user/Arduino/libraries/Bolder_Flight_Systems_Eigen/src/Eigen/src/Core/arch/Default/Half.h:732:50: error: expected ')' before 'const'
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half round(const half& a) {
^
/home/user/.arduino15/packages/stm32duino/hardware/STM32F1/2021.5.31/cores/maple/wirish_math.h:123:35: note: in definition of macro 'round'
#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
^
/home/user/Arduino/libraries/Bolder_Flight_Systems_Eigen/src/Eigen/src/Core/arch/Default/BFloat16.h:564:54: error: expected unqualified-id before 'const'
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 round(const bfloat16& a) {
^
/home/user/.arduino15/packages/stm32duino/hardware/STM32F1/2021.5.31/cores/maple/wirish_math.h:123:35: note: in definition of macro 'round'
#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
^
/home/user/Arduino/libraries/Bolder_Flight_Systems_Eigen/src/Eigen/src/Core/arch/Default/BFloat16.h:564:54: error: expected ')' before 'const'
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 round(const bfloat16& a) {
^
/home/user/.arduino15/packages/stm32duino/hardware/STM32F1/2021.5.31/cores/maple/wirish_math.h:123:35: note: in definition of macro 'round'
#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
^
/home/user/Arduino/libraries/Bolder_Flight_Systems_Eigen/src/Eigen/src/Core/arch/Default/BFloat16.h:564:54: error: expected ')' before 'const'
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 round(const bfloat16& a) {
^
/home/user/.arduino15/packages/stm32duino/hardware/STM32F1/2021.5.31/cores/maple/wirish_math.h:123:35: note: in definition of macro 'round'
#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
^
/home/user/Arduino/libraries/Bolder_Flight_Systems_Eigen/src/Eigen/src/Core/functors/UnaryFunctors.h: In member function 'const Scalar Eigen::internal::scalar_round_op::operator()(const Scalar&) const':
/home/user/.arduino15/packages/stm32duino/hardware/STM32F1/2021.5.31/cores/maple/wirish_math.h:123:33: error: expected unqualified-id before '(' token
#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
^
/home/user/Arduino/libraries/Bolder_Flight_Systems_Eigen/src/Eigen/src/Core/functors/UnaryFunctors.h:798:106: note: in expansion of macro 'round'
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a) const { return numext::round(a); }
^
/home/user/Arduino/libraries/Bolder_Flight_Systems_Eigen/src/Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h: At global scope:
/home/user/.arduino15/packages/stm32duino/hardware/STM32F1/2021.5.31/cores/maple/wirish_math.h:123:36: error: expected unqualified-id before ')' token
#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
^
/home/user/Arduino/libraries/Bolder_Flight_Systems_Eigen/src/Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:467:1: note: in expansion of macro 'round'
round() const
^
/home/user/.arduino15/packages/stm32duino/hardware/STM32F1/2021.5.31/cores/maple/wirish_math.h:123:37: error: expected ')' before '>=' token
#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
^
/home/user/Arduino/libraries/Bolder_Flight_Systems_Eigen/src/Eigen/src/Core/../plugins/ArrayCwiseUnaryOps.h:467:1: note: in expansion of macro 'round'
round() const
^
Multiple libraries were found for "Wire.h"
Used: /home/user/.arduino15/packages/stm32duino/hardware/STM32F1/2021.5.31/libraries/Wire
Not used: /home/user/.arduino15/packages/stm32duino/hardware/STM32F1/2021.5.31/libraries/WireSlave
exit status 1
Error compiling for board Generic STM32F103C series.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Compile issue with different ARM Cortex-M0+ boards

The example code compiles correctly on my computer using Arduino IDE 1.8.13 and the Teensy LC board. The Teensy LC uses an ARM Cortex-M0+ processor. The board I am trying to use for my project is also an ARM Cortex-M0+ made by Seeeduino, the XIAO.

The Teensy LC compiles without any errors using your example program.
Changing the board to the XIAO gives several pages of errors.
Below are just the first few that have files for both the seeeduino board and eigen library listed:


In file included from sketch\sketch.ino.cpp:1:0:
c:\users\arduino\appdata\local\arduino15\packages\seeeduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\c++\7.2.1\complex:69:30: error: expected unqualified-id before 'const'
   template<typename _Tp> _Tp abs(const complex<_Tp>&);
                              ^
c:\users\arduino\appdata\local\arduino15\packages\seeeduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\c++\7.2.1\complex:69:30: error: expected ')' before 'const'
c:\users\arduino\appdata\local\arduino15\packages\seeeduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\c++\7.2.1\complex:69:30: error: expected ')' before 'const'
c:\users\arduino\appdata\local\arduino15\packages\seeeduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\c++\7.2.1\complex:601:5: error: expected unqualified-id before 'const'
     abs(const complex<_Tp>& __z) { return __complex_abs(__z); }
     ^
c:\users\arduino\appdata\local\arduino15\packages\seeeduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\c++\7.2.1\complex:601:5: error: expected ')' before 'const'
c:\users\arduino\appdata\local\arduino15\packages\seeeduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\c++\7.2.1\complex:601:5: error: expected ')' before 'const'
c:\users\arduino\appdata\local\arduino15\packages\seeeduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\c++\7.2.1\complex: In static member function 'static _Tp std::_Norm_helper<true>::_S_do_it(const std::complex<_Tp>&)':
C:\Users\Arduino\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.3\cores\arduino/Arduino.h:137:16: error: expected unqualified-id before '(' token
 #define abs(x) ((x)>0?(x):-(x))
                ^
In file included from C:\Users\Arduino\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:50:0,
                 from C:\Users\Arduino\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,
                 from C:\Users\Arduino\Documents\Arduino\EigenProj\sketch\sketch.ino:1:
c:\users\arduino\appdata\local\arduino15\packages\seeeduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\c++\7.2.1\complex: In function 'std::complex<_Tp> std::__complex_log(const std::complex<_Tp>&)':
c:\users\arduino\appdata\local\arduino15\packages\seeeduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\c++\7.2.1\complex:773:26: error: expected primary-expression before '(' token
     { return complex<_Tp>(log(std::abs(__z)), std::arg(__z)); }
                          ^
In file included from sketch\sketch.ino.cpp:1:0:
C:\Users\Arduino\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.3\cores\arduino/Arduino.h:137:16: error: expected unqualified-id before '(' token
 #define abs(x) ((x)>0?(x):-(x))
                ^
c:\users\arduino\appdata\local\arduino15\packages\seeeduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\c++\7.2.1\complex: In function 'std::complex<_Tp> std::__complex_sqrt(const std::complex<_Tp>&)':
C:\Users\Arduino\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.3\cores\arduino/Arduino.h:137:16: error: expected unqualified-id before '(' token
 #define abs(x) ((x)>0?(x):-(x))
                ^
c:\users\arduino\appdata\local\arduino15\packages\seeeduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\c++\7.2.1\complex: In function '_Tp std::fabs(const std::complex<_Tp>&)':
C:\Users\Arduino\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.3\cores\arduino/Arduino.h:137:16: error: expected unqualified-id before '(' token
 #define abs(x) ((x)>0?(x):-(x))
                ^
C:\Users\Arduino\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/MathFunctions.h: At global scope:
C:\Users\Arduino\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/MathFunctions.h:1389:51: error: expected unqualified-id before 'const'
 inline EIGEN_MATHFUNC_RETVAL(round, Scalar) round(const Scalar& x)
                                                   ^
C:\Users\Arduino\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.3\cores\arduino/Arduino.h:139:24: note: in definition of macro 'round'
 #define round(x)     ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
                        ^
C:\Users\Arduino\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/MathFunctions.h:1389:51: error: expected ')' before 'const'
 inline EIGEN_MATHFUNC_RETVAL(round, Scalar) round(const Scalar& x)
                                                   ^
C:\Users\Arduino\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.3\cores\arduino/Arduino.h:139:24: note: in definition of macro 'round'
 #define round(x)     ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
                        ^
C:\Users\Arduino\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/MathFunctions.h:1389:51: error: expected ')' before 'const'
 inline EIGEN_MATHFUNC_RETVAL(round, Scalar) round(const Scalar& x)

I am assuming these errors are related to the C libraries that the Seeeduino board uses in the arduino compiler, from the ..\Seeeduino\hardware\samd\1.8.3\cores\ folder.
Some of the errors show headers from the eigen library as well that I assume are because of the errors with the Seeeduino code.

Do you know if there is any work around for these? My skill set is pretty limited in dealing with compilers and any core files for the boards.

Thank you

Issues with integrating with units library

This might be useful to others.
When integrating this library with https://github.com/nholthaus/units with the following setup

  • platformio @ 6.1.7
  • Teensy 4.1 (4.17.0)
  • framework-arduinoteensy @ 1.157.220801 (1.57)
  • tool-teensy @ 1.158.0 (1.58)
  • toolchain-gccarmnoneeabi @ 1.50401.190816 (5.4.1)

Due to the units library requiring you to undefine certain symbols, that then causes the Eigen/Core complex.h include to fail.

I fixed this by redefining those symbols right above #include <complex.h> within Eigen/Core to satisfy its build needs.

#define	_U	01
#define	_L	02
#define	_N	04
#define	_S	010
#define _P	020
#define _C	040
#define _X	0100
#define	_B	0200

Is what I had to define.

These values were pulled from toolchain-gccarmnoneeabi/arm-none-eabi/include/ctypes.h

I don't know if this will cause some other funky issues. But I am yet to find out.

EIGEN_STATIC_ASSERT compile-time error

Mad respect for this Eigen mirror lib, but I'm having a slight issue getting it working. Currently, I'm trying to get my Teensy 4.1 to generate a multivariate normal distribution using this method. My code is below:

#include <iostream>
#include <iomanip>
#include <map>
#include <random>

#include "eigen.h"     // Calls main Eigen matrix class library
#include <Eigen/LU>    // Calls inverse, determinant, LU decomp., etc.
#include <Eigen/Eigenvalues>
using namespace Eigen; // Eigen related statement; simplifies syntax for declaration of matrices


class Mvn
{
public:
  Mvn(const VectorXd& mu,
      const MatrixXd& s);
  ~Mvn();
  double pdf(const VectorXd& x) const;
  VectorXd sample(unsigned int nr_iterations = 20) const;
  VectorXd mean;
  MatrixXd sigma;
};


double Mvn::pdf(const VectorXd& x) const
{
  double n = x.rows();
  double sqrt2pi = std::sqrt(2 * M_PI);
  double quadform  = (x - mean).transpose() * sigma.inverse() * (x - mean);
  double norm = std::pow(sqrt2pi, - n) *
                std::pow(sigma.determinant(), - 0.5);

  return norm * exp(-0.5 * quadform);
}


VectorXd Mvn::sample(unsigned int nr_iterations) const
{
  double n = mean.rows();

  // Generate x from the N(0, I) distribution
  VectorXd x(n);
  VectorXd sum(n);
  sum.setZero();
  for (unsigned int i = 0; i < nr_iterations; i++)
  {
    x.setRandom();
    x = 0.5 * (x + VectorXd::Ones(n));
    sum = sum + x;
  }
  sum = sum - (static_cast<double>(nr_iterations) / 2) * VectorXd::Ones(n);
  x = sum / (std::sqrt(static_cast<double>(nr_iterations) / 12));

  // Find the eigen vectors of the covariance matrix
  SelfAdjointEigenSolver<MatrixXd> eigen_solver(sigma);
  MatrixXd eigenvectors = eigen_solver.eigenvectors().real();

  // Find the eigenvalues of the covariance matrix
  MatrixXd eigenvalues = eigen_solver.eigenvalues().real().asDiagonal();
  
  // Find the transformation matrix
  SelfAdjointEigenSolver<MatrixXd> es(eigenvalues);
  MatrixXd sqrt_eigenvalues = es.operatorSqrt();
  MatrixXd Q = eigenvectors * sqrt_eigenvalues;

  return Q * x + mean;
}


void setup()
{
  Serial.begin(115200);

  MatrixXd sigma(2, 2);
  sigma << 10, 7,
            7, 5;
  VectorXd mean(2);
  mean << 2, 2;
  Mvn mvn(mean, sigma);
}

void loop()
{
  
}

And here is the error message:

Arduino: 1.8.13 (Windows 10), TD: 1.53, Board: "Teensy 4.1, Serial, 600 MHz, Faster, US English"

In file included from C:\Users\ltber\OneDrive\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/Core:164:0,

                 from C:\Users\ltber\OneDrive\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/eigen.h:36,

                 from C:\Users\ltber\OneDrive\Documents\Arduino\gaussian_test\gaussian_test.ino:6:

C:\Users\ltber\OneDrive\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/PlainObjectBase.h: In instantiation of 'void Eigen::PlainObjectBase<Derived>::_init1(Eigen::Index, typename Eigen::internal::enable_if<(((typename Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime != 1) || (! std::is_convertible<T, typename Eigen::internal::traits<T>::Scalar>::value)) && ((! Eigen::internal::is_same<typename Eigen::internal::traits<T>::XprKind, Eigen::ArrayXpr>::value) || (typename Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime == Eigen::Dynamic))), T>::type*) [with T = double; Derived = Eigen::Matrix<double, -1, 1>; Eigen::Index = int; typename Eigen::internal::enable_if<(((typename Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime != 1) || (! std::is_convertible<T, typename Eigen::internal::traits<T>::Scalar>::value)) && ((! Eigen::internal::is_same<typename Eigen::internal::traits<T>::XprKind, Eigen::ArrayXpr>::value) || (typename Eigen::internal::dense_xpr_base<Derived>::type:: SizeAtCompileTime == Eigen::Dynamic))), T>::type = double]':

C:\Users\ltber\OneDrive\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/Matrix.h:332:31:   required from 'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const T&) [with T = double; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]'

C:\Users\ltber\OneDrive\Documents\Arduino\gaussian_test\gaussian_test.ino:42:15:   required from here

C:\Users\ltber\OneDrive\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/util/StaticAssert.h:33:40: error: static assertion failed: FLOATING_POINT_ARGUMENT_PASSED__INTEGER_WAS_EXPECTED

     #define EIGEN_STATIC_ASSERT(X,MSG) static_assert(X,#MSG);

                                        ^

C:\Users\ltber\OneDrive\Documents\Arduino\libraries\Bolder_Flight_Systems_Eigen\src/Eigen/src/Core/PlainObjectBase.h:845:7: note: in expansion of macro 'EIGEN_STATIC_ASSERT'

       EIGEN_STATIC_ASSERT(is_integer_alike,

       ^

Error compiling for board Teensy 4.1.



This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Is this a library bug? Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.