This file is indexed.

/usr/include/deal.II/base/polynomials_bernstein.h is in libdeal.ii-dev 8.5.1-3.

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
// ---------------------------------------------------------------------
//
// Copyright (C) 2013 - 2017 by the deal.II authors
//
// This file is part of the deal.II library.
//
// The deal.II library is free software; you can use it, redistribute
// it, and/or modify it under the terms of the GNU Lesser General
// Public License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
// The full text of the license can be found in the file LICENSE at
// the top level of the deal.II distribution.
//
// ---------------------------------------------------------------------

#ifndef dealii__polynomials_bernstein_h
#define dealii__polynomials_bernstein_h


#include <deal.II/base/polynomial.h>
#include <fstream>
#include <iostream>


DEAL_II_NAMESPACE_OPEN

/**
 * This class implements Bernstein basis polynomials of desire degree as
 * described in
 * http://www.idav.ucdavis.edu/education/CAGDNotes/Bernstein-Polynomials.pdf in
 * the paragraph "Converting from the Bernstein Basis to the Power Basis".
 *
 * They are used to create the Bernstein finite element FE_Bernstein.
 *
 * @ingroup Polynomials
 * @author Luca Heltai, Marco Tezzele
 * @date 2013, 2015
 */
template <typename number>
class PolynomialsBernstein : public Polynomials::Polynomial<number>
{
public:
  /**
   * Construct the @p index -th Bernstein Polynomial of degree @p degree.
   *
   * @f{align*}{
   * B_{\text{index}, \text{degree}} (t)
   *   &= \text{binom}(\text{degree}, \text{index})
   *      \cdot t^{\text{index}}
   *      \cdot (1 - t)^{\text{degree} - \text{index}} \\
   *   &= \sum_{i = \text{index}}^\text{degree}
   *      \cdot (-1)^{i - \text{index}}
   *      \cdot \text{binom}(\text{degree}, i)
   *      \cdot \text{binom}(i, \text{index})
   *      \cdot t^i
   * @f}
   *
   * @param index
   * @param degree
   */
  PolynomialsBernstein (
    const unsigned int index,
    const unsigned int degree);
};


template <typename number>
std::vector<Polynomials::Polynomial<number> >
generate_complete_bernstein_basis (
  const unsigned int degree)
{
  std::vector<Polynomials::Polynomial<number> > v;
  for (unsigned int i = 0; i < degree + 1; ++i)
    v.push_back(PolynomialsBernstein<number>(i, degree));
  return v;
}

DEAL_II_NAMESPACE_CLOSE

#endif