// Copyright 2005 The Trustees of Indiana University. // Use, modification and distribution is subject to the Boost Software // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) // Authors: Douglas Gregor // Andrew Lumsdaine #include "digraph.hpp" #include #include "done.hpp" namespace boost { namespace graph { namespace python { template void page_rank_ri (Graph& g, const vector_property_map& rank, int iterations) { boost::graph::page_rank(g, rank, graph::n_iterations(20)); } template void page_rank_i(Graph& g, int iterations) { boost::graph::page_rank(g, g.template get_vertex_map("rank"), graph::n_iterations(20)); } struct page_rank_wrap_done { page_rank_wrap_done(const done& d) : d(d) { } template bool operator()(const RankMap&, const Graph&) const { return d(); } const done& d; }; template void page_rank_rd (Graph& g, const vector_property_map& rank, const done& d) { boost::graph::page_rank(g, rank, page_rank_wrap_done(d)); } template void page_rank_d(Graph& g, const done& d) { boost::graph::page_rank(g, g.template get_vertex_map("rank"), page_rank_wrap_done(d)); } void export_page_rank() { def("page_rank", &page_rank_i); def("page_rank", &page_rank_ri); def("page_rank", &page_rank_rd); def("page_rank", &page_rank_d); } } } } // end namespace boost::graph::python