Fix AlignedVector3
This MR fixes some StorageOptions problems in Quaternion and interface incompatibility in AlignedVector3. I am working on adding high precision real support to yade. I am performing tests using:
boost::multiprecision::float128boost::multiprecision::mpfr_float_backendboost::multiprecision::cpp_bin_float
The problem was that in several member functions Quaternion wasn't respecting Options_ template argument. It tried to create badly aligned quaternions, which resulted in a segfault.
My work isn't complete, because I am still getting other segfaults in my other tests though. I'm trying to find out where they are coming from.
Once you get your CI running, maybe I could help you in adding tests for boost::multiprecision::float128, boost::multiprecision::mpfr_float_backend and boost::multiprecision::cpp_bin_float. These are the ones against which I am testing locally now (actually I work on a small fork of minieigen). This would help a lot for yade to have a solid high precision support.
EDIT: Here is a particular pipeline which passed all tests in this MR.