diff --git a/unsupported/Eigen/AdolcForward b/unsupported/Eigen/AdolcForward index 7da999727..e73909d4b 100644 --- a/unsupported/Eigen/AdolcForward +++ b/unsupported/Eigen/AdolcForward @@ -7,8 +7,8 @@ // 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_ADLOC_FORWARD_MODULE_H -#define EIGEN_ADLOC_FORWARD_MODULE_H +#ifndef EIGEN_ADOLC_FORWARD_MODULE_H +#define EIGEN_ADOLC_FORWARD_MODULE_H //-------------------------------------------------------------------------------- // @@ -42,6 +42,8 @@ #include "../../Eigen/Core" +#include "../../Eigen/src/Core/util/DisableStupidWarnings.h" + namespace Eigen { /** @@ -57,7 +59,7 @@ namespace Eigen { * the preprocessor token NUMBER_DIRECTIONS. The default is 2. * * \code - * #include + * #include * \endcode */ //@{ @@ -111,7 +113,7 @@ class AdolcForwardJacobian : public Functor { template AdolcForwardJacobian(const T0& a0, const T1& a1) : Functor(a0, a1) {} template - AdolcForwardJacobian(const T0& a0, const T1& a1, const T1& a2) : Functor(a0, a1, a2) {} + AdolcForwardJacobian(const T0& a0, const T1& a1, const T2& a2) : Functor(a0, a1, a2) {} typedef typename Functor::InputType InputType; typedef typename Functor::ValueType ValueType; @@ -150,4 +152,6 @@ class AdolcForwardJacobian : public Functor { } // namespace Eigen -#endif // EIGEN_ADLOC_FORWARD_MODULE_H +#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" + +#endif // EIGEN_ADOLC_FORWARD_MODULE_H diff --git a/unsupported/Eigen/ArpackSupport b/unsupported/Eigen/ArpackSupport index 3987f7c43..dcd9858eb 100644 --- a/unsupported/Eigen/ArpackSupport +++ b/unsupported/Eigen/ArpackSupport @@ -16,7 +16,7 @@ * This module provides a wrapper to Arpack, a library for sparse eigenvalue decomposition. * * \code - * #include + * #include * \endcode */ diff --git a/unsupported/Eigen/AutoDiff b/unsupported/Eigen/AutoDiff index 0480c69ee..a1e964f27 100644 --- a/unsupported/Eigen/AutoDiff +++ b/unsupported/Eigen/AutoDiff @@ -17,7 +17,7 @@ namespace Eigen { /** * \defgroup AutoDiff_Module Auto Diff module * - * This module features forward automatic differentation via a simple + * This module features forward automatic differentiation via a simple * templated scalar type wrapper AutoDiffScalar. * * Warning : this should NOT be confused with numerical differentiation, which @@ -35,7 +35,6 @@ namespace Eigen { // IWYU pragma: begin_exports #include "src/AutoDiff/CoherentPadOp.h" #include "src/AutoDiff/AutoDiffScalar.h" -// #include "src/AutoDiff/AutoDiffVector.h" #include "src/AutoDiff/AutoDiffJacobian.h" // IWYU pragma: end_exports diff --git a/unsupported/Eigen/BVH b/unsupported/Eigen/BVH index 58fb72fb2..bcab730ac 100644 --- a/unsupported/Eigen/BVH +++ b/unsupported/Eigen/BVH @@ -98,11 +98,15 @@ namespace Eigen { //@{ +#include "../../Eigen/src/Core/util/DisableStupidWarnings.h" + // IWYU pragma: begin_exports #include "src/BVH/BVAlgorithms.h" #include "src/BVH/KdBVH.h" // IWYU pragma: end_exports +#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" + //@} #endif // EIGEN_BVH_MODULE_H diff --git a/unsupported/Eigen/FFT b/unsupported/Eigen/FFT index 4b7f2397c..460ad2662 100644 --- a/unsupported/Eigen/FFT +++ b/unsupported/Eigen/FFT @@ -37,14 +37,15 @@ * - fftw (http://www.fftw.org) : faster, GPL -- incompatible with Eigen in LGPL form, bigger code size. * - MKL (https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-download.html) : fastest, free -- may be * incompatible with Eigen in GPL form. - * - PocketFFT/DUCC (https://gitlab.mpcdf.mpg.de/mtr/pocketfft, https://gitlab.mpcdf.mpg.de/mtr/ducc) : faster than kissfft, BSD 3-clause. - * It is a heavily modified implementation of FFTPack, with the following advantages: - * 1.strictly C++11 compliant - * 2.more accurate twiddle factor computation - * 3.very fast plan generation - * 4.worst case complexity for transform sizes with large prime factors is N*log(N), because Bluestein's algorithm is + * - PocketFFT/DUCC (https://gitlab.mpcdf.mpg.de/mtr/pocketfft, https://gitlab.mpcdf.mpg.de/mtr/ducc) : faster than + * kissfft, BSD 3-clause. A heavily modified implementation of FFTPack with the following advantages: + * -# strictly C++11 compliant + * -# more accurate twiddle factor computation + * -# very fast plan generation + * -# worst case complexity for transform sizes with large prime factors is N*log(N), + * because Bluestein's algorithm is used for these cases. + * . * According to the author, DUCC contains the "evolution" of pocketfft, though the interface is very similar. - * used for these cases * * \section FFTDesign Design * @@ -88,7 +89,6 @@ #include #include "src/FFT/fftw_impl.h" namespace Eigen { -// template typedef struct internal::fftw_impl default_fft_impl; this does not work template struct default_fft_impl : public internal::fftw_impl {}; } // namespace Eigen @@ -110,7 +110,6 @@ struct default_fft_impl : public internal::pocketfft_impl {}; #elif defined EIGEN_DUCCFFT_DEFAULT #include #include -#include #include #include "src/FFT/duccfft_impl.h" namespace Eigen { @@ -149,7 +148,7 @@ struct traits > { template struct fft_fwd_proxy : public ReturnByValue > { - typedef DenseIndex Index; + typedef Eigen::Index Index; fft_fwd_proxy(const T_SrcMat& src, T_FftIfc& fft, Index nfft) : m_src(src), m_ifc(fft), m_nfft(nfft) {} @@ -167,7 +166,7 @@ struct fft_fwd_proxy : public ReturnByValue > template struct fft_inv_proxy : public ReturnByValue > { - typedef DenseIndex Index; + typedef Eigen::Index Index; fft_inv_proxy(const T_SrcMat& src, T_FftIfc& fft, Index nfft) : m_src(src), m_ifc(fft), m_nfft(nfft) {} @@ -187,7 +186,7 @@ template > class FFT { public: typedef T_Impl impl_type; - typedef DenseIndex Index; + typedef Eigen::Index Index; typedef typename impl_type::Scalar Scalar; typedef typename impl_type::Complex Complex; @@ -391,14 +390,7 @@ class FFT { private: template inline void scale(T_Data* x, Scalar s, Index nx) { -#if 1 for (int k = 0; k < nx; ++k) *x++ *= s; -#else - if (((ptrdiff_t)x) & 15) - Matrix::Map(x, nx) *= s; - else - Matrix::MapAligned(x, nx) *= s; -#endif } inline void ReflectSpectrum(Complex* freq, Index nfft) { @@ -427,4 +419,4 @@ inline void fft_inv_proxy::evalTo(T_DestMat& dst) const { #include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" -#endif +#endif // EIGEN_FFT_MODULE_H diff --git a/unsupported/Eigen/KroneckerProduct b/unsupported/Eigen/KroneckerProduct index 80432ea67..efc46da0c 100644 --- a/unsupported/Eigen/KroneckerProduct +++ b/unsupported/Eigen/KroneckerProduct @@ -20,12 +20,14 @@ namespace Eigen { * This module contains an experimental Kronecker product implementation. * * \code - * #include + * #include * \endcode */ } // namespace Eigen +#include "../../Eigen/src/Core/util/DisableStupidWarnings.h" + // IWYU pragma: begin_exports #include "src/KroneckerProduct/KroneckerTensorProduct.h" // IWYU pragma: end_exports diff --git a/unsupported/Eigen/LevenbergMarquardt b/unsupported/Eigen/LevenbergMarquardt index 72c6da2e6..7a0d17852 100644 --- a/unsupported/Eigen/LevenbergMarquardt +++ b/unsupported/Eigen/LevenbergMarquardt @@ -10,27 +10,23 @@ #ifndef EIGEN_LEVENBERGMARQUARDT_MODULE_H #define EIGEN_LEVENBERGMARQUARDT_MODULE_H -// #include - #include "../../Eigen/Core" #include "../../Eigen/Jacobi" #include "../../Eigen/QR" -#include "NumericalDiff" - +#include "../../Eigen/SparseCore" #include "../../Eigen/SparseQR" +#include "NumericalDiff" /** * \defgroup LevenbergMarquardt_Module Levenberg-Marquardt module * * \code - * #include + * #include * \endcode * * */ -#include "../../Eigen/SparseCore" - #include "../../Eigen/src/Core/util/DisableStupidWarnings.h" // IWYU pragma: begin_exports diff --git a/unsupported/Eigen/MPRealSupport b/unsupported/Eigen/MPRealSupport index 322ff45fb..ce6b48f3f 100644 --- a/unsupported/Eigen/MPRealSupport +++ b/unsupported/Eigen/MPRealSupport @@ -15,12 +15,14 @@ #include "../../Eigen/Core" #include +#include "../../Eigen/src/Core/util/DisableStupidWarnings.h" + namespace Eigen { /** * \defgroup MPRealSupport_Module MPFRC++ Support module * \code - * #include + * #include * \endcode * * This module provides support for multi precision floating point numbers @@ -35,7 +37,7 @@ namespace Eigen { * \code #include -#include +#include #include using namespace mpfr; using namespace Eigen; @@ -95,7 +97,7 @@ struct NumTraits : GenericNumTraits { return std::numeric_limits::digits10(Precision); } static inline int digits10(const Real& x) { return std::numeric_limits::digits10(x); } - + static inline int max_digits10(long Precision = mpfr::mpreal::get_default_prec()) { return std::numeric_limits::max_digits10(Precision); } @@ -211,4 +213,6 @@ struct gebp_kernel +#include "../../Eigen/src/Core/util/DisableStupidWarnings.h" + namespace Eigen { /** \ingroup nnls @@ -385,4 +387,6 @@ void NNLS::solveInactiveSet_(const RhsVectorType &b) { } // namespace Eigen -#endif // EIGEN_NNLS_H +#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" + +#endif // EIGEN_NNLS_MODULE_H diff --git a/unsupported/Eigen/NonLinearOptimization b/unsupported/Eigen/NonLinearOptimization index 486dd4a59..d678a2bc8 100644 --- a/unsupported/Eigen/NonLinearOptimization +++ b/unsupported/Eigen/NonLinearOptimization @@ -118,6 +118,8 @@ * unsupported/test/NonLinearOptimization.cpp. */ +#include "../../Eigen/src/Core/util/DisableStupidWarnings.h" + // IWYU pragma: begin_exports #ifndef EIGEN_PARSED_BY_DOXYGEN @@ -138,4 +140,6 @@ #include "src/NonLinearOptimization/LevenbergMarquardt.h" // IWYU pragma: end_exports +#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" + #endif // EIGEN_NONLINEAROPTIMIZATION_MODULE_H diff --git a/unsupported/Eigen/NumericalDiff b/unsupported/Eigen/NumericalDiff index ed236c860..ef53faaf2 100644 --- a/unsupported/Eigen/NumericalDiff +++ b/unsupported/Eigen/NumericalDiff @@ -48,10 +48,14 @@ namespace Eigen { //@{ +#include "../../Eigen/src/Core/util/DisableStupidWarnings.h" + // IWYU pragma: begin_exports #include "src/NumericalDiff/NumericalDiff.h" // IWYU pragma: end_exports +#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" + //@} #endif // EIGEN_NUMERICALDIFF_MODULE_H diff --git a/unsupported/Eigen/OpenGLSupport b/unsupported/Eigen/OpenGLSupport index f22ae5653..8d49c8327 100644 --- a/unsupported/Eigen/OpenGLSupport +++ b/unsupported/Eigen/OpenGLSupport @@ -18,10 +18,12 @@ #include #endif +#include "../../Eigen/src/Core/util/DisableStupidWarnings.h" + namespace Eigen { /** - * \defgroup OpenGLSUpport_Module OpenGL Support module + * \defgroup OpenGLSupport_Module OpenGL Support module * * This module provides wrapper functions for a couple of OpenGL functions * which simplify the way to pass Eigen's object to openGL. @@ -29,7 +31,7 @@ namespace Eigen { * * \code * // You need to add path_to_eigen/unsupported to your include path. - * #include + * #include * // ... * Vector3f x, y; * Matrix3f rot; @@ -347,4 +349,6 @@ EIGEN_GL_FUNC1_SPECIALIZATION_VEC(glUniform, GLint, const, double, 4, 4dv_ei) } // namespace Eigen +#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" + #endif // EIGEN_OPENGL_MODULE_H diff --git a/unsupported/Eigen/SpecialFunctions b/unsupported/Eigen/SpecialFunctions index 376b025fd..2d84d7230 100644 --- a/unsupported/Eigen/SpecialFunctions +++ b/unsupported/Eigen/SpecialFunctions @@ -10,7 +10,7 @@ #ifndef EIGEN_SPECIALFUNCTIONS_MODULE_H #define EIGEN_SPECIALFUNCTIONS_MODULE_H -#include +#include #include "../../Eigen/Core" diff --git a/unsupported/Eigen/Splines b/unsupported/Eigen/Splines index 632095deb..36663a5fa 100644 --- a/unsupported/Eigen/Splines +++ b/unsupported/Eigen/Splines @@ -1,7 +1,7 @@ // This file is part of Eigen, a lightweight C++ template library // for linear algebra. // -// Copyright (C) 20010-2011 Hauke Heibel +// Copyright (C) 2010-2011 Hauke Heibel // // 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 @@ -10,6 +10,8 @@ #ifndef EIGEN_SPLINES_MODULE_H #define EIGEN_SPLINES_MODULE_H +#include "../../Eigen/Core" + namespace Eigen { /** * \defgroup Splines_Module Spline and spline fitting module diff --git a/unsupported/Eigen/Tensor b/unsupported/Eigen/Tensor index 6053b0164..9656527f3 100644 --- a/unsupported/Eigen/Tensor +++ b/unsupported/Eigen/Tensor @@ -8,7 +8,7 @@ // 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_CXX11_TENSOR_MODULE_H +#ifndef EIGEN_CXX11_TENSOR_MODULE_H #define EIGEN_CXX11_TENSOR_MODULE_H #include "../../Eigen/Core" @@ -139,4 +139,4 @@ #include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" -// #endif // EIGEN_CXX11_TENSOR_MODULE_H +#endif // EIGEN_CXX11_TENSOR_MODULE_H diff --git a/unsupported/Eigen/TensorSymmetry b/unsupported/Eigen/TensorSymmetry index 2981da723..6f2e4ab8d 100644 --- a/unsupported/Eigen/TensorSymmetry +++ b/unsupported/Eigen/TensorSymmetry @@ -24,7 +24,7 @@ * Including this module will implicitly include the Tensor module. * * \code - * #include + * #include * \endcode */ diff --git a/unsupported/Eigen/src/Splines/SplineFwd.h b/unsupported/Eigen/src/Splines/SplineFwd.h index ff648d46a..6c120d55b 100644 --- a/unsupported/Eigen/src/Splines/SplineFwd.h +++ b/unsupported/Eigen/src/Splines/SplineFwd.h @@ -1,7 +1,7 @@ // This file is part of Eigen, a lightweight C++ template library // for linear algebra. // -// Copyright (C) 20010-2011 Hauke Heibel +// Copyright (C) 2010-2011 Hauke Heibel // // 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