This file is indexed.

/usr/include/trilinos/uns_inline_decomp.h is in libtrilinos-dev 10.4.0.dfsg-1ubuntu2.

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
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#ifndef uns_inline_decompH
#define uns_inline_decompH

#include <cstddef>
#include <list>
#include <vector>
#include "topology_enum.h"
#include "inline_geometries.h"

namespace PAMGEN_NEVADA {

class Tel{
public:
  Tel(){visits = 0;
  global_id = -1;
  real_element = false;
  periodic_minj = false;
  periodic_maxj = false;};
  ~Tel(){};
  bool real_element;
  bool periodic_minj;
  bool periodic_maxj;
  long long visits;
  long long global_id;
  std::list < std::pair < long long , Topo_Loc > > conn_connections;
  std::list <long long>proc_neighbors;
};


class Partition{
public:
  
  Partition(long long ls, long long is, long long js, long long ks, long long le, long long ie, long long je, long long ke, InlineDecompositionType idt,long long rcuts[]){
    high = NULL;
    low = NULL;
    lows[0] = is;
    lows[1] = js;
    lows[2] = ks;
    lows[3] = ls;
    
    highs[0] = ie;
    highs[1] = je;
    highs[2] = ke;
    highs[3] = le;

    for(long long i = 0; i < 3; i ++)remaining_cuts[i] = rcuts[i];

    centroid = (((double)(ks+ke))/2.0)*(((double)(ks+ke))/2.0) + (((double)(js+je))/2.0)*(((double)(js+je))/2.0) + (((double)(is+ie))/2.0)*(((double)(is+ie))/2.0);
    numels =(ie-is)*(je-js)*(ke-ks);
    proc_id = -1;
    split_value = -1;
    split_direction = -1;
    unique_id = partition_count;
    partition_count++;
    inline_decomposition_type = idt;
  };

  Partition(long long is, long long js, long long ks, long long ie, long long je, long long ke, InlineDecompositionType idt,long long rcuts[]){
    high = NULL;
    low = NULL;
    lows[0] = is;
    lows[1] = js;
    lows[2] = ks;
    lows[3] = 0;
    
    highs[0] = ie;
    highs[1] = je;
    highs[2] = ke;
    highs[3] = 1;

    for(long long i = 0; i < 3; i ++)remaining_cuts[i] = rcuts[i];

    centroid = (((double)(ks+ke))/2.0)*(((double)(ks+ke))/2.0) + (((double)(js+je))/2.0)*(((double)(js+je))/2.0) + (((double)(is+ie))/2.0)*(((double)(is+ie))/2.0);
    numels =(ie-is)*(je-js)*(ke-ks);
    proc_id = -1;
    split_value = -1;
    split_direction = -1;
    unique_id = partition_count;
    partition_count++;
    inline_decomposition_type = idt;
  };
  
  ~Partition(){
  }

  void empty(){
    if(high)high->empty();
    if(low)low->empty();
    delete high;
    high = NULL;
    delete low;
    low = NULL;
  };

  InlineDecompositionType inline_decomposition_type;

  static long long partition_count;

  void Processor_Partition(std::vector  < Partition *> & ,long long inc_nels []);

  long long Element_Proc(long long []);
  Partition * high;
  Partition * low;
  long long split_direction;
  long long split_value;
  long long lows[4];
  long long highs[4];
  long long remaining_cuts[3];
  double centroid;
  long long numels;
  long long proc_id;
  long long unique_id;

  void print();
};


}// end namespace
#endif