diff --git a/Core/Lattice/Lattice.cpp b/Core/Lattice/Lattice.cpp index 3eab6e38d9e9fd75f635547cad14b47132926679..d4825552ae35a96042848e46efa88b1c4eeb181c 100644 --- a/Core/Lattice/Lattice.cpp +++ b/Core/Lattice/Lattice.cpp @@ -89,9 +89,9 @@ ivector_t Lattice::getNearestLatticeVectorCoordinates(const kvector_t vector_in) double a1_coord = vector_in.dot(m_ra)/M_TWOPI; double a2_coord = vector_in.dot(m_rb)/M_TWOPI; double a3_coord = vector_in.dot(m_rc)/M_TWOPI; - int c1 = (int)std::floor(a1_coord + 0.5); - int c2 = (int)std::floor(a2_coord + 0.5); - int c3 = (int)std::floor(a3_coord + 0.5); + int c1 = static_cast<int>(std::floor(a1_coord + 0.5)); + int c2 = static_cast<int>(std::floor(a2_coord + 0.5)); + int c3 = static_cast<int>(std::floor(a3_coord + 0.5)); return ivector_t(c1, c2, c3); } @@ -100,9 +100,9 @@ ivector_t Lattice::getNearestReciprocalLatticeVectorCoordinates(const kvector_t double b1_coord = vector_in.dot(m_a)/M_TWOPI; double b2_coord = vector_in.dot(m_b)/M_TWOPI; double b3_coord = vector_in.dot(m_c)/M_TWOPI; - int c1 = (int)std::floor(b1_coord + 0.5); - int c2 = (int)std::floor(b2_coord + 0.5); - int c3 = (int)std::floor(b3_coord + 0.5); + int c1 = static_cast<int>(std::floor(b1_coord + 0.5)); + int c2 = static_cast<int>(std::floor(b2_coord + 0.5)); + int c3 = static_cast<int>(std::floor(b3_coord + 0.5)); return ivector_t(c1, c2, c3); } @@ -162,9 +162,9 @@ std::vector<kvector_t> Lattice::vectorsWithinRadius( const kvector_t v1, const kvector_t v2, const kvector_t v3, const kvector_t rec1, const kvector_t rec2, const kvector_t rec3) const { - int max_X = (int)std::floor( rec1.mag()*radius/M_TWOPI ); - int max_Y = (int)std::floor( rec2.mag()*radius/M_TWOPI ); - int max_Z = (int)std::floor( rec3.mag()*radius/M_TWOPI ); + int max_X = static_cast<int>(std::floor(rec1.mag()*radius/M_TWOPI + 0.5)); + int max_Y = static_cast<int>(std::floor(rec2.mag()*radius/M_TWOPI + 0.5)); + int max_Z = static_cast<int>(std::floor(rec3.mag()*radius/M_TWOPI + 0.5)); std::vector<kvector_t> ret; for (int index_X = -max_X; index_X <= max_X; ++index_X) { diff --git a/Tests/ReferenceData/legacy/mesocrystal01_reference.int.gz b/Tests/ReferenceData/legacy/mesocrystal01_reference.int.gz index 378a507e5214f41a7bb20efadc76362b7feb68e6..60ff90eea08982ba26dbdb8dcbd7caf2b7ac981d 100644 Binary files a/Tests/ReferenceData/legacy/mesocrystal01_reference.int.gz and b/Tests/ReferenceData/legacy/mesocrystal01_reference.int.gz differ diff --git a/Tests/UnitTests/Core/Sample/LatticeTest.h b/Tests/UnitTests/Core/Sample/LatticeTest.h index fff360142ed9576cc7ce34e08236f2ba6b12946f..bd296f9613c1bdbd2700bd3048247c0521f4676b 100644 --- a/Tests/UnitTests/Core/Sample/LatticeTest.h +++ b/Tests/UnitTests/Core/Sample/LatticeTest.h @@ -156,10 +156,7 @@ TEST_F(LatticeTest, reciprocalLatticeVectorsWithinRadiusTest) EXPECT_EQ(vectors_expected, l1.reciprocalLatticeVectorsWithinRadius(vector_in, M_TWOPI)); - // FIXME !FAILED TEST! reciprocalLatticeVectorsWithinRadius() - //EXPECT_EQ(vectors_expected, l1.reciprocalLatticeVectorsWithinRadius(vector_in, M_TWOPI-0.1)); - // Should expect both vectors expected_1 and expected _2 to be present whereas only - // one of them i.e. expected_2 is present + EXPECT_EQ(vectors_expected, l1.reciprocalLatticeVectorsWithinRadius(vector_in, M_TWOPI-0.1)); }