Re: [eigen] Initial implementation of tensor support |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen 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:
http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2013/08/msg00008.html
Here is the corresponding commit (move support):
https://bitbucket.org/eigen/eigen/commits/c280e90
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
#endif
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.
Christoph
--
----------------------------------------------
Dipl.-Inf., Dipl.-Math. Christoph Hertzberg
Cartesium 0.049
Universität Bremen
Enrique-Schmidt-Straße 5
28359 Bremen
Tel: +49 (421) 218-64252
----------------------------------------------