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