1. 16 Apr, 2015 4 commits
  2. 15 Apr, 2015 2 commits
  3. 14 Apr, 2015 2 commits
  4. 11 Apr, 2015 2 commits
  5. 10 Apr, 2015 1 commit
    • Sameer Agarwal's avatar
      Remove confusing code from DenseJacobianWriter · d500caac
      Sameer Agarwal authored
      The code seemed to imply that its possible to call the Write
      method with a null pointer which is never the case. There would
      be no point to calling Write.
      
      Thanks to Michael Vitus for pointing this out.
      
      Change-Id: Ic9a276856d0a7e65d53a1cc8742d4831c1a52615
      d500caac
  6. 07 Apr, 2015 1 commit
    • Sameer Agarwal's avatar
      Revert 81219fff. · e712ce18
      Sameer Agarwal authored
      Eigen upstream was broken a little while ago, and it seemed to be
      the case that we needed a fix for using the LLT factorization on
      ARM.
      
      This has been fixed and AFAIK there are no stable eigen releases
      with this bug in it.
      
      For full gore, see
      
      http://eigen.tuxfamily.org/bz/show_bug.cgi?id=992
      
      In light of the fix, the extra layer of indirection introduced earlier
      is not needed and we are reverting to normal programming.
      
      Change-Id: I16929d2145253b38339b573b27b6b8fabd523704
      e712ce18
  7. 06 Apr, 2015 6 commits
    • Sameer Agarwal's avatar
      Lint changes from Jim Roseborough. · e78a97ac
      Sameer Agarwal authored
      Change-Id: I4b1e9ac6c1c74e96f51e57e0cbeaa3d3d649f770
      e78a97ac
    • Alex Stewart's avatar
      Add documentation on CMake package installation process. · d95f9192
      Alex Stewart authored
      - A lot of users find the CMake package installation process confusing,
        particularly the use of imported targets when exporting their own
        projects which use Ceres.
      - This patch adds a brief description of the overall process and the
        main bear-trap users are ensnared by.
      
      Change-Id: I44c022bbd18a393868bf88ea9ddd807c5e08abc9
      d95f9192
    • Sameer Agarwal's avatar
      Revert a call to SolveUpperTriangularUsingCholesky. · e2a71699
      Sameer Agarwal authored
      The call to llt in backsubstitute seems to be using one
      of the fixed size specializations which is best done with
      an inline call to llt/ldlt rather than introducing yet another
      variant of the SolverUpperTriangularUsingCholesky and calling it.
      
      Also change the way SolverUpperTriangularUsingCholesky handles
      error. It always computes the solution even if it is garbage
      and then returns the error code.
      
      This ensures that the previous code that depends on unconditional
      computation still works.
      
      Change-Id: Idb1e6efdae9a3775a072e3b87cde02e0bbddb319
      e2a71699
    • Sameer Agarwal's avatar
      Use solveInPlace correctly. · 59d7f984
      Sameer Agarwal authored
      When solving a linear system using Eigen's dense Cholesky factorization
      if the right hand side of the linear system is the same vector
      that will store the solution, call solveInPlace instead of solve.
      
      Change-Id: I3e6d2f21ff420c25217cd87ee5d269fdfabbf19a
      59d7f984
    • Sameer Agarwal's avatar
      Make CERES_EIGEN_VERSION macro independent of CMake. · 10cbe858
      Sameer Agarwal authored
      CERES_EIGEN_VERSION was being defined by the CMakeList.txt file
      but it is needed by the android build too. So this change
      directly constructs the CERES_EIGEN_VERSION string out of the
      raw Eigen version numbers.
      
      Change-Id: I65309805a59076c3082141d9042ab7e0e1b972bc
      10cbe858
    • Sameer Agarwal's avatar
      Allow using Eigen's LDLT factorization instead of LLT factorization · 81219fff
      Sameer Agarwal authored
      It seems that Eigen's LLT factorization is broken on ARM.
      This patch enables the use of LDLT factorization instead of LLT
      factorization. The switch is controlled at compile time using a
      preprocessor define - CERES_USE_EIGEN_LDLT.
      
      By default we continue to use LLT factorization though.
      
      To make the switching easier without introducing the Cholesky factorization
      based inversion and linear system solve routines have been abstracted into
      two new functions.
      
      Android.mk has been updated to enable the LDLT factorization, but
      the cmake file has not been updated as I will leave it to Alex's
      capable hands to do proper detection of ARM as a target platform.
      
      Change-Id: Iffe3abd2ce894de2a388b454df3da909b482d5e5
      81219fff
  8. 05 Apr, 2015 1 commit
  9. 04 Apr, 2015 1 commit
    • Alex Stewart's avatar
      Ensure local config.h is used if Ceres is already installed. · 5b043a94
      Alex Stewart authored
      - Previously, if Ceres was already installed to the same location as one
        of the depenedencies (e.g. /usr/local) then as the BUILD_DIR/config
        path was necessarily added to the include_directories() list *after*
        the INCLUDE_DIRS for the dependencies, the config.h for the
        *installed* version of Ceres would be used instead of the locally
        configured version, as it would appear first on the path.
      - Forcing the location of the locally configured config.h to the front
        of the include_directories() list ensures that it is found first
        (and is thus used) even if an installed version of Ceres also exists
        on the path.
      
      Change-Id: I7b4f97a3ad0120bd11551f9b8eb6bffc66966eb4
      5b043a94
  10. 31 Mar, 2015 2 commits
    • Keir Mierle's avatar
      Small messaging and comment updates in CMake · 11d3b9e7
      Keir Mierle authored
      Change-Id: I9d6707bc686b6c74d878d8c36bbe5e95a805c6f7
      11d3b9e7
    • Alex Stewart's avatar
      Handle possible presence of library prefixes in MSVC. · 58ee9f7d
      Alex Stewart authored
      - On MSVC, a Ceres dependency such as glog, may be named glog.lib, or
        libglog.lib.  By default, CMake assumes no prefix for libraries on
        MSVC when using find_library(), thus find_library(glog) would fail
        if glog was named libglog.lib.
      - This patch caches & updates CMAKE_FIND_LIBRARY_PREFIXES in all of
        Ceres' find_package scripts to include lib & "" (no prefix) on MSVC
        and then returns CMAKE_FIND_LIBRARY_PREFIXES to its original state
        before returning.
      
      Change-Id: Ic82799e3b786cfb7228a51183bc189578b072bbe
      58ee9f7d
  11. 30 Mar, 2015 2 commits
  12. 25 Mar, 2015 1 commit
    • Jack Feng's avatar
      Fix ios cmake file for cmake 3.0 · 99827919
      Jack Feng authored
      In cmake 3.0, it is required to use full path for compilers. And it
      seems like there's no need to force the compiler. Instead we can just
      use set(CMAKE_C_COMPIER clang) so that we don't need to specify full
      path of clang and clang++.
      
      Change-Id: I9f6a625068e9d37a4bf5a595bafd82cbc13fdde4
      99827919
  13. 24 Mar, 2015 1 commit
  14. 23 Mar, 2015 1 commit
  15. 21 Mar, 2015 5 commits
    • Alex Stewart's avatar
      Add thread dependency & fix namespace detection on Windows for gflags. · 5a21b8b1
      Alex Stewart authored
      - Add missing gflags threading dependency.
      - Also add optional gflags Shlwapi dependency on Windows.
      - Add check_cxx_source_compiles() with CMAKE_BUILD_TYPE to fix
        namespace test builds on Windows with NMake generators.
      - Add namespace regex on gflags.h when check_cxx_source_compiles()
        fails on Windows using Visual Studio generator.
      
      Change-Id: I6570c566e5a29c665d621a54935c16d16bac7117
      5a21b8b1
    • Sameer Agarwal's avatar
      Documentation changes. · a6971f6c
      Sameer Agarwal authored
      1. Add documentation for cubic_interpolation.h
      2. Remove the list of publications. It is an incomplete list which is
         a pain to maintain.
      3. Add a note about the interaction between manifolds and
         NumericDiffCostFunction.
      4. Fix some of the comments in cubic_interpolation.h to better reflect reality.
      5. Updated the version history.
      
      Change-Id: I0b4a5a6f3361d3fc85f1b4aec685cd80540934f1
      a6971f6c
    • Chris Sweeney's avatar
      Bug fix for reversing OrderedGroups. · 4df3d113
      Chris Sweeney authored
      Reverse() method now handles the case where no groups exist.
      
      Change-Id: Ia1ef08aa3cde01ceb71285b605a2e1f882c3b620
      4df3d113
    • Keir Mierle's avatar
      Add CERES_ prefix to macros in public headers · 3fafa3cd
      Keir Mierle authored
      Change-Id: Ie4f4311d5a669c03746e8f00426f4d7cbef20ad0
      3fafa3cd
    • Sameer Agarwal's avatar
      Lint changes from William Rucklidge. · 649f5c22
      Sameer Agarwal authored
      Change-Id: I4c34caa57c48c97df213d6fb44a1a2534a953f0f
      649f5c22
  16. 20 Mar, 2015 1 commit
  17. 18 Mar, 2015 5 commits
  18. 17 Mar, 2015 2 commits
    • Greg Coombe's avatar
      Disable LAPACK for iOS builds. · bca76b5b
      Greg Coombe authored
      Apple annoyingly claims that dsyrk_ is a private API, and rejects
      submissions to the Apple Store that include this symbol.
      
      Also change ifdef -> ifndef in blas.cc
      
      Change-Id: I432e9519cfe661fc96a58f36a86389a916b6a8b6
      bca76b5b
    • Sameer Agarwal's avatar
      Hide dsyrk_ if CERES_NO_LAPACK is defined. · f129b61d
      Sameer Agarwal authored
      This will allow iOS users not to suffer Apple's
      idiotic AppStore approval process.
      
      Change-Id: I34ad3f458b0cf8ffb0f89205937233264c3bb63a
      f129b61d