Re: [eigen] Tensor Module: Index mapping support

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


Thanks for the patch. It looks really good to me. The only issue I noticed is that the index conversion code depends on variadic templates, which are not well supported by many compilers yet. The solution is to wrap the code with the corresponding code using the EIGEN_HAS_VARIADIC_TEMPLATES define: this ensures that most of the tensor functionality is preserved for users who can't upgrade their toolchain.



On Fri, Oct 9, 2015 at 3:37 PM, Gabriel <gnuetzi@xxxxxxxxx> wrote:
Benoit, the correct patch is here :-)

http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1084

BR


On 10/08/2015 07:49 PM, Benoit Steiner wrote:
It is currently not possible to use custom index types to extract coefficients from a tensor. If you want to add the functionality I'll be happy to review a patch/pull request.

On Thu, Oct 8, 2015 at 6:52 AM, Gabriel <gnuetzi@xxxxxxxxx> wrote:
If the user of the tensor component in eigen
uses its own indices lets say

Eigen::Array<int,3> idx(1,2,3);

this is currently not possible:

Eigen::Tensor<double,3> t(4,4,4)
t( idx ) =  5;


We could implement this maybe with the following wrappers
(here for the resize function and CXX11 support of course as example):

                template<typename IndexType>
            void resize( const IndexType & dimensions ){

                resize(dimensions, std::make_index_sequence<NTensorIndices>{} );

            }

            template<typename IndexType, std::size_t... Is>
            void resize(const IndexType & dimensions, std::index_sequence<Is...> )
            {
                m_tensor.resize( dimensions(Is)... );
            }



Or is this already provided in the tensor module such that one can use own index types ?


Thanks a lot :-)

BR Gabriel








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