Skip to content

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::float128
  • boost::multiprecision::mpfr_float_backend
  • boost::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.

Edited by Antonio Sánchez

Merge request reports

Loading