30 #include <cairo/cairo.h> 354 void *data),
void *data);
418 void *data),
void *data);
443 void *data),
void *data);
pblock build_nonstrict_lower_block(pcluster rc, pcluster cc, void *data, admissible admis)
Build a non strict lower triangular block tree.
uint * enumerate_level_block(pblock t)
Enumerate the levels of a block tree.
void iterate_byrow_block(pcblock b, uint bname, uint rname, uint cname, uint pardepth, void(*pre)(pcblock b, uint bname, uint rname, uint cname, uint pardepth, void *data), void(*post)(pcblock b, uint bname, uint rname, uint cname, uint pardepth, void *data), void *data)
Iterate through all subblocks of a block tree.
void update_block(pblock b)
Complete initialization of a block object.
void iterate_bycol_block(pcblock b, uint bname, uint rname, uint cname, uint pardepth, void(*pre)(pcblock b, uint bname, uint rname, uint cname, uint pardepth, void *data), void(*post)(pcblock b, uint bname, uint rname, uint cname, uint pardepth, void *data), void *data)
Iterate through all subblocks of a block tree.
uint cname
Number of the column cluster of b.
Definition: block.h:321
Auxiliary structure for hierarchical iterators for a block cluster tree.
Definition: block.h:313
pblock * enumerate_block(pblock t)
Enumerate a block tree.
uint rsons
Number of row sons.
Definition: block.h:62
pcluster cc
Column Cluster.
Definition: block.h:53
unsigned uint
Unsigned integer type.
Definition: settings.h:70
unsigned short bool
Boolean type.
Definition: settings.h:58
bool a
Admissibility flag.
Definition: block.h:56
void del_block(pblock b)
Delete a block tree.
bool admissible_2_cluster(pcluster rc, pcluster cc, void *data)
Check the euclidian (maximum) admissibility condition.
void iterate_collist_block(pcblock b, uint bname, uint rname, uint cname, uint pardepth, void(*pre)(pcblockentry pb, uint pardepth, void *data), void(*post)(pcblockentry pb, uint pardepth, void *data), void *data)
Iterate through all subblocks of a block tree, columnwise.
pblock build_strict_lower_block(pcluster rc, pcluster cc, void *data, admissible admis)
Build a strict lower triangular block tree.
pblock * son
Son blocks, if the block is subdivided.
Definition: block.h:59
void view_block(pcblock b)
Visualize a block tree in OpenGL.
bool admissible_2_min_cluster(pcluster rc, pcluster cc, void *data)
Check the euclidian minimum admissibility condition.
void iterate_rowlist_block(pcblock b, uint bname, uint rname, uint cname, uint pardepth, void(*pre)(pcblockentry pb, uint pardepth, void *data), void(*post)(pcblockentry pb, uint pardepth, void *data), void *data)
Iterate through all subblocks of a block tree, rowwise.
const block * pcblock
Pointer to constant block object.
Definition: block.h:27
uint rname
Number of the row cluster of b.
Definition: block.h:319
uint bname
Number of the block tree.
Definition: block.h:317
blockentry * pblockentry
Pointer to a blockentry object.
Definition: block.h:306
pblock build_strict_block(pcluster rc, pcluster cc, void *data, admissible admis)
Build a strict block tree.
pcblockentry father
Pointer to the blockentry object of the father of b.
Definition: block.h:323
pcblock b
block tree.
Definition: block.h:315
pblockentry next
Pointer to the blockentry object of the sucessor of b.
Definition: block.h:325
void iterate_block(pcblock b, uint bname, uint rname, uint cname, void(*pre)(pcblock b, uint bname, uint rname, uint cname, uint pardepth, void *data), void(*post)(pcblock b, uint bname, uint rname, uint cname, uint pardepth, void *data), void *data)
Hierarchical iterator for a block tree.
void draw_cairo_block(cairo_t *cr, pcblock b, int levels)
Draw a block tree.
uint desc
Number of descendants.
Definition: block.h:68
#define HEADER_PREFIX
Prefix for function declarations.
Definition: settings.h:43
uint compute_csp_block(pcblock b)
Compute the sparsity of a block object.
bool(* admissible)(pcluster rc, pcluster cc, void *data)
Callback function for an admissibility condition.
Definition: block.h:76
bool admissible_max_cluster(pcluster rc, pcluster cc, void *data)
Check the admissibility condition in the maximum norm.
pcluster rc
Row cluster.
Definition: block.h:50
pblock build_nonstrict_block(pcluster rc, pcluster cc, void *data, admissible admis)
Build a non strict block tree.
Representation of block trees.
Definition: block.h:48
Representation of cluster trees.
Definition: cluster.h:40
const blockentry * pcblockentry
Pointer to a constant blockentry object.
Definition: block.h:309
uint getdepth_block(pcblock b)
Compute the depth of a block tree object.
block * pblock
Pointer to block object.
Definition: block.h:24
bool admissible_sphere_cluster(pcluster rc, pcluster cc, void *data)
Check the admissibility condition for spherical domains.
uint csons
Number of column sons.
Definition: block.h:65
pblock new_block(pcluster rc, pcluster cc, bool a, uint rsons, uint csons)
Create a new block object.