Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r53604 - sandbox/SOC/2009/function_graph/libs/test
From: mlopez7_at_[hidden]
Date: 2009-06-03 13:21:11


Author: lopezeant
Date: 2009-06-03 13:21:11 EDT (Wed, 03 Jun 2009)
New Revision: 53604
URL: http://svn.boost.org/trac/boost/changeset/53604

Log:
Adapting edge(u,v,g) into function_graph
Added:
   sandbox/SOC/2009/function_graph/libs/test/test2.cpp
      - copied, changed from r53576, /sandbox/SOC/2009/function_graph/libs/test/test1.cpp
Text files modified:
   sandbox/SOC/2009/function_graph/libs/test/test1.cpp | 21 +++++++++++++++++----
   sandbox/SOC/2009/function_graph/libs/test/test2.cpp | 35 +++++++++++++++++++++++++++--------
   2 files changed, 44 insertions(+), 12 deletions(-)

Modified: sandbox/SOC/2009/function_graph/libs/test/test1.cpp
==============================================================================
--- sandbox/SOC/2009/function_graph/libs/test/test1.cpp (original)
+++ sandbox/SOC/2009/function_graph/libs/test/test1.cpp 2009-06-03 13:21:11 EDT (Wed, 03 Jun 2009)
@@ -1,21 +1,27 @@
+/**
+ * Testing a function that returns a boolean
+ */
+
 #include <iostream>
 #include <boost/function.hpp>
 #include <functional>
 #include <algorithm>
 #include <vector>
+#include <utility>
 #include "function_graph.hpp"
 
 template <typename T>
 struct less_than {
     bool operator()(T a, T b) { return a < b; }
-};
+};
 
 int main()
 {
     ////////
     // Create a boost function and function graph.
     typedef boost::function<bool(int,int)> function_type;
- typedef boost::graph::function_graph<function_type> graph;
+ typedef boost::function_graph<function_type> graph;
+ typedef graph::edge_descriptor edge_descriptor;
     function_type f = less_than<int>();
     function_type g = less_than<int>();
     graph funcGraph(f);
@@ -27,8 +33,15 @@
     ////////
     // Check the edge output.
     std::cout << "2 < 1 check ";
- if(funcGraph.edge(2,1)) std::cout << "passes." << "\n";
- else std::cout << "fails." << "\n";
+ if(funcGraph.edge(2,1)) std::cout << "fails." << "\n";
+ else std::cout << "passes." << "\n";
+
+ ////////
+ // Check the adjacency matrix edge
+ std::pair<edge_descriptor, bool> edge_pair = boost::edge(1, 2, funcGraph);
+ std::cout << edge_pair.first << "\n";
+
+
     
     return 0;
 }

Copied: sandbox/SOC/2009/function_graph/libs/test/test2.cpp (from r53576, /sandbox/SOC/2009/function_graph/libs/test/test1.cpp)
==============================================================================
--- /sandbox/SOC/2009/function_graph/libs/test/test1.cpp (original)
+++ sandbox/SOC/2009/function_graph/libs/test/test2.cpp 2009-06-03 13:21:11 EDT (Wed, 03 Jun 2009)
@@ -1,21 +1,33 @@
+/**
+ * Testing a function that returns a type that is always used. This means
+ * the graph is closed.
+ */
+
 #include <iostream>
 #include <boost/function.hpp>
 #include <functional>
 #include <algorithm>
 #include <vector>
+#include <utility>
 #include "function_graph.hpp"
+#include <cmath>
+
+struct point {
+ double x, y;
+}
 
-template <typename T>
-struct less_than {
- bool operator()(T a, T b) { return a < b; }
-};
+struct distance_2 {
+ double operator()(point a, point b)
+ { return sqrt(pow(a.x - b.x,2) + pow(a.x - b.x,2)); }
+};
 
 int main()
 {
     ////////
     // Create a boost function and function graph.
- typedef boost::function<bool(int,int)> function_type;
- typedef boost::graph::function_graph<function_type> graph;
+ typedef boost::function<double(int,int)> function_type;
+ typedef boost::function_graph<function_type> graph;
+ typedef graph::edge_descriptor edge_descriptor;
     function_type f = less_than<int>();
     function_type g = less_than<int>();
     graph funcGraph(f);
@@ -27,8 +39,15 @@
     ////////
     // Check the edge output.
     std::cout << "2 < 1 check ";
- if(funcGraph.edge(2,1)) std::cout << "passes." << "\n";
- else std::cout << "fails." << "\n";
+ if(funcGraph.edge(2,1)) std::cout << "fails." << "\n";
+ else std::cout << "passes." << "\n";
+
+ ////////
+ // Check the adjacency matrix edge
+ std::pair<edge_descriptor, bool> edge_pair = boost::edge(1, 2, funcGraph);
+ std::cout << edge_pair.first << "\n";
+
+
     
     return 0;
 }


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk