mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Data Structures | Public Member Functions | Data Fields
m::Spn::DiscreteLeaf Struct Reference
Inheritance diagram for m::Spn::DiscreteLeaf:
[legend]
Collaboration diagram for m::Spn::DiscreteLeaf:
[legend]

Data Structures

struct  Bin
 

Public Member Functions

 DiscreteLeaf (std::vector< Bin > bins, float null_probability, std::size_t num_rows)
 
std::pair< float, float > evaluate (const Filter &bin_value, unsigned leaf_id, EvalType eval_type) const override
 Evaluate the SPN bottom up with a filter condition.
 
void update (Eigen::VectorXf &row, SmallBitset variables, UpdateType update_type) override
 
std::size_t estimate_number_distinct_values (unsigned id) const override
 
unsigned height () const override
 
unsigned breadth () const override
 
unsigned degree () const override
 
std::size_t memory_usage () const override
 
void print (std::ostream &out, std::size_t num_tabs) const override
 
void dump () const
 
void dump (std::ostream &out) const
 

Data Fields

std::vector< Binbins
 bins of this leaf
 
float null_probability
 the probability of null values in this leaf
 
std::size_t num_rows
 

Detailed Description

Definition at line 214 of file Spn.hpp.

Constructor & Destructor Documentation

◆ DiscreteLeaf()

m::Spn::DiscreteLeaf::DiscreteLeaf ( std::vector< Bin bins,
float  null_probability,
std::size_t  num_rows 
)
inline

Definition at line 234 of file Spn.hpp.

Member Function Documentation

◆ breadth()

unsigned m::Spn::DiscreteLeaf::breadth ( ) const
inlineoverridevirtual

Implements m::Spn::Node.

Definition at line 247 of file Spn.hpp.

◆ degree()

unsigned m::Spn::DiscreteLeaf::degree ( ) const
inlineoverridevirtual

Implements m::Spn::Node.

Definition at line 248 of file Spn.hpp.

◆ dump() [1/2]

void Spn::Node::dump ( ) const
inherited

Definition at line 92 of file Spn.cpp.

References m::Spn::Node::dump().

Referenced by m::Spn::Node::dump().

◆ dump() [2/2]

void Spn::Node::dump ( std::ostream &  out) const
inherited

Definition at line 93 of file Spn.cpp.

◆ estimate_number_distinct_values()

std::size_t Spn::DiscreteLeaf::estimate_number_distinct_values ( unsigned  id) const
overridevirtual

Implements m::Spn::Node.

Definition at line 349 of file Spn.cpp.

◆ evaluate()

std::pair< float, float > Spn::DiscreteLeaf::evaluate ( const Filter filter,
unsigned  leaf_id,
EvalType  eval_type 
) const
overridevirtual

Evaluate the SPN bottom up with a filter condition.

Parameters
filterthe filter condition
eval_typefor continuous leaves to test bin accuracy
Returns
a pair <conditional expectation, likelihood> (cond. expectation undefined if only likelihood is evaluated)

Implements m::Spn::Node.

Definition at line 227 of file Spn.cpp.

References m::Spn::EQUAL, m::Spn::EXPECTATION, m::Spn::expectation(), m::Spn::GREATER, m::Spn::GREATER_EQUAL, m::Spn::IS_NULL, m::Spn::LESS, m::Spn::LESS_EQUAL, m::Spn::lower_bound(), and m::Spn::upper_bound().

◆ height()

unsigned m::Spn::DiscreteLeaf::height ( ) const
inlineoverridevirtual

Implements m::Spn::Node.

Definition at line 246 of file Spn.hpp.

◆ memory_usage()

std::size_t m::Spn::DiscreteLeaf::memory_usage ( ) const
inlineoverridevirtual

Implements m::Spn::Node.

Definition at line 249 of file Spn.hpp.

References bins.

◆ print()

void Spn::DiscreteLeaf::print ( std::ostream &  out,
std::size_t  num_tabs 
) const
overridevirtual

Implements m::Spn::Node.

Definition at line 354 of file Spn.cpp.

◆ update()

void Spn::DiscreteLeaf::update ( Eigen::VectorXf &  row,
SmallBitset  variables,
UpdateType  update_type 
)
overridevirtual

Implements m::Spn::Node.

Definition at line 299 of file Spn.cpp.

References m::Spn::INSERT, m::Spn::lower_bound(), and m::Spn::num_rows().

Field Documentation

◆ bins

std::vector<Bin> m::Spn::DiscreteLeaf::bins

bins of this leaf

Definition at line 231 of file Spn.hpp.

Referenced by memory_usage().

◆ null_probability

float m::Spn::DiscreteLeaf::null_probability

the probability of null values in this leaf

Definition at line 232 of file Spn.hpp.

◆ num_rows

std::size_t m::Spn::Node::num_rows
inherited

Definition at line 76 of file Spn.hpp.


The documentation for this struct was generated from the following files: