mirror of https://github.com/zeldaret/botw.git
Havok: Fix compile errors in non-AArch64 impls of hkSimdFloat32
This commit is contained in:
parent
e58c1a4a44
commit
a6cf379d99
|
@ -227,8 +227,10 @@ inline hkSimdFloat32 hkSimdFloat32::sqrt() const {
|
||||||
const auto r = m_real * inv;
|
const auto r = m_real * inv;
|
||||||
return vbic_u32(r, leqZero);
|
return vbic_u32(r, leqZero);
|
||||||
#else
|
#else
|
||||||
|
hkSimdFloat32 result;
|
||||||
for (int i = 0; i < 4; ++i)
|
for (int i = 0; i < 4; ++i)
|
||||||
m_real[i] = m_real[i] >= 0.0f ? std::sqrt(m_real[i]) : 0.0f;
|
result.m_real[i] = m_real[i] >= 0.0f ? std::sqrt(m_real[i]) : 0.0f;
|
||||||
|
return result;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -237,8 +239,10 @@ inline hkSimdFloat32 hkSimdFloat32::sqrtUnsafe() const {
|
||||||
const auto inv = sqrtInverseUnsafe();
|
const auto inv = sqrtInverseUnsafe();
|
||||||
return m_real * inv.m_real;
|
return m_real * inv.m_real;
|
||||||
#else
|
#else
|
||||||
|
hkSimdFloat32 result;
|
||||||
for (int i = 0; i < 4; ++i)
|
for (int i = 0; i < 4; ++i)
|
||||||
m_real[i] = std::sqrt(m_real[i]);
|
result.m_real[i] = std::sqrt(m_real[i]);
|
||||||
|
return result;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -248,8 +252,10 @@ inline hkSimdFloat32 hkSimdFloat32::sqrtInverse() const {
|
||||||
const auto inv = sqrtInverseUnsafe().m_real;
|
const auto inv = sqrtInverseUnsafe().m_real;
|
||||||
return vbic_u32(inv, leqZero);
|
return vbic_u32(inv, leqZero);
|
||||||
#else
|
#else
|
||||||
|
hkSimdFloat32 result;
|
||||||
for (int i = 0; i < 4; ++i)
|
for (int i = 0; i < 4; ++i)
|
||||||
m_real[i] = m_real[i] > 0.0f ? (1.0f / std::sqrt(m_real[i])) : 0.0f;
|
result.m_real[i] = m_real[i] > 0.0f ? (1.0f / std::sqrt(m_real[i])) : 0.0f;
|
||||||
|
return result;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -260,8 +266,10 @@ inline hkSimdFloat32 hkSimdFloat32::sqrtInverseUnsafe() const {
|
||||||
r0 = vrsqrts_f32(m_real, r0 * r0) * r0;
|
r0 = vrsqrts_f32(m_real, r0 * r0) * r0;
|
||||||
return r0;
|
return r0;
|
||||||
#else
|
#else
|
||||||
|
hkSimdFloat32 result;
|
||||||
for (int i = 0; i < 4; ++i)
|
for (int i = 0; i < 4; ++i)
|
||||||
m_real[i] = 1.0f / std::sqrt(m_real[i]);
|
result.m_real[i] = 1.0f / std::sqrt(m_real[i]);
|
||||||
|
return result;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue