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

Data Structures

struct  Bin
 

Public Member Functions

 ContinuousLeaf (std::vector< Bin > bins, float lower_bound, float lower_bound_probability, float null_probability, std::size_t num_rows)
 
std::pair< float, float > evaluate (const Filter &filter, 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 lower_bound
 the lower bound of the first bin
 
float lower_bound_probability
 probability of the lower_bound
 
float null_probability
 the probability of null values in this leaf
 
std::size_t num_rows
 

Detailed Description

Definition at line 255 of file Spn.hpp.

Constructor & Destructor Documentation

◆ ContinuousLeaf()

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

Definition at line 277 of file Spn.hpp.

Member Function Documentation

◆ breadth()

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

Implements m::Spn::Node.

Definition at line 298 of file Spn.hpp.

◆ degree()

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

Implements m::Spn::Node.

Definition at line 299 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::ContinuousLeaf::estimate_number_distinct_values ( unsigned  id) const
overridevirtual

Implements m::Spn::Node.

Definition at line 547 of file Spn.cpp.

References m::Spn::num_rows().

◆ evaluate()

std::pair< float, float > Spn::ContinuousLeaf::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 375 of file Spn.cpp.

References m::and, m::Spn::APPROXIMATE, 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, m::Spn::lower_bound(), m::Spn::UPPER_BOUND, and m::Spn::upper_bound().

◆ height()

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

Implements m::Spn::Node.

Definition at line 297 of file Spn.hpp.

◆ memory_usage()

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

Implements m::Spn::Node.

Definition at line 300 of file Spn.hpp.

References bins.

◆ print()

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

Implements m::Spn::Node.

Definition at line 552 of file Spn.cpp.

References m::Spn::lower_bound().

◆ update()

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

Implements m::Spn::Node.

Definition at line 478 of file Spn.cpp.

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

Field Documentation

◆ bins

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

bins of this leaf

Definition at line 272 of file Spn.hpp.

Referenced by memory_usage().

◆ lower_bound

float m::Spn::ContinuousLeaf::lower_bound

the lower bound of the first bin

Definition at line 273 of file Spn.hpp.

◆ lower_bound_probability

float m::Spn::ContinuousLeaf::lower_bound_probability

probability of the lower_bound

Definition at line 274 of file Spn.hpp.

◆ null_probability

float m::Spn::ContinuousLeaf::null_probability

the probability of null values in this leaf

Definition at line 275 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: