Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Unified Diff: experimental/webgtt/graph.cc

Issue 10928195: First round of dead file removal (Closed) Base URL: https://github.com/samclegg/nativeclient-sdk.git@master
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « experimental/webgtt/graph.h ('k') | experimental/webgtt/javascript/button.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: experimental/webgtt/graph.cc
diff --git a/experimental/webgtt/graph.cc b/experimental/webgtt/graph.cc
deleted file mode 100644
index 2e8a711b78ce2a5b57cc869d48d489d4f7eeeb17..0000000000000000000000000000000000000000
--- a/experimental/webgtt/graph.cc
+++ /dev/null
@@ -1,120 +0,0 @@
-// Copyright (c) 2011 The Native Client Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be found
-// in the LICENSE file.
-
-#include "webgtt/graph.h"
-
-#include <boost/concept_check.hpp>
-#include <boost/graph/adjacency_matrix.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/smart_ptr.hpp>
-#include <boost/type_traits.hpp>
-
-#include <limits>
-#include <map>
-#include <utility>
-#include <vector>
-
-namespace graph {
-
-template <class VertexListGraph, class Order, class Color>
-typename boost::graph_traits<VertexListGraph>::vertices_size_type
-SequentialVertexColoring(const VertexListGraph& graph,
- Order order,
- const Color& color) {
- typedef boost::graph_traits<VertexListGraph> GraphTraits;
- typedef typename GraphTraits::vertex_descriptor vertex_descriptor;
- typedef typename GraphTraits::vertices_size_type size_type;
- typedef typename boost::property_traits<Color>::value_type ColorType;
- typedef typename boost::property_traits<Order>::value_type OrderType;
-
- boost::function_requires< boost::VertexListGraphConcept<VertexListGraph> >();
- boost::function_requires< boost::ReadWritePropertyMapConcept<Color,
- vertex_descriptor> >();
- boost::function_requires< boost::IntegerConcept<ColorType> >();
- boost::function_requires< boost::ReadablePropertyMapConcept<Order,
- size_type> >();
- BOOST_STATIC_ASSERT((boost::is_same<OrderType, vertex_descriptor>::value));
-
- size_type max_color = 0;
- const size_type number_of_vertices = boost::num_vertices(graph);
- std::vector<size_type> mark(number_of_vertices,
- std::numeric_limits<size_type>::max());
-
- typename GraphTraits::vertex_iterator vertex, last_vertex;
- for (tie(vertex, last_vertex) = boost::vertices(graph); vertex != last_vertex;
- ++vertex) {
- color[*vertex] = number_of_vertices - 1; // which means "not colored".
- }
-
- for (size_type i = 0; i < number_of_vertices; ++i) {
- vertex_descriptor current_vertex = order[i];
- // Mark all the colors of the adjacent vertices.
- typename GraphTraits::adjacency_iterator adjacent_vertex,
- last_adjacent_vertex;
- for (tie(adjacent_vertex, last_adjacent_vertex) =
- boost::adjacent_vertices(current_vertex, graph);
- adjacent_vertex != last_adjacent_vertex; ++adjacent_vertex) {
- mark[color[*adjacent_vertex]] = i;
- }
- // Find the smallest color unused by the adjacent vertices.
- size_type smallest_color = 0;
- while (smallest_color < max_color && mark[smallest_color] == i) {
- ++smallest_color;
- }
- // If all the colors are used up, increase the number of colors.
- if (smallest_color == max_color) {
- ++max_color;
- }
- color[current_vertex] = smallest_color;
- }
- return max_color;
-}
-
-Graph::Graph(int number_of_vertices,
- std::vector< std::vector<int> > adjacency_matrix)
- : number_of_vertices_(number_of_vertices),
- adjacency_matrix_(adjacency_matrix) {}
-
-std::vector<int> Graph::GetColoring() const {
- // Construct the boost graph.
- typedef boost::adjacency_matrix<boost::undirectedS> UndirectedGraph;
- typedef boost::graph_traits<UndirectedGraph> GraphTraits;
- typedef GraphTraits::vertex_descriptor vertex_descriptor;
- typedef GraphTraits::vertex_iterator vertex_iterator;
- UndirectedGraph undirected_graph(number_of_vertices_);
- for (int i = 0; i < number_of_vertices_; ++i) {
- for (int j = i + 1; j < number_of_vertices_; ++j) {
- if (adjacency_matrix_[i][j] == 1) {
- boost::add_edge(i, j, undirected_graph);
- }
- }
- }
- // Create order as an externally stored property.
- boost::scoped_array<vertex_descriptor>
- order(new vertex_descriptor[number_of_vertices_]);
- std::pair<vertex_iterator, vertex_iterator> first_last_vertex =
- boost::vertices(undirected_graph);
- for (int i = 0; i < number_of_vertices_; ++i) {
- order[i] = first_last_vertex.first[i];
- }
- // Create color as an externally stored property.
- std::map<vertex_descriptor, int> color;
- for (int i = 0; i < number_of_vertices_; ++i) {
- color.insert(std::make_pair(vertex_descriptor(first_last_vertex.first[i]),
- 0));
- }
- // Get the coloring.
- SequentialVertexColoring(undirected_graph, order.get(),
- boost::make_assoc_property_map(color));
- // Return the coloring.
- std::vector<int> vertex_colors(number_of_vertices_);
- for (int i = 0; i < number_of_vertices_; ++i) {
- vertex_colors[i] = color[first_last_vertex.first[i]];
- }
- return vertex_colors;
-}
-
-} // namespace graph
« no previous file with comments | « experimental/webgtt/graph.h ('k') | experimental/webgtt/javascript/button.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698