summaryrefslogtreecommitdiff
path: root/media-gfx/blender/files/blender-5.2.1-eigen-3.4.patch
blob: d227bc33f646cd28a49febfa0a10bbc52c0c346d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
Use runtime SVD computation options for compatibility with system Eigen 3.4.
The requested full/thin U and V options are unchanged.

--- a/intern/libmv/libmv/multiview/euclidean_resection.cc
+++ b/intern/libmv/libmv/multiview/euclidean_resection.cc
@@ -107,7 +107,7 @@
 
   // Find the unit quaternion q that maximizes qNq. It is the eigenvector
   // corresponding to the lagest eigenvalue.
-  Vec4 q = N.jacobiSvd<Eigen::ComputeFullU>().matrixU().col(0);
+  Vec4 q = N.jacobiSvd(Eigen::ComputeFullU).matrixU().col(0);
 
   // Retrieve the 3x3 rotation matrix.
   Vec4 qq = q.array() * q.array();
@@ -246,7 +246,7 @@
   }
 
   int num_lambda = num_points + 1;  // Dimension of the null space of M.
-  Mat V = M.jacobiSvd<Eigen::ComputeFullV>().matrixV().block(
+  Mat V = M.jacobiSvd(Eigen::ComputeFullV).matrixV().block(
       0, num_m_rows, num_m_columns, num_lambda);
 
   // TODO(vess): The number of constraint equations in K (num_k_rows) must be
@@ -303,7 +303,7 @@
     }
   }
   Vec L_sq =
-      K.jacobiSvd<Eigen::ComputeFullV>().matrixV().col(num_k_columns - 1);
+      K.jacobiSvd(Eigen::ComputeFullV).matrixV().col(num_k_columns - 1);
 
   // Pivot on the largest element for numerical stability. Afterwards recover
   // the sign of the lambda solution.
--- a/intern/libmv/libmv/tracking/track_region.cc
+++ b/intern/libmv/libmv/tracking/track_region.cc
@@ -940,7 +940,7 @@
     }
 
     // TODO(keir): Check solution quality.
-    Vec4 a = Q1.jacobiSvd<Eigen::ComputeThinU | Eigen::ComputeThinV>().solve(Q2);
+    Vec4 a = Q1.jacobiSvd(Eigen::ComputeThinU | Eigen::ComputeThinV).solve(Q2);
     parameters[2] = a[0];
     parameters[3] = a[1];
     parameters[4] = a[2];
--- a/intern/dualcon/intern/octree.cpp
+++ b/intern/dualcon/intern/octree.cpp
@@ -2184,7 +2184,7 @@
 static void pseudoInverse(const Eigen::Matrix3f &a, Eigen::Matrix3f &result, float tolerance)
 {
   const int Options = Eigen::ComputeFullU | Eigen::ComputeFullV;
-  Eigen::JacobiSVD<Eigen::Matrix3f, Options> svd = a.jacobiSvd<Options>();
+  Eigen::JacobiSVD<Eigen::Matrix3f> svd = a.jacobiSvd(Options);
 
   result = svd.matrixV() *
            Eigen::Vector3f((svd.singularValues().array().abs() > tolerance)
--- a/intern/slim/intern/slim.cpp
+++ b/intern/slim/intern/slim.cpp
@@ -208,8 +208,8 @@
                              Eigen::PlainObjectBase<DerivedV> &V)
 {
   using namespace std;
-  Eigen::JacobiSVD<DerivedA, Eigen::ComputeFullU | Eigen::ComputeFullV> svd;
-  svd.compute(A);
+  Eigen::JacobiSVD<DerivedA> svd;
+  svd.compute(A, Eigen::ComputeFullU | Eigen::ComputeFullV);
   U = svd.matrixU();
   V = svd.matrixV();
   S = svd.singularValues();