15 #ifndef BT_SIMD_QUADWORD_H
16 #define BT_SIMD_QUADWORD_H
21 #if defined(__CELLOS_LV2) && defined(__SPU__)
36 #if defined(__SPU__) && defined(__CELLOS_LV2__)
43 vec_float4 get128()
const
51 #if defined(BT_USE_SSE) || defined(BT_USE_NEON)
73 #if (defined(BT_USE_SSE_IN_API) && defined(BT_USE_SSE)) || defined(BT_USE_NEON)
84 mVec128 = rhs.mVec128;
130 return (0xf == _mm_movemask_ps((__m128)_mm_cmpeq_ps(mVec128, other.mVec128)));
132 return ((
m_floats[3] == other.m_floats[3]) &&
133 (
m_floats[2] == other.m_floats[2]) &&
134 (
m_floats[1] == other.m_floats[1]) &&
135 (
m_floats[0] == other.m_floats[0]));
141 return !(*
this == other);
210 mVec128 = _mm_max_ps(mVec128, other.mVec128);
211 #elif defined(BT_USE_NEON)
212 mVec128 = vmaxq_f32(mVec128, other.mVec128);
226 mVec128 = _mm_min_ps(mVec128, other.mVec128);
227 #elif defined(BT_USE_NEON)
228 mVec128 = vminq_f32(mVec128, other.mVec128);
ATTR_WARN_UNUSED_RESULT const BMVert * v
btGeneric6DofConstraint & operator=(btGeneric6DofConstraint &other)
SIMD_FORCE_INLINE void btSetMin(T &a, const T &b)
SIMD_FORCE_INLINE void btSetMax(T &a, const T &b)
SIMD_FORCE_INLINE bool operator==(const btQuadWord &other) const
SIMD_FORCE_INLINE bool operator!=(const btQuadWord &other) const
SIMD_FORCE_INLINE void setY(btScalar _y)
Set the y value.
SIMD_FORCE_INLINE const btScalar & getZ() const
Return the z value.
SIMD_FORCE_INLINE void setMin(const btQuadWord &other)
Set each element to the min of the current values and the values of another btQuadWord.
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
SIMD_FORCE_INLINE const btScalar & z() const
Return the z value.
SIMD_FORCE_INLINE void setX(btScalar _x)
Set the x value.
SIMD_FORCE_INLINE void setValue(const btScalar &_x, const btScalar &_y, const btScalar &_z)
Set x,y,z and zero w.
SIMD_FORCE_INLINE void setMax(const btQuadWord &other)
Set each element to the max of the current values and the values of another btQuadWord.
SIMD_FORCE_INLINE void setZ(btScalar _z)
Set the z value.
SIMD_FORCE_INLINE const btScalar & x() const
Return the x value.
btQuadWord
The btQuadWord class is base class for btVector3 and btQuaternion. Some issues under PS3 Linux with I...
SIMD_FORCE_INLINE const btScalar & getX() const
Return the x value.
SIMD_FORCE_INLINE void setW(btScalar _w)
Set the w value.
SIMD_FORCE_INLINE const btScalar & getY() const
Return the y value.
SIMD_FORCE_INLINE const btScalar & y() const
Return the y value.
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define ATTRIBUTE_ALIGNED16(a)
#define SIMD_FORCE_INLINE