TEST(Math, b2VecDivideScalar) { { box2d::b2Vec<float, 2> vec{{-1.0f, 0.12345f}}; auto result = vec / 1.234f; box2dref::b2Vec2 resultref(vec[0] / 1.234f, vec[1] / 1.234f); compareB2Vec2(result, resultref); } { box2d::b2Vec<float, 2> vec{{1.1f, -20.12345f}}; box2dref::b2Vec2 vecref(1.1f, -20.12345f); box2dref::b2Vec2 resultref(838.123f / vecref.x, 838.123f / vecref.y); auto result = 838.123f / vec; compareB2Vec2(result, resultref); } { box2d::b2Vec<float, 3> vec{{1.1f, -20.12345f, 8888.0f}}; box2dref::b2Vec3 vecref(1.1f, -20.12345f, 8888.0f); box2dref::b2Vec3 resultref(vecref.x / 12333212.0f, vecref.y / 12333212.0f, vecref.z / 12333212.0f); vec /= 12333212.0f; compareB2Vec3(vec, resultref); } }
void genDegenLattice(RealType cut, ParticleSet& ptclSet, Vector<PosType>& LocLattice, Vector<RealType>& Degeneracies, Vector<IndexType>& DimSizes) { KContainer localContainer(ptclSet.Lattice); localContainer.UpdateKLists(cut, true); LocLattice.resize(localContainer.kpts_sorted.size()+1); Degeneracies.resize(localContainer.kpts_sorted.size()+1); LocLattice[0] = PosType(0,0,0); Degeneracies[0] = 1.0; cout << "In genDegenLattice, about to start loop over kpts_sorted." << endl; std::map<int, std::vector<int>*>::iterator it(localContainer.kpts_sorted.begin()); for (IndexType i = 1; i < LocLattice.size(); i++) { vector<int>& vecref(*(it->second)); Degeneracies[i] = vecref.size(); LocLattice[i] = localContainer.kpts_cart[vecref[0]]; ++it; } for (IndexType i = 0; i < LocLattice.size(); i++) { cout << Degeneracies[i] << " " << LocLattice[i] << endl; } }
TEST(Math, b2VecInvert) { box2d::b2Vec<float, 2> vec{{-1.0f, 0.12345f}}; box2dref::b2Vec2 vecref(-1.0f, 0.12345f); vec = vec.Negate(); compareB2Vec2(vec, -vecref); }