eigen3/Eigen/src/Core/util/Constants.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) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
5 // Copyright (C) 2007-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
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_CONSTANTS_H
12 #define EIGEN_CONSTANTS_H
13 
14 namespace Eigen {
15 
21 const int Dynamic = -1;
22 
26 const int DynamicIndex = 0xffffff;
27 
31 const int Infinity = -1;
32 
53 const unsigned int RowMajorBit = 0x1;
54 
58 const unsigned int EvalBeforeNestingBit = 0x2;
59 
63 const unsigned int EvalBeforeAssigningBit = 0x4;
64 
81 const unsigned int PacketAccessBit = 0x8;
82 
83 #ifdef EIGEN_VECTORIZE
84 
92 const unsigned int ActualPacketAccessBit = PacketAccessBit;
93 #else
94 const unsigned int ActualPacketAccessBit = 0x0;
95 #endif
96 
117 const unsigned int LinearAccessBit = 0x10;
118 
131 const unsigned int LvalueBit = 0x20;
132 
142 const unsigned int DirectAccessBit = 0x40;
143 
147 const unsigned int AlignedBit = 0x80;
148 
149 const unsigned int NestByRefBit = 0x100;
150 
151 // list of flags that are inherited by default
152 const unsigned int HereditaryBits = RowMajorBit
153  | EvalBeforeNestingBit
155 
165 enum {
167  Lower=0x1,
169  Upper=0x2,
171  UnitDiag=0x4,
173  ZeroDiag=0x8,
186 };
187 
190 enum {
195 };
196 
199 // FIXME after the corner() API change, this was not needed anymore, except by AlignedBox
200 // TODO: find out what to do with that. Adapt the AlignedBox API ?
202 
216 };
217 
220 enum {
238 };
239 
242 enum {
250 };
251 
254 enum {
257 };
258 
262 enum {
264  ColMajor = 0,
266  RowMajor = 0x1, // it is only a coincidence that this is equal to RowMajorBit -- don't rely on that
268  AutoAlign = 0, // FIXME --- clarify the situation
270  DontAlign = 0x2
271 };
272 
275 enum {
277  OnTheLeft = 1,
280 };
281 
282 /* the following used to be written as:
283  *
284  * struct NoChange_t {};
285  * namespace {
286  * EIGEN_UNUSED NoChange_t NoChange;
287  * }
288  *
289  * on the ground that it feels dangerous to disambiguate overloaded functions on enum/integer types.
290  * However, this leads to "variable declared but never referenced" warnings on Intel Composer XE,
291  * and we do not know how to get rid of them (bug 450).
292  */
293 
297 
300 enum {
301  IsDense = 0,
303 };
304 
317 };
318 
323  Pivoting = 0x01,
325  NoPivoting = 0x02,
327  ComputeFullU = 0x04,
329  ComputeThinU = 0x08,
331  ComputeFullV = 0x10,
333  ComputeThinV = 0x20,
344  Ax_lBx = 0x100,
347  ABx_lx = 0x200,
350  BAx_lx = 0x400,
353 };
354 
366 };
367 
368 #ifdef Success
369 #error The preprocessor symbol 'Success' is defined, possibly by the X11 header file X.h
370 #endif
371 
376  Success = 0,
384 };
385 
391  Isometry = 0x1,
394  Affine = 0x2,
398  Projective = 0x20
399 };
400 
403 namespace Architecture
404 {
405  enum Type {
406  Generic = 0x0,
407  SSE = 0x1,
408  AltiVec = 0x2,
409 #if defined EIGEN_VECTORIZE_SSE
410  Target = SSE
411 #elif defined EIGEN_VECTORIZE_ALTIVEC
412  Target = AltiVec
413 #else
414  Target = Generic
415 #endif
416  };
417 }
418 
422 
426 
428 struct Dense {};
429 
431 struct MatrixXpr {};
432 
434 struct ArrayXpr {};
435 
436 } // end namespace Eigen
437 
438 #endif // EIGEN_CONSTANTS_H
const unsigned int ActualPacketAccessBit
const unsigned int DirectAccessBit
const unsigned int LvalueBit
iterative scaling algorithm to equilibrate rows and column norms in matrices
Definition: matrix.hpp:471
const unsigned int RowMajorBit
const unsigned int PacketAccessBit
const unsigned int AlignedBit
const unsigned int HereditaryBits
const unsigned int EvalBeforeAssigningBit
const unsigned int NestByRefBit
const unsigned int EvalBeforeNestingBit
const unsigned int LinearAccessBit


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Mon Jun 10 2019 12:34:31