Re: [eigen] Eigen2 to Eigen3 Migration Path |

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]

*To*: eigen@xxxxxxxxxxxxxxxxxxx*Subject*: Re: [eigen] Eigen2 to Eigen3 Migration Path*From*: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>*Date*: Wed, 12 Jan 2011 09:41:23 -0500*Dkim-signature*: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type:content-transfer-encoding; bh=IGRDSe2KxGcQmJiKnbDScrtLckGYzltbo+6ZXM7X+0s=; b=eg0uRSI+tMbHSa3G1zobBBt/Fqa+GcfiN0dY4GqonFdKoEQeVuyCvddtiwBIzZSNPs 6m08K8/84PmmXcQ9io4Qt2/nGEce5gPqg3VM7/Wf0KeXXWVLF4GmA+1sjiZ/6Ge5qvui H4bwCDfMVruD8V/BG5ajP+AfZbOprLbnnWGII=*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:content-transfer-encoding; b=CNWmnL/CigCYFyq4fclx14YCT+JPrldvQ730p6f3rQo7pHkKyMehvSX+IjM5yKiSaf T9Zl0wF5Bu1jbg5jE5CnUl64nexd978E0FNs463KfrI5eBWfBrGpzXUkTyKwlsZKBzv3 j2rsEpxpW/Y4s/B5weTSwKQAnmycivqKNpM1Y=

2011/1/12 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>: > OK, thought about this some more. > > If EIGEN2_SUPPORT doesn't work for you, then here's what you can do: > > * about the namespace & mangling: go ahead with your Eigen -> Eigen3 > renaming, this is a non-issue. Ah wait ... :) the linking is indeed a non-issue, but at compilation time, if the same file includes another library's headers that uses Eigen3 with the Eigen namespace non-renamed, this will fail. Benoit > Indeed, every .cpp files that makes > Eigen calls, #includes the corresponding Eigen sources itself, so it > will never have to link to another object file to find a function > definition. This means that the only bad effect of this namespace > renaming is at worst to have redundant code (the same function > compiled with Eigen and with Eigen3) which is not a big deal since > it's temporary. You won't get linking failures, and you won't > accidentally link to the wrong function definition. > > * about the include guards and macros, first of all check if it is > really the case that a single .cpp file really needs to include both > eigen2 and eigen3, as opposed to separate .cpp files, some linking to > eigen2 and some to eigen3 ? > > Benoit > > 2011/1/12 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>: >> 2011/1/12 Gael Guennebaud <gael.guennebaud@xxxxxxxxx>: >>> On Wed, Jan 12, 2011 at 1:57 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote: >>>> The trivial solution would have been to replace Eigen by Eigen3 and >>>> EIGEN_ by EIGEN3_ everywhere in the Eigen3 sources, but that is quite >>>> invasive at this stage. >>>> >>>> However, given that that solves the problem once and for all, also for >>>> any future version, it's quite tempting. >>>> >>>> Would you agree with such a change? >>> >>> but think about the hundreds of projects which are already using >>> Eigen3... I'm afraid this is much too late for such a change. Let's >>> first see whether EIGEN2_SUPPORT could not solve the issue. >> >> My assumption here was that Eigen2 still has many more users than >> Eigen3 has, but indeed experimental data proves me wrong: >> http://stats.tuxfamily.org/eigen.tuxfamily.org/ >> I copied the list of visited pages on our website with number of >> visits in January 2011, and did: >> >> bjacob@cahouette:~$ grep /dox/ stats | cut -f 2 -d ' ' | awk '{ SUM += >> $1} END { print SUM }' >> 663 >> bjacob@cahouette:~$ grep /dox\-devel/ stats | cut -f 2 -d ' ' | awk '{ >> SUM += $1} END { print SUM }' >> 617 >> >> So we seem to have almost as many users on Eigen3 as we have on Eigen2. >> >> Solving the present problem with EIGEN2_SUPPORT would be great indeed. >> Let's wait to hear back from Tully about that. We can probably extend >> EIGEN2_SUPPORT to do many more things you may need. >> >> Benoit >> >> >>> >>> gael >>> >>> >>> >> >

**Follow-Ups**:**Re: [eigen] Eigen2 to Eigen3 Migration Path***From:*Benoit Jacob

**References**:**[eigen] Eigen2 to Eigen3 Migration Path***From:*Tully Foote

**Re: [eigen] Eigen2 to Eigen3 Migration Path***From:*Benoit Jacob

**Re: [eigen] Eigen2 to Eigen3 Migration Path***From:*Gael Guennebaud

**Re: [eigen] Eigen2 to Eigen3 Migration Path***From:*Benoit Jacob

**Re: [eigen] Eigen2 to Eigen3 Migration Path***From:*Benoit Jacob

**Messages sorted by:**[ date | thread ]- Prev by Date:
**Re: [eigen] Eigen2 to Eigen3 Migration Path** - Next by Date:
**Re: [eigen] Eigen2 to Eigen3 Migration Path** - Previous by thread:
**Re: [eigen] Eigen2 to Eigen3 Migration Path** - Next by thread:
**Re: [eigen] Eigen2 to Eigen3 Migration Path**

Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |