Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

OoqpMonitor.h

00001 /* OOQP                                                               *
00002  * Authors: E. Michael Gertz, Stephen J. Wright                       *
00003  * (C) 2001 University of Chicago. See Copyright Notification in OOQP */
00004 
00005 #ifndef OOQPMONITOR
00006 #define OOQPMONITOR
00007 
00008 class Solver;
00009 class Data;
00010 class Variables;
00011 class Residuals;
00012 
00017 class OoqpMonitor {
00018 public:
00019   OoqpMonitor * nextMonitor;
00020 
00021   OoqpMonitor() { nextMonitor = 0; };
00022 
00023   virtual void doIt( Solver * solver, Data * data, Variables * vars,
00024                                          Residuals * resids,
00025                                          double alpha, double sigma,
00026                                          int i, double mu, 
00027                      int status_code,
00028                                          int level ) = 0;
00029   virtual ~OoqpMonitor() {};
00030 };  
00031 
00032 
00040 class OoqpSelfMonitor : public OoqpMonitor {
00041 public:
00042   virtual void doIt( Solver * solver, Data * data, Variables * vars,
00043                                          Residuals * resids,
00044                                          double alpha, double sigma,
00045                                          int i, double mu,
00046                      int status_code,
00047                                          int level );
00048 };
00049 
00050 #include "OoqpMonitorData.h"
00051 
00057 class COoqpMonitor : public OoqpMonitor {
00058 protected:
00059   DoItCFunc doItC;
00060   void * ctx;
00061 public:
00062   COoqpMonitor( DoItCFunc doItC_, void * ctx_ );
00063   virtual void doIt( Solver * solver, Data * data, Variables * vars,
00064                                          Residuals * resids,
00065                                          double alpha, double sigma,
00066                                          int i, double mu,
00067                      int status_code,
00068                                          int level );
00069 };
00070 
00071 
00072 #endif

Generated on Wed Mar 22 13:58:33 2006 for OOQP by doxygen 1.3.5