gtsam
3rdparty
Eigen
Eigen
src
Core
util
ReshapedHelper.h
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) 2017 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
11
#ifndef EIGEN_RESHAPED_HELPER_H
12
#define EIGEN_RESHAPED_HELPER_H
13
14
namespace
Eigen
{
15
16
enum
AutoSize_t
{
AutoSize
};
17
const
int
AutoOrder
= 2;
18
19
namespace
internal
{
20
21
template
<
typename
SizeType,
typename
OtherSize,
int
TotalSize>
22
struct
get_compiletime_reshape_size
{
23
enum
{
value
=
get_fixed_value<SizeType>::value
};
24
};
25
26
template
<
typename
SizeType>
27
Index
get_runtime_reshape_size
(SizeType
size
,
Index
/*other*/
,
Index
/*total*/
) {
28
return
internal::get_runtime_value
(
size
);
29
}
30
31
template
<
typename
OtherSize,
int
TotalSize>
32
struct
get_compiletime_reshape_size
<
AutoSize_t
,OtherSize,TotalSize> {
33
enum
{
34
other_size =
get_fixed_value<OtherSize>::value
,
35
value
= (TotalSize==
Dynamic
|| other_size==
Dynamic
) ?
Dynamic
: TotalSize / other_size };
36
};
37
38
inline
Index
get_runtime_reshape_size
(
AutoSize_t
/*size*/
,
Index
other
,
Index
total) {
39
return
total/
other
;
40
}
41
42
template
<
int
Flags,
int
Order>
43
struct
get_compiletime_reshape_order
{
44
enum
{
value
= Order ==
AutoOrder
? Flags &
RowMajorBit
: Order };
45
};
46
47
}
48
49
}
// end namespace Eigen
50
51
#endif // EIGEN_RESHAPED_HELPER_H
Eigen
Namespace containing all symbols from the Eigen library.
Definition:
jet.h:637
Eigen::internal::get_runtime_value
EIGEN_DEVICE_FUNC Index get_runtime_value(const T &x)
Definition:
IntegralConstant.h:156
Eigen::RowMajorBit
const unsigned int RowMajorBit
Definition:
Constants.h:66
Eigen::AutoSize
@ AutoSize
Definition:
ReshapedHelper.h:16
Eigen::internal::get_compiletime_reshape_order
Definition:
ReshapedHelper.h:43
Eigen::Dynamic
const int Dynamic
Definition:
Constants.h:22
Eigen::internal::get_compiletime_reshape_size
Definition:
ReshapedHelper.h:22
Eigen::internal::get_runtime_reshape_size
Index get_runtime_reshape_size(SizeType size, Index, Index)
Definition:
ReshapedHelper.h:27
Eigen::AutoSize_t
AutoSize_t
Definition:
ReshapedHelper.h:16
Eigen::internal::get_compiletime_reshape_size::value
@ value
Definition:
ReshapedHelper.h:23
Eigen::AutoOrder
const int AutoOrder
Definition:
ReshapedHelper.h:17
internal
Definition:
BandTriangularSolver.h:13
Eigen::internal::get_fixed_value
Definition:
IntegralConstant.h:133
Eigen::internal::size
EIGEN_CONSTEXPR Index size(const T &x)
Definition:
Meta.h:479
pybind_wrapper_test_script.other
other
Definition:
pybind_wrapper_test_script.py:42
Eigen::internal::get_compiletime_reshape_order::value
@ value
Definition:
ReshapedHelper.h:44
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 Fri Nov 1 2024 03:34:59