This file is indexed.

/usr/include/dune/istl/paamg/renumberer.hh is in libdune-istl-dev 2.5.1-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
// vi: set et ts=4 sw=2 sts=2:
#ifndef DUNE_AMG_RENUMBERER_HH
#define DUNE_AMG_RENUMBERER_HH

#include "aggregates.hh"

namespace Dune
{
  namespace Amg
  {
    template<class G>
    class AggregateRenumberer
    {
    public:
      /** @brief The vertex type */
      typedef typename G::VertexDescriptor Vertex;

      /**
       * @brief Constructor.
       * @param aggregates The aggregate map to renumber.
       */
      AggregateRenumberer(AggregatesMap<Vertex>& aggregates);

      /** @brief Conversion to vertex. */
      operator Vertex() const;

      void operator()(const typename G::ConstEdgeIterator& edge);

      void operator++();

    protected:
      Vertex number_;
      AggregatesMap<Vertex>& aggregates_;
    };

    template<class G>
    AggregateRenumberer<G>::AggregateRenumberer(AggregatesMap<Vertex>& aggregates)
      :  number_(0), aggregates_(aggregates)
    {}

    template<class G>
    AggregateRenumberer<G>::operator Vertex() const
    {
      return number_;
    }

    template<class G>
    void AggregateRenumberer<G>::operator()(const typename G::ConstEdgeIterator& edge)
    {
      aggregates_[edge.target()]=number_;
    }

    template<class G>
    void AggregateRenumberer<G>::operator++()
    {
      ++number_;
    }

    template<class G, class I, class V>
    void renumberAggregates(const G& graph, I index, I endIndex, V& visitedMap,
                            AggregatesMap<typename G::VertexDescriptor>& aggregates)
    {
      AggregateRenumberer<G> renumberer(aggregates);

      for(I index1=index; index1 != endIndex; ++index1)
        if(aggregates[index1.index()]!=AggregatesMap<typename G::VertexDescriptor>::ISOLATED &&
           !get(visitedMap, index1.index())) {

          aggregates.template breadthFirstSearch<false>(index1.index(), aggregates[index1.index()],
                                                        graph, renumberer, visitedMap);
          aggregates[index1.index()] = renumberer;
          ++renumberer;
        }
      for(; index != endIndex; ++index)
        put(visitedMap, index.index(), false);
    }

  } // namespace AMG
} // namespace Dune
#endif