Defined in header <simdee/simd_vectors/dual.hpp>
sd::dual
is a class template that creates a new vector based on an existing type T
that satisfies SIMDVector
.
- The width of the new vector is doubled, i.e.
sd::dual<T>::width == 2 * T::width
. sd::dual<T>
satisfiesSIMDVector
.- If
T
satisfies one of the conceptsSIMDVectorB
,SIMDVectorF
,SIMDVectorU
,SIMDVectorS
, thensd::dual<T>
satisfies it as well.
- The implementation of
reduce(x)
is not effective for repeatedly nested types, e.g. whenx
has typesd::dual<sd::dual<sd::dumf>>
. - Expression templates
deferred_bitnot
anddeferred_lognot
are not employed bysd::dual<T>
even ifT
uses them.