Eigen  3.2.7
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Constants.h
1 // This file is part of Eigen, a lightweight C++ template library
2 // for linear algebra.
3 //
4 // Copyright (C) 2008-2009 Gael Guennebaud <[email protected]>
5 // Copyright (C) 2007-2009 Benoit Jacob <[email protected]>
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 
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
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 ?
201 enum CornerType { TopLeft, TopRight, BottomLeft, BottomRight };
202 
216 };
217 
220 enum {
222  DefaultTraversal,
224  LinearTraversal,
227  InnerVectorizedTraversal,
230  LinearVectorizedTraversal,
233  SliceVectorizedTraversal,
235  InvalidTraversal,
237  AllAtOnceTraversal
238 };
239 
242 enum {
244  NoUnrolling,
246  InnerUnrolling,
249  CompleteUnrolling
250 };
251 
254 enum {
255  Specialized,
256  BuiltIn
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 
294 enum NoChange_t { NoChange };
295 enum Sequential_t { Sequential };
296 enum Default_t { Default };
297 
300 enum {
301  IsDense = 0,
302  IsSparse
303 };
304 
317 };
318 
323  Pivoting = 0x01,
325  NoPivoting = 0x02,
327  ComputeFullU = 0x04,
329  ComputeThinU = 0x08,
331  ComputeFullV = 0x10,
333  ComputeThinV = 0x20,
341  EigVecMask = EigenvaluesOnly | ComputeEigenvectors,
344  Ax_lBx = 0x100,
347  ABx_lx = 0x200,
350  BAx_lx = 0x400,
352  GenEigMask = Ax_lBx | ABx_lx | BAx_lx
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 
421 enum { CoeffBasedProductMode, LazyCoeffBasedProductMode, OuterProduct, InnerProduct, GemvProduct, GemmProduct };
422 
425 enum Action {GetAction, SetAction};
426 
428 struct Dense {};
429 
431 struct MatrixXpr {};
432 
434 struct ArrayXpr {};
435 
436 namespace internal {
440  enum ComparisonName {
441  cmp_EQ = 0,
442  cmp_LT = 1,
443  cmp_LE = 2,
444  cmp_UNORD = 3,
445  cmp_NEQ = 4
446  };
447 }
448 
449 } // end namespace Eigen
450 
451 #endif // EIGEN_CONSTANTS_H
Definition: Constants.h:270
Definition: Constants.h:398
Definition: Constants.h:175
const unsigned int EvalBeforeNestingBit
Definition: Constants.h:58
const int DynamicIndex
Definition: Constants.h:26
Definition: Constants.h:359
Definition: Constants.h:167
Definition: Constants.h:339
Definition: Constants.h:329
Definition: Constants.h:310
Definition: Constants.h:181
Definition: Constants.h:378
Definition: Constants.h:185
CornerType
Definition: Constants.h:201
Definition: Constants.h:314
Definition: Constants.h:350
Definition: Constants.h:394
const int Dynamic
Definition: Constants.h:21
Definition: Constants.h:264
Definition: Constants.h:331
Definition: Constants.h:312
const unsigned int PacketAccessBit
Definition: Constants.h:81
Definition: Constants.h:173
Definition: Constants.h:391
QRPreconditioners
Definition: Constants.h:357
Definition: Constants.h:169
Definition: Constants.h:212
Definition: Constants.h:344
DirectionType
Definition: Constants.h:206
Definition: Constants.h:194
Definition: Constants.h:431
Definition: Constants.h:316
Definition: Constants.h:279
TransformTraits
Definition: Constants.h:389
const unsigned int ActualPacketAccessBit
Definition: Constants.h:92
Definition: Constants.h:396
const unsigned int LinearAccessBit
Definition: Constants.h:117
const unsigned int LvalueBit
Definition: Constants.h:131
Definition: Constants.h:268
Definition: Constants.h:383
Definition: Constants.h:209
Definition: Constants.h:333
Definition: Constants.h:171
DecompositionOptions
Definition: Constants.h:321
Definition: Constants.h:179
const unsigned int EvalBeforeAssigningBit
Definition: Constants.h:63
AccessorLevels
Definition: Constants.h:308
Definition: Constants.h:183
Definition: Constants.h:380
Definition: Constants.h:192
Definition: Constants.h:266
Definition: Constants.h:376
const unsigned int RowMajorBit
Definition: Constants.h:53
Definition: Constants.h:428
Definition: Constants.h:215
Definition: Constants.h:434
const unsigned int DirectAccessBit
Definition: Constants.h:142
Definition: Constants.h:327
Definition: Constants.h:347
Definition: Constants.h:177
ComputationInfo
Definition: Constants.h:374
Definition: Constants.h:277
const unsigned int AlignedBit
Definition: Constants.h:147
Definition: Constants.h:361
Definition: Constants.h:363
const int Infinity
Definition: Constants.h:31
Definition: Constants.h:336