00001 // MathTracer.h 00002 00003 #ifndef _MATH_TRACER_H__ 00004 #define _MATH_TRACER_H__ 00005 00006 #include "DSSAfx.h" 00007 00008 DSS_NAMESPASE_BEGIN 00009 ////////////////// //////////////////////////////////////////////////////////////////////////////////// 00010 // You can modify this class, or inherit a new one . If you want to redirect the output somewhere else. 00011 class MathTracer 00012 { 00013 private: 00014 char m_string[128]; 00015 00016 public: 00017 double min_pivot; 00018 double stabil_pivot; 00019 int break_flag; 00020 long act_block; 00021 long act_row; 00022 00023 MathTracer(); 00024 00025 virtual void Write(double a); 00026 virtual void Write(int a); 00027 virtual void Writeln(); 00028 virtual void Writeln(char* str); 00029 virtual void Write(char* str); 00030 00031 // virtual void DrawProgress(double e); 00032 00033 // true - continue factorization 00034 // false - break factorization 00035 virtual bool CallUnstableDialog(); 00036 00037 // virtual void PrintUnstablePivot(long pivot); 00038 00039 char* NowString(); 00040 void CS(void); 00041 char* MC_(); 00042 00043 clock_t ClockStart(void); 00044 char* MeasureClock(clock_t& clock); 00045 00046 protected: 00047 time_t m_temporary_measure_start; 00048 clock_t m_clock_start; 00049 }; 00050 00051 00052 DSS_NAMESPASE_END 00053 00054 #endif //_MATH_TRACER_H__