This file is indexed.

/usr/include/purify/FFTOperator.h is in libpurify-dev 2.0.0-1+b1.

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
#ifndef PURIFY_FFT_OPERATOR_H
#define PURIFY_FFT_OPERATOR_H

#include "purify/config.h"
#include "purify/types.h"

#ifdef PURIFY_OPENMP
#include <omp.h>
#endif
#include <fftw3.h>

#include <unsupported/Eigen/FFT>
#include <unsupported/Eigen/src/FFT/ei_fftw_impl.h>

namespace purify {

//! This does something
class Fft2d {
private:
  //! Performs fftshift on vector
  Vector<t_complex> fftshift_1d(const Vector<t_complex> input);
  //! Performs ifftshift on vector
  Vector<t_complex> ifftshift_1d(const Vector<t_complex> input);

public:
  //! Uses Eigen's 1D FFT to perform 2D FFT
  Matrix<t_complex> forward(const Matrix<t_complex> &input);
  //! Uses Eigen's 1D IFFT to perform 2D IFFT
  Matrix<t_complex> inverse(const Matrix<t_complex> &input);
  //! Performs fftshift on 2d matrix
  Matrix<t_complex> shift(const Matrix<t_complex> &input);
  //! Performs ifftshift on 2d matrix
  Matrix<t_complex> ishift(const Matrix<t_complex> &input);
};

class FFTOperator : protected Eigen::FFT<t_real, Eigen::internal::fftw_impl<t_real>> {
public:
  //! Uses Eigen's perform 2D FFT
  Matrix<t_complex> forward(const Matrix<t_complex> &input, bool only_plan = false);
  //! Uses Eigen's perform 2D IFFT
  Matrix<t_complex> inverse(const Matrix<t_complex> &input, bool only_plan = false);
  //! Set up multithread fft
  void set_up_multithread();
  //! Set up plan
  void init_plan(const Matrix<t_complex> &input);

protected:
  t_int fftw_flag_ = (FFTW_ESTIMATE | FFTW_PRESERVE_INPUT);

public:
  t_int const &fftw_flag() { return fftw_flag_; };

  FFTOperator &fftw_flag(t_int const &fftw_flag) {
    fftw_flag_ = fftw_flag;
    return *this;
  }
};
}

#endif