~ubuntu-branches/ubuntu/trusty/igraph/trusty-proposed

« back to all changes in this revision

Viewing changes to examples/simple/flow.c.xml

  • Committer: Package Import Robot
  • Author(s): Mathieu Malaterre
  • Date: 2013-05-27 14:01:54 UTC
  • mfrom: (4.1.1 experimental)
  • Revision ID: package-import@ubuntu.com-20130527140154-oxwwmr0gj3kdy4ol
Tags: 0.6.5-2
Upload to sid

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<programlisting linenumbering="numbered"><emphasis>/* -*- mode: C -*-  */</emphasis>
 
2
<emphasis>/* </emphasis>
 
3
<emphasis>   IGraph library.</emphasis>
 
4
<emphasis>   Copyright (C) 2006-2012  Gabor Csardi </emphasis>&lt;csardi.gabor@gmail.com&gt;
 
5
<emphasis>   334 Harvard street, Cambridge, MA 02139 USA</emphasis>
 
6
<emphasis>   </emphasis>
 
7
<emphasis>   This program is free software; you can redistribute it and/or modify</emphasis>
 
8
<emphasis>   it under the terms of the GNU General Public License as published by</emphasis>
 
9
<emphasis>   the Free Software Foundation; either version 2 of the License, or</emphasis>
 
10
<emphasis>   (at your option) any later version.</emphasis>
 
11
<emphasis>   </emphasis>
 
12
<emphasis>   This program is distributed in the hope that it will be useful,</emphasis>
 
13
<emphasis>   but WITHOUT ANY WARRANTY; without even the implied warranty of</emphasis>
 
14
<emphasis>   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</emphasis>
 
15
<emphasis>   GNU General Public License for more details.</emphasis>
 
16
<emphasis>   </emphasis>
 
17
<emphasis>   You should have received a copy of the GNU General Public License</emphasis>
 
18
<emphasis>   along with this program; if not, write to the Free Software</emphasis>
 
19
<emphasis>   Foundation, Inc.,  51 Franklin Street, Fifth Floor, Boston, MA </emphasis>
 
20
<emphasis>   02110-1301 USA</emphasis>
 
21
 
 
22
<emphasis>*/</emphasis>
 
23
 
 
24
<emphasis role="strong">#include</emphasis> &lt;igraph.h&gt;
 
25
 
 
26
<emphasis role="strong">#include</emphasis> &lt;sys/time.h&gt;
 
27
<emphasis role="strong">#include</emphasis> &lt;sys/resource.h&gt;
 
28
 
 
29
float <emphasis role="strong">timer</emphasis> ()
 
30
{
 
31
  <emphasis role="strong">struct</emphasis> rusage r;
 
32
 
 
33
  <emphasis role="strong">getrusage</emphasis>(0, &amp;r);
 
34
  <emphasis role="strong">return</emphasis> (float)(r.ru_utime.tv_sec+r.ru_utime.tv_usec/(float)1000000);
 
35
}
 
