Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

/magnus/back_end/Group/include/ShortenByRelators.h

Go to the documentation of this file.
00001 /*
00002  *   $Id: ShortenByRelators.h,v 1.3 1998/01/06 20:16:10 bormotov Exp $
00003  */
00004 
00005 // Copyright (C) 1995 The New York Group Theory Cooperative
00006 // See magnus/doc/COPYRIGHT for the full notice.
00007 //
00008 // Contents: Definition of the ShortenByRelators class
00009 //
00010 //
00011 // Principal Author: Dmitry Bormotov, Dmitry Pechkin
00012 //
00013 // Status: in progress
00014 //
00015 // Usage:
00016 //
00017 
00018 #ifndef _SHORTEN_BY_RELATORS_H_
00019 #define _SHORTEN_BY_RELATORS_H_
00020 
00021 #include "SymmetricRelators.h"
00022 
00023 
00024 //------------------------- class ShortenByRelators --------------------------//
00025 
00026 
00027 class ShortenByRelators {
00028 
00029 public:
00030 
00031   ///////////////////////////////////////////////////////
00032   //                                                   //
00033   //  Constructors:                                    //
00034   //                                                   //
00035   ///////////////////////////////////////////////////////
00036 
00037   // No default constructor
00038   // Copy constructor provided by compiler (does logical deep copy).
00039   
00040   ShortenByRelators ( const SymmetricRelators& symmetricRelators );
00041   // To construct a ShortenByRelators class of given symmetric relators.
00042 
00043   ShortenByRelators ( const SetOf<Word>& ); 
00044   // Special hack to forbid construct ShortenByRelatos of 
00045   // non symmetrised set of relators.
00046 
00047   ~ShortenByRelators( );
00048     
00049   ///////////////////////////////////////////////////////
00050   //                                                   //
00051   // Accessors:                                        //
00052   //                                                   //
00053   ///////////////////////////////////////////////////////
00054 
00055   Word getShortenWord( const Word& w ) const;  
00056   // Return shorten form of word w.
00057   
00058 private:
00059 
00060   ///////////////////////////////////////////////////////
00061   //                                                   //
00062   //  Data members:                                    //
00063   //                                                   //
00064   ///////////////////////////////////////////////////////
00065 
00066   Word* sortRelators;    // relators in sorted order, used for optimization 
00067   int sortRelatorsLen;   // the number of sorted relators
00068 
00069 };
00070 
00071 
00072 #endif
00073 
00074 

Generated at Tue Jun 19 09:49:36 2001 for Magnus Classes by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001