Macros.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) 2009-2013 CEA LIST (DIASI/LSI) <xde-support@saxifrage.cea.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 #ifndef EIGEN_LGSM_LIE_MACROS_H
11 #define EIGEN_LGSM_LIE_MACROS_H
12 
13 #define LIE_INHERIT_MATRIX_BASE(r, c)\
14  inline Index rows() const { return r;} \
15  inline Index cols() const { return c;} \
16  \
17  inline Scalar& coeffRef(Index row, Index col) { return this->get().coeffRef(row, col); } \
18  inline const Scalar& coeff(Index row, Index col) const { return this->get().coeff(row, col); } \
19  inline Scalar& coeffRef(Index index) { return this->get().coeffRef(index); } \
20  inline const Scalar& coeff(Index index) const { return this->get().coeff(index); } \
21  \
22  template<int LoadMode> inline PacketScalar packet(Index index) const { return derived().get().template packet<LoadMode> (index);} \
23  template<int LoadMode> inline PacketScalar packet(Index row, Index col) const { return derived().get().template packet<LoadMode> (row, col);} \
24  template<int LoadMode> inline void writePacket(Index row, Index col, const PacketScalar& x) { derived().get().template writePacket<LoadMode>(row, col, x);} \
25  template<int LoadMode> inline void writePacket(Index index, const PacketScalar& x) { derived().get().template writePacket<LoadMode>(index, x);} \
26  \
27  inline Index innerStride() const { return 1; } \
28  inline Index outerStride() const { return this->innerSize(); } \
29  \
30  EIGEN_STRONG_INLINE const Scalar* data() const { return get().data(); } \
31  EIGEN_STRONG_INLINE Scalar* data() { return get().data(); } \
32 
33 #endif


lgsm
Author(s): Roberto Martín-Martín
autogenerated on Mon Jun 10 2019 14:05:58