diff options
Diffstat (limited to 'intern/eigen/intern/eigenvalues.cc')
-rw-r--r-- | intern/eigen/intern/eigenvalues.cc | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/intern/eigen/intern/eigenvalues.cc b/intern/eigen/intern/eigenvalues.cc index 3625df826d5..8a48ae5f17a 100644 --- a/intern/eigen/intern/eigenvalues.cc +++ b/intern/eigen/intern/eigenvalues.cc @@ -32,32 +32,35 @@ using Eigen::SelfAdjointEigenSolver; +using Eigen::Map; using Eigen::MatrixXf; using Eigen::VectorXf; -using Eigen::Map; using Eigen::Success; -bool EIG_self_adjoint_eigen_solve(const int size, const float *matrix, float *r_eigen_values, float *r_eigen_vectors) +bool EIG_self_adjoint_eigen_solve(const int size, + const float *matrix, + float *r_eigen_values, + float *r_eigen_vectors) { - SelfAdjointEigenSolver<MatrixXf> eigen_solver; + SelfAdjointEigenSolver<MatrixXf> eigen_solver; - /* Blender and Eigen matrices are both column-major. */ - eigen_solver.compute(Map<MatrixXf>((float *)matrix, size, size)); + /* Blender and Eigen matrices are both column-major. */ + eigen_solver.compute(Map<MatrixXf>((float *)matrix, size, size)); - if (eigen_solver.info() != Success) { - return false; - } + if (eigen_solver.info() != Success) { + return false; + } - if (r_eigen_values) { - Map<VectorXf>(r_eigen_values, size) = eigen_solver.eigenvalues().transpose(); - } + if (r_eigen_values) { + Map<VectorXf>(r_eigen_values, size) = eigen_solver.eigenvalues().transpose(); + } - if (r_eigen_vectors) { - Map<MatrixXf>(r_eigen_vectors, size, size) = eigen_solver.eigenvectors(); - } + if (r_eigen_vectors) { + Map<MatrixXf>(r_eigen_vectors, size, size) = eigen_solver.eigenvectors(); + } - return true; + return true; } -#endif /* __EIGEN3_EIGENVALUES_C_API_CC__ */ +#endif /* __EIGEN3_EIGENVALUES_C_API_CC__ */ |