Qualcomm FastCV Library
1.7.1
|
Functions | |
FASTCV_API int | fcvClusterEuclideanf32 (const float *__restrict points, int numPoints, int dim, int pointStride, const size_t *__restrict indices, int numIndices, int numClusters, float *__restrict clusterCenters, int clusterCenterStride, float *__restrict newClusterCenters, size_t *__restrict clusterMemberCounts, size_t *__restrict clusterBindings, float *sumOfClusterDistances) |
General function for computing cluster centers and cluster bindings for a set of points of dimension dim. | |
FASTCV_API int | fcvClusterEuclideanNormedf32 (const float *__restrict points, int numPoints, int dim, int pointStride, const size_t *__restrict indices, int numIndices, int numClusters, float *__restrict clusterCenters, int clusterCenterStride, float *__restrict newClusterCenters, size_t *__restrict clusterMemberCounts, size_t *__restrict clusterBindings, float *sumOfClusterDistances) |
Function for computing cluster centers and cluster bindings for a set of normalized points of dimension dim. Cluster centers are also normalized (see remark below) | |
FASTCV_API int | fcvClusterEuclideanNormed36f32 (const float *__restrict points, int numPoints, int pointStride, const size_t *__restrict indices, int numIndices, int numClusters, float *__restrict clusterCenters, int clusterCenterStride, float *__restrict newClusterCenters, size_t *__restrict clusterMemberCounts, size_t *__restrict clusterBindings, float *sumOfClusterDistances) |
Function for computing cluster centers and cluster bindings for a set of normalized points of dimension 36. Cluster centers are also normalized (see remark below) | |
FASTCV_API int | fcvClusterEuclideanu8 (const uint8_t *__restrict points, int32_t numPoints, int32_t dim, int32_t pointStride, int32_t numPointsUsed, int32_t numClusters, float32_t *__restrict clusterCenters, int32_t clusterCenterStride, float32_t *__restrict newClusterCenters, uint32_t *__restrict clusterMemberCounts, uint32_t *__restrict clusterBindings, float32_t *sumOfClusterDistances) |
General function for computing cluster centers and cluster bindings for a set of points of dimension dim. |
K clusters best fitting of a set of input points
FASTCV_API int fcvClusterEuclideanf32 | ( | const float *__restrict | points, |
int | numPoints, | ||
int | dim, | ||
int | pointStride, | ||
const size_t *__restrict | indices, | ||
int | numIndices, | ||
int | numClusters, | ||
float *__restrict | clusterCenters, | ||
int | clusterCenterStride, | ||
float *__restrict | newClusterCenters, | ||
size_t *__restrict | clusterMemberCounts, | ||
size_t *__restrict | clusterBindings, | ||
float * | sumOfClusterDistances | ||
) |
General function for computing cluster centers and cluster bindings for a set of points of dimension dim.
points | Array of all points. Array size must be greater than numPoints * dim. |
numPoints | Number of points in points array. |
dim | dimension, e.g. 36 |
pointStride | Byte distance between adjacent points in array |
indices | Array of point indices in points array. Processing will only occur on points whose indices are in this array. Each index in array must be smaller numPoints. |
numIndices | Length of indices array. numIndieces must be <= numPoints. |
numClusters | Number of cluster centers |
clusterCenters | current cluster centers; elements are distant by clusterCenterStride |
clusterCenterStride | byte distance between adjacent cluster centers in array |
newClusterCenters | array for new cluster centers; should be numClusterCenters long |
clusterMemberCounts | Element counts for each cluster; should be numClusterCenters long |
clusterBindings | Output indices of the clusters to which each vector belongs to, array must be numIndices long. |
sumOfClusterDistances | Array for sum of distances of cluster elements to cluster centers; Must be numClusters long |
FASTCV_API int fcvClusterEuclideanNormed36f32 | ( | const float *__restrict | points, |
int | numPoints, | ||
int | pointStride, | ||
const size_t *__restrict | indices, | ||
int | numIndices, | ||
int | numClusters, | ||
float *__restrict | clusterCenters, | ||
int | clusterCenterStride, | ||
float *__restrict | newClusterCenters, | ||
size_t *__restrict | clusterMemberCounts, | ||
size_t *__restrict | clusterBindings, | ||
float * | sumOfClusterDistances | ||
) |
Function for computing cluster centers and cluster bindings for a set of normalized points of dimension 36. Cluster centers are also normalized (see remark below)
points | Array of all points. Array size must be greater than numPoints * 36. |
numPoints | Number of points in points array. |
pointStride | Byte distance between adjacent points in array |
indices | Array of point indices in points array. Processing will only occur on points whose indices are in this array. Each index in array must be smaller numPoints. |
numIndices | Length of indices array. numIndieces must be <= numPoints. |
numClusters | Number of cluster centers |
clusterCenters | current cluster centers; elements are distant by clusterCenterStride |
clusterCenterStride | byte distance between adjacent cluster centers in array |
newClusterCenters | array for new cluster centers; should be numClusterCenters long |
clusterMemberCounts | Element counts for each cluster; should be numClusterCenters long |
clusterBindings | Output indices of the clusters to which each vector belongs to, a rray must be numIndices long. |
sumOfClusterDistances | Array for sum of distances of cluster elements to cluster centers; Must be numClusters long |
FASTCV_API int fcvClusterEuclideanNormedf32 | ( | const float *__restrict | points, |
int | numPoints, | ||
int | dim, | ||
int | pointStride, | ||
const size_t *__restrict | indices, | ||
int | numIndices, | ||
int | numClusters, | ||
float *__restrict | clusterCenters, | ||
int | clusterCenterStride, | ||
float *__restrict | newClusterCenters, | ||
size_t *__restrict | clusterMemberCounts, | ||
size_t *__restrict | clusterBindings, | ||
float * | sumOfClusterDistances | ||
) |
Function for computing cluster centers and cluster bindings for a set of normalized points of dimension dim. Cluster centers are also normalized (see remark below)
points | Array of all points. Array size must be greater than numPoints * dim. |
numPoints | Number of points in points array. |
dim | dimension, e.g. 36 |
pointStride | Byte distance between adjacent points in array |
indices | Array of point indices in points array. Processing will only occur on points whose indices are in this array. Each index in array must be smaller numPoints. |
numIndices | Length of indices array. numIndieces must be <= numPoints. |
numClusters | Number of cluster centers |
clusterCenters | current cluster centers; elements are distant by clusterCenterStride |
clusterCenterStride | byte distance between adjacent cluster centers in array |
newClusterCenters | array for new cluster centers; should be numClusterCenters long |
clusterMemberCounts | Element counts for each cluster; should be numClusterCenters long |
clusterBindings | Output indices of the clusters to which each vector belongs to, a rray must be numIndices long. |
sumOfClusterDistances | Array for sum of distances of cluster elements to cluster centers; Must be numClusters long |
FASTCV_API int fcvClusterEuclideanu8 | ( | const uint8_t *__restrict | points, |
int32_t | numPoints, | ||
int32_t | dim, | ||
int32_t | pointStride, | ||
int32_t | numPointsUsed, | ||
int32_t | numClusters, | ||
float32_t *__restrict | clusterCenters, | ||
int32_t | clusterCenterStride, | ||
float32_t *__restrict | newClusterCenters, | ||
uint32_t *__restrict | clusterMemberCounts, | ||
uint32_t *__restrict | clusterBindings, | ||
float32_t * | sumOfClusterDistances | ||
) |
General function for computing cluster centers and cluster bindings for a set of points of dimension dim.
points | Array of all points. Array size must be greater than numPoints * pointStride. |
numPoints | Number of points in points array. |
dim | dimension, e.g. 36 |
pointStride | Byte distance between adjacent points in array |
numPointsUsed | Total number of points used for clustering, {0,1,...(numPointsUsed-1)} |
numClusters | Number of clusters |
clusterCenters | current cluster centers; elements are distant by clusterCenterStride |
clusterCenterStride | byte distance between adjacent cluster centers in array |
newClusterCenters | array for new cluster centers; should be numClusterCenters long |
newClusterMemberCounts | Element counts for each cluster; should be numClusterCenters long |
clusterBindings | Output indices of the clusters to which each vector belongs to, array must be numPointsUsed long. |
sumOfClusterDistances | the sum of distances between each cluster center to its belonging points. The size should be numClusterCenters*sizeof(float_32) |