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

/magnus/back_end/SMApps/include/GAWordProblemForORGroup.h

Go to the documentation of this file.
00001 /*
00002  *   $Id: GAWordProblemForORGroup.h,v 1.1 2000/10/07 18:42:32 bormotov Exp $
00003  */
00004  
00005 // Contents: Declaration of classes GAWordForORGroup, GAWordForORGroupARCer
00006 //
00007 // Principal Author: Alexander Ushakov
00008 //
00009 // Status: in progress
00010 //
00011 // Revision History:
00012 //
00013 
00014 #ifndef _GA_WORD_PROBLEM_FOR_ORGROUP_H_
00015 #define _GA_WORD_PROBLEM_FOR_ORGROUP_H_
00016 
00017 
00018 #include "Supervisor.h"
00019 #include "SMWord.h"
00020 #include "FreeGroup.h"
00021 #include "File.h"
00022 #include "GACPforORGSolver.h"
00023 
00024 
00025 //---------------------------------------------------------------------------//
00026 //----------------------- GAWordForORGroupARCer -----------------------------//
00027 //---------------------------------------------------------------------------//
00028 
00029 
00030 class GAWordForORGroupARCer : public ARCer
00031 {
00032 public:
00033 
00034   /////////////////////////////////////////////////////////////////////////
00035   //                                                                     //
00036   // Constructors:                                                       //
00037   //                                                                     //
00038   /////////////////////////////////////////////////////////////////////////
00039 
00040   GAWordForORGroupARCer( class GAWordForORGroup& );
00041 
00042   ~GAWordForORGroupARCer( );
00043 
00044 
00045   /////////////////////////////////////////////////////////////////////////
00046   //                                                                     //
00047   // Accessors:                                                          //
00048   //                                                                     //
00049   /////////////////////////////////////////////////////////////////////////
00050 
00051   void setArguments( const OneRelatorGroup& G, const Word& u );
00052 
00053   Trichotomy answer( ) const { return theAnswer; }
00054 
00055   Chars getFileName( ) const { return solver->getFileName( ); }
00056 
00057 
00058   /////////////////////////////////////////////////////////////////////////
00059   //                                                                     //
00060   // IPC interaction members:                                            //
00061   //                                                                     //
00062   /////////////////////////////////////////////////////////////////////////
00063 
00064   void runComputation( );
00065 
00066   void writeResults( ostream& );
00067 
00068   void readResults( istream& );
00069 
00070   
00071 private:
00072 
00073   /////////////////////////////////////////////////////////////////////////
00074   //                                                                     //
00075   // Data Members:                                                       //
00076   //                                                                     //
00077   /////////////////////////////////////////////////////////////////////////
00078 
00079   OneRelatorGroup theGroup;
00080   Word theWord;
00081 
00082   GAConjProblemForORGroupSolver* solver;
00083 
00084   Trichotomy theAnswer;
00085 };
00086 
00087 
00088 
00089 //---------------------------------------------------------------------------//
00090 //------------------------- GAWordForORGroup --------------------------------//
00091 //---------------------------------------------------------------------------//
00092 
00093 
00094 
00095 class GAWordForORGroup : public ComputationManager
00096 {
00097 public:
00098 
00099   /////////////////////////////////////////////////////////////////////////
00100   //                                                                     //
00101   // Constructors:                                                       //
00102   //                                                                     //
00103   /////////////////////////////////////////////////////////////////////////
00104 
00105   GAWordForORGroup(class WordProblem& CP);
00106 
00107   /////////////////////////////////////////////////////////////////////////
00108   //                                                                     //
00109   // Accessors:                                                          //
00110   //                                                                     //
00111   /////////////////////////////////////////////////////////////////////////
00112 
00113   Trichotomy answer( ) const { return theAnswer; }
00114   // This not report the result to the FE, but just sits and waits to
00115   // be polled through this member. yes => conjugate, no => not conjugate,
00116   // dontknow => not done yet.
00117 
00118   Chars getFileName( ) const { return arcer.getFileName( ); }
00119 
00120   OneRelatorGroup getGroup( ) const;
00121 
00122   /////////////////////////////////////////////////////////////////////////
00123   //                                                                     //
00124   // Control:                                                            //
00125   //                                                                     //
00126   /////////////////////////////////////////////////////////////////////////
00127 
00128   void takeControl( );         // overrides ComputationManager
00129 
00130   /////////////////////////////////////////////////////////////////////////
00131   //                                                                     //
00132   // State Transitions:                                                  //
00133   //                                                                     //
00134   /////////////////////////////////////////////////////////////////////////
00135 
00136   void start( ) { }              // overrides ComputationManager
00137 
00138   void terminate( ) { }          // overrides ComputationManager
00139 
00140 
00141 private:
00142 
00143   /////////////////////////////////////////////////////////////////////////
00144   //                                                                     //
00145   // Data Members:                                                       //
00146   //                                                                     //
00147   /////////////////////////////////////////////////////////////////////////
00148 
00149   const WordProblem& problem;
00150   GAWordForORGroupARCer arcer;
00151   Trichotomy theAnswer;
00152 };
00153 
00154 
00155 #endif
00156 

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