TR-mbed 1.0
Loading...
Searching...
No Matches
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-2015 Gael Guennebaud <gael.guennebaud@inria.fr>
5// Copyright (C) 2007-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
6// Copyright (C) 2020, Arm Limited and Contributors
7//
8// This Source Code Form is subject to the terms of the Mozilla
9// Public License v. 2.0. If a copy of the MPL was not distributed
10// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
11
12#ifndef EIGEN_CONSTANTS_H
13#define EIGEN_CONSTANTS_H
14
15namespace Eigen {
16
22const int Dynamic = -1;
23
27const int DynamicIndex = 0xffffff;
28
31const int UndefinedIncr = 0xfffffe;
32
36const int Infinity = -1;
37
44const int HugeCost = 10000;
45
66const unsigned int RowMajorBit = 0x1;
67
70const unsigned int EvalBeforeNestingBit = 0x2;
71
76const unsigned int EvalBeforeAssigningBit = 0x4; // FIXME deprecated
77
94const unsigned int PacketAccessBit = 0x8;
95
96#ifdef EIGEN_VECTORIZE
105const unsigned int ActualPacketAccessBit = PacketAccessBit;
106#else
107const unsigned int ActualPacketAccessBit = 0x0;
108#endif
109
130const unsigned int LinearAccessBit = 0x10;
131
144const unsigned int LvalueBit = 0x20;
145
155const unsigned int DirectAccessBit = 0x40;
156
167EIGEN_DEPRECATED const unsigned int AlignedBit = 0x80;
168
169const unsigned int NestByRefBit = 0x100;
170
178const unsigned int NoPreferredStorageOrderBit = 0x200;
179
191const unsigned int CompressedAccessBit = 0x400;
192
193
194// list of flags that are inherited by default
195const unsigned int HereditaryBits = RowMajorBit
197
229
241#if EIGEN_MAX_ALIGN_BYTES==128
243#elif EIGEN_MAX_ALIGN_BYTES==64
245#elif EIGEN_MAX_ALIGN_BYTES==32
247#elif EIGEN_MAX_ALIGN_BYTES==16
249#elif EIGEN_MAX_ALIGN_BYTES==8
251#elif EIGEN_MAX_ALIGN_BYTES==0
253#else
254#error Invalid value for EIGEN_MAX_ALIGN_BYTES
255#endif
257
272
294
306
313
321 RowMajor = 0x1, // it is only a coincidence that this is equal to RowMajorBit -- don't rely on that
// FIXME --- clarify the situation
325 DontAlign = 0x2
327
336
347
348/* the following used to be written as:
349 *
350 * struct NoChange_t {};
351 * namespace {
352 * EIGEN_UNUSED NoChange_t NoChange;
353 * }
354 *
355 * on the ground that it feels dangerous to disambiguate overloaded functions on enum/integer types.
356 * However, this leads to "variable declared but never referenced" warnings on Intel Composer XE,
357 * and we do not know how to get rid of them (bug 450).
358 */
359
363
370
384
420
433
434#ifdef Success
435#error The preprocessor symbol 'Success' is defined, possibly by the X11 header file X.h
436#endif
437
451
466
469namespace Architecture
470{
471 enum Type {
472 Generic = 0x0,
473 SSE = 0x1,
474 AltiVec = 0x2,
475 VSX = 0x3,
476 NEON = 0x4,
477 MSA = 0x5,
478 SVE = 0x6,
479#if defined EIGEN_VECTORIZE_SSE
480 Target = SSE
481#elif defined EIGEN_VECTORIZE_ALTIVEC
483#elif defined EIGEN_VECTORIZE_VSX
484 Target = VSX
485#elif defined EIGEN_VECTORIZE_NEON
486 Target = NEON
487#elif defined EIGEN_VECTORIZE_SVE
488 Target = SVE
489#elif defined EIGEN_VECTORIZE_MSA
490 Target = MSA
491#else
493#endif
494 };
495}
496
501
505
507struct Dense {};
508
510struct Sparse {};
511
514
517
520
522struct MatrixXpr {};
523
525struct ArrayXpr {};
526
527// An evaluator must define its shape. By default, it can be one of the following:
528struct DenseShape { static std::string debugName() { return "DenseShape"; } };
529struct SolverShape { static std::string debugName() { return "SolverShape"; } };
530struct HomogeneousShape { static std::string debugName() { return "HomogeneousShape"; } };
531struct DiagonalShape { static std::string debugName() { return "DiagonalShape"; } };
532struct BandShape { static std::string debugName() { return "BandShape"; } };
533struct TriangularShape { static std::string debugName() { return "TriangularShape"; } };
534struct SelfAdjointShape { static std::string debugName() { return "SelfAdjointShape"; } };
535struct PermutationShape { static std::string debugName() { return "PermutationShape"; } };
536struct TranspositionsShape { static std::string debugName() { return "TranspositionsShape"; } };
537struct SparseShape { static std::string debugName() { return "SparseShape"; } };
538
539namespace internal {
540
541 // random access iterators based on coeff*() accessors.
542struct IndexBased {};
543
544// evaluator based on iterators to access coefficients.
546
559} // end namespace internal
560
561} // end namespace Eigen
562
563#endif // EIGEN_CONSTANTS_H
#define EIGEN_DEPRECATED
Definition Macros.h:1058
UpLoType
Definition Constants.h:207
AlignmentType
Definition Constants.h:232
QRPreconditioners
Definition Constants.h:423
NaNPropagationOptions
Definition Constants.h:339
ComputationInfo
Definition Constants.h:440
AccessorLevels
Definition Constants.h:374
StorageOptions
Definition Constants.h:317
SideType
Definition Constants.h:330
DirectionType
Definition Constants.h:261
DecompositionOptions
Definition Constants.h:387
TransformTraits
Definition Constants.h:455
@ StrictlyLower
Definition Constants.h:221
@ UnitDiag
Definition Constants.h:213
@ StrictlyUpper
Definition Constants.h:223
@ UnitLower
Definition Constants.h:217
@ ZeroDiag
Definition Constants.h:215
@ SelfAdjoint
Definition Constants.h:225
@ Symmetric
Definition Constants.h:227
@ UnitUpper
Definition Constants.h:219
@ Lower
Definition Constants.h:209
@ Upper
Definition Constants.h:211
@ Aligned64
Definition Constants.h:237
@ AlignedMask
Definition Constants.h:239
@ Unaligned
Definition Constants.h:233
@ Aligned128
Definition Constants.h:238
@ Aligned32
Definition Constants.h:236
@ Aligned8
Definition Constants.h:234
@ Aligned16
Definition Constants.h:235
@ AlignedMax
Definition Constants.h:252
@ Aligned
Definition Constants.h:240
@ NoQRPreconditioner
Definition Constants.h:425
@ HouseholderQRPreconditioner
Definition Constants.h:427
@ ColPivHouseholderQRPreconditioner
Definition Constants.h:429
@ FullPivHouseholderQRPreconditioner
Definition Constants.h:431
@ PropagateNaN
Definition Constants.h:343
@ PropagateNumbers
Definition Constants.h:345
@ PropagateFast
Definition Constants.h:341
@ NumericalIssue
Definition Constants.h:444
@ InvalidInput
Definition Constants.h:449
@ Success
Definition Constants.h:442
@ NoConvergence
Definition Constants.h:446
@ DirectAccessors
Definition Constants.h:380
@ ReadOnlyAccessors
Definition Constants.h:376
@ WriteAccessors
Definition Constants.h:378
@ DirectWriteAccessors
Definition Constants.h:382
@ ColMajor
Definition Constants.h:319
@ DontAlign
Definition Constants.h:325
@ RowMajor
Definition Constants.h:321
@ AutoAlign
Definition Constants.h:323
@ OnTheLeft
Definition Constants.h:332
@ OnTheRight
Definition Constants.h:334
@ BothDirections
Definition Constants.h:270
@ Horizontal
Definition Constants.h:267
@ Vertical
Definition Constants.h:264
@ GenEigMask
Definition Constants.h:418
@ ComputeFullV
Definition Constants.h:397
@ ComputeThinV
Definition Constants.h:399
@ EigVecMask
Definition Constants.h:407
@ Ax_lBx
Definition Constants.h:410
@ ComputeEigenvectors
Definition Constants.h:405
@ BAx_lx
Definition Constants.h:416
@ ABx_lx
Definition Constants.h:413
@ Pivoting
Definition Constants.h:389
@ ComputeFullU
Definition Constants.h:393
@ ComputeThinU
Definition Constants.h:395
@ NoPivoting
Definition Constants.h:391
@ EigenvaluesOnly
Definition Constants.h:402
@ Affine
Definition Constants.h:460
@ Projective
Definition Constants.h:464
@ AffineCompact
Definition Constants.h:462
@ Isometry
Definition Constants.h:457
EIGEN_DEPRECATED const unsigned int EvalBeforeAssigningBit
Definition Constants.h:76
const unsigned int PacketAccessBit
Definition Constants.h:94
const unsigned int NoPreferredStorageOrderBit
Definition Constants.h:178
const unsigned int LinearAccessBit
Definition Constants.h:130
const unsigned int EvalBeforeNestingBit
Definition Constants.h:70
const unsigned int DirectAccessBit
Definition Constants.h:155
EIGEN_DEPRECATED const unsigned int AlignedBit
Definition Constants.h:167
const unsigned int LvalueBit
Definition Constants.h:144
const unsigned int RowMajorBit
Definition Constants.h:66
const unsigned int CompressedAccessBit
Definition Constants.h:191
Type
Definition Constants.h:471
@ SSE
Definition Constants.h:473
@ VSX
Definition Constants.h:475
@ Generic
Definition Constants.h:472
@ NEON
Definition Constants.h:476
@ AltiVec
Definition Constants.h:474
@ MSA
Definition Constants.h:477
@ Target
Definition Constants.h:492
@ SVE
Definition Constants.h:478
ComparisonName
Definition Constants.h:550
@ cmp_NEQ
Definition Constants.h:555
@ cmp_EQ
Definition Constants.h:551
@ cmp_GT
Definition Constants.h:556
@ cmp_LT
Definition Constants.h:552
@ cmp_GE
Definition Constants.h:557
@ cmp_LE
Definition Constants.h:553
@ cmp_UNORD
Definition Constants.h:554
Namespace containing all symbols from the Eigen library.
Definition bench_norm.cpp:85
const unsigned int ActualPacketAccessBit
Definition Constants.h:107
const int UndefinedIncr
Definition Constants.h:31
ProductImplType
Definition Constants.h:500
@ GemvProduct
Definition Constants.h:500
@ LazyProduct
Definition Constants.h:500
@ InnerProduct
Definition Constants.h:500
@ DefaultProduct
Definition Constants.h:500
@ CoeffBasedProductMode
Definition Constants.h:500
@ OuterProduct
Definition Constants.h:500
@ AliasFreeProduct
Definition Constants.h:500
@ GemmProduct
Definition Constants.h:500
@ LazyCoeffBasedProductMode
Definition Constants.h:500
const unsigned int HereditaryBits
Definition Constants.h:195
const unsigned int NestByRefBit
Definition Constants.h:169
const int HugeCost
Definition Constants.h:44
Action
Definition Constants.h:504
@ GetAction
Definition Constants.h:504
@ SetAction
Definition Constants.h:504
TraversalType
Definition Constants.h:275
@ InnerVectorizedTraversal
Definition Constants.h:282
@ LinearVectorizedTraversal
Definition Constants.h:285
@ DefaultTraversal
Definition Constants.h:277
@ SliceVectorizedTraversal
Definition Constants.h:288
@ LinearTraversal
Definition Constants.h:279
@ AllAtOnceTraversal
Definition Constants.h:292
@ InvalidTraversal
Definition Constants.h:290
NoChange_t
Definition Constants.h:360
@ NoChange
Definition Constants.h:360
AmbiVectorMode
Definition Constants.h:366
@ IsDense
Definition Constants.h:367
@ IsSparse
Definition Constants.h:368
Default_t
Definition Constants.h:362
@ Default
Definition Constants.h:362
const int DynamicIndex
Definition Constants.h:27
const int Infinity
Definition Constants.h:36
SpecializedType
Definition Constants.h:309
@ Specialized
Definition Constants.h:310
@ BuiltIn
Definition Constants.h:311
UnrollingType
Definition Constants.h:297
@ InnerUnrolling
Definition Constants.h:301
@ CompleteUnrolling
Definition Constants.h:304
@ NoUnrolling
Definition Constants.h:299
Sequential_t
Definition Constants.h:361
@ Sequential
Definition Constants.h:361
const int Dynamic
Definition Constants.h:22
Definition BandTriangularSolver.h:13
Definition Constants.h:525
Definition Constants.h:532
static std::string debugName()
Definition Constants.h:532
Definition Constants.h:528
static std::string debugName()
Definition Constants.h:528
Definition Constants.h:507
Definition Constants.h:531
static std::string debugName()
Definition Constants.h:531
Definition Constants.h:530
static std::string debugName()
Definition Constants.h:530
Definition Constants.h:522
Definition Constants.h:535
static std::string debugName()
Definition Constants.h:535
Definition Constants.h:516
Definition Constants.h:534
static std::string debugName()
Definition Constants.h:534
Definition Constants.h:529
static std::string debugName()
Definition Constants.h:529
Definition Constants.h:513
Definition Constants.h:537
static std::string debugName()
Definition Constants.h:537
Definition Constants.h:510
Definition Constants.h:536
static std::string debugName()
Definition Constants.h:536
Definition Constants.h:519
Definition Constants.h:533
static std::string debugName()
Definition Constants.h:533
Definition Constants.h:542
Definition Constants.h:545