Frobby
0.9.5
src
Timer.cpp
Go to the documentation of this file.
1
/* Frobby: Software for monomial ideal computations.
2
Copyright (C) 2007 Bjarke Hammersholt Roune (www.broune.com)
3
4
This program is free software; you can redistribute it and/or modify
5
it under the terms of the GNU General Public License as published by
6
the Free Software Foundation; either version 2 of the License, or
7
(at your option) any later version.
8
9
This program is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
GNU General Public License for more details.
13
14
You should have received a copy of the GNU General Public License
15
along with this program. If not, see http://www.gnu.org/licenses/.
16
*/
17
#include "
stdinc.h
"
18
#include "
Timer.h
"
19
20
unsigned
long
Timer::getMilliseconds
()
const
{
21
const
double
floatSpan
=
clock
() -
_clocksAtReset
;
22
const
double
floatMilliseconds
= 1000 * (
floatSpan
/
CLOCKS_PER_SEC
);
23
unsigned
long
milliseconds
=
static_cast<
unsigned
long
>
(
floatMilliseconds
);
24
if
(
floatMilliseconds
-
milliseconds
>= 0.5)
25
++
milliseconds
;
26
return
milliseconds
;
27
}
28
29
void
Timer::print
(
FILE
*
out
)
const
{
30
unsigned
long
milliseconds
=
getMilliseconds
();
31
unsigned
long
seconds
=
milliseconds
/ 1000;
32
unsigned
long
minutes
=
seconds
/ 60;
33
unsigned
long
hours
=
minutes
/ 60;
34
35
milliseconds
%= 1000;
36
seconds
%= 60;
37
minutes
%= 60;
38
39
fputc
(
'('
,
out
);
40
if
(
hours
!= 0)
41
fprintf
(
out
,
"%luh"
,
hours
);
42
if
(
minutes
!= 0 ||
hours
!= 0)
43
fprintf
(
out
,
"%lum"
,
minutes
);
44
fprintf
(
out
,
"%lu.%03lus)"
,
seconds
,
milliseconds
);
45
}
nameFactoryRegister
void nameFactoryRegister(NameFactory< AbstractProduct > &factory)
Registers the string returned by ConcreteProduct::getStaticName() to a function that default-construc...
Definition
NameFactory.h:142
Timer.h
Timer::print
void print(FILE *out) const
Prints the elapsed time in a human readable format.
Definition
Timer.cpp:29
Timer::getMilliseconds
unsigned long getMilliseconds() const
Returns the number of CPU milliseconds since the last reset.
Definition
Timer.cpp:20
Timer::_clocksAtReset
std::clock_t _clocksAtReset
Definition
Timer.h:43
stdinc.h
Generated by
1.9.8