atlas
0.6
|
Describes the descent status of each simple root for a single representation. More...
#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. More... | |
void | set (size_t s, Value v) |
Sets the descent status of simple root #s to v. More... | |
Static Public Member Functions | |
static bool | isDescent (Value v) |
Tests whether Value is 4 through 7. These are the descents. More... | |
static bool | isDirectRecursion (Value v) |
Tests whether both bits of DirectRecursionMask are set. More... | |
Private Attributes | |
unsigned char | d_data [constants::RANK_MAX] |
Value of byte #j specifies the descent status of simple root #j. More... | |
Static Private Attributes | |
static const unsigned | ValMask = constants::charBits - 1 |
static 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) More... | |
static const unsigned | DirectRecursionMask = 0x5ul |
Bitwise "and" of Value with this is equal to this if Value is either ComplexDescent (5) or RealTypeI (7) More... | |
Describes the descent status of each simple root for a single representation.
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.
|
inline |
|
inline |
|
inline |
|
inlinestatic |
Tests whether Value is 4 through 7. These are the descents.
The simple roots passing this test comprise the tau invariant for the representation.
|
inlinestatic |
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.
|
inline |
|
inline |
Returns descent status of simple root #s.
|
inline |
Sets the descent status of simple root #s to v.
|
private |
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.
|
staticprivate |
Bitwise "and" of Value with this is non-zero if Value is one of ImaginaryCompact, ComplexDescent, RealTypeII, or RealTypeI (numbers 4–7)
|
staticprivate |
Bitwise "and" of Value with this is equal to this if Value is either ComplexDescent (5) or RealTypeI (7)
|
staticprivate |