Comments (13)
I compile with this preprocessing definitions:
EIGEN_DONT_ALIGN_STATICALLY
EIGEN_DONT_VECTORIZE
EIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT
from bayes-filters-lib.
@traversaro
Recommendation is taken from
https://eigen.tuxfamily.org/dox/group__TopicUnalignedArrayAssert.html
Exactly this document explains that defining EIGEN_DONT_ALIGN_STATICALLY
: "note that this breaks ABI compatibility with the default behavior of static alignment."
This ABI incompatibility is what causes the run-time crashes in the cases I was describing.
from bayes-filters-lib.
Hi @travek!
Are you compiling 32 or 64 bit?
from bayes-filters-lib.
I tried x86 in MS VS
from bayes-filters-lib.
Can you by chance try to compile it for x64 and let us know? Thanks!
from bayes-filters-lib.
@claudiofantacci
It works when compiling in x64. Thanks!
Is it possible to have Eigen works correctly in x86 ? Do you know what needs to be changed ?
from bayes-filters-lib.
@claudiofantacci
I tried with preprocessing options, it works with x86, too
Thanks
from bayes-filters-lib.
Hi travek, do you mind giving us details of your findings to have the code compiled under x86? This could be useful to other users as well! Anyway, I’ll add to our pipeline this issue.
from bayes-filters-lib.
A small note: if I am not wrong, compiling a library that uses Eigen classes in its public interfaces changes the ABI of the Eigen classes, that means that it may create run-time crashes if the library is used/linked in a compilation unit that uses Eigen and is not compiled with that options.
from bayes-filters-lib.
@traversaro
Recommendation is taken from
https://eigen.tuxfamily.org/dox/group__TopicUnalignedArrayAssert.html
from bayes-filters-lib.
The problem is related to the fixed-size Eigen::Matrix4d
matrices in WhiteNoiseAcceleration.h header file. This is, of course, an error and I will fix as soon as possible.
We are undergoing an heavy maintenence on the library and I plan to fix it within the next release.
Thanks for reporting this 👍
from bayes-filters-lib.
See this Eigen reference page.
from bayes-filters-lib.
I changed the implementation of WhiteNoiseAcceleration
using the PIMPL pattern and by generalizing it a bit for 1D, 2D and 3D position + velocity state space. You can see the new implementation here. It is still WIP and consequently the implementation may change until it is merged into devel.
from bayes-filters-lib.
Related Issues (20)
- Cannot call non-cost methods from `predictedMeasure` of `MeasurementModel` class HOT 1
- Update branch protection rules and remove Ubuntu 18.04 HOT 1
- Uncoherent `skip`-related variable value in `*Prediction` classes HOT 1
- Move assignment operators do not check for self assignment
- Output GaussianMixture in sigma_point::unscented_transform does not reflect the internal composition of the measurement vector HOT 3
- Move `ExogenousModel` inside `StateModel`s classes HOT 2
- Double check protected data member HOT 3
- Implement multiple-measurement facilities
- Rethink and reimplement `getOutputState`
- Update implementation of `FilteringAlgorithm` and derived classes
- Avoid (or not) default implementation of method `MeasurementModel::getNoiseCovarianceMatrix` HOT 1
- Cholesky update
- bfl::Gaussian::resize hides overloaded virtual function
- Clean CHANGELOG.md HOT 1
- Switch from current CI system to GitHub actions HOT 2
- About the const-ness of some methods of class MeasurementModel HOT 4
- Provide a mechanism for measurement / predicted measurement invalidation
- Building Library on Windows HOT 4
- Remove custom FindEigen3.cmake HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bayes-filters-lib.