~ubuntu-branches/ubuntu/saucy/igraph/saucy

« back to all changes in this revision

Viewing changes to examples/simple/igraph_minimal_separators.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) 2010-2012  Gabor Csardi </emphasis>&lt;csardi.gabor@gmail.com&gt;
 
5
<emphasis>   334 Harvard st, 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
<emphasis role="strong">#include</emphasis> &lt;stdio.h&gt;
 
26
 
 
27
int <emphasis role="strong">main</emphasis>() {
 
28
  
 
29
  igraph_t graph;
 
30
  igraph_vector_ptr_t separators;
 
31
  long int i, n;
 
32
  
 
33
  <emphasis role="strong"><link linkend='igraph_famous'>igraph_famous</link></emphasis>(&amp;graph, "zachary");
 
34
  <emphasis role="strong"><link linkend='igraph_vector_ptr_init'>igraph_vector_ptr_init</link></emphasis>(&amp;separators, 0);
 
35
  <emphasis role="strong"><link linkend='igraph_all_minimal_st_separators'>igraph_all_minimal_st_separators</link></emphasis>(&amp;graph, &amp;separators);
 
36
 
 
37
  n=<emphasis role="strong"><link linkend='igraph_vector_ptr_size'>igraph_vector_ptr_size</link></emphasis>(&amp;separators);
 
38
  <emphasis role="strong">for</emphasis> (i=0; i&lt;n; i++) {
 
39
    igraph_bool_t res;
 
40
    <link linkend='igraph_vector_t'>igraph_vector_t</link> *sep=<emphasis role="strong"><link linkend='VECTOR'>VECTOR</link></emphasis>(separators)[i];
 
41
    <emphasis role="strong"><link linkend='igraph_is_separator'>igraph_is_separator</link></emphasis>(&amp;graph, <emphasis role="strong"><link linkend='igraph_vss_vector'>igraph_vss_vector</link></emphasis>(sep), &amp;res);
 
42
    <emphasis role="strong">if</emphasis> (!res) { 
 
43
      <emphasis role="strong">printf</emphasis>("Vertex set %li is not a separator!\n", i);
 
44
      <emphasis role="strong">igraph_vector_print</emphasis>(sep);
 
45
      <emphasis role="strong">return</emphasis> 1;
 
46
    }
 
47
  }
 
48
 
 
49
  <emphasis role="strong"><link linkend='igraph_destroy'>igraph_destroy</link></emphasis>(&amp;graph);
 
50
  <emphasis role="strong">for</emphasis> (i=0; i&lt;n; i++) {
 
51
    <link linkend='igraph_vector_t'>igraph_vector_t</link> *v=<emphasis role="strong"><link linkend='VECTOR'>VECTOR</link></emphasis>(separators)[i];
 
52
    <emphasis role="strong"><link linkend='igraph_vector_destroy'>igraph_vector_destroy</link></emphasis>(v);
 
53
    <emphasis role="strong">igraph_Free</emphasis>(v);
 
54
  }
 
55
  <emphasis role="strong"><link linkend='igraph_vector_ptr_destroy'>igraph_vector_ptr_destroy</link></emphasis>(&amp;separators);
 
56
  
 
57
  <emphasis role="strong">return</emphasis> 0;
 
58
}
 
59
</programlisting>