Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/eigen/intern/eigenvalues.cc')
-rw-r--r--intern/eigen/intern/eigenvalues.cc35
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__ */