Skip to content
Snippets Groups Projects
Commit 24446645 authored by Jonas Seidel's avatar Jonas Seidel
Browse files

variable examples

parent f57dac90
No related branches found
No related tags found
No related merge requests found
......@@ -3,7 +3,7 @@ CXXFLAGS = -O0 -g -std=c++17 -Wall -Wextra -Wpedantic
a.out: exec.o Graph.o Edge.o Node.o
$(CXX) $(CXXFLAGS) -o $@ $^
exec.o: exec.cpp alg.cpp Graph.o
exec.o: exec.cpp alg.cpp Graph.o example*.cpp
$(CXX) $(CXXFLAGS) -c $<
Graph.o: Graph.cpp latex.cpp Graph.h Edge.o Node.o preprocessor_compile_control.h
......
{// change the #include in exec.cpp if you want this example to be executed!
// populate Graph
// set accordingly before initializing!
nodes.reserve(4);
edges.reserve(6);
nodes.push_back(new Node(0,0));
nodes.push_back(new Node(2,-1.5));
nodes.push_back(new Node(2,1.5));
nodes.push_back(new Node(4,0));
edges.push_back(new Edge(nodes[0],nodes[1],Edge::MonotonousConst({0,1,2,5},{2,3,7}),0,5,-3.5));
edges.push_back(new Edge(nodes[0],nodes[2],Edge::MonotonousConst({0,1,2},{3,4}),0,2,3.5));
edges.push_back(new Edge(nodes[1],nodes[2],Edge::MonotonousConst({0,1},{1}),0,1,3.5));
edges.push_back(new Edge(nodes[1],nodes[3],Edge::MonotonousConst({0,2},{1}),0,2,-3.5));
edges.push_back(new Edge(nodes[2],nodes[3],Edge::MonotonousConst({0,1},{2}),0,1,3.5));
// target to source
edges.push_back(new Edge(nodes[3],nodes[0],Edge::MonotonousConst({3,4,5},{-9,-7}),3,5,-3.5,{{4,2.5},{-.5,2.5},{-.5,1.5/4}}));
}
{// change the #include in exec.cpp if you want this example to be executed!
// populate Graph
// set accordingly before initializing!
nodes.reserve(3);
edges.reserve(4);
nodes.push_back(new Node(2,-1.5));
nodes.push_back(new Node(0,0));
nodes.push_back(new Node(4,0));
edges.push_back(new Edge(nodes[2],nodes[0],Edge::MonotonousConst({1,3},{-1}),1,3,-3.5,{{2,0}}));
edges.push_back(new Edge(nodes[0],nodes[2],Edge::MonotonousConst({0,3},{1}),0,3,-3.5));
edges.push_back(new Edge(nodes[1],nodes[0],Edge::MonotonousConst({0,1,2,5},{2,3,7}),0,5,-3.5));
// target to source
edges.push_back(new Edge(nodes[2],nodes[1],Edge::MonotonousConst({1,2},{-9}),1,2,-3.5,{{4,2.5},{-.5,2.5},{-.5,1.5/4}}));
}
{// change the #include in exec.cpp if you want this example to be executed!
// populate Graph
// set accordingly before initializing!
nodes.reserve(4);
edges.reserve(6);
nodes.push_back(new Node(0,0));
nodes.push_back(new Node(2,-1.5));
nodes.push_back(new Node(0,-3));
nodes.push_back(new Node(4,0));
edges.push_back(new Edge(nodes[0],nodes[1],Edge::MonotonousConst({0,1,2,5},{2,3,7}),0,5,-3.5));
edges.push_back(new Edge(nodes[0],nodes[2],Edge::MonotonousConst({0,1,2},{3,4}),0,2,3.5));
edges.push_back(new Edge(nodes[1],nodes[3],Edge::MonotonousConst({0,2},{1}),0,2,-3.5));
// target to source
edges.push_back(new Edge(nodes[3],nodes[0],Edge::MonotonousConst({3,4,5},{-9,-7}),3,5,-3.5,{{4,2.5},{-.5,2.5},{-.5,1.5/4}}));
}
......@@ -6,7 +6,7 @@
int main(){
Graph g = Graph(std::vector<Node*>(), std::vector<Edge*>());
Graph g = Graph(std::vector<Node*>(), std::vector<Edge*>(), "example");
std::vector<Node*>& nodes = g.get_nodes();
std::vector<Edge*>& edges = g.get_edges();
......@@ -14,24 +14,8 @@ int main(){
std::cout << "\033[31mpopulating graph\033[39m"<< std::endl << std::endl;
#endif
{// populate Graph
// set accordingly before initializing!
nodes.reserve(4);
edges.reserve(6);
nodes.push_back(new Node(0,0));
nodes.push_back(new Node(2,-1.5));
nodes.push_back(new Node(2,1.5));
nodes.push_back(new Node(4,0));
edges.push_back(new Edge(nodes[0],nodes[1],Edge::MonotonousConst({0,1,2,5},{2,3,7}),0,5,-3.5));
edges.push_back(new Edge(nodes[0],nodes[2],Edge::MonotonousConst({0,1,2},{3,4}),0,2,3.5));
edges.push_back(new Edge(nodes[1],nodes[2],Edge::MonotonousConst({0,1},{1}),0,1,3.5));
edges.push_back(new Edge(nodes[1],nodes[3],Edge::MonotonousConst({0,2},{1}),0,2,-3.5));
edges.push_back(new Edge(nodes[2],nodes[3],Edge::MonotonousConst({0,1},{2}),0,1,3.5));
// target to source
edges.push_back(new Edge(nodes[3],nodes[0],Edge::MonotonousConst({3,4,5},{-9,-7}),3,5,-3.5,{{4,2.5},{-.5,2.5},{-.5,1.5/4}}));
{
#include "example_concat_pushes.cpp"
}
#ifndef SUPPRESS_PROTOCOL
std::cout << "\033[31mthe graph is given by:\033[39m"<< std::endl << std::endl;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment