#include <descents.h>
Public Types | |
| enum | Value { ComplexAscent, RealNonparity, ImaginaryTypeI, ImaginaryTypeII, ImaginaryCompact, ComplexDescent, RealTypeII, RealTypeI } |
Public Member Functions | |
| DescentStatus () | |
| ~DescentStatus () | |
| DescentStatus (const DescentStatus &ds) | |
| DescentStatus & | operator= (const DescentStatus &ds) |
| Value | operator[] (size_t s) const |
| Returns descent status of simple root #s. | |
| void | set (size_t s, Value v) |
| Sets the descent status of simple root #s to v. | |
Static Public Member Functions | |
| bool | isDescent (Value v) |
| Tests whether Value is 4 through 7. These are the descents. | |
| bool | isDirectRecursion (Value v) |
| Tests whether both bits of DirectRecursionMask are set. | |
Private Attributes | |
| unsigned char | d_data [constants::RANK_MAX] |
| Value of byte #j specifies the descent status of simple root #j. | |
Static Private Attributes | |
| const unsigned | ValMask = constants::charBits - 1 |
| const unsigned | DescentMask = 0x4ul |
| Bitwise "and" of Value with this is non-zero if Value is one of ImaginaryCompact, ComplexDescent, RealTypeII, or RealTypeI (numbers 4--7). | |
| const unsigned | DirectRecursionMask = 0x5ul |
| Bitwise "and" of Value with this is equal to this if Value is either ComplexDescent (5) or RealTypeI (7). | |
There are eight possibilities for the descent status of a representation parameter w.r.t. a simple reflection, so this information could be packed in three bits. However, this would lead to having some packets lie across word boundaries, with the ensuing complications. Four bits is a good choice; here we take the lazy way of using even eight bits, as this makes the reading even a bit easier. We might come back to four at some later change---this should not require a change in user interface.
Definition at line 47 of file descents.h.
|
|
Definition at line 75 of file descents.h. |
|
|
Definition at line 99 of file descents.h. |
|
|
Definition at line 103 of file descents.h. |
|
|
Definition at line 106 of file descents.h. References d_data. |
|
|
Tests whether Value is 4 through 7. These are the descents. The simple roots passing this test comprise the tau invariant for the representation. Definition at line 84 of file descents.h. |
|
|
Tests whether both bits of DirectRecursionMask are set. In the case of a complex descent or a real type I descent there is a simple recursion formula for the KL element. Definition at line 94 of file descents.h. |
|
|
Definition at line 110 of file descents.h. References d_data. |
|
|
Returns descent status of simple root #s.
Definition at line 120 of file descents.h. |
|
||||||||||||
|
Sets the descent status of simple root #s to v.
Definition at line 129 of file descents.h. Referenced by atlas::blocks::descents(), and atlas::klsupport::KLSupport::fillDownsets(). |
|
|
Value of byte #j specifies the descent status of simple root #j. Value should be 0 through 7; values 0 through 3 are ascents, and 4 through 7 are descents. Definition at line 58 of file descents.h. Referenced by DescentStatus(), and operator=(). |
|
|
Bitwise "and" of Value with this is non-zero if Value is one of ImaginaryCompact, ComplexDescent, RealTypeII, or RealTypeI (numbers 4--7).
Definition at line 65 of file descents.h. |
|
|
Bitwise "and" of Value with this is equal to this if Value is either ComplexDescent (5) or RealTypeI (7).
Definition at line 71 of file descents.h. |
|
|
Definition at line 59 of file descents.h. |
1.3.9.1