Skip to content
Snippets Groups Projects
Commit d9ee5787 authored by Marco Biasini's avatar Marco Biasini
Browse files

silence more strict aliasing warnings

parent 303797b4
No related branches found
No related tags found
No related merge requests found
...@@ -152,58 +152,24 @@ SuperposerSVD::SuperposerSVD(int natoms, bool alloc_atoms): ...@@ -152,58 +152,24 @@ SuperposerSVD::SuperposerSVD(int natoms, bool alloc_atoms):
} }
geom::Vec3 SuperposerSVDImpl::EigenVec3ToVec3(const EVec3 &vec){ geom::Vec3 SuperposerSVDImpl::EigenVec3ToVec3(const EVec3 &vec)
#if defined _MSC_VER {
geom::Vec3 myvec3; return geom::Vec3(vec.data());
for (int i=0; i<3; ++i) {
myvec3[i]=vec[i];
}
return myvec3;
#else
return *reinterpret_cast<const geom::Vec3*>(&vec);
#endif
} }
geom::Mat3 SuperposerSVDImpl::EigenMat3ToMat3(const EMat3 &mat) geom::Mat3 SuperposerSVDImpl::EigenMat3ToMat3(const EMat3 &mat)
{ {
#if defined _MSC_VER return geom::Mat3(mat.data());
geom::Mat3 mymat3;
for (int i=0; i<3; ++i) {
for (int j=0; j<3; ++j) {
mymat3(j,i)=mat(i,j);
}
}
return mymat3;
#else
return *reinterpret_cast<const geom::Mat3*>(&mat);
#endif
} }
EVec3 SuperposerSVDImpl::Vec3ToEigenRVec(const geom::Vec3 &vec) EVec3 SuperposerSVDImpl::Vec3ToEigenRVec(const geom::Vec3 &vec)
{ {
#if defined _MSC_VER return EVec3(&vec[0]);
EVec3 myvec3=EVec3::Zero();
for (int counter=0; counter<3; ++counter) {
myvec3[counter]=vec[counter];
}
return myvec3;
#else
return *reinterpret_cast<const ERVec3*>(&vec);
#endif
} }
EVec3 SuperposerSVDImpl::Vec3ToEigenVec(const geom::Vec3 &vec) EVec3 SuperposerSVDImpl::Vec3ToEigenVec(const geom::Vec3 &vec)
{ {
#if defined _MSC_VER return EVec3(&vec[0]);
EVec3 myvec3=EVec3::Zero();
for (int counter=0; counter<3; ++counter) {
myvec3[counter]=vec[counter];
}
return myvec3;
#else
return *reinterpret_cast<const EVec3*>(&vec);
#endif
} }
EMatX SuperposerSVDImpl::SubtractVecFromMatrixRows(EMatX Mat, EMatX SuperposerSVDImpl::SubtractVecFromMatrixRows(EMatX Mat,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment