| 
					
				 | 
			
			
				@@ -1,33 +1,31 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// Ceres Solver - A fast non-linear least squares minimizer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// Copyright 2010, 2011, 2012 Google Inc. All rights reserved. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// http://code.google.com/p/ceres-solver/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// Redistribution and use in source and binary forms, with or without 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// modification, are permitted provided that the following conditions are met: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// * Redistributions of source code must retain the above copyright notice, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   this list of conditions and the following disclaimer. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// * Redistributions in binary form must reproduce the above copyright notice, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   this list of conditions and the following disclaimer in the documentation 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   and/or other materials provided with the distribution. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// * Neither the name of Google Inc. nor the names of its contributors may be 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   used to endorse or promote products derived from this software without 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   specific prior written permission. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// POSSIBILITY OF SUCH DAMAGE. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Ceres Solver - A fast non-linear least squares minimizer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Copyright 2010, 2011, 2012, 2013 Google Inc. All rights reserved. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# http://code.google.com/p/ceres-solver/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Redistribution and use in source and binary forms, with or without 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# modification, are permitted provided that the following conditions are met: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# * Redistributions of source code must retain the above copyright notice, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#   this list of conditions and the following disclaimer. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# * Redistributions in binary form must reproduce the above copyright notice, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#   this list of conditions and the following disclaimer in the documentation 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#   and/or other materials provided with the distribution. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# * Neither the name of Google Inc. nor the names of its contributors may be 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#   used to endorse or promote products derived from this software without 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#   specific prior written permission. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# POSSIBILITY OF SUCH DAMAGE. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Copyright 2011 Google Inc. All Rights Reserved. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Author: sameeragarwal@google.com (Sameer Agarwal) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Script for explicitly generating template specialization of the 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -54,21 +52,48 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 SPECIALIZATIONS = [(2, 2, 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    (2, 2, 3), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    (2, 2, 4), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                   (2, 2, "Dynamic"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   (2, 2, "Eigen::Dynamic"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    (2, 3, 3), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    (2, 3, 4), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    (2, 3, 9), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                   (2, 3, "Dynamic"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   (2, 3, "Eigen::Dynamic"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    (2, 4, 3), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    (2, 4, 4), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                   (2, 4, "Dynamic"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   (2, 4, "Eigen::Dynamic"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    (4, 4, 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    (4, 4, 3), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    (4, 4, 4), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                   (4, 4, "Dynamic"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                   ("Dynamic", "Dynamic", "Dynamic")] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   (4, 4, "Eigen::Dynamic"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   ("Eigen::Dynamic", "Eigen::Dynamic", "Eigen::Dynamic")] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-SPECIALIZATION_FILE = """// Copyright 2011 Google Inc. All Rights Reserved. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+SPECIALIZATION_FILE = """// Ceres Solver - A fast non-linear least squares minimizer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// Copyright 2010, 2011, 2012, 2013 Google Inc. All rights reserved. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// http://code.google.com/p/ceres-solver/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// Redistribution and use in source and binary forms, with or without 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// modification, are permitted provided that the following conditions are met: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// * Redistributions of source code must retain the above copyright notice, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//   this list of conditions and the following disclaimer. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// * Redistributions in binary form must reproduce the above copyright notice, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//   this list of conditions and the following disclaimer in the documentation 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//   and/or other materials provided with the distribution. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// * Neither the name of Google Inc. nor the names of its contributors may be 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//   used to endorse or promote products derived from this software without 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//   specific prior written permission. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// POSSIBILITY OF SUCH DAMAGE. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // Author: sameeragarwal@google.com (Sameer Agarwal) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // Template specialization of SchurEliminator. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -134,7 +159,7 @@ FACTORY_FOOTER = """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           << options.row_block_size << "," 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           << options.e_block_size << "," 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           << options.f_block_size << ">"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  return new SchurEliminator<Dynamic, Dynamic, Dynamic>(options); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return new SchurEliminator<Eigen::Dynamic, Eigen::Dynamic, Eigen::Dynamic>(options); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }  // namespace internal 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -143,7 +168,7 @@ FACTORY_FOOTER = """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def SuffixForSize(size): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if size == "Dynamic": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if size == "Eigen::Dynamic": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return "d" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return str(size) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |