This file is indexed.

/usr/include/JAGS/rng/RNGFactory.h is in jags 4.2.0-2.

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

#include <string>
#include <vector>

namespace jags {

struct RNG;

/**
 * @short Factory for RNG objects
 */
class RNGFactory
{
    
  public:
    /**
     * Destructor. An RNGFactory retains ownership of the RNG objects
     * it generates, and should delete them when the destructor is called.
     */
    virtual ~RNGFactory() {};
    /**
     * Sets the random seed of the RNG factory so that a reproducible
     * sequence of RNGs can be produced.
     *
     * @param seed Seed that uniquely determines the sequence of RNGs 
     * produced by subsequent calls to makeRNGs.
     */
    virtual void setSeed(unsigned int seed) = 0;
    /**
     * Returns a vector of newly allocated RNG objects.
     *
     * @param n Number of RNGs requested. Note that an RNG factory have the
     * capacity to make only m < n independent samplers (where m may be zero).
     * In this case it should return a vector of length m.
     */
    virtual std::vector<RNG *> makeRNGs(unsigned int n) = 0;
    /**
     * Returns a newly allocated RNG object.  
     *
     * This function can be repeatedly called with the same name
     * argument. There is no guarantee that RNG objects created in this
     * way will generate independent streams.
     */
    virtual RNG * makeRNG(std::string const &name) = 0;
    /**
     * Returns the name of the RNG factory
     */
    virtual std::string name() const = 0;
};

} /* namespace jags */

#endif /* RNG_FACTORY_H_ */