Selection of libraries designed to be used with Emu projects. This was originally a Math library only, but has since been changed to hold all Emu libraries to enable consistency in changes to dependencies (such as EmuCore modifications).
Currently handling for calculations where the data is stored in a register only supports 4-element registers due to the usage of shuffle_full_width<I0_, I1_, I2_, I3_> being the only path.
This is considered low priority as it is pointless and thus very unlikely that a FastQuaternion will use a register with more than 4 elements. With that said, even if such a thing is done then this creation issue can be worked around by constructing a FastQuaternion from the results of Quaternion::from_euler (whose function is virtually identical in terms of performance due to the amount of extra busywork required for SIMD approaches).
Currently handling for calculations where the data is stored in a register only supports 4-element registers due to the usage of
shuffle_full_width<I0_, I1_, I2_, I3_>
being the only path.This is considered low priority as it is pointless and thus very unlikely that a
FastQuaternion
will use a register with more than 4 elements. With that said, even if such a thing is done then this creation issue can be worked around by constructing aFastQuaternion
from the results ofQuaternion::from_euler
(whose function is virtually identical in terms of performance due to the amount of extra busywork required for SIMD approaches).