10 #define EIGEN_NO_STATIC_ASSERT 17 template<
typename Vec,
typename Mat,
typename Scalar>
28 template<
typename Vec,
typename Mat,
typename Scalar>
48 #if (!EIGEN_ARCH_i386) || defined(EIGEN_VECTORIZE) 50 VERIFY( (v1*very_small).norm() == 0 );
83 m2 = MatrixType::Random(rows, cols),
85 square = SquareMatrixType::Random(rows, rows);
86 VectorType
v1 = VectorType::Random(rows),
87 v2 = VectorType::Random(rows),
88 v3 = VectorType::Random(rows),
89 vzero = VectorType::Zero(rows);
91 Scalar s1 = internal::random<Scalar>(),
92 s2 = internal::random<Scalar>();
111 Index r = internal::random<Index>(0, rows-1),
112 c = internal::random<Index>(0, cols-1);
118 m3.transposeInPlace();
120 m3.transposeInPlace();
123 if(PacketSize<m3.rows() && PacketSize<m3.cols())
126 Index i = internal::random<Index>(0,m3.rows()-PacketSize);
127 Index j = internal::random<Index>(0,m3.cols()-PacketSize);
128 m3.template block<PacketSize,PacketSize>(
i,
j).transposeInPlace();
129 VERIFY_IS_APPROX( (m3.template block<PacketSize,PacketSize>(i,j)), (m1.template block<PacketSize,PacketSize>(i,j).transpose()) );
130 m3.template block<PacketSize,PacketSize>(
i,
j).transposeInPlace();
138 m3.transposeInPlace();
143 RealVectorType rv1 = RealVectorType::Random(rows);
154 MatrixXcf
a(10,10),
b(10,10);
164 a.transpose() =
a.transpose();
165 a.transpose() +=
a.transpose();
166 a.transpose() +=
a.transpose() +
b;
167 a.transpose() =
a.adjoint();
168 a.transpose() +=
a.adjoint();
169 a.transpose() +=
a.adjoint() +
b;
173 c = 1.0 * MatrixXd::Ones(10,10) +
c;
174 c = MatrixXd::Ones(10,10) * 1.0 +
c;
175 c = c + MatrixXd::Ones(10,10) .cwiseProduct( MatrixXd::Zero(10,10) );
176 c = MatrixXd::Ones(10,10) * MatrixXd::Zero(10,10);
179 for (
int j = 0;
j < 10; ++
j) {
180 c.col(
j).head(
j) = c.row(
j).head(
j);
183 for (
int j = 0;
j < 10; ++
j) {
187 a.conservativeResize(1,1);
190 a.conservativeResize(0,0);
#define CALL_SUBTEST_12(FUNC)
#define VERIFY_RAISES_ASSERT(a)
#define CALL_SUBTEST_9(FUNC)
EIGEN_DEVICE_FUNC bool isMuchSmallerThan(const Scalar &x, const OtherScalar &y, const typename NumTraits< Scalar >::Real &precision=NumTraits< Scalar >::dummy_precision())
#define CALL_SUBTEST_6(FUNC)
#define CALL_SUBTEST_4(FUNC)
void adjoint(const MatrixType &m)
#define CALL_SUBTEST_13(FUNC)
#define CALL_SUBTEST_3(FUNC)
#define CALL_SUBTEST_7(FUNC)
#define CALL_SUBTEST_11(FUNC)
Holds information about the various numeric (i.e. scalar) types allowed by Eigen. ...
AnnoyingScalar conj(const AnnoyingScalar &x)
#define CALL_SUBTEST_10(FUNC)
#define VERIFY_IS_APPROX(a, b)
Scalar EIGEN_BLAS_FUNC() dot(int *n, RealScalar *px, int *incx, RealScalar *py, int *incy)
static void run(const Vec &v1, const Vec &v2, Vec &v3, const Mat &square, Scalar s1, Scalar s2)
EIGEN_DEVICE_FUNC const SquareReturnType square() const
bool test_isApproxWithRef(const Scalar &a, const Scalar &b, const ScalarRef &ref)
#define CALL_SUBTEST_1(FUNC)
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
static void run(const Vec &v1, const Vec &v2, Vec &v3, const Mat &square, Scalar s1, Scalar s2)
#define CALL_SUBTEST_8(FUNC)
NumTraits< Scalar >::Real RealScalar
Reference counting helper.
#define VERIFY_IS_MUCH_SMALLER_THAN(a, b)
internal::enable_if< internal::is_same< T1, T2 >::value, bool >::type is_same_type(const T1 &, const T2 &)
#define CALL_SUBTEST_5(FUNC)
#define EIGEN_TEST_MAX_SIZE
#define CALL_SUBTEST_2(FUNC)
EIGEN_DECLARE_TEST(adjoint)