12 #define EIGEN_SCALAR_BINARY_OP_PLUGIN { g_called |= (!internal::is_same<LhsScalar,RhsScalar>::value); } 31 m2 = MatrixType::Random(rows, cols),
34 Scalar s1 = internal::random<Scalar>();
37 Index r = internal::random<Index>(0, rows-1),
38 c = internal::random<Index>(0, cols-1);
70 VERIFY_IS_APPROX(m1.cwiseProduct(m1.block(0,0,rows,cols)), m1.cwiseProduct(m1));
81 RealScalar
s = internal::random<RealScalar>();
86 VERIFY(
g_called &&
"real * matrix<complex> not properly optimized");
90 VERIFY(
g_called &&
"matrix<complex> * real not properly optimized");
94 VERIFY(
g_called &&
"matrix<complex> / real not properly optimized");
98 VERIFY(
g_called &&
"real + matrix<complex> not properly optimized");
102 VERIFY(
g_called &&
"matrix<complex> + real not properly optimized");
106 VERIFY(
g_called &&
"real - matrix<complex> not properly optimized");
110 VERIFY(
g_called &&
"matrix<complex> - real not properly optimized");
129 CALL_SUBTEST_11( real_complex<Matrix4cd>() );
130 CALL_SUBTEST_11( real_complex<MatrixXcf>(10,10) );
131 CALL_SUBTEST_11( real_complex<ArrayXXcf>(10,10) );
134 #ifdef EIGEN_TEST_PART_4 139 m3 = m2 = Matrix4d::Random()*1
e-20;
void test_linearstructure()
Holds information about the various numeric (i.e. scalar) types allowed by Eigen. ...
#define VERIFY_IS_APPROX(a, b)
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Array< double, 1, 3 > e(1./3., 0.5, 2.)
NumTraits< Scalar >::Real RealScalar
EIGEN_DEFAULT_DENSE_INDEX_TYPE DenseIndex
void linearStructure(const MatrixType &m)
#define EIGEN_TEST_MAX_SIZE
void real_complex(DenseIndex rows=MatrixType::RowsAtCompileTime, DenseIndex cols=MatrixType::ColsAtCompileTime)
The matrix class, also used for vectors and row-vectors.