[eigen] Inconsistency in multiplication of complex with real

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


Hello all,

I think I found a little inconsistency when multiplying a complex with a real array. See the snippet below

#include <iostream>
#include <Eigen/Core>

int main()
{
	Eigen::ArrayXcd complexArray = Eigen::ArrayXcd::Random(5);
	Eigen::ArrayXd realArray = Eigen::ArrayXd::Random(5);
	complexArray = complexArray * realArray;
	std::cout << complexArray << std::endl;
	complexArray *= realArray;
	std::cout << complexArray << std::endl;
}

The first multiplication just works, but the second causes 'YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY' at compilation (Mac OS 10.6.3 - gcc 4.2.1, Eigen head). You would expect them to do the same, no?

Regards,
Johan


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