Commit Graph

4 Commits

Author SHA1 Message Date
Keir Mierle 7c4e8a454e Replace scoped_ptr with C++11's unique_ptr
Change-Id: Ib5a504c491e3a79af52a95accf009df473470c6b
2018-04-02 14:47:47 -07:00
Mike Vitus f408f89e8b Adds a Ceres Context structure.
A Ceres Context holds common global state that can be re-used within
Ceres.  The Context current contains a thread pool if compiling with
C++11 threading support.  Threads are expensive to create and destroy so
it is good to maintain across multiple Ceres solves.

Tested by compiling with and without TBB support and ran unit tests. Ran
bazel as well.

Change-Id: I82f598dfae642aa0e81a6039dc174608a5e8dbfb
2018-02-26 10:37:53 -08:00
Sameer Agarwal 15dc18a532 Change how ifdefs are used in dense_linear_solver_test.
It appears that interspersing ifdefs with macros causes problems
with Visual Studio. This patch changes the way we condition
the tests for dense linear solvers based on whether LAPACK is
available or not.

Change-Id: I306247496265c3551edad6bc8fcec9d4cf09e68d
2017-06-12 21:30:27 -07:00
Sameer Agarwal efa091122d Refactor unsymmetric_linear_solver_test
1. Break up unsymmetric_linear_solver_test into
   a. dense_linear_solver_test which covers DENSE_QR and
      DENSE_NORMAL_CHOLESKY.
   b. sparse_normal_cholesky_solver_test which covers
      SPARSE_NORMAL_CHOLESKY.

2. dense_linear_solver_test has been completely re-written. It now
   uses value parameterized tests for better logging. The number of
   test problems as been increased to 2. Last but not the least
   the actual test of correctness is not based on a golden solution
   computed using another linear solver. We now compute the residual
   and ensure that it is small.

https://github.com/ceres-solver/ceres-solver/issues/279

Change-Id: I9546a43e8ae85c31b2096a99405e47da326755ee
2017-06-08 08:18:37 -04:00