atlas  0.6
Functions
atlas::interactive_lietype Namespace Reference

Functions

bool checkInnerClass (input::InputBuffer &buf, const LieType &lt, bool output)
 
bool checkLieType (input::InputBuffer &buf)
 
bool checkSimpleLieType (input::InputBuffer &buf)
 
bool checkTotalRank (input::InputBuffer &buf)
 
std::ostream & printRankMessage (std::ostream &strm, lietype::TypeLetter x)
 
void readInnerClass (InnerClassType &ict, input::InputBuffer &buf, const LieType &lt)
 
void readLieType (LieType &lt, input::InputBuffer &buf)
 

Function Documentation

bool atlas::interactive_lietype::checkInnerClass ( input::InputBuffer buf,
const LieType &  lt,
bool  output 
)

Synopsis: checks if a valid inner class for lt will be read from buf.

bool atlas::interactive_lietype::checkLieType ( input::InputBuffer buf)

Synopsis: checks if buf starts with a valid Lie type.

A valid Lie type is a dot-separated non-empty string of entities of the form where X is a letter in the range [A-G] or T (for torus), and n is a number in the appropriate range for X. White between entities is ignored; reading terminates when after a pair Xn the next read operation on a character does not produce '.' (i.e., when the next non-white character is not a dot.)

Return value is 0 for correct input, non-zero otherwise.

bool atlas::interactive_lietype::checkSimpleLieType ( input::InputBuffer buf)

Synopsis: checks if reading a SimpleLieType from buf will succeed.

bool atlas::interactive_lietype::checkTotalRank ( input::InputBuffer buf)

Synopsis: checks that the total rank does not exceed RANK_MAX.

Precondition: it has already been checked that successive read operations on buf will yield a valid simple type, optionally followed by a dot and a valid type.

std::ostream & atlas::interactive_lietype::printRankMessage ( std::ostream &  strm,
lietype::TypeLetter  x 
)

Prints the message appropriate for a bad choice of rank for type x.

void atlas::interactive_lietype::readInnerClass ( InnerClassType &  ict,
input::InputBuffer buf,
const LieType &  lt 
)

Synopsis: reads an inner class type from buf.

Precondition: checkInnerClass(ict,buf) returns true;

Maps e ("equal rank") to c; maps "u" (unequal rank) to s except for type D_2n.

void atlas::interactive_lietype::readLieType ( LieType &  lt,
input::InputBuffer buf 
)

Synopsis: reads the Lie type from buf.

Precondition: it has been checked that the read operation will succeed: successive read operations will yield a valid simple Lie type, optionally followed by a dot and a valid Lie type. Reading ends on EOF or when a simple Lie type is not imediately followed by a dot.

To normalize the occurrence of torus factors, this function expands Tn with n>1 to n copies of T1