introduce the 3 stages of eigen2 support, writing to the mailing list about that in Eigen2 to Eigen3 Migration Path thread

This commit is contained in:
Benoit Jacob
2011-01-21 09:51:03 -05:00
parent 34d93686db
commit cc2b7a5397
6 changed files with 75 additions and 13 deletions

View File

@@ -221,6 +221,28 @@ inline static const char *SimdInstructionSetsInUse(void) {
#endif
}
#define STAGE1_FULL_EIGEN2_API 1
#define STAGE2_RESOLVE_API_CONFLICTS 2
#define STAGE3_FULL_EIGEN3_API 3
#define STAGE9_NO_EIGEN2_SUPPORT 9
#ifdef EIGEN2_SUPPORT_STAGE1_FULL_EIGEN2_API
#define EIGEN2_SUPPORT
#define EIGEN2_SUPPORT_STAGE STAGE1_FULL_EIGEN2_API
#elif defined EIGEN2_SUPPORT_STAGE2_RESOLVE_API_CONFLICTS
#define EIGEN2_SUPPORT
#define EIGEN2_SUPPORT_STAGE STAGE2_RESOLVE_API_CONFLICTS
#elif defined EIGEN2_SUPPORT_STAGE3_FULL_EIGEN3_API
#define EIGEN2_SUPPORT
#define EIGEN2_SUPPORT_STAGE STAGE3_FULL_EIGEN3_API
#elif defined EIGEN2_SUPPORT
// default to stage 3, that's what it's always meant
#define EIGEN2_SUPPORT_STAGE3_FULL_EIGEN3_API
#define EIGEN2_SUPPORT_STAGE STAGE3_FULL_EIGEN3_API
#else
#define EIGEN2_SUPPORT_STAGE STAGE9_NO_EIGEN2_SUPPORT
#endif
#ifdef EIGEN2_SUPPORT
#undef minor
#endif