Skip to content
Snippets Groups Projects
Unverified Commit 5bf1ccfc authored by Pospelov, Gennady's avatar Pospelov, Gennady Committed by GitHub
Browse files

Merge pull request #333 from waltervh/develop

Fix bug in Lattice::vectorsWithinRadius
parents 5d8106e4 48d4eb89
No related branches found
No related tags found
No related merge requests found
...@@ -89,9 +89,9 @@ ivector_t Lattice::getNearestLatticeVectorCoordinates(const kvector_t vector_in) ...@@ -89,9 +89,9 @@ ivector_t Lattice::getNearestLatticeVectorCoordinates(const kvector_t vector_in)
double a1_coord = vector_in.dot(m_ra)/M_TWOPI; double a1_coord = vector_in.dot(m_ra)/M_TWOPI;
double a2_coord = vector_in.dot(m_rb)/M_TWOPI; double a2_coord = vector_in.dot(m_rb)/M_TWOPI;
double a3_coord = vector_in.dot(m_rc)/M_TWOPI; double a3_coord = vector_in.dot(m_rc)/M_TWOPI;
int c1 = (int)std::floor(a1_coord + 0.5); int c1 = static_cast<int>(std::floor(a1_coord + 0.5));
int c2 = (int)std::floor(a2_coord + 0.5); int c2 = static_cast<int>(std::floor(a2_coord + 0.5));
int c3 = (int)std::floor(a3_coord + 0.5); int c3 = static_cast<int>(std::floor(a3_coord + 0.5));
return ivector_t(c1, c2, c3); return ivector_t(c1, c2, c3);
} }
...@@ -100,9 +100,9 @@ ivector_t Lattice::getNearestReciprocalLatticeVectorCoordinates(const kvector_t ...@@ -100,9 +100,9 @@ ivector_t Lattice::getNearestReciprocalLatticeVectorCoordinates(const kvector_t
double b1_coord = vector_in.dot(m_a)/M_TWOPI; double b1_coord = vector_in.dot(m_a)/M_TWOPI;
double b2_coord = vector_in.dot(m_b)/M_TWOPI; double b2_coord = vector_in.dot(m_b)/M_TWOPI;
double b3_coord = vector_in.dot(m_c)/M_TWOPI; double b3_coord = vector_in.dot(m_c)/M_TWOPI;
int c1 = (int)std::floor(b1_coord + 0.5); int c1 = static_cast<int>(std::floor(b1_coord + 0.5));
int c2 = (int)std::floor(b2_coord + 0.5); int c2 = static_cast<int>(std::floor(b2_coord + 0.5));
int c3 = (int)std::floor(b3_coord + 0.5); int c3 = static_cast<int>(std::floor(b3_coord + 0.5));
return ivector_t(c1, c2, c3); return ivector_t(c1, c2, c3);
} }
...@@ -162,9 +162,9 @@ std::vector<kvector_t> Lattice::vectorsWithinRadius( ...@@ -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 v1, const kvector_t v2, const kvector_t v3,
const kvector_t rec1, const kvector_t rec2, const kvector_t rec3) const 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_X = static_cast<int>(std::floor(rec1.mag()*radius/M_TWOPI + 0.5));
int max_Y = (int)std::floor( rec2.mag()*radius/M_TWOPI ); int max_Y = static_cast<int>(std::floor(rec2.mag()*radius/M_TWOPI + 0.5));
int max_Z = (int)std::floor( rec3.mag()*radius/M_TWOPI ); int max_Z = static_cast<int>(std::floor(rec3.mag()*radius/M_TWOPI + 0.5));
std::vector<kvector_t> ret; std::vector<kvector_t> ret;
for (int index_X = -max_X; index_X <= max_X; ++index_X) { for (int index_X = -max_X; index_X <= max_X; ++index_X) {
......
No preview for this file type
...@@ -156,10 +156,7 @@ TEST_F(LatticeTest, reciprocalLatticeVectorsWithinRadiusTest) ...@@ -156,10 +156,7 @@ TEST_F(LatticeTest, reciprocalLatticeVectorsWithinRadiusTest)
EXPECT_EQ(vectors_expected, l1.reciprocalLatticeVectorsWithinRadius(vector_in, M_TWOPI)); 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));
//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
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment