H2Lib  3.0
Data Structures | Typedefs | Functions
block.h File Reference
#include <cairo/cairo.h>
#include "cluster.h"
#include "settings.h"

Go to the source code of this file.

Data Structures

struct  _block
 Representation of block trees. More...
 
struct  _blockentry
 Auxiliary structure for hierarchical iterators for a block cluster tree. More...
 

Typedefs

typedef struct _block block
 Representation of a block tree.
 
typedef blockpblock
 Pointer to block object.
 
typedef const blockpcblock
 Pointer to constant block object.
 
typedef bool(* admissible) (pcluster rc, pcluster cc, void *data)
 Callback function for an admissibility condition.
 
typedef struct _blockentry blockentry
 Representation of a blockentry object.
 
typedef blockentrypblockentry
 Pointer to a blockentry object.
 
typedef const blockentrypcblockentry
 Pointer to a constant blockentry object.
 

Functions

bool admissible_2_cluster (pcluster rc, pcluster cc, void *data)
 Check the euclidian (maximum) admissibility condition. More...
 
bool admissible_max_cluster (pcluster rc, pcluster cc, void *data)
 Check the admissibility condition in the maximum norm. More...
 
bool admissible_sphere_cluster (pcluster rc, pcluster cc, void *data)
 Check the admissibility condition for spherical domains. More...
 
bool admissible_2_min_cluster (pcluster rc, pcluster cc, void *data)
 Check the euclidian minimum admissibility condition. More...
 
pblock new_block (pcluster rc, pcluster cc, bool a, uint rsons, uint csons)
 Create a new block object. More...
 
void del_block (pblock b)
 Delete a block tree. More...
 
void update_block (pblock b)
 Complete initialization of a block object. More...
 
pblock build_nonstrict_block (pcluster rc, pcluster cc, void *data, admissible admis)
 Build a non strict block tree. More...
 
pblock build_nonstrict_lower_block (pcluster rc, pcluster cc, void *data, admissible admis)
 Build a non strict lower triangular block tree. More...
 
pblock build_strict_block (pcluster rc, pcluster cc, void *data, admissible admis)
 Build a strict block tree. More...
 
pblock build_strict_lower_block (pcluster rc, pcluster cc, void *data, admissible admis)
 Build a strict lower triangular block tree. More...
 
void draw_cairo_block (cairo_t *cr, pcblock b, int levels)
 Draw a block tree. More...
 
void view_block (pcblock b)
 Visualize a block tree in OpenGL. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
pblockenumerate_block (pblock t)
 Enumerate a block tree. More...
 
uintenumerate_level_block (pblock t)
 Enumerate the levels of a block tree. More...
 
uint getdepth_block (pcblock b)
 Compute the depth of a block tree object. More...
 
uint compute_csp_block (pcblock b)
 Compute the sparsity of a block object. More...
 

Detailed Description

Author
Steffen Börm