Commit Graph

10 Commits

Author SHA1 Message Date
Sameer Agarwal 2ffddaccfe Use override & final instead of just using virtual.
This is safer than using virtual and this lead to a minor
bug fixes.

Change-Id: Id69cb1cc569bf6bf245f22f029c7871b6c712568
2019-07-25 16:29:14 -07:00
Sameer Agarwal f8e8951611 Lint changes from Jim Roseborough.
Change-Id: Ia92ed4dcd6750f33a178ff39465814805a99bdfa
2018-10-11 06:36:39 -07:00
Johannes Beck b2a03ef919 Remove trailing zero parameter block sizes
This patch removes the use of trailing zeros in cost functions used in
unit tests as this will be an error once the sized cost function is
implemented using variadic templates.

Change-Id: I3e8a31b310ba7299fc6b1f012f540a3118cc7661
2018-10-08 20:42:23 +02:00
Alex Stewart 8f41ca6abc Add Apple's Accelerate framework as a sparse linear algebra library.
- Currently DynamicSparseNormalCholeskySolver is unsupported for
  Accelerate.

Change-Id: I03b5a86bb22fef249c4aecd48947a613e8eff7a5
2018-06-29 09:43:03 +01:00
Keir Mierle 7492b0d8de Update copyright headers with new year and URL
Since Ceres is moving to using GitHub for issues, and the Google
Code URL in the current copyright header will soon become invalid,
update all the headers.

Change-Id: I1fce70375d1bcf098591f07b4d8f01a5c1e0789c
2015-03-18 05:43:23 +00:00
Alex Stewart 60cc520f63 Add explicit no sparse linear algebra library available option.
- Previously we had no defined default value for
  sparse_linear_algebra_library_type in Solver::Options if Ceres
  was compiled with no sparse library available.  Thus in that case,
  the default value (dependent upon the compiler) would indicate that
  one was available.
- Now we have an explicit option that means no sparse library is
  available, which is now the default value in Solver::Options in this
  case.
- Add a warning in CMake when the user disables all sparse libraries.
- Fix typos in trust_region_preprocessor_test:
  (SUITE/CX)_SPARSE -> (SUITE/CX)SPARSE that induced failures when
  no sparse libraries were available.

Change-Id: I869c399a12d42bfc44220cbb25ce6d6dd80236bd
2015-01-01 18:51:45 +00:00
Björn Piltz ccf8aea988 Fixed MSVC error C2124: divide or mod by zero
Alternatively, if quiet_NaN is not available on all platforms a workaround would be:
    volatile double zero = 0.0;
    double x = 1.0/zero;
The 'volatile' is needed to shut up "warning C4723: potential divide by 0".

Change-Id: If2bbdab8540595aa2e0079e1eb6b6fed6d4a6ef7
2014-08-25 16:16:01 +02:00
Sameer Agarwal 8de27be218 Fix a bug in TrustRegionPreprocessor
TrustRegionPreprocessor was not setting Minimizer::Options::is_constrained.
This meant that the line search for bounds constraints was not being
invoked for bounds constrained problems.

And some minor lint cleanup.

Change-Id: I18852cfaf1b33fd90b7d8c196f2063c128126658
2014-08-19 08:39:48 -07:00
Sameer Agarwal bd90384226 Lint comments from William Rucklidge.
Also some minor refactoring of the trust_region_preprocessor_test.cc

Change-Id: Ica28002254c95722faf93a7ef35bf3deab557f0b
2014-08-18 11:27:06 -07:00
Sameer Agarwal f7da411ef0 Preprocessor for the TrustRegionMinimizer.
1. Base class for preprocessors.
2. A preprocessor for problems that will be solved using
   the trust region minimizer.
3. Added sanity tests to the program reordering options
   for Schur type linear solvers.
4. Tests for the TrustRegionPreprocessor.

Change-Id: I88cd926f0053bbbf2bd6b11e03ec55b8bf473cf1
2014-08-12 21:58:25 -07:00