Skip to content

Fix realview

Description

This changes RealView to only permit write operations when the scalar is std::complex<T>, or any scalar the user is confident that meets the requirements to access the components as if it were an array of real numbers, i.e. via reinterpret_cast<RealScalar(&)[2]>. The user can specialize complex_array_access<Scalar> : std::true_type to enable the write accessors.

The changes to the packet ops account for unusual situations that are rare in practice, usually involving unaligned arrays. I have added a bunch of tests that hopefully covers all scenarios. The change in performance is very minor, especially for larger arrays.

Reference issue

Additional information

Edited by Charles Schlosser

Merge request reports

Loading