This file is indexed.

/usr/include/JAGS/rng/RNG.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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#ifndef RNG_H_
#define RNG_H_

#include <string>
#include <vector>

namespace jags {

/**
 * Abstract class for a psuedo random number generator
 *
 * @short Random Number Generator
 */
struct RNG
{
    const std::string _name;

    RNG(std::string const &name);
    virtual ~RNG();
    /**
     * Sets the state of the RNG given a single integer value. This
     * may be used to set the state using, for example, the current time
     * stamp.
     *
     * @param seed Unsigned integer from which the initial state is generated.
     * The RNG must be able to construct a valid initial state from any
     * unsigned integer
     */
    virtual void init(unsigned int seed) = 0;
    /**
     * Returns the internal state of the RNG as a vector of integers
     *
     * @state Vector of integers that is overwritten with the RNG state.
     */
    virtual void getState(std::vector<int> &state) const = 0;
    /**
     * Sets the internal state of the RNG given a vector of integers
     *
     * @state Vector of integers describing the internal state of the RNG.
     * Only vectors previously derived from a call to getState should be used
     * as input to setState. Other values are not guaranteed to give a valid
     * state.
     */
    virtual bool setState(std::vector<int> const &state) = 0;
    /**
     * Generates a random value with a uniform distribution on (0,1)
     */
    virtual double uniform() = 0;
    /**
     * Generates a standard normal random value
     */
    virtual double normal() = 0;
    /**
     * Generates are andom value with an exponential distribution
     */
    virtual double exponential() = 0;
    /**
     * This static utility function may be used by an RNG object to coerce
     * values in the range [0,1] to the open range (0,1)
     */
    static double fixup(double x);
    /**
     * Returns the name of the RNG
     */
    std::string const &name() const;

    static double uniform(void *);
    static double normal(void *);
    static double exponential(void *);
};

} /* namespace jags */

#endif /* RNG_H_ */