This file is indexed.

/usr/include/coin/OsiOpbdpSolve.hpp is in coinor-libosi-dev 0.103.0-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
// Copyright (C) 2006, International Business Machines
// Corporation and others.  All Rights Reserved.
#ifndef OsiOpbdpSolve_H
#define OsiOpbdpSolve_H

#include <string>

#include "OsiSolverInterface.hpp"

/** Solve pure 0-1 with integral coefficients etc (or can be made by scaling) using opdbp
    The solution will be set in model
    If no solution then returns 0, if not suitable returns -1
 */
int solveOpbdp(OsiSolverInterface * model);
/** Find all solutions of a pure 0-1 with integral coefficients etc (or can be made by scaling) using opdbp
    Returns an array of bit solution vectors.
    i is 1 if bit set (see below) 
    If no solution then numberFound will be 0, if not suitable -1

    This needs the line at about 206 of EnumerateOpt.cpp

      local_maximum = value + 1; // try to reach that one!

    replaced by

      if (verbosity!=-1) {
        local_maximum = value + 1; // try to reach that one!
      } else {
        local_maximum = 0;
        void opbdp_save_solution(OrdInt & sol);
        OrdInt sol = last_solution.to_OrdInt();
        opbdp_save_solution(sol); // save solution
      }
 */
unsigned int ** solveOpbdp(const OsiSolverInterface * model,int & numberFound);

inline bool atOne(int i,unsigned int * array) {
  return ((array[i>>5]>>(i&31))&1)!=0;
}
inline void setAtOne(int i,unsigned int * array,bool trueFalse) {
  unsigned int & value = array[i>>5];
  int bit = i&31;
  if (trueFalse)
    value |= (1<<bit);
  else
    value &= ~(1<<bit);
}
#endif