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

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


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/