diff options
Diffstat (limited to 'source/blender/blenlib/BLI_math_statistics.h')
-rw-r--r-- | source/blender/blenlib/BLI_math_statistics.h | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/source/blender/blenlib/BLI_math_statistics.h b/source/blender/blenlib/BLI_math_statistics.h index 6e818f5c8df..586c82a8844 100644 --- a/source/blender/blenlib/BLI_math_statistics.h +++ b/source/blender/blenlib/BLI_math_statistics.h @@ -35,17 +35,39 @@ extern "C" { # pragma GCC diagnostic ignored "-Wredundant-decls" #endif -/********************************** Covariance Matrices *********************************/ +/* -------------------------------------------------------------------- */ +/** \name Covariance Matrices + * \{ */ -void BLI_covariance_m_vn_ex(const int n, +/** + * \brief Compute the covariance matrix of given set of nD coordinates. + * + * \param n: the dimension of the vectors (and hence, of the covariance matrix to compute). + * \param cos_vn: the nD points to compute covariance from. + * \param nbr_cos_vn: the number of nD coordinates in cos_vn. + * \param center: the center (or mean point) of cos_vn. If NULL, + * it is assumed cos_vn is already centered. + * \param use_sample_correction: whether to apply sample correction + * (i.e. get 'sample variance' instead of 'population variance'). + * \return r_covmat the computed covariance matrix. + */ +void BLI_covariance_m_vn_ex(int n, const float *cos_vn, - const int nbr_cos_vn, + int nbr_cos_vn, const float *center, - const bool use_sample_correction, + bool use_sample_correction, float *r_covmat); +/** + * \brief Compute the covariance matrix of given set of 3D coordinates. + * + * \param cos_v3: the 3D points to compute covariance from. + * \param nbr_cos_v3: the number of 3D coordinates in cos_v3. + * \return r_covmat the computed covariance matrix. + * \return r_center the computed center (mean) of 3D points (may be NULL). + */ void BLI_covariance_m3_v3n(const float (*cos_v3)[3], - const int nbr_cos_v3, - const bool use_sample_correction, + int nbr_cos_v3, + bool use_sample_correction, float r_covmat[3][3], float r_center[3]); @@ -53,6 +75,8 @@ void BLI_covariance_m3_v3n(const float (*cos_v3)[3], # pragma GCC diagnostic pop #endif +/** \} */ + #ifdef __cplusplus } #endif |