/usr/include/JAGS/graph/ConstantNode.h is in jags 3.1.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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | #ifndef CONSTANT_NODE_H_
#define CONSTANT_NODE_H_
#include <graph/Node.h>
/**
* @short Top-level Node representing data
*
* Constant nodes are the top-level nodes in any directed acyclic graph.
*
* In the BUGS language. Constant nodes appear only on the right hand
* side of a relation. They are considered to represent observed
* random variables.
*/
class ConstantNode : public Node {
public:
/**
* Constructs a scalar constant node and sets its value. The value is
* fixed and is shared between all chains.
*/
ConstantNode(double value, unsigned int nchain);
/**
* Constructs a multi-dimensional constant node
*/
ConstantNode(std::vector<unsigned int> const &dim,
std::vector<double> const &value,
unsigned int nchain);
~ConstantNode();
/**
* A ConstantNode is always observed
*/
bool isObserved() const;
/**
* Indicates whether a ConstantNode is discrete-valued
*/
bool isDiscreteValued() const;
/**
* This function does nothing. It exists only so that objects of
* class ConstantNode can be instantiated.
*/
void deterministicSample(unsigned int);
/**
* This function does nothing. The value of the constant node is
* not changed and the state of the RNG remains the same.
*/
void randomSample(RNG*, unsigned int);
/**
* Constant nodes have no parents. This function always returns true.
*/
bool checkParentValues(unsigned int) const;
/**
* A constant node is named after its value
*/
std::string deparse(std::vector<std::string> const &parents) const;
/**
* Constant nodes are observed random variables. This function
* returns true.
*/
bool isRandomVariable() const;
};
#endif /* CONSTANT_NODE_H_ */
|