Re: [eigen] Mapping array of scalars into quaternions |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Mapping array of scalars into quaternions
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Fri, 13 Nov 2009 09:17:24 -0500
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=35nv0tHq+bATeFTPN50PvTkKWHemTFDzGfXyyRXbmFs=; b=jl7gxR+SQZMUdOCZIrwWJl3cZEn6vOJDoxqMfCO8kf2TPx/78Dvkij9fAhKlwDOHbr 883nLgjLecWwmBr+OExgWJx6vXWAC8nYNcQ/oKP/8zjXfvONLI006mHJeEClF1z16PT3 y3VPsnNA1gBcNKkkbHDi+oqLZLv3Z+98Jtxog=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=Lh762oJfBasz8BbiaNbwDizveHBx7aJUsGJSyXjlmsBf7mUJcAKdBdFXk/lYJWRC4a 0EhXfG0cMy8vE90S5faPBygFLXtpSsteZHTFodmev9wXaCnH53vONRb/JjLiPQCnMiwo VXO7JhgsrlG70jc5PXkegkCOPtTfecy9Y+Rrw=
2009/11/13 Mathieu Gautier <mathieu.gautier@xxxxxx>:
>> 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.
OK
>>
>> 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
Yes, that seems like a good change.
Benoit