예제 #1
0
GTEST_TEST(BZFFile, mergeKEY) {
	Common::MemoryReadStream *stream = new Common::MemoryReadStream(kBZFFile);
	Aurora::BZFFile bzf(stream);

	Common::MemoryReadStream keyStream(kKEYFile);
	Aurora::KEYFile key(keyStream);

	bzf.mergeKEY(key, 0);

	EXPECT_EQ(bzf.findResource("ozymandias", Aurora::kFileTypeTXT), 0);

	const Aurora::BZFFile::ResourceList &resources = bzf.getResources();
	ASSERT_EQ(resources.size(), 1);

	const Aurora::BZFFile::Resource &resource = *resources.begin();

	EXPECT_STREQ(resource.name.c_str(), "ozymandias");
	EXPECT_EQ(resource.type, Aurora::kFileTypeTXT);
	EXPECT_EQ(resource.hash, 0);
	EXPECT_EQ(resource.index, 0);
}
예제 #2
0
파일: find_param.cpp 프로젝트: svark/asti
std::pair<double, bool >
find_param(point2d_t const & p,
           monomial_form < point2d_t > const & mf )
{
    std::vector<double> coeffs(mf.size());
    auto a = [&mf](int i){ return mf[i][0];};
    auto b = [&mf](int i){ return mf[i][1];};
    std::vector<double > l0j(mf.size());
    for(int j = 0;j < mf.degree(); ++j)
    {
        size_t m =  j + 1;
        l0j[j] = (b(m) - b(0)) * p[0]
            + (a(0) -  a(m)) * p[1]
            + (a(m) * b(0) -  b(m) * a(0));
    }
    bspline < double > bzf(
        ops::to_bezier(monomial_form < double > (l0j,
                                                 mf.start_param(),
                                                 mf.end_param()) ));
    return find_next_rootc(bzf, mf.start_param(), tol::resabs);
}