|
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. |