Re: [eigen] [eigen3] .cwise() vs .array() and static assertion

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


from changeset d9f25c6413a8 you also get the explicit:

Eigen/src/Core/MatrixBase.h: In member function ‘Derived&
Eigen::MatrixBase<Derived>::operator+=(const
Eigen::ArrayBase<OtherDerived>&) [with OtherDerived =
Eigen::Array<float, -0x00000000000000001, 1>, Derived =
Eigen::Matrix<float, -0x00000000000000001, -0x00000000000000001>]’:
jitse01.cpp:14:7:   instantiated from here
.../Eigen/src/Core/MatrixBase.h:433:6: error:
‘YOU_CANNOT_MIX_ARRAYS_AND_MATRICES’ is not a member of
‘Eigen::ei_static_assert<false>’

gael


On Mon, Aug 16, 2010 at 11:08 AM, Gael Guennebaud
<gael.guennebaud@xxxxxxxxx> wrote:
> Hi,
>
> you now get the following error message:
>
> Eigen/src/Core/MatrixBase.h:432:46: error: ‘Derived&
> Eigen::MatrixBase<Derived>::operator+=(const
> Eigen::ArrayBase<OtherDerived>&) [with OtherDerived =
> Eigen::Array<float, -0x00000000000000001, 1>, Derived =
> Eigen::Matrix<float, -0x00000000000000001, -0x00000000000000001>]’ is
> protected
>
> not ideal yet, but much better.
>
> gael
>
> On Wed, Aug 4, 2010 at 3:30 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote:
>> 2010/8/4 Christophe Prud'homme <christophe.prudhomme@xxxxxxxxxxxxxxx>:
>>> Hi,
>>>
>>> I am starting using eigen3
>>> I got this message
>>>
>>> THE_EVAL_EVALTO_FUNCTION_SHOULD_NEVER_BE_CALLED_FOR_DENSE_OBJECTS
>>>
>>> triggered by this code:
>>>
>>> tmp -= (0.5 * ii)*scalings().row( ii-1 ).array()*bs[ii].row( jj ).array();
>>
>> You are doing:
>>
>>  matrix -= array;
>>
>> which amounts to:
>>
>>  matrix = matrix - array;
>>
>> the mixing of matrices and arrays on the RHS is illegal, so you need to do:
>>
>> tmp.array() -= (0.5 * ii)*scalings().row( ii-1 ).array()*bs[ii].row(
>> jj ).array();
>>
>> I do agree that the error message is not helpful, needs to be fixed.
>>
>> Benoit
>>
>>>
>>> any idea what this means ?
>>>
>>> The code was compiling before with cwise()
>>>
>>> tmp -= (0.5 * ii)*scalings().row( ii-1 ).cwise()*bs[ii].row( jj );
>>>
>>> Best regards
>>> C.
>>> --
>>> Christophe Prud'homme
>>> Université de Grenoble      christophe.prudhomme@xxxxxxxxxxxxxxx
>>> LJK - Room 55                  Tel: +33476635497
>>> 51, rue des Mathématiques      Fax: +33476631263
>>> BP53 38041 Grenoble Cedex 9
>>>       <http://ljk.imag.fr/membres/Christophe.Prudhomme/>
>>>
>>>
>>>
>>
>>
>>
>



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