Use reinterpret_cast instead of C-style cast in Inverse_NEON.h

This commit is contained in:
David Tellenbach 2020-10-04 00:26:40 +02:00
parent 22c971a225
commit f66f3393e3

View File

@ -37,8 +37,8 @@ struct compute_inverse_size4<Architecture::NEON, float, MatrixType, ResultType>
// interleave m and n when interleave == true
static Packet4f shuffle(const Packet4f &m, const Packet4f &n, int mask, bool interleave = false)
{
const float *a = (const float *)&m;
const float *b = (const float *)&n;
const float *a = reinterpret_cast<const float *>(&m);
const float *b = reinterpret_cast<const float *>(&n);
if (!interleave)
{
Packet4f res = {*(a + (mask & 3)), *(a + ((mask >> 2) & 3)), *(b + ((mask >> 4) & 3)), *(b + ((mask >> 6) & 3))};
@ -194,8 +194,8 @@ struct compute_inverse_size4<Architecture::NEON, double, MatrixType, ResultType>
// fuctionally equivalent to _mm_shuffle_pd in SSE (i.e. shuffle(m, n, mask) equals _mm_shuffle_pd(m,n,mask))
static Packet2d shuffle(const Packet2d &m, const Packet2d &n, int mask)
{
const double *a = (const double *)&m;
const double *b = (const double *)&n;
const double *a = reinterpret_cast<const double *>(&m);
const double *b = reinterpret_cast<const double *>(&n);
Packet2d res = {*(a + (mask & 1)), *(b + ((mask >> 1) & 1))};
return res;
}