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 'extern/ceres/ChangeLog')
-rw-r--r--extern/ceres/ChangeLog839
1 files changed, 419 insertions, 420 deletions
diff --git a/extern/ceres/ChangeLog b/extern/ceres/ChangeLog
index ae8d42a7c95..64c75e572f4 100644
--- a/extern/ceres/ChangeLog
+++ b/extern/ceres/ChangeLog
@@ -1,588 +1,587 @@
-commit 8590e6e8e057adba4ec0083446d00268565bb444
-Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Thu Oct 27 12:29:37 2016 -0700
+commit e39d9ed1d60dfeb58dd2a0df4622c683f87b28e3
+Author: Carl Dehlin <carl@dehlin.com>
+Date: Tue Jun 16 09:02:05 2020 +0200
- Remove two checks from rotation.h
-
- This allows rotation.h to remove its dependency on glog.
+ Add a missing term and remove a superfluous word
- Change-Id: Ia6aede93ee51a4bd4039570dc8edd100a7045329
+ Change-Id: I25f40f0bf241302b975e6fc14690aa863c0728b0
-commit e892499e8d8977b9178a760348bdd201ec5f3489
-Author: Je Hyeong Hong <jhh37@outlook.com>
-Date: Tue Oct 18 22:49:11 2016 +0100
+commit 27cab77b699a1a2b5354820c57a91c92eaeb21e3
+Author: Carl Dehlin <carl@dehlin.com>
+Date: Mon Jun 15 20:01:18 2020 +0200
- Relax the tolerance in QuaternionParameterizationTestHelper.
-
- This commit relaxes the tolerance value for comparing between the actual
- local matrix and the expected local matrix. Without this fix,
- EigenQuaternionParameterization.ZeroTest could fail as the difference
- exactly matches the value of std::numeric_limits<double>::epsilon().
+ Reformulate some sentences
- Change-Id: Ic4d3f26c0acdf5f16fead80dfdc53df9e7dabbf9
+ Change-Id: I4841aa8e8522008dd816261d9ad98e5fb8ad1758
-commit 7ed9e2fb7f1dff264c5e4fbaa89ee1c4c99df269
-Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Wed Oct 19 04:45:23 2016 -0700
+commit 8ac6655ce85a4462f2882fcb9e9118a7057ebe09
+Author: Carl Dehlin <carl@dehlin.com>
+Date: Mon Jun 15 19:10:12 2020 +0200
- Occured -> Occurred.
-
- Thanks to Phillip Huebner for reporting this.
+ Fix documentation formatting issues
- Change-Id: I9cddfbb373aeb496961d08e434fe661bff4abd29
+ Change-Id: Iea3a6e75dc3a7376eda866ab24e535a6df84f8ea
-commit b82f97279682962d8c8ae1b6d9e801ba072a0ab1
-Author: Je Hyeong Hong <jhh37@outlook.com>
-Date: Tue Oct 18 21:18:32 2016 +0100
+commit 7ef83e07592ead74eeacc227b642df1959d2a246
+Author: Alex Stewart <alexs.mac@gmail.com>
+Date: Sat May 30 11:30:01 2020 +0100
- Fix a test error in autodiff_test.cc.
+ Update minimum required C++ version for Ceres to C++14
- Previously, the test for the projective camera model would fail as no
- tolerance is set in line 144. To resolve this, this commit changes
- assert_equal to assert_near.
+ - Removes all workarounds for pre-C++14 versions
+ - Removes '11' qualifier from C++ threading option and associated
+ defines.
+ - Fix missing inclusion of 'Multithreading' in reported Ceres components
+ when C++ threading model is enabled.
+ - Update Sphinx documentation to specify C++14 as minimum requirement.
- Change-Id: I6cd3379083b1a10c7cd0a9cc83fd6962bb993cc9
+ Change-Id: I706c8b367b3221e3c4d1a0aaf669a8f9c911e438
-commit 5690b447de5beed6bdda99b7f30f372283c2fb1a
+commit 1d75e7568172dc5a4dc97937dcf66e0f5d28272c
Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Thu Oct 13 09:52:02 2016 -0700
+Date: Mon May 25 18:09:50 2020 -0700
- Fix documentation source for templated functions in rotation.h
+ Improve documentation for LocalParameterization
- Change-Id: Ic1b2e6f0e6eb9914f419fd0bb5af77b66252e57c
+ Change-Id: I63fa81206e67bfac56cc42bf2bb4915a3a11332b
-commit 2f8f98f7e8940e465de126fb51282396f42bea20
+commit 763398ca4ed56952f48c48df6a98e277e3e05381
Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Thu Oct 13 09:35:18 2016 -0700
+Date: Mon May 25 12:12:03 2020 -0700
- Prepare for 1.12.0RC1
+ Update the section on Preconditioners
- Change-Id: I23eaf0b46117a01440143001b74dacfa5e57cbf0
-
-commit 55c12d2e9569fe4aeac3ba688ac36810935a37ba
-Author: Damon Kohler <damonkohler@google.com>
-Date: Wed Oct 5 16:30:31 2016 +0200
-
- Adds package.xml to support Catkin.
+ Re-organize the section, add some more references and details for
+ existing preconditioners and add documentation for the SUBSET
+ precondition.
- Change-Id: I8ad4d36a8b036417604a54644e0bb70dd1615feb
-
-commit 0bcce6565202f5476e40f12afc0a99eb44bd9dfb
-Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Mon Oct 10 23:30:42 2016 -0700
-
- Fix tabs in Android.mk
+ https://github.com/ceres-solver/ceres-solver/issues/490
- Change-Id: Ie5ab9a8ba2b727721565e1ded242609b6df5f8f5
+ Change-Id: I93d0af819c160f5e4ce48b18202f629ddb92ca7b
-commit e6ffe2667170d2fc435443685c0163396fc52d7b
+commit a614f788a34ea86dd9f679b779ffbf920db45aa6
Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Mon Oct 10 22:47:08 2016 -0700
+Date: Fri May 22 13:52:53 2020 -0700
- Update the version history.
+ Call EvaluationCallback before evaluating the fixed cost.
- Change-Id: I9a57b0541d6cebcb695ecb364a1d4ca04ea4e06c
-
-commit 0a4ccb7ee939ab35b22e26758401e039b033b176
-Author: David Gossow <dgossow@google.com>
-Date: Wed Sep 7 21:38:12 2016 +0200
-
- Relaxing Jacobian matching in Gradient Checker test.
+ Fixe a subtle bug in Program::RemoveFixedBlocks, where we call
+ ResidualBlock::Evaluate on residual blocks with all constant parameter
+ blocks without paying attention to the presence of an
+ EvaluationCallback.
+
+ In the process also run clang-format on some of the files touched by
+ this change.
- Any result of an arithmetic operation on floating-point matrices
- should never be checked for strict equality with some expected
- value, due to limited floating point precision on different machines.
- This fixes some occurences of exact checks in the gradient checker
- unit test that were causing problems on some platforms.
+ https://github.com/ceres-solver/ceres-solver/issues/482
- Change-Id: I48e804c9c705dc485ce74ddfe51037d4957c8fcb
+ Change-Id: I342b66f6f975fdee2eef139a31f24d4a3e568e84
-commit ee44fc91b59584921c1d1c8db153fda6d633b092
-Author: Je Hyeong Hong <jhh37@outlook.com>
-Date: Mon Oct 3 12:19:30 2016 +0100
+commit 70308f7bb9cac560db250262079c0f8b030b9d6b
+Author: Sameer Agarwal <sameeragarwal@google.com>
+Date: Tue May 26 06:12:13 2020 -0700
- Fix an Intel compiler error in covariance_impl.cc.
+ Simplify documentation generation.
- Intel C compiler strictly asks for parallel loops with collapse to be
- perfectly nested. Otherwise, compiling Ceres with ICC will throw an
- error at line 348 of covariance_impl.cc.
+ 1. The MathJax font configuration is moved into conf.py and removed
+ from make_docs.py along with better font sizing.
+ 2. Remove the bread crumb replacement as it is not working anymore.
+ 3. Fix a parsing error in nnls_modeling.rst which the new version of
+ sphinx barfed on.
- Change-Id: I1ecb68e89b7faf79e4153dfe6675c390d1780db4
+ Change-Id: Ia3c2e732323a8b5cabafe851ac5ca0f0c82da071
-commit 9026d69d1ce1e0bcd21debd54a38246d85c7c6e4
-Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Thu Sep 22 17:20:14 2016 -0700
-
- Allow SubsetParameterization to hold all parameters constant
-
- 1. SubsetParameterization can now be constructed such that all
- parameters are constant. This is required for it be used as part
- of a ProductParameterization to hold a part of parameter block
- constant. For example, a parameter block consisting of a rotation
- as a quaternion and a translation vector can now have a local
- parameterization where the translation part is constant and the
- quaternion part has a QuaternionParameterization associated with it.
-
- 2. The check for the tangent space of a parameterization being
- positive dimensional. We were not doing this check up till now
- and the user could accidentally create parameterizations like this
- and create a problem for themselves. This will ensure that even
- though one can construct a SubsetParameterization where all
- parameters are constant, you cannot actually use it as a local
- parameterization for an entire parameter block. Which is how
- it was before, but the check was inside the SubsetParameterization
- constructor.
-
- 3. Added more tests and refactored existing tests to be more
- granular.
-
- Change-Id: Ic0184a1f30e3bd8a416b02341781a9d98e855ff7
-
-commit a36693f83da7a3fd19dce473d060231d4cc97499
+commit e886d7e65368e73e9d35c2ead895d81ced677977
Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Sat Sep 17 16:31:41 2016 -0700
+Date: Mon May 25 13:09:39 2020 -0700
- Update version history
+ Reduce the number of minimizer iterations in evaluation_callback_test.cc
- Change-Id: Ib2f0138ed7a1879ca3b2173e54092f7ae8dd5c9d
+ This should reduce the probability of the test heuristic failing due
+ to floating point issues.
+
+ https://github.com/ceres-solver/ceres-solver/issues/562
+ https://github.com/ceres-solver/ceres-solver/issues/392
+
+ Change-Id: I8ccf4164a8d595f5930d378f464313d4a2cae419
-commit 01e23e3d33178fdd050973666505c1080cfe04c3
-Author: David Gossow <dgossow@google.com>
-Date: Thu Sep 8 12:22:28 2016 +0200
+commit 9483e6f2f57bf51bad7cefd155cd5b48ca672c63
+Author: Sameer Agarwal <sameeragarwal@google.com>
+Date: Tue May 12 05:16:32 2020 -0700
- Removing duplicate include directive.
+ Simplify DynamicCompressedRowJacobianWriter::Write
- Change-Id: I729ae6501497746d1bb615cb893ad592e16ddf3f
+ Change-Id: I67aa2959bd479909b5cada79359c5cfdb8a37ef7
-commit 99b8210cee92cb972267537fb44bebf56f812d52
+commit 323cc55bb92a513924e566f487b54556052a716f
Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Wed Sep 7 15:31:30 2016 -0700
+Date: Mon May 25 10:38:35 2020 -0700
- Update Android.mk to include new files.
+ Update the version in package.xml to 2.0.0.
- Change-Id: Id543ee7d2a65b65c868554a17f593c0a4958e873
+ Change-Id: Ibac053916520e8c597c875a8c7f5668bb35b6ba1
-commit 195d8d13a6a3962ac39ef7fcdcc6add0216eb8bc
-Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Tue Sep 6 07:12:23 2016 -0700
+commit 303b078b50bd3311a9c86fc256be3e9f2f334411
+Author: Bayes Nie <niebayes@gmail.com>
+Date: Sun May 24 16:08:52 2020 +0800
- Remove two DCHECKs from CubicHermiteSpline.
+ Fix few typos and alter a NULL to nullptr.
- They were present as debugging checks but were causing problems
- with the build on 32bit i386 due to numerical cancellation issues,
- where x ~ -epsilon.
+ Fix typos in docs/source/features.rst and examples/helloworld.cc. Alter a NULL to nullptr in include/ceres/autodiff_cost_function.h
- Removing these checks only changes the behaviour in Debug mode.
- We are already handling such small negative numbers in production
- if they occur. All that this change does is to remove the crash.
+ Change-Id: Ibcf00b6ef665ad6be9af14b3add2dd4f3852e7e6
+
+commit cca93fed63dd4117f3d6dd5339131fc7674e6e0a
+Author: Alex Stewart <alexs.mac@gmail.com>
+Date: Sun May 24 18:05:05 2020 +0100
+
+ Bypass Ceres' FindGlog.cmake in CeresConfig.cmake if possible
- https://github.com/ceres-solver/ceres-solver/issues/212
+ - If the version of glog detected and used to build Ceres was built with
+ CMake (i.e. Config mode) then we now use Config mode directly in
+ CeresConfig.cmake and do not install Ceres' FindGlog.cmake module.
+ - This has the benefit of removing any hard-coded paths from
+ CeresConfig.cmake provided that all dependencies were also built with
+ CMake.
- Thanks to @NeroBurner and @debalance for reporting this.
+ Change-Id: I85af8a953fd6d300e8bc0cdeb0b3636fec182f68
+
+commit 77fc1d0fc4159ebb3a0a84a16651564eb2ce3c9d
+Author: Alex Stewart <alexs.mac@gmail.com>
+Date: Sun May 24 19:07:26 2020 +0100
+
+ Use build_depend for private dependencies in Catkin package.xml
- Change-Id: I66480e86d4fa0a4b621204f2ff44cc3ff8d01c04
+ Change-Id: If0c0569e7ebbf37c0d8e8daaf7765e20a6282531
-commit 83041ac84f2d67c28559c67515e0e596a3f3aa20
-Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Fri Sep 2 19:10:35 2016 -0700
+commit a09682f00d8e50ada3c7ed16f8c48fa71a423f60
+Author: Alex Stewart <alexs.mac@gmail.com>
+Date: Sun May 24 16:49:28 2020 +0100
- Fix some compiler warnings.
+ Fix MSVC version check to support use of clang-cl front-end
- Reported by Richard Trieu.
+ - Raised as issue: #521
- Change-Id: I202b7a7df09cc19c92582d276ccf171edf88a9fb
+ Change-Id: Iaea6b43484b90ec8789bda0447c8a90759974ec1
-commit 8c4623c63a2676e79e7917bb0561f903760f19b9
-Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Thu Sep 1 00:05:09 2016 -0700
+commit b70687fcc86624c7d5520d25734938fa95d2af73
+Author: Alex Stewart <alexs.mac@gmail.com>
+Date: Sun May 24 20:28:12 2020 +0100
- Update ExpectArraysClose to use ExpectClose instead of EXPECT_NEAR
+ Add namespace qualified Ceres::ceres CMake target
- The documentation for ExpectArraysClose and its implementation
- did not match.
+ - This reflects modern CMake style, and also provides a measure of
+ protection against missing find_package() imports in downstream
+ clients resulting in linker errors when 'ceres' matches the compiled
+ library and not the imported target.
+ - The original 'ceres' target remains, as a local imported interface
+ target created by CeresConfig for backwards compatibility.
- This change makes the polynomial_test not fail on 64bit AMD builds.
+ Change-Id: Ie9ed8de9b7059bc0cae1ae5002bb94d8fe617188
+
+commit 99efa54bdb4e14c3f4382a166baf6772113f74a8
+Author: Alex Stewart <alexs.mac@gmail.com>
+Date: Sun May 24 19:18:38 2020 +0100
+
+ Replace type aliases deprecated/removed in C++17/C++20 from FixedArray
- Thanks to Phillip Huebner for reporting this.
+ - Raised as issue #551
+ - Also adds C++20 to the set of ALLOWED_CXX_STANDARDS, although this
+ will require a version of CMake >= 3.12.
- Change-Id: I503f2d3317a28d5885a34f8bdbccd49d20ae9ba2
+ Change-Id: I0f13c72e93a35391fd2d18590b4243a329a2322c
-commit 2fd39fcecb47eebce727081c9ffb8edf86c33669
+commit adb973e4a337c372aa81ca1a4f3bb704068c08b7
Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Thu Sep 1 16:05:06 2016 -0700
+Date: Thu May 21 14:45:28 2020 -0700
- FindWithDefault returns by value rather than reference.
-
- Returning by reference leads to lifetime issues with the default
- value which may go out of scope by the time it is used.
-
- Thanks to @Ardavel for reporting this, as this causes graph_test
- to fail on VS2015x64.
-
- https://github.com/ceres-solver/ceres-solver/issues/216
+ NULL -> nullptr
- Change-Id: I596481219cfbf7622d49a6511ea29193b82c8ba3
+ Change-Id: Iaeea2ef7912d328653a76b65976adc8025a5be35
-commit 716f049a7b91a8f3a4632c367d9534d1d9190a81
-Author: Mike Vitus <vitus@google.com>
-Date: Wed Aug 31 13:38:30 2016 -0700
+commit 27b717951b58c134b3a5a9f664a66c7480364d6c
+Author: Alastair Harrison <aharrison24@gmail.com>
+Date: Fri May 15 10:10:12 2020 +0100
- Convert pose graph 2D example to glog and gflags.
+ Respect FIND_QUIETLY flag in cmake config file
- Change-Id: I0ed75a60718ef95199bb36f33d9eb99157d11d40
+ Ensure that Ceres does not print any log messages when somebody has
+ used 'find_package(Ceres QUIET)' in their CMake project.
+
+ Change-Id: Id6b68859cc8a5857f3fa78f29736cb82fd5a0943
-commit 46c5ce89dda308088a5fdc238d0c126fdd2c2b58
-Author: David Gossow <dgossow@google.com>
-Date: Wed Aug 31 18:40:57 2016 +0200
+commit 646959ef118a1f10bf93741d97cf64265d42f8c6
+Author: huangqinjin <huangqinjin@gmail.com>
+Date: Sat Apr 25 02:03:11 2020 +0800
- Fix compiler errors on some systems
+ Do not export class template LineParameterization
- This fixes some signed-unsigned comparisons and a missing header
- include.
+ For MSVC, instantiating a dllimport class template will cause error C2491:
+ definition of dllimport function not allowed.
- Change-Id: Ieb2bf6e905faa74851bc4ac4658d2f1da24b6ecc
+ Change-Id: Icc7f7ea84598df0a5436f48ffc2bab5cfab93921
-commit b102d53e1dd7dab132e58411183b6fffc2090590
-Author: David Gossow <dgossow@google.com>
-Date: Wed Aug 31 10:21:20 2016 +0200
+commit 1f128d070a24224d12eb901bc74ba393ccdbd0c3
+Author: huangqinjin <huangqinjin@gmail.com>
+Date: Mon Mar 4 13:14:43 2019 +0800
- Gradient checker multithreading bugfix.
+ Change the type of parameter index/offset to match their getter/setter
- This is a follow-up on c/7470. GradientCheckingCostFunction calls
- callback_->SetGradientErrorDetected() in its Evaluate method,
- which will run in multiple threads simultaneously when enabling
- this option in the solver. Thus, the string append operation
- inside that method has to be protected by a mutex.
+ Change-Id: If28b795e792f39db9775ada105e9038570195329
+
+commit 072c8f070e16cb32f211473c40196c6b5618d5a9
+Author: huangqinjin <huangqinjin@gmail.com>
+Date: Sat Apr 25 00:04:58 2020 +0800
+
+ Initialize integer variables with integer instead of double
- Change-Id: I314ef1df2be52595370d9af05851bf6da39bb45e
+ Change-Id: I652aca4ceb3129706a5d5e38afe9f16b61200a5b
-commit 79a28d1e49af53f67af7f3387d07e7c9b7339433
-Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Wed Aug 31 06:47:45 2016 -0700
+commit 8c36bcc81fbd4f78a2faa2c914ef40af264f4c31
+Author: Alex Stewart <alexs.mac@gmail.com>
+Date: Mon Apr 27 18:33:25 2020 +0100
- Rename a confusingly named member of Solver::Options
+ Use inline & -inlinehint-threshold in auto-diff benchmarks
- Solver::Options::numeric_derivative_relative_step_size to
- Solver::Options::gradient_check_numeric_derivative_relative_step_size
+ - This results in the same performance as the original solution of
+ increasing -inline-threshold, but this approach is more viable to
+ incorporate in a large code base as its effects are more targeted.
- Change-Id: Ib89ae3f87e588d4aba2a75361770d2cec26f07aa
+ Change-Id: Id798dbca7d3050de0ea847a5ecc69484ac78a2cf
-commit 358ae741c8c4545b03d95c91fa546d9a36683677
+commit 57cf20aa5d3c1b2f25d255814f4fff5260db81c6
Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Wed Aug 31 06:58:41 2016 -0700
+Date: Tue Apr 21 10:10:01 2020 -0700
- Note that Problem::Evaluate cannot be called from an IterationCallback
+ static const -> static constexpr where we can.
- Change-Id: Ieabdc2d40715e6b547ab22156ba32e9c8444b7ed
+ Change-Id: I8a6d26a89c4377dd440fa6dcf23513b7556533fc
-commit 44044e25b14d7e623baae4505a17c913bdde59f8
+commit 40b27482a202c8b0a5f9e8f2b4be0192d34195f5
Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Wed Aug 31 05:50:58 2016 -0700
+Date: Tue Apr 21 09:35:30 2020 -0700
- Update the NumTraits for Jets
+ Add std::numeric_limit specialization for Jets
- 1. Use AVX if EIGEN_VECTORIZE_AVX is defined.
- 2. Make the cost of division same as the cost of multiplication.
+ This allows users to use std::numeric_limits on templated functors.
- These are updates to the original numtraits update needed for eigen 3.3
- that Shaheen Gandhi sent out.
-
- Change-Id: Ic1e3ed7d05a659c7badc79a894679b2dd61c51b9
+ Change-Id: I403cec5c9826033ce7dfd6047deb64f66c35f806
-commit 4b6ad5d88e45ce8638c882d3e8f08161089b6dba
-Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Sat Aug 27 23:21:55 2016 -0700
+commit e751d6e4f0daa9f691c5ed25ca8dc564875d8bef
+Author: Darius Rueckert <darius.rueckert@fau.de>
+Date: Wed Apr 8 10:43:53 2020 +0200
- Use ProductParameterization in bundle_adjuster.cc
-
- Previously, when using a quaternion to parameterize the camera
- orientation, the camera parameter block was split into two
- parameter blocks. One for the rotation and another for the
- translation and intrinsics. This was to enable the use of the
- Quaternion parameterization.
+ Remove AutodiffCodegen
- Now that we have a ProductParameterization which allows us
- to compose multiple parameterizations, this is no longer needed
- and we use a size 10 parameter block instead.
+ - Remove Codegen files
+ - Revert Jet and Rotation
- This leads to a more than 2x improvements in the linear solver time.
-
- Change-Id: I78b8f06696f81fee54cfe1a4ae193ee8a5f8e920
+ Change-Id: I005c5f98f2b6dfa5c7fd88d998b6aa83e47dab60
-commit bfc916cf1cf753b85c1e2ac037e2019ee891f6f9
-Author: Shaheen Gandhi <visigoth@gmail.com>
-Date: Thu Aug 4 12:10:14 2016 -0700
+commit e9eb76f8ef9835940659cfb3a312ed6822c48152
+Author: Darius Rueckert <darius.rueckert@fau.de>
+Date: Mon Apr 6 11:11:43 2020 +0200
- Allow ceres to be used with the latest version of Eigen
+ Remove AutodiffCodegen CMake integration
- Change-Id: Ief3b0f6b405484ec04ecd9ab6a1e1e5409a594c2
+ Change-Id: I403597540df8429378336626b8f748b7821fe6f5
-commit edbd48ab502aa418ad9700ee5c3ada5f9268b90a
-Author: Alex Stewart <alexs.mac@gmail.com>
-Date: Sun Jul 10 14:13:51 2016 +0100
+commit 9435e08a7a7c903897e18e1dc24d801caf4f62a4
+Author: Sameer Agarwal <sameeragarwal@google.com>
+Date: Fri Apr 3 11:50:09 2020 -0700
- Enable support for OpenMP in Clang if detected.
-
- - Previously we disabled OpenMP if Clang was detected, as it did not
- support it. However as of Clang 3.8 (and potentially Xcode 8) OpenMP
- is supported.
+ More clang-tidy and wjr@ comment fixes
- Change-Id: Ia39dac9fe746f1fc6310e08553f85f3c37349707
+ Change-Id: I5736ae482f736fc56c00d21c659b1f8d41da68e9
-commit f6df6c05dd83b19fa90044106ebaca40957998ae
-Author: Mike Vitus <vitus@google.com>
-Date: Thu Aug 18 19:27:43 2016 -0700
+commit d93fac4b7ab670a936ce821284a0b9d099b4688c
+Author: Darius Rueckert <darius.rueckert@fau.de>
+Date: Fri Apr 3 09:33:17 2020 +0200
- Add an example for modeling and solving a 3D pose graph SLAM problem.
+ Remove AutodiffCodegen Tests
- Change-Id: I750ca5f20c495edfee5f60ffedccc5bd8ba2bb37
+ Change-Id: Icd194db7b22add518844f1b507d0fdd3e0fe17fe
-commit ac3b8e82175122e38bafaaa9cd419ba3cee11087
-Author: David Gossow <dgossow@google.com>
-Date: Fri Apr 29 16:07:11 2016 +0200
+commit 2281c6ed24d2c12f133fa6039f224b3da18cebe3
+Author: Sameer Agarwal <sameeragarwal@google.com>
+Date: Thu Apr 2 16:43:42 2020 -0700
- Gradient checking cleanup and local parameterization bugfix
-
- Change the Ceres gradient checking API to make is useful for
- unit testing, clean up code duplication and fix interaction between
- gradient checking and local parameterizations.
-
- There were two gradient checking implementations, one being used
- when using the check_gradients flag in the Solver, the other
- being a standalone class. The standalone version was restricted
- to cost functions with fixed parameter sizes at compile time, which
- is being lifted here. This enables it to be used inside the
- GradientCheckingCostFunction as well.
+ Fixes for comments from William Rucklidge
- In addition, this installs new hooks in the Solver to ensure
- that Solve will fail if any incorrect gradients are detected. This
- way, you can set the check_gradient flags to true and detect
- errors in an automated way, instead of just printing error information
- to the log. The error log is now also returned in the Solver summary
- instead of being printed directly. The user can then decide what to
- do with it. The existing hooks for user callbacks are used for
- this purpose to keep the internal API changes minimal and non-invasive.
-
- The last and biggest change is the way the the interaction between
- local parameterizations and the gradient checker works. Before,
- local parameterizations would be ignored by the checker. However,
- if a cost function does not compute its Jacobian along the null
- space of the local parameterization, this wil not have any effect
- on the solver, but would result in a gradient checker error.
- With this change, the Jacobians are multiplied by the Jacobians
- of the respective local parameterization and thus being compared
- in the tangent space only.
-
- The typical use case for this are quaternion parameters, where
- a cost function will typically assume that the quaternion is
- always normalized, skipping the correct computation of the Jacobian
- along the normal to save computation cost.
-
- Change-Id: I5e1bb97b8a899436cea25101efe5011b0bb13282
+ Change-Id: I64fcc25532cc66dc4cb7e2ea7ccfb220b0cb7e1f
-commit d4264ec10d9a270b53b5db86c0245ae8cbd2cf18
-Author: Mike Vitus <vitus@google.com>
-Date: Wed Aug 17 13:39:05 2016 -0700
+commit d797a87a4091af6ae0063e3c8291429c15318bdc
+Author: Sameer Agarwal <sameeragarwal@google.com>
+Date: Thu Apr 2 13:57:56 2020 -0700
- Add a quaternion local parameterization for Eigen's quaternion element convention.
+ Use Ridders' method in GradientChecker.
- Change-Id: I7046e8b24805313c5fb6a767de581d0054fcdb83
-
-commit fd7cab65ef30fbc33612220abed52dd5073413c4
-Author: Mike Vitus <vitus@google.com>
-Date: Wed Aug 10 09:29:12 2016 -0700
-
- Fix typos in the pose graph 2D example.
+ Using Ridders' method gives orders of magnitude more accuracy compared
+ to central differences. This will make things slower, but this is
+ primarily a testing/debugging feature and the speed hit is not a
+ concern. This should also reduce the false positive rates when users
+ enable check_gradients. This is reflected the increased sensitivity of
+ the tests for GradientChecker.
+
+ https://github.com/ceres-solver/ceres-solver/issues/554
- Change-Id: Ie024ff6b6cab9f2e8011d21121a91931bd987bd1
+ Change-Id: I6b871c72df55be1c31175ba062cf3c1e94e4b662
-commit 375dc348745081f89693607142d8b6744a7fb6b4
-Author: Mike Vitus <vitus@google.com>
-Date: Wed Aug 3 18:51:16 2016 -0700
+commit 41675682dc9df836bf15845064cfe1087619c79d
+Author: Sameer Agarwal <sameeragarwal@google.com>
+Date: Thu Apr 2 07:28:38 2020 -0700
- Remove duplicate entry for the NIST example in the docs.
+ Fix a MSVC type deduction bug in ComputeHouseholderVector
- Change-Id: Ic4e8f9b68b77b5235b5c96fe588cc56866dab759
+ A recent change made this function templated and MSVC 16 has trouble
+ doing automatic argument deduction, so the type of the template is
+ simplified and all callsites are explicitly annotated with the type
+ of the arguments.
+
+ Change-Id: I83cd0269e6e82c4a8f4e391f5fc03b92c942f74d
-commit f554681bf22d769abc12dd6d346ef65f9bb22431
-Author: Mike Vitus <vitus@google.com>
-Date: Mon Jul 25 18:30:48 2016 -0700
+commit 947ec0c1fa0f67c89e21daaf8d1648822ae5293a
+Author: Darius Rueckert <darius.rueckert@fau.de>
+Date: Thu Apr 2 09:52:53 2020 +0200
- Add an example for modeling and solving a 2D pose graph SLAM problem.
+ Remove AutodiffCodegen autodiff benchmarks
- Change-Id: Ia89b12af7afa33e7b1b9a68d69cf2a0b53416737
+ Change-Id: If1eaad31710cc91d40323ea6cae7cabe6fa64b1f
-commit e1bcc6e0f51512f43aa7bfb7b0d62f7ac1d0cd4b
+commit 27183d661ecae246dbce6d03cacf84f39fba1f1e
Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Wed May 18 07:52:48 2016 -0700
+Date: Thu Jul 11 16:30:59 2019 +0200
- Add additional logging for analyzing orderings
+ Allow LocalParameterizations to have zero local size.
+
+ Local parameterizations with zero tangent/local size will cause the
+ corresponding parameter block to be treated as constant.
- Change-Id: Ic68d2959db35254e2895f11294fb25de4d4b8a81
+ https://github.com/ceres-solver/ceres-solver/issues/347
+
+ Change-Id: I554a2acc420f5dd9d0cc7f97b691877eb057b2c0
-commit 16980b4fec846f86910c18772b8145bcb55f4728
-Author: Mike Vitus <vitus@google.com>
-Date: Fri Jul 15 13:37:49 2016 -0700
+commit 7ac7d79dca2ac6b482da50fd9ad0227ba8d6c632
+Author: Darius Rueckert <darius.rueckert@fau.de>
+Date: Wed Apr 1 14:51:12 2020 +0200
- Delete the remove_definitons command from sampled_functions
- CMakeLists.txt because it will be inherited from the top level examples
- CMakeLists.txt.
+ Remove HelloWorldCodegen example
- Change-Id: I25593587df0ae84fd8ddddc589bc2a13f3777427
+ Change-Id: I2584f41d591a5d648b4832385c2a779bb25fc04d
-commit a04490be97800e78e59db5eb67fa46226738ffba
-Author: Mike Vitus <vitus@google.com>
-Date: Thu Jul 14 10:10:13 2016 -0700
+commit 8c8738bf832f0fc27f0d4a9585fc59b2eaa6a828
+Author: Nikolaus Demmel <nikolaus@nikolaus-demmel.de>
+Date: Sun Mar 29 13:29:02 2020 +0200
- Add readme for the sampled_function example.
+ Add photometric and relative-pose residuals to autodiff benchmarks
- Change-Id: I9468b6a7b9f2ffdd2bf9f0dd1f4e1d5f894e540c
+ Change-Id: Id100ff2656ab63bb4fd19a51b95e78281cfd8b4a
-commit ff11d0e63d4678188e8cabd40a532ba06912fe5a
-Author: Alex Stewart <alexs.mac@gmail.com>
-Date: Wed Jun 29 09:31:45 2016 +0100
+commit 9f7fb66d62014ed62ba6aa617364e8591211c797
+Author: Darius Rueckert <darius.rueckert@fau.de>
+Date: Wed Mar 25 11:41:39 2020 +0100
- Use _j[0,1,n]() Bessel functions on MSVC to avoid deprecation errors.
+ Add a constant cost function to the autodiff benchmarks
+
+ The constant cost function is run with a variable number of
+ parameters to test at which point, different compilers fail
+ to optimize the autodiff code.
- - Microsoft deprecated the POSIX Bessel functions: j[0,1,n]() in favour
- of _j[0,1,n](), it appears since at least MSVC 2005:
- https://msdn.microsoft.com/en-us/library/ms235384(v=vs.100).aspx.
- - As this occurs in jet.h (templated public header), although Ceres
- suppresses the warning when it itself is built (to suppress a warning
- about the insecurity of using std::copy), it will crop up again in
- client code (without this fix) unless it is explicitly suppressed
- there also.
- - Raised as Issue #190:
- https://github.com/ceres-solver/ceres-solver/issues/190.
+ Clang achieves expected performance which fails at >50 parameters.
+ G++ fails already at 20 parameters
- Change-Id: If7ac5dbb856748f9900be93ec0452a40c0b00524
+ Change-Id: I75d8c683ef0011d813ec6d966d7ad58f86530f44
-commit 8ea86e1614cf77644ce782e43cde6565a54444f5
-Author: Nicolai Wojke <nwojke@uni-koblenz.de>
-Date: Mon Apr 25 14:24:41 2016 +0200
+commit ab0d373e465f46ce483db640d0fb2f244f48702d
+Author: Sameer Agarwal <sameeragarwal@google.com>
+Date: Tue Mar 24 12:30:46 2020 -0700
- Fix: Copy minimizer option 'is_silent' to LinSearchDirection::Options
+ Fix a comment in autodiff.h
- Change-Id: I23b4c3383cad30033c539ac93883d77c8dd4ba1a
+ Change-Id: I613e537c834e3f29cd92808c65ddb74f112974cc
-commit 080ca4c5f2ac42620971a07f06d2d13deb7befa8
-Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Sun Apr 24 22:46:54 2016 -0700
+commit 27bb997144d00dd4494d440627f1e782bf4adf43
+Author: Johannes Beck <Jodebo_Beck@gmx.de>
+Date: Tue Mar 24 08:05:43 2020 +0100
- Fix typos in users.rst
+ Change SVD algorithm in covariance computation.
- Change-Id: Ifdc67638a39403354bc9589f42a1b42cb9984dd2
+ Switch from JacobiSVD to BDCSVD in
+ ComputeCovarianceValuesUsingDenseSVD. This should increase
+ the performance for larger covariance matrices. See
+ https://eigen.tuxfamily.org/dox/classEigen_1_1BDCSVD.html
+
+ Change-Id: Icde4dec89f506b638b0f9f1aee3b7cfc9e4d72fc
-commit 21ab397dc55335c147fdd795899b1f8981037b09
-Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Sun Apr 24 21:13:00 2016 -0700
+commit 84fdac38e033c8f9a63c6e6fca7b44219110f7df
+Author: Johannes Beck <Jodebo_Beck@gmx.de>
+Date: Tue Mar 24 08:02:21 2020 +0100
- Make some Jet comparisons exact.
+ Add const to GetCovarianceMatrix*
+
+ This CL adds const to the functions GetCovarianceMatrix and
+ GetCovarianceMatrixInTangentSpace.
- Change-Id: Ia08c72f3b8779df96f5c0d5a954b2c0a1dd3a061
+ Change-Id: Ibe2cafebede47977a9aabcac8d245f30af184fd1
-commit ee40f954cf464087eb8943abf4d9db8917a33fbe
-Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Sun Apr 24 07:49:55 2016 -0700
+commit 6bde61d6be9d81a2cd759a6bbb4a8cd3c24a529c
+Author: Johannes Beck <Jodebo_Beck@gmx.de>
+Date: Sat Dec 28 13:29:19 2019 +0100
- Add colmap to users.rst
+ Add line local parameterization.
+
+ This CL adds a local parameterization for a n-dimensional
+ line, which is represented as an origin point and a direction.
+ The line direction is updated in the same way as a
+ homogeneous vector and the origin point is updated
+ perpendicular to the line direction.
- Change-Id: I452a8c1dc6a3bc55734b2fc3a4002ff7939ba863
+ Change-Id: I733f395e5cc4250abf9778c26fe0a5ae1de6b624
-commit 9665e099022bd06e53b0779550e9aebded7f274d
+commit 2c1c0932e9d3f91691e5c5fce46b4440e181a8bc
Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Mon Apr 18 06:00:58 2016 -0700
+Date: Mon Mar 23 11:15:32 2020 -0700
- Fix step norm evaluation in LineSearchMinimizer
+ Update documentation in autodiff.h
- TrustRegionMinimizer evaluates the size of the step
- taken in the ambient space, where as the LineSearchMinimizer
- was using the norm in the tangent space. This change fixes
- this discrepancy.
-
- Change-Id: I9fef64cbb5622c9769c0413003cfb1dc6e89cfa3
+ Change-Id: Icc2753b4f5be95022ffd92e479cdd3d9d7959d4c
-commit 620ca9d0668cd4a00402264fddca3cf6bd2e7265
-Author: Alex Stewart <alexs.mac@gmail.com>
-Date: Mon Apr 18 15:14:11 2016 +0100
+commit 8904fa4887ed7b3e6d110ad5a98efbc2df48595e
+Author: Darius Rueckert <darius.rueckert@fau.de>
+Date: Mon Mar 23 14:59:26 2020 +0100
- Remove use of -Werror when compiling Ceres.
+ Inline Jet initialization in Autodiff
+
+ Inlining the Jet initialzation is mandatory for good performance
+ in autodiff, because all the constants in the dual part can be
+ propagated into the cost functor.
- - As noted in Issue #193 (in that case for GCC 6), Ceres' use of -Werror
- when compiling on *nix can prevent compilation on new compilers that
- add new warnings and there is an inevitable delay between new compiler
- versions and Ceres versions.
- - Removing the explicit use of -Werror, and relying on indirect
- verification by maintainers should fix build issues for Ceres releases
- on newer compilers.
+ This patch unrolls the initialization loop with templates and adds
+ EIGEN_ALWAYS_INLINE to the constructors.
- Change-Id: I38e9ade28d4a90e53dcd918a7d470f1a1debd7b4
+ Change-Id: Ic89d645984f3e1df6c63948236da823ba60d9620
-commit 0c63bd3efbf1d41151c9fab41d4b77dc64c572c8
-Author: Mike Vitus <vitus@google.com>
-Date: Thu Apr 14 10:25:52 2016 -0700
+commit 18a464d4e566e17930005876af19e32cc8796fa3
+Author: Sameer Agarwal <sameeragarwal@google.com>
+Date: Mon Mar 23 07:12:12 2020 -0700
- Add floor and ceil functions to the Jet implementation.
+ Remove an errant CR from local_parameterization.cc
- Change-Id: I72ebfb0e9ade2964dbf3a014225ead345d5ae352
+ Change-Id: Iff98a96f06de5755062a1c79523604dca78b298e
-commit 9843f3280356c158d23c06a16085c6c5ba35e053
-Author: Alex Stewart <alexs.mac@gmail.com>
-Date: Mon Mar 7 21:24:32 2016 +0000
+commit 5c85f21799804d39cbfd20ec451aa219511e4212
+Author: Darius Rueckert <darius.rueckert@fau.de>
+Date: Mon Mar 23 10:12:00 2020 +0100
- Report Ceres compile options as components in find_package().
+ Use ArraySelector in Autodiff
- - Users can now specify particular components from Ceres, such as
- SuiteSparse support) that must be present in a detected version of
- Ceres in order for it to be reported as found by find_package().
- - This allows users to specify for example that they require a version
- of Ceres with SuiteSparse support at configure time, rather than
- finding out only at run time that Ceres was not compiled with the
- options they require.
- - The list of available components are built directly from the Ceres
- compile options.
- - The meta-module SparseLinearAlgebraLibrary is present if at least
- one sparse linear algebra backend is available.
+ The class ArraySelector is now used in autodiff to store the
+ parameters and residuals. This reduces overhead of FixedArray
+ for fixed-sized residuals and allows more optimizations due
+ to inlining and unrolling.
- Change-Id: I65f1ddfd7697e6dd25bb4ac7e54f5097d3ca6266
+ Change-Id: Ibadc5644e64d672f7a555e250fb1f8da262f9d4f
-commit e4d4d88bbe51b9cc0f7450171511abbea0779790
-Author: Timer <linyicx@126.com>
-Date: Fri Apr 8 15:42:18 2016 +0800
+commit 80477ff073ab7af03cfb248cab4ef41a87f913d0
+Author: Darius Rueckert <darius.rueckert@fau.de>
+Date: Fri Mar 20 16:26:55 2020 +0100
- Fix a spelling error in nnls_modeling.rst
+ Add class ArraySelector
- Change-Id: I341d901d3df993bc5397ed15e6cb330b0c38fd72
+ The ArraySelector selects the best array implementation based on
+ template arguments.
+
+ Change-Id: I93c6db1a638e924b85292e63bca9525610ec2e2f
-commit 5512f58536e1be0d92010d8325b606e7b4733a08
-Author: Keir Mierle <mierle@gmail.com>
-Date: Thu Apr 7 12:03:16 2016 -0700
+commit e7a30359ee754057f9bd7b349c98c291138d91f4
+Author: Darius Rueckert <darius.rueckert@fau.de>
+Date: Fri Mar 20 15:50:37 2020 +0100
- Only use collapse() directive with OpenMP 3.0 or higher
+ Pass kNumResiduals to Autodiff
+
+ The compile-time constant kNumResiduals is now passed to the
+ autodiff functions as a template parameter. This will be used
+ by future patches to optimize autodiff performance.
- Change-Id: Icba544c0494763c57eb6dc61e98379312ca15972
+ Change-Id: Ia2b2cc99b88752e8f12f4ce2542b1963bda552f5
-commit d61e94da5225217cab7b4f93b72f97055094681f
-Author: Thomas Schneider <schneith@ethz.ch>
-Date: Wed Apr 6 10:40:29 2016 +0200
+commit f339d71dd64e4d871cc883f278a153f212f0d1f0
+Author: Sameer Agarwal <sameeragarwal@google.com>
+Date: Thu Mar 19 12:08:28 2020 -0700
+
+ Refactor the automatic differentiation benchmarks.
+
+ 1. Merge them into a single binary.
+ 2. All benchmarks now do the Residual and the Residual + Jacobian
+ evaluation.
+ 3. Re-organize and simplify the CMake file in this directory.
+ 4. Fix a bug in the file where the Clang compiler was not being matched.
+
+ autodiff_benchmarks
+ ---------------------------------------------------------------------------
+ Benchmark Time CPU Iterations
+ ---------------------------------------------------------------------------
+ BM_Linear1CodeGen/0 3.02 ns 3.01 ns 233870456
+ BM_Linear1CodeGen/1 3.02 ns 3.01 ns 233059100
+ BM_Linear1AutoDiff/0 3.78 ns 3.77 ns 185791712
+ BM_Linear1AutoDiff/1 14.0 ns 13.8 ns 53927875
+ BM_Linear10CodeGen/0 5.10 ns 5.10 ns 126745007
+ BM_Linear10CodeGen/1 29.1 ns 29.1 ns 23949310
+ BM_Linear10AutoDiff/0 6.50 ns 6.49 ns 107516972
+ BM_Linear10AutoDiff/1 169 ns 169 ns 4153218
+ BM_Rat43AutoDiff/0 52.7 ns 51.2 ns 16444586
+ BM_Rat43AutoDiff/1 91.8 ns 91.5 ns 7302316
+ BM_SnavelyReprojectionCodeGen/0 38.0 ns 36.2 ns 21131501
+ BM_SnavelyReprojectionCodeGen/1 113 ns 112 ns 5627779
+ BM_SnavelyReprojectionAutoDiff/0 34.4 ns 34.3 ns 20476937
+ BM_SnavelyReprojectionAutoDiff/1 242 ns 240 ns 2930611
+ BM_BrdfCodeGen/0 53.9 ns 53.7 ns 11950083
+ BM_BrdfCodeGen/1 507 ns 505 ns 1396732
+ BM_BrdfAutoDiff/0 58.3 ns 57.8 ns 12220670
+ BM_BrdfAutoDiff/1 2034 ns 1999 ns 257003
+
+ autodiff_benchmarks_fast_math
+ ---------------------------------------------------------------------------
+ Benchmark Time CPU Iterations
+ ---------------------------------------------------------------------------
+ BM_Linear1CodeGen/0 3.19 ns 3.16 ns 215313065
+ BM_Linear1CodeGen/1 2.78 ns 2.76 ns 201497994
+ BM_Linear1AutoDiff/0 3.27 ns 3.26 ns 206154598
+ BM_Linear1AutoDiff/1 13.2 ns 13.1 ns 57257840
+ BM_Linear10CodeGen/0 5.70 ns 5.51 ns 121849325
+ BM_Linear10CodeGen/1 33.9 ns 33.3 ns 21829295
+ BM_Linear10AutoDiff/0 6.85 ns 6.78 ns 106813153
+ BM_Linear10AutoDiff/1 173 ns 171 ns 3849877
+ BM_Rat43AutoDiff/0 44.8 ns 44.2 ns 15577017
+ BM_Rat43AutoDiff/1 96.2 ns 94.6 ns 7374864
+ BM_SnavelyReprojectionCodeGen/0 33.9 ns 33.5 ns 20508373
+ BM_SnavelyReprojectionCodeGen/1 89.7 ns 88.4 ns 7620624
+ BM_SnavelyReprojectionAutoDiff/0 36.5 ns 35.8 ns 20546176
+ BM_SnavelyReprojectionAutoDiff/1 257 ns 252 ns 3044325
+ BM_BrdfCodeGen/0 61.1 ns 58.5 ns 11334013
+ BM_BrdfCodeGen/1 265 ns 265 ns 2625459
+ BM_BrdfAutoDiff/0 52.5 ns 52.5 ns 12938763
+ BM_BrdfAutoDiff/1 1560 ns 1560 ns 440909
+
+ Change-Id: I2d1a4293d3245a50f73af6cf5e5138084321ae6f
+
+commit d37b4cb150c4af65268f9ce5739d1c67e73cb358
+Author: Sameer Agarwal <sameeragarwal@google.com>
+Date: Thu Mar 19 07:36:58 2020 -0700
- Add IsParameterBlockConstant to the ceres::Problem class.
+ Fix some include headers in codegen/test_utils.cc/h
- Change-Id: I7d0e828e81324443209c17fa54dd1d37605e5bfe
+ Change-Id: I769029ce2797eba0de6c7baeb76dc3f2782b6305
-commit 77d94b34741574e958a417561702d6093fba87fb
-Author: Alex Stewart <alexs.mac@gmail.com>
-Date: Sun Feb 14 16:54:03 2016 +0000
+commit 550766e6da49dca895a6e2056b0872c557157c5b
+Author: Darius Rueckert <darius.rueckert@fau.de>
+Date: Wed Mar 18 20:09:20 2020 +0100
- Fix install path for CeresConfig.cmake to be architecture-aware.
+ Add Autodiff Brdf Benchmark
- - Previously we were auto-detecting a "64" suffix for the install path
- for the Ceres library on non-Debian/Arch Linux distributions, but
- we were installing CeresConfig.cmake to an architecture independent
- location.
- - We now install CeresConfig.cmake to lib${LIB_SUFFIX}/cmake/Ceres.
- - Also make LIB_SUFFIX visible to the user in the CMake GUI s/t they can
- easily override the auto-detected value if desired.
- - Reported by jpgr87@gmail.com as Issue #194.
+ The disney brdf is a good benchmark cost functor, because it has
+ - 28 parameters in 7 blocks
+ - 3 residuals
+ - Lots of low-level arithmetic
- Change-Id: If126260d7af685779487c01220ae178ac31f7aea
+ Change-Id: I62c8a717d0aecb64639158f971bdccf6afdfae36