Medial Code Documentation
Loading...
Searching...
No Matches
DenseBase.h
1// This file is part of Eigen, a lightweight C++ template library
2// for linear algebra.
3//
4// Copyright (C) 2007-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
5// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
6//
7// This Source Code Form is subject to the terms of the Mozilla
8// Public License v. 2.0. If a copy of the MPL was not distributed
9// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
10
11#ifndef EIGEN_DENSEBASE_H
12#define EIGEN_DENSEBASE_H
13
14namespace Eigen {
15
16namespace internal {
17
18// The index type defined by EIGEN_DEFAULT_DENSE_INDEX_TYPE must be a signed type.
19// This dummy function simply aims at checking that at compile time.
20static inline void check_DenseIndex_is_signed() {
21 EIGEN_STATIC_ASSERT(NumTraits<DenseIndex>::IsSigned,THE_INDEX_TYPE_MUST_BE_A_SIGNED_TYPE);
22}
23
24} // end namespace internal
25
41template<typename Derived> class DenseBase
43 : public internal::special_scalar_op_base<Derived, typename internal::traits<Derived>::Scalar,
44 typename NumTraits<typename internal::traits<Derived>::Scalar>::Real,
45 DenseCoeffsBase<Derived> >
46#else
47 : public DenseCoeffsBase<Derived>
48#endif // not EIGEN_PARSED_BY_DOXYGEN
49{
50 public:
51
56
57 typedef typename internal::traits<Derived>::StorageKind StorageKind;
69
73 typedef Scalar value_type;
75 typedef typename NumTraits<Scalar>::Real RealScalar;
78 using Base::operator*;
79 using Base::operator/;
80 using Base::derived;
81 using Base::const_cast_derived;
82 using Base::rows;
83 using Base::cols;
84 using Base::size;
85 using Base::rowIndexByOuterInner;
86 using Base::colIndexByOuterInner;
87 using Base::coeff;
88 using Base::coeffByOuterInner;
89 using Base::operator();
90 using Base::operator[];
91 using Base::x;
92 using Base::y;
93 using Base::z;
94 using Base::w;
95 using Base::stride;
96 using Base::innerStride;
97 using Base::outerStride;
98 using Base::rowStride;
99 using Base::colStride;
100 typedef typename Base::CoeffReturnType CoeffReturnType;
101
102 enum {
103
171 InnerSizeAtCompileTime = int(IsVectorAtCompileTime) ? int(SizeAtCompileTime)
173
174 InnerStrideAtCompileTime = internal::inner_stride_at_compile_time<Derived>::ret,
175 OuterStrideAtCompileTime = internal::outer_stride_at_compile_time<Derived>::ret
176 };
177
178 typedef typename internal::find_best_packet<Scalar,SizeAtCompileTime>::type PacketScalar;
179
180 enum { IsPlainObjectBase = 0 };
181
191
201
210
214 inline Index nonZeros() const { return size(); }
215
222 Index outerSize() const
223 {
224 return IsVectorAtCompileTime ? 1
225 : int(IsRowMajor) ? this->rows() : this->cols();
226 }
227
234 Index innerSize() const
235 {
236 return IsVectorAtCompileTime ? this->size()
237 : int(IsRowMajor) ? this->cols() : this->rows();
238 }
239
245 void resize(Index newSize)
246 {
247 EIGEN_ONLY_USED_FOR_DEBUG(newSize);
248 eigen_assert(newSize == this->size()
249 && "DenseBase::resize() does not actually allow to resize.");
250 }
256 void resize(Index rows, Index cols)
257 {
258 EIGEN_ONLY_USED_FOR_DEBUG(rows);
259 EIGEN_ONLY_USED_FOR_DEBUG(cols);
260 eigen_assert(rows == this->rows() && cols == this->cols()
261 && "DenseBase::resize() does not actually allow to resize.");
262 }
263
264#ifndef EIGEN_PARSED_BY_DOXYGEN
273
274#endif // not EIGEN_PARSED_BY_DOXYGEN
275
277 template<typename OtherDerived>
279 Derived& operator=(const DenseBase<OtherDerived>& other);
280
285 Derived& operator=(const DenseBase& other);
286
287 template<typename OtherDerived>
289 Derived& operator=(const EigenBase<OtherDerived> &other);
290
291 template<typename OtherDerived>
293 Derived& operator+=(const EigenBase<OtherDerived> &other);
294
295 template<typename OtherDerived>
297 Derived& operator-=(const EigenBase<OtherDerived> &other);
298
299 template<typename OtherDerived>
301 Derived& operator=(const ReturnByValue<OtherDerived>& func);
302
306 template<typename OtherDerived>
308 Derived& lazyAssign(const DenseBase<OtherDerived>& other);
309
312
314 template<unsigned int Added,unsigned int Removed>
315 EIGEN_DEPRECATED
316 const Derived& flagged() const
317 { return derived(); }
318
319 template<typename OtherDerived>
322
323 typedef Transpose<Derived> TransposeReturnType;
325 TransposeReturnType transpose();
326 typedef typename internal::add_const<Transpose<const Derived> >::type ConstTransposeReturnType;
328 ConstTransposeReturnType transpose() const;
330 void transposeInPlace();
331
332 EIGEN_DEVICE_FUNC static const ConstantReturnType
333 Constant(Index rows, Index cols, const Scalar& value);
334 EIGEN_DEVICE_FUNC static const ConstantReturnType
335 Constant(Index size, const Scalar& value);
336 EIGEN_DEVICE_FUNC static const ConstantReturnType
337 Constant(const Scalar& value);
338
339 EIGEN_DEVICE_FUNC static const SequentialLinSpacedReturnType
340 LinSpaced(Sequential_t, Index size, const Scalar& low, const Scalar& high);
341 EIGEN_DEVICE_FUNC static const RandomAccessLinSpacedReturnType
342 LinSpaced(Index size, const Scalar& low, const Scalar& high);
343 EIGEN_DEVICE_FUNC static const SequentialLinSpacedReturnType
344 LinSpaced(Sequential_t, const Scalar& low, const Scalar& high);
345 EIGEN_DEVICE_FUNC static const RandomAccessLinSpacedReturnType
346 LinSpaced(const Scalar& low, const Scalar& high);
347
348 template<typename CustomNullaryOp> EIGEN_DEVICE_FUNC
350 NullaryExpr(Index rows, Index cols, const CustomNullaryOp& func);
351 template<typename CustomNullaryOp> EIGEN_DEVICE_FUNC
353 NullaryExpr(Index size, const CustomNullaryOp& func);
354 template<typename CustomNullaryOp> EIGEN_DEVICE_FUNC
356 NullaryExpr(const CustomNullaryOp& func);
357
358 EIGEN_DEVICE_FUNC static const ConstantReturnType Zero(Index rows, Index cols);
359 EIGEN_DEVICE_FUNC static const ConstantReturnType Zero(Index size);
360 EIGEN_DEVICE_FUNC static const ConstantReturnType Zero();
361 EIGEN_DEVICE_FUNC static const ConstantReturnType Ones(Index rows, Index cols);
362 EIGEN_DEVICE_FUNC static const ConstantReturnType Ones(Index size);
363 EIGEN_DEVICE_FUNC static const ConstantReturnType Ones();
364
365 EIGEN_DEVICE_FUNC void fill(const Scalar& value);
366 EIGEN_DEVICE_FUNC Derived& setConstant(const Scalar& value);
367 EIGEN_DEVICE_FUNC Derived& setLinSpaced(Index size, const Scalar& low, const Scalar& high);
368 EIGEN_DEVICE_FUNC Derived& setLinSpaced(const Scalar& low, const Scalar& high);
369 EIGEN_DEVICE_FUNC Derived& setZero();
370 EIGEN_DEVICE_FUNC Derived& setOnes();
371 EIGEN_DEVICE_FUNC Derived& setRandom();
372
373 template<typename OtherDerived> EIGEN_DEVICE_FUNC
374 bool isApprox(const DenseBase<OtherDerived>& other,
375 const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const;
377 bool isMuchSmallerThan(const RealScalar& other,
378 const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const;
379 template<typename OtherDerived> EIGEN_DEVICE_FUNC
380 bool isMuchSmallerThan(const DenseBase<OtherDerived>& other,
381 const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const;
382
384 EIGEN_DEVICE_FUNC bool isConstant(const Scalar& value, const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const;
385 EIGEN_DEVICE_FUNC bool isZero(const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const;
386 EIGEN_DEVICE_FUNC bool isOnes(const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const;
387
388 inline bool hasNaN() const;
389 inline bool allFinite() const;
390
392 inline Derived& operator*=(const Scalar& other);
394 inline Derived& operator/=(const Scalar& other);
395
405 EIGEN_STRONG_INLINE EvalReturnType eval() const
406 {
407 // Even though MSVC does not honor strong inlining when the return type
408 // is a dynamic matrix, we desperately need strong inlining for fixed
409 // size types on MSVC.
410 return typename internal::eval<Derived>::type(derived());
411 }
412
416 template<typename OtherDerived>
418 void swap(const DenseBase<OtherDerived>& other)
419 {
420 EIGEN_STATIC_ASSERT(!OtherDerived::IsPlainObjectBase,THIS_EXPRESSION_IS_NOT_A_LVALUE__IT_IS_READ_ONLY);
421 eigen_assert(rows()==other.rows() && cols()==other.cols());
422 call_assignment(derived(), other.const_cast_derived(), internal::swap_assign_op<Scalar>());
423 }
424
428 template<typename OtherDerived>
431 {
432 eigen_assert(rows()==other.rows() && cols()==other.cols());
433 call_assignment(derived(), other.derived(), internal::swap_assign_op<Scalar>());
434 }
435
437 EIGEN_DEVICE_FUNC inline const ForceAlignedAccess<Derived> forceAlignedAccess() const;
438 EIGEN_DEVICE_FUNC inline ForceAlignedAccess<Derived> forceAlignedAccess();
439 template<bool Enable> EIGEN_DEVICE_FUNC
440 inline const typename internal::conditional<Enable,ForceAlignedAccess<Derived>,Derived&>::type forceAlignedAccessIf() const;
441 template<bool Enable> EIGEN_DEVICE_FUNC
442 inline typename internal::conditional<Enable,ForceAlignedAccess<Derived>,Derived&>::type forceAlignedAccessIf();
443
446 EIGEN_DEVICE_FUNC Scalar trace() const;
447
449
452
453 template<typename IndexType> EIGEN_DEVICE_FUNC
454 typename internal::traits<Derived>::Scalar minCoeff(IndexType* row, IndexType* col) const;
455 template<typename IndexType> EIGEN_DEVICE_FUNC
456 typename internal::traits<Derived>::Scalar maxCoeff(IndexType* row, IndexType* col) const;
457 template<typename IndexType> EIGEN_DEVICE_FUNC
458 typename internal::traits<Derived>::Scalar minCoeff(IndexType* index) const;
459 template<typename IndexType> EIGEN_DEVICE_FUNC
460 typename internal::traits<Derived>::Scalar maxCoeff(IndexType* index) const;
461
462 template<typename BinaryOp>
464 Scalar redux(const BinaryOp& func) const;
465
466 template<typename Visitor>
468 void visit(Visitor& func) const;
469
470 inline const WithFormat<Derived> format(const IOFormat& fmt) const;
471
474 CoeffReturnType value() const
475 {
476 EIGEN_STATIC_ASSERT_SIZE_1x1(Derived)
477 eigen_assert(this->rows() == 1 && this->cols() == 1);
478 return derived().coeff(0,0);
479 }
480
481 bool all() const;
482 bool any() const;
483 Index count() const;
484
485 typedef VectorwiseOp<Derived, Horizontal> RowwiseReturnType;
486 typedef const VectorwiseOp<const Derived, Horizontal> ConstRowwiseReturnType;
487 typedef VectorwiseOp<Derived, Vertical> ColwiseReturnType;
488 typedef const VectorwiseOp<const Derived, Vertical> ConstColwiseReturnType;
489
497 //Code moved here due to a CUDA compiler bug
499 return ConstRowwiseReturnType(derived());
500 }
501 EIGEN_DEVICE_FUNC RowwiseReturnType rowwise();
502
511 return ConstColwiseReturnType(derived());
512 }
513 EIGEN_DEVICE_FUNC ColwiseReturnType colwise();
514
516 static const RandomReturnType Random(Index rows, Index cols);
517 static const RandomReturnType Random(Index size);
518 static const RandomReturnType Random();
519
520 template<typename ThenDerived,typename ElseDerived>
522 select(const DenseBase<ThenDerived>& thenMatrix,
523 const DenseBase<ElseDerived>& elseMatrix) const;
524
525 template<typename ThenDerived>
527 select(const DenseBase<ThenDerived>& thenMatrix, const typename ThenDerived::Scalar& elseScalar) const;
528
529 template<typename ElseDerived>
531 select(const typename ElseDerived::Scalar& thenScalar, const DenseBase<ElseDerived>& elseMatrix) const;
532
533 template<int p> RealScalar lpNorm() const;
534
535 template<int RowFactor, int ColFactor>
537 const Replicate<Derived,RowFactor,ColFactor> replicate() const;
546 //Code moved here due to a CUDA compiler bug
552
553 typedef Reverse<Derived, BothDirections> ReverseReturnType;
554 typedef const Reverse<const Derived, BothDirections> ConstReverseReturnType;
555 EIGEN_DEVICE_FUNC ReverseReturnType reverse();
557 //Code moved here due to a CUDA compiler bug
559 {
560 return ConstReverseReturnType(derived());
561 }
563
564#define EIGEN_CURRENT_STORAGE_BASE_CLASS Eigen::DenseBase
565# include "../plugins/BlockMethods.h"
566# ifdef EIGEN_DENSEBASE_PLUGIN
567# include EIGEN_DENSEBASE_PLUGIN
568# endif
569#undef EIGEN_CURRENT_STORAGE_BASE_CLASS
570
571
572 // disable the use of evalTo for dense objects with a nice compilation error
573 template<typename Dest>
575 inline void evalTo(Dest& ) const
576 {
578 }
579
580 protected:
583 {
584 /* Just checks for self-consistency of the flags.
585 * Only do it when debugging Eigen, as this borders on paranoiac and could slow compilation down
586 */
587#ifdef EIGEN_INTERNAL_DEBUGGING
588 EIGEN_STATIC_ASSERT((EIGEN_IMPLIES(MaxRowsAtCompileTime==1 && MaxColsAtCompileTime!=1, int(IsRowMajor))
589 && EIGEN_IMPLIES(MaxColsAtCompileTime==1 && MaxRowsAtCompileTime!=1, int(!IsRowMajor))),
590 INVALID_STORAGE_ORDER_FOR_THIS_VECTOR_EXPRESSION)
591#endif
592 }
593
594 private:
595 EIGEN_DEVICE_FUNC explicit DenseBase(int);
597 template<typename OtherDerived> EIGEN_DEVICE_FUNC explicit DenseBase(const DenseBase<OtherDerived>&);
598};
599
600} // end namespace Eigen
601
602#endif // EIGEN_DENSEBASE_H
Base class for all dense matrices, vectors, and arrays.
Definition DenseBase.h:49
EIGEN_DEVICE_FUNC Derived & setZero()
Sets all coefficients in this expression to zero.
Definition CwiseNullaryOp.h:504
EIGEN_DEVICE_FUNC CommaInitializer< Derived > operator<<(const Scalar &s)
Convenient operator to set the coefficients of a matrix.
Definition CommaInitializer.h:147
EIGEN_DEVICE_FUNC void resize(Index newSize)
Only plain matrices/arrays, not expressions, may be resized; therefore the only useful resize methods...
Definition DenseBase.h:245
const WithFormat< Derived > format(const IOFormat &fmt) const
Definition IO.h:121
EIGEN_DEVICE_FUNC Scalar prod() const
Definition Redux.h:472
EIGEN_DEVICE_FUNC bool isConstant(const Scalar &value, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const
This is just an alias for isApproxToConstant().
Definition CwiseNullaryOp.h:316
EIGEN_DEVICE_FUNC Derived & operator=(const DenseBase< OtherDerived > &other)
Copies other into *this.
static EIGEN_DEVICE_FUNC const SequentialLinSpacedReturnType LinSpaced(Sequential_t, Index size, const Scalar &low, const Scalar &high)
Sets a linearly space vector.
Definition CwiseNullaryOp.h:245
Index count() const
Definition BooleanRedux.h:129
internal::traits< Derived >::StorageIndex StorageIndex
The type used to store indices.
Definition DenseBase.h:65
EIGEN_DEVICE_FUNC ReverseReturnType reverse()
Definition Reverse.h:118
EIGEN_DEVICE_FUNC const NestByValue< Derived > nestByValue() const
Definition NestByValue.h:104
EIGEN_DEVICE_FUNC void fill(const Scalar &value)
Alias for setConstant(): sets all coefficients in this expression to val.
Definition CwiseNullaryOp.h:326
Eigen::InnerIterator< Derived > InnerIterator
Inner iterator type to iterate over the coefficients of a row or column.
Definition DenseBase.h:55
EIGEN_DEVICE_FUNC Scalar sum() const
Definition Redux.h:445
EIGEN_DEVICE_FUNC Index innerSize() const
Definition DenseBase.h:234
EIGEN_DEVICE_FUNC Derived & setConstant(const Scalar &value)
Sets all coefficients in this expression to value.
Definition CwiseNullaryOp.h:336
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EvalReturnType eval() const
Definition DenseBase.h:405
internal::traits< Derived >::Scalar Scalar
The numeric type of the expression' coefficients, e.g.
Definition DenseBase.h:68
const Select< Derived, ThenDerived, ElseDerived > select(const DenseBase< ThenDerived > &thenMatrix, const DenseBase< ElseDerived > &elseMatrix) const
Definition Select.h:124
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar minCoeff() const
Definition Redux.h:424
EIGEN_DEVICE_FUNC void visit(Visitor &func) const
Applies the visitor visitor to the whole coefficients of the matrix or vector.
Definition Visitor.h:107
static EIGEN_DEVICE_FUNC const ConstantReturnType Ones()
Definition CwiseNullaryOp.h:602
EIGEN_DEVICE_FUNC Scalar mean() const
Definition Redux.h:458
EIGEN_DEVICE_FUNC CoeffReturnType value() const
Definition DenseBase.h:474
Scalar value_type
The numeric type of the expression' coefficients, e.g.
Definition DenseBase.h:73
EIGEN_DEVICE_FUNC ConstColwiseReturnType colwise() const
Definition DenseBase.h:510
EIGEN_DEVICE_FUNC Derived & setOnes()
Sets all coefficients in this expression to one.
Definition CwiseNullaryOp.h:630
Matrix< typename internal::traits< Derived >::Scalar, internal::traits< Derived >::RowsAtCompileTime, internal::traits< Derived >::ColsAtCompileTime, AutoAlign|(internal::traits< Derived >::Flags &RowMajorBit ? RowMajor :ColMajor), internal::traits< Derived >::MaxRowsAtCompileTime, internal::traits< Derived >::MaxColsAtCompileTime > PlainMatrix
The plain matrix type corresponding to this expression.
Definition DenseBase.h:190
EIGEN_DEVICE_FUNC bool isOnes(const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const
Definition CwiseNullaryOp.h:617
EIGEN_DEVICE_FUNC void swap(PlainObjectBase< OtherDerived > &other)
swaps *this with the matrix or array other.
Definition DenseBase.h:430
static EIGEN_DEVICE_FUNC const ConstantReturnType Constant(Index rows, Index cols, const Scalar &value)
Definition CwiseNullaryOp.h:182
bool hasNaN() const
Definition BooleanRedux.h:139
@ IsVectorAtCompileTime
This is set to true if either the number of rows or the number of columns is known at compile-time to...
Definition DenseBase.h:157
@ SizeAtCompileTime
This is equal to the number of coefficients, i.e.
Definition DenseBase.h:117
@ MaxSizeAtCompileTime
This value is equal to the maximum possible number of coefficients that this expression might have.
Definition DenseBase.h:145
@ IsRowMajor
True if this expression has row-major storage order.
Definition DenseBase.h:169
@ Flags
This stores expression Flags flags which may or may not be inherited by new expressions constructed f...
Definition DenseBase.h:164
@ ColsAtCompileTime
The number of columns at compile-time.
Definition DenseBase.h:110
@ MaxColsAtCompileTime
This value is equal to the maximum possible number of columns that this expression might have.
Definition DenseBase.h:134
@ MaxRowsAtCompileTime
This value is equal to the maximum possible number of rows that this expression might have.
Definition DenseBase.h:123
@ RowsAtCompileTime
The number of rows at compile-time.
Definition DenseBase.h:104
EIGEN_DEVICE_FUNC void swap(const DenseBase< OtherDerived > &other)
swaps *this with the expression other.
Definition DenseBase.h:418
bool any() const
Definition BooleanRedux.h:105
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar maxCoeff() const
Definition Redux.h:434
EIGEN_DEVICE_FUNC Derived & setRandom()
Sets all coefficients in this expression to random values.
Definition Random.h:132
EIGEN_DEVICE_FUNC void transposeInPlace()
This is the "in place" version of transpose(): it replaces *this by its own transpose.
Definition Transpose.h:278
EIGEN_DEVICE_FUNC TransposeReturnType transpose()
Definition Transpose.h:166
static EIGEN_DEVICE_FUNC const ConstantReturnType Zero()
Definition CwiseNullaryOp.h:472
EIGEN_DEVICE_FUNC Index nonZeros() const
Definition DenseBase.h:214
EIGEN_DEVICE_FUNC Index outerSize() const
Definition DenseBase.h:222
internal::conditional< internal::is_same< typenameinternal::traits< Derived >::XprKind, MatrixXpr >::value, PlainMatrix, PlainArray >::type PlainObject
The plain matrix or array type corresponding to this expression.
Definition DenseBase.h:209
EIGEN_DEVICE_FUNC ConstReverseReturnType reverse() const
This is the const version of reverse().
Definition DenseBase.h:558
EIGEN_DEVICE_FUNC void reverseInPlace()
This is the "in place" version of reverse: it reverses *this.
Definition Reverse.h:139
EIGEN_DEPRECATED const Derived & flagged() const
Definition DenseBase.h:316
bool all() const
Definition BooleanRedux.h:81
static const RandomReturnType Random()
Definition Random.h:114
EIGEN_DEVICE_FUNC DenseBase()
Default constructor.
Definition DenseBase.h:582
EIGEN_DEVICE_FUNC Derived & setLinSpaced(Index size, const Scalar &low, const Scalar &high)
Sets a linearly space vector.
Definition CwiseNullaryOp.h:391
EIGEN_DEVICE_FUNC void resize(Index rows, Index cols)
Only plain matrices/arrays, not expressions, may be resized; therefore the only useful resize methods...
Definition DenseBase.h:256
bool allFinite() const
Definition BooleanRedux.h:153
EIGEN_DEVICE_FUNC bool isZero(const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const
Definition CwiseNullaryOp.h:486
EIGEN_DEVICE_FUNC Derived & lazyAssign(const DenseBase< OtherDerived > &other)
\ínternal Copies other into *this without evaluating other.
EIGEN_DEVICE_FUNC ConstRowwiseReturnType rowwise() const
Definition DenseBase.h:498
EIGEN_DEVICE_FUNC bool isApproxToConstant(const Scalar &value, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const
Definition CwiseNullaryOp.h:301
EIGEN_DEVICE_FUNC const Replicate< Derived, Dynamic, Dynamic > replicate(Index rowFactor, Index colFactor) const
Definition DenseBase.h:548
Definition ForwardDeclarations.h:54
Pseudo expression representing a solving operation.
Definition Solve.h:63
@ ColMajor
Storage order is column major (see TopicStorageOrders).
Definition Constants.h:320
@ RowMajor
Storage order is row major (see TopicStorageOrders).
Definition Constants.h:322
@ AutoAlign
Align the matrix itself if it is vectorizable fixed-size.
Definition Constants.h:324
const unsigned int RowMajorBit
for a matrix, this means that the storage order is row-major.
Definition Constants.h:61
Stores a set of parameters controlling the way matrices are printed.
Definition IO.h:51
The type used to identify a matrix expression.
Definition Constants.h:505
Holds information about the various numeric (i.e.
Definition NumTraits.h:108
Definition Meta.h:88
Definition Meta.h:34
Definition XprHelper.h:272
Definition Meta.h:39
Definition XprHelper.h:222
Definition XprHelper.h:458
Definition AssignmentFunctors.h:140
Definition ForwardDeclarations.h:17