gtsam
3rdparty
Eigen
test
sizeof.cpp
Go to the documentation of this file.
1
// This file is part of Eigen, a lightweight C++ template library
2
// for linear algebra.
3
//
4
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
5
//
6
// This Source Code Form is subject to the terms of the Mozilla
7
// Public License v. 2.0. If a copy of the MPL was not distributed
8
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
9
10
#include "
main.h
"
11
12
template
<
typename
MatrixType>
void
verifySizeOf
(
const
MatrixType
&)
13
{
14
typedef
typename
MatrixType::Scalar
Scalar
;
15
if
(MatrixType::RowsAtCompileTime!=
Dynamic
&& MatrixType::ColsAtCompileTime!=
Dynamic
)
16
VERIFY_IS_EQUAL
(std::ptrdiff_t(
sizeof
(
MatrixType
)),std::ptrdiff_t(
sizeof
(
Scalar
))*std::ptrdiff_t(MatrixType::SizeAtCompileTime));
17
else
18
VERIFY_IS_EQUAL
(
sizeof
(
MatrixType
),
sizeof
(
Scalar
*) + 2 *
sizeof
(
Index
));
19
}
20
21
EIGEN_DECLARE_TEST
(
sizeof
)
22
{
23
CALL_SUBTEST
(
verifySizeOf
(
Matrix<float, 1, 1>
()) );
24
CALL_SUBTEST
(
verifySizeOf
(
Array<float, 2, 1>
()) );
25
CALL_SUBTEST
(
verifySizeOf
(
Array<float, 3, 1>
()) );
26
CALL_SUBTEST
(
verifySizeOf
(
Array<float, 4, 1>
()) );
27
CALL_SUBTEST
(
verifySizeOf
(
Array<float, 5, 1>
()) );
28
CALL_SUBTEST
(
verifySizeOf
(
Array<float, 6, 1>
()) );
29
CALL_SUBTEST
(
verifySizeOf
(
Array<float, 7, 1>
()) );
30
CALL_SUBTEST
(
verifySizeOf
(
Array<float, 8, 1>
()) );
31
CALL_SUBTEST
(
verifySizeOf
(
Array<float, 9, 1>
()) );
32
CALL_SUBTEST
(
verifySizeOf
(
Array<float, 10, 1>
()) );
33
CALL_SUBTEST
(
verifySizeOf
(
Array<float, 11, 1>
()) );
34
CALL_SUBTEST
(
verifySizeOf
(
Array<float, 12, 1>
()) );
35
CALL_SUBTEST
(
verifySizeOf
(Vector2d()) );
36
CALL_SUBTEST
(
verifySizeOf
(Vector4f()) );
37
CALL_SUBTEST
(
verifySizeOf
(Matrix4d()) );
38
CALL_SUBTEST
(
verifySizeOf
(
Matrix<double, 4, 2>
()) );
39
CALL_SUBTEST
(
verifySizeOf
(
Matrix<bool, 7, 5>
()) );
40
CALL_SUBTEST
(
verifySizeOf
(MatrixXcf(3, 3)) );
41
CALL_SUBTEST
(
verifySizeOf
(MatrixXi(8, 12)) );
42
CALL_SUBTEST
(
verifySizeOf
(MatrixXcd(20, 20)) );
43
CALL_SUBTEST
(
verifySizeOf
(
Matrix<float, 100, 100>
()) );
44
45
VERIFY
(
sizeof
(std::complex<float>) == 2*
sizeof
(
float
));
46
VERIFY
(
sizeof
(std::complex<double>) == 2*
sizeof
(
double
));
47
}
MatrixType
MatrixXf MatrixType
Definition:
benchmark-blocking-sizes.cpp:52
VERIFY_IS_EQUAL
#define VERIFY_IS_EQUAL(a, b)
Definition:
main.h:386
Eigen::Array
General-purpose arrays with easy API for coefficient-wise operations.
Definition:
Array.h:45
Eigen::Dynamic
const int Dynamic
Definition:
Constants.h:22
verifySizeOf
void verifySizeOf(const MatrixType &)
Definition:
sizeof.cpp:12
main.h
Eigen::Matrix
The matrix class, also used for vectors and row-vectors.
Definition:
3rdparty/Eigen/Eigen/src/Core/Matrix.h:178
EIGEN_DECLARE_TEST
EIGEN_DECLARE_TEST(sizeof)
Definition:
sizeof.cpp:21
Scalar
SCALAR Scalar
Definition:
bench_gemm.cpp:46
CALL_SUBTEST
#define CALL_SUBTEST(FUNC)
Definition:
main.h:399
VERIFY
#define VERIFY(a)
Definition:
main.h:380
Eigen::Index
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition:
Meta.h:74
gtsam
Author(s):
autogenerated on Sun Dec 22 2024 04:13:25