36
 
 
37
int <emphasis role="strong">main</emphasis>() {
 
38
  
 
39
  igraph_t g;
 
40
  igraph_real_t flow;
 
41
  <link linkend='igraph_vector_t'>igraph_vector_t</link> capacity;
 
42
  long int i;
 
43
  igraph_integer_t source, target;
 
44
  FILE *infile;
 
45
  float t;
 
46
 
 
47
  <emphasis role="strong"><link linkend='igraph_vector_init'>igraph_vector_init</link></emphasis>(&amp;capacity, 0);
 
48
 
 
49
  <emphasis>/***************/</emphasis>
 
50
  infile=<emphasis role="strong">fopen</emphasis>("ak-4102.max", "r");
 
51
  <emphasis role="strong"><link linkend='igraph_read_graph_dimacs'>igraph_read_graph_dimacs</link></emphasis>(&amp;g, infile, 0, 0, &amp;source, &amp;target, &amp;capacity,
 
52
                           IGRAPH_DIRECTED);
 
53
  <emphasis role="strong">fclose</emphasis>(infile);
 
54
 
 
55
  t=<emphasis role="strong">timer</emphasis>();
 
56
  <emphasis role="strong"><link linkend='igraph_maxflow_value'>igraph_maxflow_value</link></emphasis>(&amp;g, &amp;flow, source, target, &amp;capacity);
 
57
  t=<emphasis role="strong">timer</emphasis>()-t;
 
58
<emphasis>/*   printf("4102: %g (time %.10f)\n", flow, t); */</emphasis>
 
59
  <emphasis role="strong">if</emphasis> (flow != 8207) {
 
60
    <emphasis role="strong">return</emphasis> 1;
 
61
  }
 
62
  <emphasis role="strong"><link linkend='igraph_destroy'>igraph_destroy</link></emphasis>(&amp;g);  
 
63
  <emphasis>/***************/</emphasis>
 
64
 
 
65
<emphasis>/*   /\***************\/ */</emphasis>
 
66
<emphasis>/*   infile=fopen("ak-8198.max", "r"); */</emphasis>
 
67
<emphasis>/*   igraph_read_graph_dimacs(&amp;g, infile, 0, 0, &amp;source, &amp;target, &amp;capacity, */</emphasis>
 
68
<emphasis>/*                       IGRAPH_DIRECTED); */</emphasis>
 
69
<emphasis>/*   fclose(infile); */</emphasis>
 
70
 
 
71
<emphasis>/*   t=timer(); */</emphasis>
 
72
<emphasis>/*   igraph_maxflow_value(&amp;g, &amp;flow, source, target, &amp;capacity); */</emphasis>
 
73
<emphasis>/*   t=timer()-t; */</emphasis>
 
74
<emphasis>/*   printf("8198: %g (time %.10f)\n", flow, t); */</emphasis>
 
75
<emphasis>/*   igraph_destroy(&amp;g); */</emphasis>
 
76
<emphasis>/*   /\***************\/ */</emphasis>
 
77
 
 
78
<emphasis>/*   /\***************\/ */</emphasis>
 
79
<emphasis>/*   infile=fopen("ak-16390.max", "r"); */</emphasis>
 
80
<emphasis>/*   igraph_read_graph_dimacs(&amp;g, infile, 0, 0, &amp;source, &amp;target, &amp;capacity, */</emphasis>
 
81
<emphasis>/*                       IGRAPH_DIRECTED); */</emphasis>
 
82
<emphasis>/*   fclose(infile); */</emphasis>
 
83
 
 
84
<emphasis>/*   t=timer(); */</emphasis>
 
85
<emphasis>/*   igraph_maxflow_value(&amp;g, &amp;flow, source, target, &amp;capacity); */</emphasis>
 
86
<emphasis>/*   t=timer()-t; */</emphasis>
 
87
<emphasis>/*   printf("16390: %g (time %.10f)\n", flow, t); */</emphasis>
 
88
<emphasis>/*   igraph_destroy(&amp;g); */</emphasis>
 
89
<emphasis>/*   /\***************\/ */</emphasis>
 
90
 
 
91
<emphasis>/*   /\***************\/ */</emphasis>
 
92
<emphasis>/*   infile=fopen("ak-32774.max", "r"); */</emphasis>
 
93
<emphasis>/*   igraph_read_graph_dimacs(&amp;g, infile, 0, 0, &amp;source, &amp;target, &amp;capacity, */</emphasis>
 
94
<emphasis>/*                       IGRAPH_DIRECTED); */</emphasis>
 
95
<emphasis>/*   fclose(infile); */</emphasis>
 
96
 
 
97
<emphasis>/*   t=timer(); */</emphasis>
 
98
<emphasis>/*   igraph_maxflow_value(&amp;g, &amp;flow, source, target, &amp;capacity); */</emphasis>
 
99
<emphasis>/*   t=timer()-t; */</emphasis>
 
100
<emphasis>/*   printf("32774: %g (time %.10f)\n", flow, t); */</emphasis>
 
101
<emphasis>/*   igraph_destroy(&amp;g); */</emphasis>
 
102
<emphasis>/*   /\***************\/ */</emphasis>
 
103
 
 
104
<emphasis>/*   /\***************\/ */</emphasis>
 
105
<emphasis>/*   infile=fopen("ak-65542.max", "r"); */</emphasis>
 
106
<emphasis>/*   igraph_read_graph_dimacs(&amp;g, infile, 0, 0, &amp;source, &amp;target, &amp;capacity, */</emphasis>
 
107
<emphasis>/*                       IGRAPH_DIRECTED); */</emphasis>
 
108
<emphasis>/*   fclose(infile); */</emphasis>
 
109
 
 
110
<emphasis>/*   t=timer(); */</emphasis>
 
111
<emphasis>/*   igraph_maxflow_value(&amp;g, &amp;flow, source, target, &amp;capacity); */</emphasis>
 
112
<emphasis>/*   t=timer()-t; */</emphasis>
 
113
<emphasis>/*   printf("65542: %g (time %.10f)\n", flow, t); */</emphasis>
 
114
<emphasis>/*   igraph_destroy(&amp;g); */</emphasis>
 
115
<emphasis>/*   /\***************\/ */</emphasis>
 
116
 
 
117
  <emphasis role="strong"><link linkend='igraph_vector_destroy'>igraph_vector_destroy</link></emphasis>(&amp;capacity);
 
118
  
 
119
  <emphasis role="strong">return</emphasis> 0;
 
120
}
 
121
</programlisting>