1 #ifndef DataFormat_Math_SSERot_H
2 #define DataFormat_Math_SSERot_H
32 axis[0].set(xx, xy, xz);
33 axis[1].set(yx, yy, yz);
34 axis[2].set(zx, zy, zz);
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));
142 template <
typename T>
153 #endif // DataFormat_Math_SSERot_H
Vec4< T > rotateBack(Vec4< T > v) const
Rot2(Vec2< T > ix, Vec2< T > iy)
Vec2< T > rotate(Vec2< T > v) const
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Rot2 rotate(Rot2 const &r) const
Rot2 rotateBack(Rot2 const &r) const
Rot2(T xx, T xy, T yx, T yy)
Rot3 rotate(Rot3 const &r) const
struct mathSSE::Rot3 __attribute__
Rot3(Vec4< T > ix, Vec4< T > iy, Vec4< T > iz)
Basic2DVector< T > xy() const
Vec2< T > rotateBack(Vec2< T > v) const
Rot3(T xx, T xy, T xz, T yx, T yy, T yz, T zx, T zy, T zz)
MatrixMeschach operator*(const MatrixMeschach &mat1, const MatrixMeschach &mat2)
Rot3 rotateBack(Rot3 const &r) const
Vec4< T > rotate(Vec4< T > v) const