1 #ifndef DataFormat_Math_SSERot_H 2 #define DataFormat_Math_SSERot_H 58 return v.template get1<0>() *
axis[0] +
v.template get1<1>() *
axis[1] +
v.template get1<2>() *
axis[2];
78 return _mm_or_ps(_mm_or_ps(_mm_dp_ps(
axis[0].vec,
v.vec, 0x71), _mm_dp_ps(
axis[1].vec,
v.vec, 0x72)),
79 _mm_dp_ps(
axis[2].vec,
v.vec, 0x74));
93 return lh.rotateBack(rh);
142 template <
typename T>
144 return lh.rotateBack(rh);
153 #endif // DataFormat_Math_SSERot_H
Rot2 rotateBack(Rot2 const &r) const
Vec2< T > rotateBack(Vec2< T > v) const
Rot2(Vec2< T > ix, Vec2< T > iy)
Rot3 rotate(Rot3 const &r) const
Vec2< T > rotate(Vec2< T > v) const
mathSSE::Rot3< T > operator*(mathSSE::Rot3< T > const &rh, mathSSE::Rot3< T > const &lh)
Vec4< T > rotate(Vec4< T > v) const
Vec4< T > rotateBack(Vec4< T > v) const
Rot2(T xx, T xy, T yx, T yy)
Rot2 rotate(Rot2 const &r) const
constexpr Vec4< T > rotate(Vec4< T > v) const
struct mathSSE::Rot3 __attribute__
Rot3(Vec4< T > ix, Vec4< T > iy, Vec4< T > iz)
ALPAKA_FN_ACC ALPAKA_FN_INLINE uint32_t ix(uint32_t id)
std::ostream & operator<<(std::ostream &out, mathSSE::Rot3F const &v)
Rot3(T xx, T xy, T xz, T yx, T yy, T yz, T zx, T zy, T zz)
Rot3 rotateBack(Rot3 const &r) const
ALPAKA_FN_ACC ALPAKA_FN_INLINE uint32_t iy(uint32_t id)
constexpr Vec4< T > rotateBack(Vec4< T > v) const
constexpr Vec2< T > rotateBack(Vec2< T > v) const