11 #ifndef EIGEN_MATRIX_H 12 #define EIGEN_MATRIX_H 17 template<
typename _Scalar,
int _Rows,
int _Cols,
int _Options,
int _MaxRows,
int _MaxCols>
18 struct traits<
Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> >
26 max_size = is_dynamic_size_storage ?
Dynamic : _MaxRows*_MaxCols,
28 actual_alignment = ((_Options&
DontAlign)==0) ? default_alignment : 0,
39 RowsAtCompileTime = _Rows,
40 ColsAtCompileTime = _Cols,
41 MaxRowsAtCompileTime = _MaxRows,
42 MaxColsAtCompileTime = _MaxCols,
45 InnerStrideAtCompileTime = 1,
46 OuterStrideAtCompileTime = (Options&
RowMajor) ? ColsAtCompileTime : RowsAtCompileTime,
50 Alignment = actual_alignment
177 template<
typename _Scalar,
int _Rows,
int _Cols,
int _Options,
int _MaxRows,
int _MaxCols>
179 :
public PlainObjectBase<Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> >
188 enum { Options = _Options };
195 using Base::coeffRef;
208 return Base::_set(other);
221 template<
typename OtherDerived>
225 return Base::_set(other);
234 template<
typename OtherDerived>
238 return Base::operator=(other);
241 template<
typename OtherDerived>
245 return Base::operator=(func);
261 Base::_check_template_params();
268 :
Base(
internal::constructor_without_unaligned_array_assert())
271 #if EIGEN_HAS_RVALUE_REFERENCES 274 :
Base(std::move(other))
276 Base::_check_template_params();
286 #ifndef EIGEN_PARSED_BY_DOXYGEN 293 Base::_check_template_params();
294 Base::template _init1<T>(
x);
297 template<
typename T0,
typename T1>
301 Base::_check_template_params();
302 Base::template _init2<T0,T1>(
x,
y);
347 Base::_check_template_params();
349 m_storage.data()[0] =
x;
350 m_storage.data()[1] =
y;
351 m_storage.data()[2] =
z;
357 Base::_check_template_params();
359 m_storage.data()[0] =
x;
360 m_storage.data()[1] =
y;
361 m_storage.data()[2] =
z;
362 m_storage.data()[3] =
w;
374 template<
typename OtherDerived>
377 :
Base(other.derived())
385 template<
typename OtherDerived>
388 template<
typename OtherDerived>
393 #ifdef EIGEN_MATRIX_PLUGIN 394 #include EIGEN_MATRIX_PLUGIN 398 template <
typename Derived,
typename OtherDerived,
bool IsVector>
401 using Base::m_storage;
424 #define EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, Size, SizeSuffix) \ 426 typedef Matrix<Type, Size, Size> Matrix##SizeSuffix##TypeSuffix; \ 428 typedef Matrix<Type, Size, 1> Vector##SizeSuffix##TypeSuffix; \ 430 typedef Matrix<Type, 1, Size> RowVector##SizeSuffix##TypeSuffix; 432 #define EIGEN_MAKE_FIXED_TYPEDEFS(Type, TypeSuffix, Size) \ 434 typedef Matrix<Type, Size, Dynamic> Matrix##Size##X##TypeSuffix; \ 436 typedef Matrix<Type, Dynamic, Size> Matrix##X##Size##TypeSuffix; 438 #define EIGEN_MAKE_TYPEDEFS_ALL_SIZES(Type, TypeSuffix) \ 439 EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, 2, 2) \ 440 EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, 3, 3) \ 441 EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, 4, 4) \ 442 EIGEN_MAKE_TYPEDEFS(Type, TypeSuffix, Dynamic, X) \ 443 EIGEN_MAKE_FIXED_TYPEDEFS(Type, TypeSuffix, 2) \ 444 EIGEN_MAKE_FIXED_TYPEDEFS(Type, TypeSuffix, 3) \ 445 EIGEN_MAKE_FIXED_TYPEDEFS(Type, TypeSuffix, 4) 453 #undef EIGEN_MAKE_TYPEDEFS_ALL_SIZES 454 #undef EIGEN_MAKE_TYPEDEFS 455 #undef EIGEN_MAKE_FIXED_TYPEDEFS 459 #endif // EIGEN_MATRIX_H
find_best_packet_helper< Size, typename packet_traits< T >::type >::type type
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Matrix(const T &x)
EIGEN_DEVICE_FUNC Matrix(internal::constructor_without_unaligned_array_assert)
internal::traits< Derived >::Scalar Scalar
#define EIGEN_STRONG_INLINE
Base::PlainObject PlainObject
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Matrix(const Scalar &x, const Scalar &y, const Scalar &z)
Constructs an initialized 3D vector with given coefficients.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Matrix(const Matrix &other)
Copy constructor.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Matrix(const T0 &x, const T1 &y)
const unsigned int DirectAccessBit
Namespace containing all symbols from the Eigen library.
const unsigned int RowMajorBit
Base class for all dense matrices, vectors, and arrays.
const unsigned int PacketAccessBit
#define EIGEN_MAKE_TYPEDEFS_ALL_SIZES(Type, TypeSuffix)
#define EIGEN_NOEXCEPT_IF(x)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Matrix & operator=(const ReturnByValue< OtherDerived > &func)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Matrix()
Default constructor.
EIGEN_DEVICE_FUNC Index outerStride() const
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Point2(* f)(const Point3 &, OptionalJacobian< 2, 3 >)
Common base class for compact rotation representations.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Matrix(const EigenBase< OtherDerived > &other)
Copy constructor for generic expressions.
const mpreal dim(const mpreal &a, const mpreal &b, mp_rnd_t r=mpreal::get_default_rnd())
find_best_packet< _Scalar, size >::type PacketScalar
#define EIGEN_DENSE_PUBLIC_INTERFACE(Derived)
#define EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Matrix & operator=(const EigenBase< OtherDerived > &other)
Copies the generic expression other into *this.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Matrix & operator=(const DenseBase< OtherDerived > &other)
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > Matrix
Annotation indicating that a class derives from another given type.
Pose2 T1(M_PI/4.0, Point2(sqrt(0.5), sqrt(0.5)))
The matrix class, also used for vectors and row-vectors.
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy x
PlainObjectBase< Matrix > Base
Base class typedef.
EIGEN_DEVICE_FUNC Index innerStride() const
const unsigned int LinearAccessBit
Eigen::Index StorageIndex
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Matrix(const Scalar &x, const Scalar &y, const Scalar &z, const Scalar &w)
Constructs an initialized 4D vector with given coefficients.
#define EIGEN_UNALIGNED_VECTORIZE
#define EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(TYPE, SIZE)