HLIBpro  3.0
TBCBuilder Class Reference

Recursively build block cluster tree with supplied admissibility condition.

#include <TBCBuilder.hh>

Public Member Functions

 TBCBuilder (const uint min_lvl=0, const cluster_level_mode_t cl_lvl_mode=CFG::Cluster::cluster_level_mode)
 construct block cluster tree builder
 
virtual ~TBCBuilder ()
 dtor
 
virtual std::unique_ptr< TBlockClusterTreebuild (const TClusterTree *rowct, const TClusterTree *colct, const TAdmCondition *ac) const
 
virtual void refine (TBlockCluster *bc) const
 refine given block cluster
 

Protected Member Functions

virtual void rec_build (TBlockCluster *bc, const TAdmCondition *ac, const uint level) const
 recusivly build a block cluster tree for rowcl × colcl
 
virtual std::unique_ptr< TBlockClustercreate_bc (TBlockCluster *parent) const
 create new node in tree with father node parent
 
virtual std::unique_ptr< TBlockClustercreate_bc (TBlockCluster *parent, TCluster *rowcl, TCluster *colcl) const
 create new node in tree with father node parent and given row/col clusters
 

Member Function Documentation

◆ build()

virtual std::unique_ptr< TBlockClusterTree > build ( const TClusterTree rowct,
const TClusterTree colct,
const TAdmCondition ac 
) const
virtual

build block cluster tree for rowct × colct with admissibility condition ac