/usr/include/JAGS/function/LinkFunction.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 | #ifndef LINK_FUNCTION_H_
#define LINK_FUNCTION_H_
#include <function/Function.h>
namespace jags {
/**
* @short Inverse link functions.
*
* An inverse link function is a continuous differentiable scalar function
* with range (-Inf,Inf).
*
* Link functions may be expressed in the BUGS language using an
* S-style replacement function notation. For example the log link may
* be expressed as log(y) <- a + b*x or as y <- exp(a + b*x).
* In this case, the name of the inverse link function is "exp"
* and its link name is "log".
*/
class LinkFunction : public Function
{
const std::string _link;
public:
/**
* Constructor
* @param name Function name
* @param link Name used by replacement-function notation.
*/
LinkFunction (std::string const &name, std::string const &link);
/** Returns the name of the link function */
std::string const &linkName () const;
/** Inverse of link function */
virtual double inverseLink(double eta) const = 0;
/** Link function */
virtual double link(double mu) const = 0;
/** Gradient of the inverse link function */
virtual double grad(double eta) const = 0;
};
} /* namespace jags */
#endif /* LINK_FUNCTION_H_ */
|