Re: [eigen] Mapping array of scalars into quaternions |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
Thanks for doing these experiments. This really pleads in favor of
EIGEN_STRONG_INLINE, and the fact that gcc and msvc are inlining
gcc is inlining, but msvc isn't either with inline or EIGEN_STRONG_INLINE.
anyways means that it's quite safe.
But yes, their behaviors are unchanged.
Just one thing: the current definition is:
// EIGEN_FORCE_INLINE means "inline as much as possible"
#if (defined _MSC_VER)
#define EIGEN_STRONG_INLINE __forceinline
#else
#define EIGEN_STRONG_INLINE inline
#endif
so it only is different from "inline" when _MSC_VER is defined (which
normally means that the compiler is MSVC). Does that mean that ICC
defines _MSC_VER? Or that you are using a modified EIGEN_STRONG_INLINE
for ICC?
Well, _MSC_VER is defined when using icc with visual studio. That's why
I had #if defined(_MSC_VER) && (!defined(__INTEL_COMPILER)) in the
macros definition of EIGEN_INHERIT_ASSIGNMENT_OPERATORS. That may cause
a problem when using icc outside visual studio or on linux, mac os, etc.
we may have to write :
// EIGEN_FORCE_INLINE means "inline as much as possible"
#if (defined _MSC_VER) || (defined __INTEL_COMPILER)
#define EIGEN_STRONG_INLINE __forceinline
#else
#define EIGEN_STRONG_INLINE inline
#endif
--
Mathieu Gautier