50#ifndef DOXYGEN_SHOULD_SKIP_THIS
59 const std::vector< std::pair< std::size_t, std::size_t > >& ranges,
60 const Bijection< NodeId, std::size_t >& nodeId2columns) :
61 prior_(prior.clone()), counter_(parser, ranges, nodeId2columns) {
62 GUM_CONSTRUCTOR(CachedContingencyCounter);
65 INLINE CachedContingencyCounter::CachedContingencyCounter(
66 const DBRowGeneratorParser& parser,
68 const Bijection< NodeId, std::size_t >& nodeId2columns) :
69 prior_(prior.clone()), counter_(parser, nodeId2columns) {
70 GUM_CONSTRUCTOR(CachedContingencyCounter);
74 CachedContingencyCounter::CachedContingencyCounter(
const CachedContingencyCounter& from) :
75 prior_(from.prior_->clone()), counter_(from.counter_), cache_(from.cache_),
76 use_cache_(from.use_cache_) {
77 GUM_CONS_CPY(CachedContingencyCounter);
80 INLINE CachedContingencyCounter::CachedContingencyCounter(CachedContingencyCounter&& from) :
81 prior_(from.prior_), counter_(
std::move(from.counter_)), cache_(
std::move(from.cache_)),
82 use_cache_(from.use_cache_) {
83 from.prior_ =
nullptr;
84 GUM_CONS_MOV(CachedContingencyCounter);
87 INLINE CachedContingencyCounter::~CachedContingencyCounter() {
88 if (prior_ !=
nullptr)
delete prior_;
89 GUM_DESTRUCTOR(CachedContingencyCounter);
92 INLINE
void CachedContingencyCounter::setNumberOfThreads(Size nb) {
93 counter_.setNumberOfThreads(nb);
96 INLINE Size CachedContingencyCounter::getNumberOfThreads()
const {
97 return counter_.getNumberOfThreads();
100 INLINE
bool CachedContingencyCounter::isGumNumberOfThreadsOverriden()
const {
101 return counter_.isGumNumberOfThreadsOverriden();
104 INLINE
void CachedContingencyCounter::setMinNbRowsPerThread(
const std::size_t nb)
const {
105 counter_.setMinNbRowsPerThread(nb);
108 INLINE std::size_t CachedContingencyCounter::minNbRowsPerThread()
const {
109 return counter_.minNbRowsPerThread();
112 INLINE
const std::vector< std::pair< std::size_t, std::size_t > >&
113 CachedContingencyCounter::ranges()
const {
114 return counter_.ranges();
117 INLINE
void CachedContingencyCounter::clear() {
122 INLINE
void CachedContingencyCounter::clearCache() { cache_.clear(); }
124 INLINE
void CachedContingencyCounter::useCache(
const bool on_off) { use_cache_ = on_off; }
126 INLINE
const Bijection< NodeId, std::size_t >&
127 CachedContingencyCounter::nodeId2Columns()
const {
128 return counter_.nodeId2Columns();
131 INLINE
const DatabaseTable& CachedContingencyCounter::database()
const {
132 return counter_.database();
Common counting infrastructure for independence tests and KNML scoring.
CachedContingencyCounter(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 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
include the inlined functions if necessary
gum is the global namespace for all aGrUM entities