50#ifndef DOXYGEN_SHOULD_SKIP_THIS
60 const std::vector< std::pair< std::size_t, std::size_t > >& ranges,
61 const Bijection< NodeId, std::size_t >& nodeId2columns) :
63 _domain_sizes_(parser.database().domainSizes()) {
64 GUM_CONSTRUCTOR(IndependenceTest);
69 IndependenceTest::IndependenceTest(
const DBRowGeneratorParser& parser,
71 const Bijection< NodeId, std::size_t >& nodeId2columns) :
72 CachedContingencyCounter(parser, prior, nodeId2columns),
73 _domain_sizes_(parser.database().domainSizes()) {
74 GUM_CONSTRUCTOR(IndependenceTest);
78 INLINE IndependenceTest::IndependenceTest(
const IndependenceTest& from) :
79 CachedContingencyCounter(from), _domain_sizes_(from._domain_sizes_) {
80 GUM_CONS_CPY(IndependenceTest);
84 INLINE IndependenceTest::IndependenceTest(IndependenceTest&& from) :
85 CachedContingencyCounter(
std::move(from)), _domain_sizes_(
std::move(from._domain_sizes_)) {
86 GUM_CONS_MOV(IndependenceTest);
90 INLINE IndependenceTest::~IndependenceTest() { GUM_DESTRUCTOR(IndependenceTest); }
92 INLINE Size IndependenceTest::degreesOfFreedom_(std::size_t X_size,
95 std::size_t n_skipped) {
96 const Size theoretical = Z_size * (X_size - 1) * (Y_size - 1);
97 return (n_skipped < theoretical) ? theoretical - Size(n_skipped) : Size(1);
Common counting infrastructure shared by IndependenceTest and KNML.
the class used to read a row in the database and to transform it into a set of DBRow instances that c...
IndependenceTest(const DBRowGeneratorParser &parser, const Prior &external_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 a priori
the base class for all the independence tests used for learning
include the inlined functions if necessary
gum is the global namespace for all aGrUM entities