13 template<
typename T_Graph>
14 std::vector<typename T_Graph::Vertex> operator()(
const unsigned processID,
const unsigned processCount, T_Graph &graph){
16 typedef typename T_Graph::Vertex Vertex;
18 unsigned vertexCount = graph.getVertices().size();
19 unsigned vertexPerProcess = ceil((
float)vertexCount / processCount);
22 if(processID > vertexCount - 1){
23 return std::vector<Vertex>();
26 unsigned minVertex = processID * vertexPerProcess;
27 unsigned maxVertex = minVertex + vertexPerProcess;
30 if(minVertex > vertexCount){
31 return std::vector<Vertex>();
34 maxVertex = std::min(maxVertex, vertexCount);
36 assert(minVertex <= maxVertex);
38 std::vector<Vertex> vertices = graph.getVertices();
39 std::vector<Vertex> myVertices(vertices.begin() + minVertex, vertices.begin() + maxVertex);
Definition: Consecutive.hpp:11