void process () { // generate point set std::vector<typename K::Point_d> p_points, q_points; p_points.reserve( 50); q_points.reserve( 50); { int d = 10; std::vector<double> coords( d+1); int i, j; double hom = 2.0; for ( i = 0; i < 50; ++i) { for (j=0; j<d; ++j) coords[ j] = CGAL::get_default_random()( 0x100000); coords[d] = hom; p_points.push_back (typename K::Point_d(d, coords.begin(), coords.end())); } hom = 3.0; for ( i = 0; i < 50; ++i) { for (j=0; j<d; ++j) coords[ j] = -CGAL::get_default_random()( 0x100000); coords[d] = hom; q_points.push_back (typename K::Point_d(d, coords.begin(), coords.end())); } // call test function CGAL::test_Polytope_distance_d( p_points.begin(), p_points.end(), q_points.begin(), q_points.end(), Traits(), 2); } }
NazoTable(Iterator first, Iterator last, const Traits &traits = Traits()) : m_traits(traits) , m_table() { const int n = std::distance(first, last); const int b = 32 - __builtin_clz(n + 1); m_table.assign(b, std::vector<value_type>(n + 1)); Iterator it = first; ++it; for(int i = 1; i <= n; ++i, ++it){ const int ctz = __builtin_ctz(i); backward_fill(it, ctz, i, i - (1 << ctz)); forward_fill(it, ctz, i, std::min(n + 1, i + (1 << ctz))); } }
NodeType *make_list(ValueGen &&g, Traits const &t = Traits()) { bool valid(false); auto v(g(valid)); if (!valid) return nullptr; auto head(t.list_head(new NodeType(v))); auto tail(head); v = g(valid); while (valid) { tail = t.link_after(tail, new NodeType(v)); v = g(valid); } return head; }
void process () { // generate point set std::vector<typename K::Point_2> points; points.reserve( 100); { double hom = 2.0; for ( int i = 0; i < 100; ++i) { points.push_back (typename K::Point_2 (CGAL::get_default_random()( 0x100000), CGAL::get_default_random()( 0x100000), hom)); } // call test function CGAL::test_Min_annulus_d(points.begin(), points.end(), Traits(), 0); } }
void process () { // generate point set std::vector<typename K::Point_d> points; points.reserve( 100); { int d = 10; std::vector<double> coords( d+1); int i, j; double hom = 2.0; for ( i = 0; i < 100; ++i) { for (j=0; j<d; ++j) coords[ j] = CGAL::default_random( 0x100000); coords[d] = hom; points.push_back (typename K::Point_d(d, coords.begin(), coords.end())); } // call test function CGAL::test_Min_annulus_d(points.begin(), points.end(), Traits(), 0); } }
/** * @brief デフォルトコンストラクタ * * 要素数0のリストとして初期化する。 * - 時間計算量: \f$ O(1) \f$ * * @param[in] traits 処理内容を示すオブジェクト */ explicit LazyTreapList(const Traits &traits = Traits()) : m_traits(traits) , m_root(nullptr) { }