Lines 29-49
Link Here
|
29 |
#define EIGEN_WORLD_VERSION 2 |
29 |
#define EIGEN_WORLD_VERSION 2 |
30 |
#define EIGEN_MAJOR_VERSION 93 |
30 |
#define EIGEN_MAJOR_VERSION 93 |
31 |
#define EIGEN_MINOR_VERSION 0 |
31 |
#define EIGEN_MINOR_VERSION 0 |
32 |
|
32 |
|
33 |
#define EIGEN_VERSION_AT_LEAST(x,y,z) (EIGEN_WORLD_VERSION>x || (EIGEN_WORLD_VERSION>=x && \ |
33 |
#define EIGEN_VERSION_AT_LEAST(x,y,z) (EIGEN_WORLD_VERSION>x || (EIGEN_WORLD_VERSION>=x && \ |
34 |
(EIGEN_MAJOR_VERSION>y || (EIGEN_MAJOR_VERSION>=y && \ |
34 |
(EIGEN_MAJOR_VERSION>y || (EIGEN_MAJOR_VERSION>=y && \ |
35 |
EIGEN_MINOR_VERSION>=z)))) |
35 |
EIGEN_MINOR_VERSION>=z)))) |
36 |
#ifdef __GNUC__ |
36 |
#ifdef __GNUC__ |
37 |
#define EIGEN_GNUC_AT_LEAST(x,y) ((__GNUC__>=x && __GNUC_MINOR__>=y) || __GNUC__>x) |
37 |
#define EIGEN_GNUC_AT_LEAST(x,y) ((__GNUC__==x && __GNUC_MINOR__>=y) || __GNUC__>x) |
38 |
#else |
38 |
#else |
39 |
#define EIGEN_GNUC_AT_LEAST(x,y) 0 |
39 |
#define EIGEN_GNUC_AT_LEAST(x,y) 0 |
40 |
#endif |
40 |
#endif |
41 |
|
41 |
|
|
|
42 |
#ifdef __GNUC__ |
43 |
#define EIGEN_GNUC_AT_MOST(x,y) ((__GNUC__==x && __GNUC_MINOR__<=y) || __GNUC__<x) |
44 |
#else |
45 |
#define EIGEN_GNUC_AT_MOST(x,y) 0 |
46 |
#endif |
47 |
|
42 |
#if defined(__GNUC__) && (__GNUC__ <= 3) |
48 |
#if defined(__GNUC__) && (__GNUC__ <= 3) |
43 |
#define EIGEN_GCC3_OR_OLDER 1 |
49 |
#define EIGEN_GCC3_OR_OLDER 1 |
44 |
#else |
50 |
#else |
45 |
#define EIGEN_GCC3_OR_OLDER 0 |
51 |
#define EIGEN_GCC3_OR_OLDER 0 |
46 |
#endif |
52 |
#endif |
47 |
|
53 |
|
48 |
// 16 byte alignment is only useful for vectorization. Since it affects the ABI, we need to enable |
54 |
// 16 byte alignment is only useful for vectorization. Since it affects the ABI, we need to enable |
49 |
// 16 byte alignment on all platforms where vectorization might be enabled. In theory we could always |
55 |
// 16 byte alignment on all platforms where vectorization might be enabled. In theory we could always |