49#ifndef DOXYGEN_SHOULD_SKIP_THIS
62 const std::vector< std::pair< std::size_t, std::size_t > >& ranges,
63 const Bijection< NodeId, std::size_t >& nodeId2columns) :
64 Score(parser, prior, ranges, nodeId2columns),
65 _internal_prior_(parser.database(), nodeId2columns) {
66 GUM_CONSTRUCTOR(ScoreK2);
70 INLINE ScoreK2::ScoreK2(
const DBRowGeneratorParser& parser,
72 const Bijection< NodeId, std::size_t >& nodeId2columns) :
73 Score(parser, prior, nodeId2columns), _internal_prior_(parser.database(), nodeId2columns) {
74 GUM_CONSTRUCTOR(ScoreK2);
78 INLINE ScoreK2::ScoreK2(
const ScoreK2& from) :
79 Score(from), _internal_prior_(from._internal_prior_), _gammalog2_(from._gammalog2_) {
80 GUM_CONS_CPY(ScoreK2);
84 INLINE ScoreK2::ScoreK2(ScoreK2&& from) :
85 Score(
std::move(from)), _internal_prior_(
std::move(from._internal_prior_)),
86 _gammalog2_(
std::move(from._gammalog2_)) {
87 GUM_CONS_MOV(ScoreK2);
91 INLINE ScoreK2* ScoreK2::clone()
const {
return new ScoreK2(*
this); }
94 INLINE ScoreK2::~ScoreK2() { GUM_DESTRUCTOR(ScoreK2); }
97 INLINE std::string ScoreK2::isPriorCompatible(
const Prior& prior) {
98 return isPriorCompatible(prior.getType(), prior.weight());
102 INLINE std::string ScoreK2::isPriorCompatible()
const {
103 return isPriorCompatible(*(this->prior_));
107 INLINE
const Prior& ScoreK2::internalPrior()
const {
return _internal_prior_; }
the class used to read a row in the database and to transform it into a set of DBRow instances that c...
the base class for all a priori
ScoreK2(const DBRowGeneratorParser &parser, const Prior &prior, const std::vector< std::pair< std::size_t, std::size_t > > &ranges, const Bijection< NodeId, std::size_t > &nodeId2columns=Bijection< NodeId, std::size_t >())
default constructor
The base class for all the scores used for learning (BIC, BDeu, etc).
include the inlined functions if necessary
gum is the global namespace for all aGrUM entities
the class for computing K2 scores (actually their log2 value)