STARS-H
Software for Testing Accuracy, Reliability and Scalability of Hierarchical computations
|
Clusterization routines. More...
Data Structures | |
struct | starsh_cluster |
Info about clusterization of physical data. More... | |
Typedefs | |
typedef struct starsh_cluster | STARSH_cluster |
Functions | |
int | starsh_cluster_new (STARSH_cluster **cluster, void *data, STARSH_int ndata, STARSH_int *pivot, STARSH_int nblocks, STARSH_int nlevels, STARSH_int *level, STARSH_int *start, STARSH_int *size, STARSH_int *parent, STARSH_int *child_start, STARSH_int *child, enum STARSH_CLUSTER_TYPE type) |
Init STARSH_cluster object. More... | |
void | starsh_cluster_free (STARSH_cluster *cluster) |
void | starsh_cluster_info (STARSH_cluster *cluster) |
int | starsh_cluster_new_plain (STARSH_cluster **cluster, void *data, STARSH_int ndata, STARSH_int block_size) |
Plain division of data into blocks of discrete elements. More... | |
Clusterization routines.
typedef struct starsh_cluster STARSH_cluster |
Typedef for cluster
void starsh_cluster_free | ( | STARSH_cluster * | cluster | ) |
Free STARSH_cluster object.
void starsh_cluster_info | ( | STARSH_cluster * | cluster | ) |
Print some info about STARSH_cluster object.
int starsh_cluster_new | ( | STARSH_cluster ** | cluster, |
void * | data, | ||
STARSH_int | ndata, | ||
STARSH_int * | pivot, | ||
STARSH_int | nblocks, | ||
STARSH_int | nlevels, | ||
STARSH_int * | level, | ||
STARSH_int * | start, | ||
STARSH_int * | size, | ||
STARSH_int * | parent, | ||
STARSH_int * | child_start, | ||
STARSH_int * | child, | ||
enum STARSH_CLUSTER_TYPE | type | ||
) |
Init STARSH_cluster object.
This function simply alocates memory and fills fields of STARSH_cluster object. Look at STARSH_cluster to get more info about meaning of each field.
[out] | cluster | Address of pointer to STARSH_cluster object. |
[in] | data | Pointer structure, holding physical data. |
[in] | ndata | Number of discrete elements, corresponding to physical data. |
[in] | pivot | Pivoting of clusterization. After applying this pivoting, rows (or columns), corresponding to one block are one after another. |
[in] | nblocks | Number of blocks / block rows / block columns / subclusters. |
[in] | nlevels | Number of levels of hierarchy. |
[in] | level | Indexes of subclusters for each level of hierarchy. Subclusters with indexes from level[i] to level[i+1]-1 inclusively belong to i -th level of hierarchy. |
[in] | start | Start point of of indexes of discrete elements of each block / subcluster in array pivot . |
[in] | size | Size of each block / subcluster / block row / block column. |
[in] | parent | Array of parents. |
[in] | child_start | Array of start points in array child of each subcluster. |
[in] | child | Array of children of each subcluster. |
[in] | type | Type of clusterization. Look at STARSH_CLUSTER_TYPE for more info. |
int starsh_cluster_new_plain | ( | STARSH_cluster ** | cluster, |
void * | data, | ||
STARSH_int | ndata, | ||
STARSH_int | block_size | ||
) |
Plain division of data into blocks of discrete elements.
Non-pivoted non-hierarchical clusterization.
[out] | cluster | Address of pointer to STARSH_cluster object. |
[in] | data | Pointer to structure, holding physical data. |
[in] | ndata | Number of discrete elements in physical data. |
[in] | block_size | How many discrete elements should be combined into single block. |