00001
00002
00003 #include "MathTracer.h"
00004
00005 DSS_NAMESPASE_BEGIN
00006
00007
00008 MathTracer::MathTracer()
00009 {
00010 act_block = 0;
00011 min_pivot = 0;
00012 stabil_pivot = 1.0;
00013 break_flag = 0;
00014 }
00015
00016 void MathTracer::Write(double a)
00017 {
00018 sprintf(m_string,"%e",a);
00019 Write(m_string);
00020 }
00021
00022 void MathTracer::Write(int a)
00023 {
00024 sprintf(m_string,"%d",a);
00025 Write(m_string);
00026 }
00027
00028 void MathTracer::Writeln()
00029 {
00030 printf("\n");
00031 }
00032
00033 void MathTracer::Writeln(char* str)
00034 {
00035 printf("%s", str);
00036 printf("\n");
00037 }
00038
00039 void MathTracer::Write(char* str)
00040 {
00041 printf("%s", str);
00042 }
00043
00044
00045
00046
00047
00048
00049
00050
00051 bool MathTracer::CallUnstableDialog()
00052 {
00053 return true;
00054 }
00055
00056
00057
00058
00059
00060
00061
00062 char* MathTracer::NowString()
00063 {
00064 memcpy(m_string,"\0",1);
00065 struct tm *today;
00066 time_t ltime;
00067 time(<ime);
00068 today = localtime( <ime );
00069 if (today)
00070
00071
00072 sprintf( m_string,"%s", ctime( <ime ) );
00073 return m_string;
00074 }
00075
00076 clock_t MathTracer::ClockStart(void)
00077 {
00078 return clock();
00079 }
00080 char* MathTracer::MeasureClock(clock_t& clock_start)
00081 {
00082 clock_t end = clock();
00083 double duration = (double)(end - clock_start) / CLOCKS_PER_SEC;
00084 sprintf(m_string, "%0.3f s", duration );
00085 return m_string;
00086 }
00087
00088 void MathTracer::CS()
00089 {
00090
00091 time(&m_temporary_measure_start);
00092 m_clock_start = clock();
00093 }
00094
00095 char* MathTracer::MC_()
00096 {
00097 clock_t end = clock();
00098 double duration = (double)(end - m_clock_start) / CLOCKS_PER_SEC;
00099 sprintf(m_string, "%0.3f s", duration );
00100 return m_string;
00101 }
00102
00103 DSS_NAMESPASE_END