proj home

Files   Classes   Functions   Hierarchy  

explorequad.h

Go to the documentation of this file.
00001 #ifndef EXPLOREQUAD_H
00002 #define EXPLOREQUAD_H
00003 
00004 #include <typeop.h>
00005 
00024 template < typename EXP >
00025 class explorequad : public EXP
00026 {
00027 public:
00028 
00029   typedef typename typeop<EXP>::Targ::FNtype FN;
00030   typedef typename typeop<EXP>::Tbare::Ttype T;
00031 
00033   explorequad
00034   (
00035     uintc N_, 
00036     T const h0step=20.0, 
00037     uintc indexmax_=500
00038   )
00039     : EXP(N_,h0step,indexmax_) {}
00040 
00042   explorequad
00043   (
00044     FN fn_,
00045     uintc N_, 
00046     T const h0step=20.0, 
00047     uintc indexmax_=500
00048   )
00049     : EXP(fn_,N_,h0step,indexmax_) {}
00050 
00052   void operator ++ ();
00053 
00055   void move();
00056 
00057 };
00058 
00059 
00060 template < typename EXP >
00061 void explorequad<EXP>::move()
00062 {
00063 //cout << "explorequad<EXP>::move()" << endl;
00064 #ifndef NDEBUG
00065 if (EXP::valid==false)
00066   cout << "error" << endl;
00067   assert(EXP::valid==true);
00068 #endif
00069   EXP::hasStateChanged=false;
00070 
00071   for ( ; (EXP::hasStateChanged==false)&&EXP::valid; )
00072   {
00073     explorequad<EXP>::operator ++ ();
00074   }
00075 }
00076 
00077 
00078 template < typename EXP >
00079 void explorequad<EXP>::operator ++ ()
00080 {
00081 //cout << "explorequad<EXP>::operator ++" << endl;
00082   for (uint i=0; i<EXP::N; ++i)
00083   {
00084     EXP::operator++();
00085   }
00086 }
00087 
00088 #endif
00089 
00090 

Generated on Fri Mar 4 00:49:29 2011 for Chelton Evans Source by  doxygen 1.5.8