Regina Calculation Engine
Public Member Functions | Friends | List of all members
regina::NSigCensus Class Reference

A utility class used by formSigCensus(). More...

#include <split/nsigcensus.h>

Public Member Functions

 ~NSigCensus ()
 Deallocates any memory used specifically by this structure. More...
 
void * run (void *param)
 Runs a complete signature census generation. More...
 

Friends

unsigned long formSigCensus (unsigned order, UseSignature use, void *useArgs)
 Forms a census of all splitting surface signatures of the given order. More...
 

Detailed Description

A utility class used by formSigCensus().

Other routines should never refer to this class directly. It is used to store temporary information when forming the census.

Python:
Not present.

Constructor & Destructor Documentation

regina::NSigCensus::~NSigCensus ( )
inline

Deallocates any memory used specifically by this structure.

Member Function Documentation

void* regina::NSigCensus::run ( void *  param)

Runs a complete signature census generation.

At most one copy of this routine should be running at any given time for a particular NSigCensus.

Parameters
paramthis parameter is ignored.
Returns
0.

Friends And Related Function Documentation

unsigned long formSigCensus ( unsigned  order,
UseSignature  use,
void *  useArgs 
)
friend

Forms a census of all splitting surface signatures of the given order.

The order of a signature is the number of quads in the corresponding splitting surface.

Each signature will be produced precisely once up to equivalence. Signatures are considered equivalent if they are related by some combination of:

  • relabelling symbols;
  • rotating an individual cycle;
  • inverting an individual cycle (i.e., reversing the cycle and changing the case of each symbol in the cycle);
  • reversing all cycles without changing the case of any symbols.

Each signature produced will have its cycles ordered by decreasing length. Each cycle will have at least half of its symbols lower-case.

For each signature that is generated, routine use (as passed to this function) will be called with that signature and its automorphisms as arguments.

Warning
Currently upper-case symbols in signatures are not supported by this routine; only signatures whose symbols are all lower-case will be produced.
Todo:
Feature: Add support for symbols of differing case.
Python:
Not present.
Parameters
orderthe order of signatures to generate.
usethe function to call upon each signature that is found. The first parameter passed to this function will be a splitting surface signature. The second parameter will be a list of all its automorphisms. The third parameter will be parameter useArgs as was passed to this routine.
useArgsthe pointer to pass as the final parameter for the function use which will be called upon each signature found.
Returns
the total number of non-equivalent signatures that were found.

The documentation for this class was generated from the following file:

Copyright © 1999-2014, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@debian.org).