[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