Skip to content

Commit 3e02a03

Browse files
authored
Merge pull request #49 from yixuan/Eigen3.3.4
Eigen 3.3.4
2 parents 5a80a7e + 9fcd087 commit 3e02a03

File tree

79 files changed

+1085
-711
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+1085
-711
lines changed

ChangeLog

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
2018-02-04 Yixuan Qiu <yixuan.qiu@cos.name>
2+
3+
[ In RcppEigen 0.3.3.* branch ]
4+
5+
* inst/include/Eigen: Updated to the upstream 3.3 branch of Eigen
6+
based on version 3.3.4
7+
* inst/include/unsupported: Idem
8+
* DESCRIPTION: Idem
9+
* README.md: Idem
10+
11+
* inst/include/Eigen/src/Core/util/DisableStupidWarnings.h:
12+
Patch from upstream Eigen that has not been ported to the 3.3 branch
13+
(cf GitHub issue #48)
14+
115
2017-11-19 Dirk Eddelbuettel <edd@debian.org>
216

317
* DESCRIPTION (Version, Date): Release 0.3.3.3.1

DESCRIPTION

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
Package: RcppEigen
22
Type: Package
33
Title: 'Rcpp' Integration for the 'Eigen' Templated Linear Algebra Library
4-
Version: 0.3.3.3.1
5-
Date: 2017-11-19
4+
Version: 0.3.3.4.0
5+
Date: 2018-02-04
66
Author: Douglas Bates, Dirk Eddelbuettel, Romain Francois, and Yixuan Qiu;
77
the authors of Eigen for the included version of Eigen
88
Maintainer: Dirk Eddelbuettel <edd@debian.org>
@@ -14,7 +14,7 @@ Description: R and 'Eigen' integration using 'Rcpp'.
1414
such matrices, and solutions of linear systems. Its performance on many
1515
algorithms is comparable with some of the best implementations based on
1616
'Lapack' and level-3 'BLAS'. The 'RcppEigen' package includes the header
17-
files from the 'Eigen' C++ template library (currently version 3.3.3). Thus
17+
files from the 'Eigen' C++ template library (currently version 3.3.4). Thus
1818
users do not need to install 'Eigen' itself in order to use 'RcppEigen'.
1919
Since version 3.1.1, 'Eigen' is licensed under the Mozilla Public License
2020
(version 2); earlier version were licensed under the GNU LGPL version 3 or

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ systems. Its performance on many algorithms is comparable with some of the
1212
best implementations based on `Lapack` and level-3 `BLAS`.
1313

1414
The RcppEigen package includes the header files from the Eigen C++
15-
template library (currently version 3.3.3). Thus users do not need to
15+
template library (currently version 3.3.4). Thus users do not need to
1616
install Eigen itself in order to use RcppEigen.
1717

1818
### Status

inst/include/Eigen/Cholesky

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#define EIGEN_CHOLESKY_MODULE_H
1010

1111
#include "Core"
12+
#include "Jacobi"
1213

1314
#include "src/Core/util/DisableStupidWarnings.h"
1415

@@ -31,7 +32,11 @@
3132
#include "src/Cholesky/LLT.h"
3233
#include "src/Cholesky/LDLT.h"
3334
#ifdef EIGEN_USE_LAPACKE
35+
#ifdef EIGEN_USE_MKL
36+
#include "mkl_lapacke.h"
37+
#else
3438
#include "src/misc/lapacke.h"
39+
#endif
3540
#include "src/Cholesky/LLT_LAPACKE.h"
3641
#endif
3742

inst/include/Eigen/Core

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,22 @@
1414
// first thing Eigen does: stop the compiler from committing suicide
1515
#include "src/Core/util/DisableStupidWarnings.h"
1616

17+
#if defined(__CUDACC__) && !defined(EIGEN_NO_CUDA)
18+
#define EIGEN_CUDACC __CUDACC__
19+
#endif
20+
21+
#if defined(__CUDA_ARCH__) && !defined(EIGEN_NO_CUDA)
22+
#define EIGEN_CUDA_ARCH __CUDA_ARCH__
23+
#endif
24+
25+
#if defined(__CUDACC_VER_MAJOR__) && (__CUDACC_VER_MAJOR__ >= 9)
26+
#define EIGEN_CUDACC_VER ((__CUDACC_VER_MAJOR__ * 10000) + (__CUDACC_VER_MINOR__ * 100))
27+
#elif defined(__CUDACC_VER__)
28+
#define EIGEN_CUDACC_VER __CUDACC_VER__
29+
#else
30+
#define EIGEN_CUDACC_VER 0
31+
#endif
32+
1733
// Handle NVCC/CUDA/SYCL
1834
#if defined(__CUDACC__) || defined(__SYCL_DEVICE_ONLY__)
1935
// Do not try asserts on CUDA and SYCL!
@@ -229,7 +245,7 @@
229245
#if defined __CUDACC__
230246
#define EIGEN_VECTORIZE_CUDA
231247
#include <vector_types.h>
232-
#if defined __CUDACC_VER__ && __CUDACC_VER__ >= 70500
248+
#if EIGEN_CUDACC_VER >= 70500
233249
#define EIGEN_HAS_CUDA_FP16
234250
#endif
235251
#endif
@@ -352,6 +368,7 @@ using std::ptrdiff_t;
352368
#include "src/Core/MathFunctions.h"
353369
#include "src/Core/GenericPacketMath.h"
354370
#include "src/Core/MathFunctionsImpl.h"
371+
#include "src/Core/arch/Default/ConjHelper.h"
355372

356373
#if defined EIGEN_VECTORIZE_AVX512
357374
#include "src/Core/arch/SSE/PacketMath.h"

inst/include/Eigen/Eigenvalues

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,11 @@
4545
#include "src/Eigenvalues/GeneralizedEigenSolver.h"
4646
#include "src/Eigenvalues/MatrixBaseEigenvalues.h"
4747
#ifdef EIGEN_USE_LAPACKE
48+
#ifdef EIGEN_USE_MKL
49+
#include "mkl_lapacke.h"
50+
#else
4851
#include "src/misc/lapacke.h"
52+
#endif
4953
#include "src/Eigenvalues/RealSchur_LAPACKE.h"
5054
#include "src/Eigenvalues/ComplexSchur_LAPACKE.h"
5155
#include "src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h"

inst/include/Eigen/LU

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@
2828
#include "src/LU/FullPivLU.h"
2929
#include "src/LU/PartialPivLU.h"
3030
#ifdef EIGEN_USE_LAPACKE
31+
#ifdef EIGEN_USE_MKL
32+
#include "mkl_lapacke.h"
33+
#else
3134
#include "src/misc/lapacke.h"
35+
#endif
3236
#include "src/LU/PartialPivLU_LAPACKE.h"
3337
#endif
3438
#include "src/LU/Determinant.h"

inst/include/Eigen/QR

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,11 @@
3636
#include "src/QR/ColPivHouseholderQR.h"
3737
#include "src/QR/CompleteOrthogonalDecomposition.h"
3838
#ifdef EIGEN_USE_LAPACKE
39+
#ifdef EIGEN_USE_MKL
40+
#include "mkl_lapacke.h"
41+
#else
3942
#include "src/misc/lapacke.h"
43+
#endif
4044
#include "src/QR/HouseholderQR_LAPACKE.h"
4145
#include "src/QR/ColPivHouseholderQR_LAPACKE.h"
4246
#endif

inst/include/Eigen/QtAlignedMalloc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ void qFree(void *ptr)
2727
void *qRealloc(void *ptr, std::size_t size)
2828
{
2929
void* newPtr = Eigen::internal::aligned_malloc(size);
30-
memcpy(newPtr, ptr, size);
30+
std::memcpy(newPtr, ptr, size);
3131
Eigen::internal::aligned_free(ptr);
3232
return newPtr;
3333
}

inst/include/Eigen/SVD

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,11 @@
3737
#include "src/SVD/JacobiSVD.h"
3838
#include "src/SVD/BDCSVD.h"
3939
#if defined(EIGEN_USE_LAPACKE) && !defined(EIGEN_USE_LAPACKE_STRICT)
40+
#ifdef EIGEN_USE_MKL
41+
#include "mkl_lapacke.h"
42+
#else
4043
#include "src/misc/lapacke.h"
44+
#endif
4145
#include "src/SVD/JacobiSVD_LAPACKE.h"
4246
#endif
4347

0 commit comments

Comments
 (0)