Пример #1
0
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);
    }
}
Пример #2
0
  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;
    }
  }
Пример #3
0
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);
}