Merge pull request #313 from jackoalan/neon-setinterpolate3-fix
Fixed self-referencial bug in btVector3's setInterpolate3 (NEON)
This commit is contained in:
@@ -467,10 +467,10 @@ public:
|
||||
__m128 tmp3 = _mm_add_ps(r0,r1);
|
||||
mVec128 = tmp3;
|
||||
#elif defined(B3_USE_NEON)
|
||||
mVec128 = vsubq_f32(v1.mVec128, v0.mVec128);
|
||||
mVec128 = vmulq_n_f32(mVec128, rt);
|
||||
mVec128 = vaddq_f32(mVec128, v0.mVec128);
|
||||
#else
|
||||
float32x4_t vl = vsubq_f32(v1.mVec128, v0.mVec128);
|
||||
vl = vmulq_n_f32(vl, rt);
|
||||
mVec128 = vaddq_f32(vl, v0.mVec128);
|
||||
#else
|
||||
b3Scalar s = b3Scalar(1.0) - rt;
|
||||
m_floats[0] = s * v0.m_floats[0] + rt * v1.m_floats[0];
|
||||
m_floats[1] = s * v0.m_floats[1] + rt * v1.m_floats[1];
|
||||
|
||||
@@ -501,10 +501,10 @@ public:
|
||||
__m128 tmp3 = _mm_add_ps(r0,r1);
|
||||
mVec128 = tmp3;
|
||||
#elif defined(BT_USE_NEON)
|
||||
mVec128 = vsubq_f32(v1.mVec128, v0.mVec128);
|
||||
mVec128 = vmulq_n_f32(mVec128, rt);
|
||||
mVec128 = vaddq_f32(mVec128, v0.mVec128);
|
||||
#else
|
||||
float32x4_t vl = vsubq_f32(v1.mVec128, v0.mVec128);
|
||||
vl = vmulq_n_f32(vl, rt);
|
||||
mVec128 = vaddq_f32(vl, v0.mVec128);
|
||||
#else
|
||||
btScalar s = btScalar(1.0) - rt;
|
||||
m_floats[0] = s * v0.m_floats[0] + rt * v1.m_floats[0];
|
||||
m_floats[1] = s * v0.m_floats[1] + rt * v1.m_floats[1];
|
||||
|
||||
Reference in New Issue
Block a user