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

/magnus/back_end/SMApps/include/MakeRandomPresentation.h

Go to the documentation of this file.
00001 /*
00002  *   $Id:
00003  */
00004  
00005 // Copyright (C) 1997 The New York Group Theory Cooperative
00006 // See magnus/doc/COPYRIGHT for the full notice.
00007 //
00008 // Contents: Declaration of class ToddCoxeterARCer ToddCoxeter,
00009 //           SGIndexToddCoxeter, SchreierTransversal, PermutationRepProblem,
00010 //           WordRepresentativeProblem, WordRepresentativeProblem 
00011 //
00012 // Principal Author: Alexei Myasnikov
00013 //
00014 // Status: Usable
00015 //
00016 // Revision History:
00017 //
00018 
00019 
00020 #ifndef _MAKE_RANDOM_PRESENTATION_H_
00021 #define _MAKE_RANDOM_PRESENTATION_H_
00022 
00023 
00024 #include "Supervisor.h"
00025 #include "CosetEnumerator.h"
00026 #include "File.h"
00027 
00028 // ------------------ RandomPresentationARCer ---------------------- //
00029 
00030 
00031 class RandomPresentationARCer : public ARCer
00032 {
00033 public:
00034 
00035   /////////////////////////////////////////////////////////////////////////
00036   //                                                                     //
00037   // Constructors:                                                       //
00038   //                                                                     //
00039   /////////////////////////////////////////////////////////////////////////
00040 
00041   RandomPresentationARCer( ComputationManager& boss ) 
00042     : ARCer( boss ), maxGens(10),  maxRels(10), averageRels(20) { } 
00043 
00044 
00045   /////////////////////////////////////////////////////////////////////////
00046   //                                                                     //
00047   // Accessors/Modifiers:                                                //
00048   //                                                                     //
00049   /////////////////////////////////////////////////////////////////////////
00050 
00051   void setArguments(int maxG,int maxR,int averR){
00052     maxGens = maxG;
00053     maxRels = maxR;
00054     averageRels = averR;
00055   }
00056 
00057   FPGroup getRetValue() const{ return theGroup; }
00058 
00059   // Inherited from ARCer:
00060   // bool takeControl( );
00061 
00062   /////////////////////////////////////////////////////////////////////////
00063   //                                                                     //
00064   // IPC interaction members:                                            //
00065   //                                                                     //
00066   /////////////////////////////////////////////////////////////////////////
00067 
00068   void runComputation( );
00069  
00070   void writeResults( ostream& );
00071 
00072   void readResults( istream& );
00073 
00074   
00075 private:
00076 
00077   /////////////////////////////////////////////////////////////////////////
00078   //                                                                     //
00079   // Data Members:                                                       //
00080   //                                                                     //
00081   /////////////////////////////////////////////////////////////////////////
00082 
00083   FPGroup theGroup;
00084   int maxGens;
00085   int maxRels;
00086   int averageRels;
00087 };
00088 
00089 //--------------------------- MakeRandomPresentation ------------------------//
00090 
00091 
00092 
00093 class MakeRandomPresentation : public Supervisor
00094 {
00095 public:
00096 
00097   /////////////////////////////////////////////////////////////////////////
00098   //                                                                     //
00099   // Constructors:                                                       //
00100   //                                                                     //
00101   /////////////////////////////////////////////////////////////////////////
00102 
00103   MakeRandomPresentation( /*SMFPGroup&*/ );
00104 
00105   /////////////////////////////////////////////////////////////////////////
00106   //                                                                     //
00107   // Front End Interfacing:                                              //
00108   //                                                                     //
00109   /////////////////////////////////////////////////////////////////////////
00110 
00111   void viewStructure(ostream& ostr) const;  // overrides SMObject
00112 
00113   /////////////////////////////////////////////////////////////////////////
00114   //                                                                     //
00115   // Control:                                                            //
00116   //                                                                     //
00117   /////////////////////////////////////////////////////////////////////////
00118 
00119   void takeControl( );         // overrides ComputationManager
00120 
00121   
00122   /////////////////////////////////////////////////////////////////////////
00123   //                                                                     //
00124   // State Transitions:                                                  //
00125   //                                                                     //
00126   /////////////////////////////////////////////////////////////////////////
00127 
00128   void start( );              // overrides ComputationManager
00129 
00130   void terminate( ) { }          // overrides ComputationManager
00131 
00132 
00133 private:
00134 
00135   /////////////////////////////////////////////////////////////////////////
00136   //                                                                     //
00137   // Data Members:                                                       //
00138   //                                                                     //
00139   /////////////////////////////////////////////////////////////////////////
00140 
00141   //class SMFPGroup& theGroup;
00142   
00143   RandomPresentationARCer arcer;
00144   
00145   bool arcerStarted;
00146   int nOfPresentations;
00147 };
00148 
00149 #endif
00150 
00151 
00152 
00153 
00154 
00155 
00156 
00157 
00158 

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