Re: [eigen] Initial implementation of tensor support

[ Thread Index | Date Index | More Archives ]

On 30.10.2013 04:42, Jim Garrison wrote:
I have searched the mailing list archives for mentions of including
C++11 code in Eigen and have been unable to find anything.  I personally

See e.g. the thread starting here:
Here is the corresponding commit (move support):

think that one should be able to #define something which enables
optional C++11 features of Eigen.  (Such features should be coded in

I agree. Something like this would do:
#if (__cplusplus >= 201103L)
#  define EIGEN_ENABLE_CXX11

C++11 *only* if C++11 is necessary for their implementation, or if it
greatly reduces code duplication/complexity.)  Off the top of my head
these features could include:

Generally, I agree that we should use more C++11 features in the future. It does however bear the risk that projects using those features immediately lose compatibility to older compilers (which unfortunately are still common e.g. for embedded systems) -- that's especially the case if we introduce new core functionality depending on C++11.

If no Eigen core developers chime in or they do not want to include the
tensor code in unsupported/, I encourage you to pull the tensor code out

I'm not against including tensors in unsupported. Most important however I think is that someone keeps maintaining them (even though it's called 'unsupported'). It would be a pity, if tensors stopped working because they rely on internal Eigen-stuff which might change in the future.

As to whether tensors strictly require C++11:
I agree that it is quite necessary for supporting arbitrary ranks (if you want to keep the syntax elegant and don't want to introduce a lot of boiler-plate code). And as this will unlikely affect any other functionality, I'm not against that.


Dipl.-Inf., Dipl.-Math. Christoph Hertzberg
Cartesium 0.049
Universität Bremen
Enrique-Schmidt-Straße 5
28359 Bremen

Tel: +49 (421) 218-64252

Mail converted by MHonArc 2.6.19+