-
Notifications
You must be signed in to change notification settings - Fork 301
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
377 changed files
with
109,642 additions
and
24,821 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,31 +1,19 @@ | ||
set(Eigen_HEADERS Core LU Cholesky QR Geometry | ||
Sparse Array SVD LeastSquares | ||
QtAlignedMalloc StdVector NewStdVector | ||
Eigen Dense) | ||
include(RegexUtils) | ||
test_escape_string_as_regex() | ||
|
||
if(EIGEN_BUILD_LIB) | ||
set(Eigen_SRCS | ||
src/Core/CoreInstantiations.cpp | ||
src/Cholesky/CholeskyInstantiations.cpp | ||
src/QR/QrInstantiations.cpp | ||
) | ||
file(GLOB Eigen_directory_files "*") | ||
|
||
add_library(Eigen2 SHARED ${Eigen_SRCS}) | ||
escape_string_as_regex(ESCAPED_CMAKE_CURRENT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}") | ||
|
||
install(TARGETS Eigen2 | ||
RUNTIME DESTINATION bin | ||
LIBRARY DESTINATION lib | ||
ARCHIVE DESTINATION lib) | ||
endif(EIGEN_BUILD_LIB) | ||
|
||
if(CMAKE_COMPILER_IS_GNUCXX) | ||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g1 -O2") | ||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -g1 -O2") | ||
endif(CMAKE_COMPILER_IS_GNUCXX) | ||
foreach(f ${Eigen_directory_files}) | ||
if(NOT f MATCHES "\\.txt" AND NOT f MATCHES "${ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/[.].+" AND NOT f MATCHES "${ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/src") | ||
list(APPEND Eigen_directory_files_to_install ${f}) | ||
endif() | ||
endforeach(f ${Eigen_directory_files}) | ||
|
||
install(FILES | ||
${Eigen_HEADERS} | ||
DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen | ||
${Eigen_directory_files_to_install} | ||
DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen COMPONENT Devel | ||
) | ||
|
||
add_subdirectory(src) | ||
install(DIRECTORY src DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen COMPONENT Devel FILES_MATCHING PATTERN "*.h") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,65 +1,41 @@ | ||
// This file is part of Eigen, a lightweight C++ template library | ||
// for linear algebra. | ||
// | ||
// This Source Code Form is subject to the terms of the Mozilla | ||
// Public License v. 2.0. If a copy of the MPL was not distributed | ||
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. | ||
|
||
#ifndef EIGEN_CHOLESKY_MODULE_H | ||
#define EIGEN_CHOLESKY_MODULE_H | ||
|
||
#include "Core" | ||
|
||
#include "src/Core/util/DisableMSVCWarnings.h" | ||
|
||
// Note that EIGEN_HIDE_HEAVY_CODE has to be defined per module | ||
#if (defined EIGEN_EXTERN_INSTANTIATIONS) && (EIGEN_EXTERN_INSTANTIATIONS>=2) | ||
#ifndef EIGEN_HIDE_HEAVY_CODE | ||
#define EIGEN_HIDE_HEAVY_CODE | ||
#endif | ||
#elif defined EIGEN_HIDE_HEAVY_CODE | ||
#undef EIGEN_HIDE_HEAVY_CODE | ||
#endif | ||
|
||
namespace Eigen { | ||
#include "src/Core/util/DisableStupidWarnings.h" | ||
|
||
/** \defgroup Cholesky_Module Cholesky module | ||
* | ||
* \nonstableyet | ||
* | ||
* | ||
* This module provides two variants of the Cholesky decomposition for selfadjoint (hermitian) matrices. | ||
* Those decompositions are accessible via the following MatrixBase methods: | ||
* - MatrixBase::llt(), | ||
* Those decompositions are also accessible via the following methods: | ||
* - MatrixBase::llt() | ||
* - MatrixBase::ldlt() | ||
* - SelfAdjointView::llt() | ||
* - SelfAdjointView::ldlt() | ||
* | ||
* \code | ||
* #include <Eigen/Cholesky> | ||
* \endcode | ||
*/ | ||
|
||
#include "src/Array/CwiseOperators.h" | ||
#include "src/Array/Functors.h" | ||
#include "src/Cholesky/LLT.h" | ||
#include "src/Cholesky/LDLT.h" | ||
|
||
} // namespace Eigen | ||
|
||
#define EIGEN_CHOLESKY_MODULE_INSTANTIATE_TYPE(MATRIXTYPE,PREFIX) \ | ||
PREFIX template class LLT<MATRIXTYPE>; \ | ||
PREFIX template class LDLT<MATRIXTYPE> | ||
|
||
#define EIGEN_CHOLESKY_MODULE_INSTANTIATE(PREFIX) \ | ||
EIGEN_CHOLESKY_MODULE_INSTANTIATE_TYPE(Matrix2f,PREFIX); \ | ||
EIGEN_CHOLESKY_MODULE_INSTANTIATE_TYPE(Matrix2d,PREFIX); \ | ||
EIGEN_CHOLESKY_MODULE_INSTANTIATE_TYPE(Matrix3f,PREFIX); \ | ||
EIGEN_CHOLESKY_MODULE_INSTANTIATE_TYPE(Matrix3d,PREFIX); \ | ||
EIGEN_CHOLESKY_MODULE_INSTANTIATE_TYPE(Matrix4f,PREFIX); \ | ||
EIGEN_CHOLESKY_MODULE_INSTANTIATE_TYPE(Matrix4d,PREFIX); \ | ||
EIGEN_CHOLESKY_MODULE_INSTANTIATE_TYPE(MatrixXf,PREFIX); \ | ||
EIGEN_CHOLESKY_MODULE_INSTANTIATE_TYPE(MatrixXd,PREFIX); \ | ||
EIGEN_CHOLESKY_MODULE_INSTANTIATE_TYPE(MatrixXcf,PREFIX); \ | ||
EIGEN_CHOLESKY_MODULE_INSTANTIATE_TYPE(MatrixXcd,PREFIX) | ||
|
||
#ifdef EIGEN_EXTERN_INSTANTIATIONS | ||
|
||
namespace Eigen { | ||
EIGEN_CHOLESKY_MODULE_INSTANTIATE(extern); | ||
} // namespace Eigen | ||
#ifdef EIGEN_USE_LAPACKE | ||
#include "src/misc/lapacke.h" | ||
#include "src/Cholesky/LLT_LAPACKE.h" | ||
#endif | ||
|
||
#include "src/Core/util/EnableMSVCWarnings.h" | ||
#include "src/Core/util/ReenableStupidWarnings.h" | ||
|
||
#endif // EIGEN_CHOLESKY_MODULE_H | ||
/* vim: set filetype=cpp et sw=2 ts=2 ai: */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
// This file is part of Eigen, a lightweight C++ template library | ||
// for linear algebra. | ||
// | ||
// This Source Code Form is subject to the terms of the Mozilla | ||
// Public License v. 2.0. If a copy of the MPL was not distributed | ||
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. | ||
|
||
#ifndef EIGEN_CHOLMODSUPPORT_MODULE_H | ||
#define EIGEN_CHOLMODSUPPORT_MODULE_H | ||
|
||
#include "SparseCore" | ||
|
||
#include "src/Core/util/DisableStupidWarnings.h" | ||
|
||
extern "C" { | ||
#include <cholmod.h> | ||
} | ||
|
||
/** \ingroup Support_modules | ||
* \defgroup CholmodSupport_Module CholmodSupport module | ||
* | ||
* This module provides an interface to the Cholmod library which is part of the <a href="http://www.suitesparse.com">suitesparse</a> package. | ||
* It provides the two following main factorization classes: | ||
* - class CholmodSupernodalLLT: a supernodal LLT Cholesky factorization. | ||
* - class CholmodDecomposiiton: a general L(D)LT Cholesky factorization with automatic or explicit runtime selection of the underlying factorization method (supernodal or simplicial). | ||
* | ||
* For the sake of completeness, this module also propose the two following classes: | ||
* - class CholmodSimplicialLLT | ||
* - class CholmodSimplicialLDLT | ||
* Note that these classes does not bring any particular advantage compared to the built-in | ||
* SimplicialLLT and SimplicialLDLT factorization classes. | ||
* | ||
* \code | ||
* #include <Eigen/CholmodSupport> | ||
* \endcode | ||
* | ||
* In order to use this module, the cholmod headers must be accessible from the include paths, and your binary must be linked to the cholmod library and its dependencies. | ||
* The dependencies depend on how cholmod has been compiled. | ||
* For a cmake based project, you can use our FindCholmod.cmake module to help you in this task. | ||
* | ||
*/ | ||
|
||
#include "src/CholmodSupport/CholmodSupport.h" | ||
|
||
#include "src/Core/util/ReenableStupidWarnings.h" | ||
|
||
#endif // EIGEN_CHOLMODSUPPORT_MODULE_H | ||
|
Oops, something went wrong.