GRASS GIS 7 Programmer's Manual
7.9.dev(2021)-e5379bbd7
rtimer.cpp
Go to the documentation of this file.
1
/****************************************************************************
2
*
3
* MODULE: iostream
4
*
5
6
* COPYRIGHT (C) 2007 Laura Toma
7
*
8
*
9
10
* Iostream is a library that implements streams, external memory
11
* sorting on streams, and an external memory priority queue on
12
* streams. These are the fundamental components used in external
13
* memory algorithms.
14
15
* Credits: The library was developed by Laura Toma. The kernel of
16
* class STREAM is based on the similar class existent in the GPL TPIE
17
* project developed at Duke University. The sorting and priority
18
* queue have been developed by Laura Toma based on communications
19
* with Rajiv Wickremesinghe. The library was developed as part of
20
* porting Terraflow to GRASS in 2001. PEARL upgrades in 2003 by
21
* Rajiv Wickremesinghe as part of the Terracost project.
22
23
*
24
* This program is free software; you can redistribute it and/or modify
25
* it under the terms of the GNU General Public License as published by
26
* the Free Software Foundation; either version 2 of the License, or
27
* (at your option) any later version.
28
*
29
30
* This program is distributed in the hope that it will be useful,
31
* but WITHOUT ANY WARRANTY; without even the implied warranty of
32
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
33
* General Public License for more details. *
34
* **************************************************************************/
35
36
37
#include <sys/time.h>
38
#include <stdio.h>
39
#include <string.h>
40
#include <strings.h>
41
42
//#include <rtimer.h>
43
#include <
grass/iostream/rtimer.h
>
44
45
char
*
46
rt_sprint_safe
(
char
*buf,
Rtimer
rt) {
47
if
(
rt_w_useconds
(rt) == 0) {
48
sprintf(buf,
"[%4.2fu (%.0f%%) %4.2fs (%.0f%%) %4.2f %.1f%%]"
,
49
0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
50
}
else
{
51
sprintf(buf,
"[%4.2fu (%.0f%%) %4.2fs (%.0f%%) %4.2f %.1f%%]"
,
52
rt_u_useconds
(rt)/1000000,
53
100.0*
rt_u_useconds
(rt)/
rt_w_useconds
(rt),
54
rt_s_useconds
(rt)/1000000,
55
100.0*
rt_s_useconds
(rt)/
rt_w_useconds
(rt),
56
rt_w_useconds
(rt)/1000000,
57
100.0*(
rt_u_useconds
(rt)+
rt_s_useconds
(rt)) /
rt_w_useconds
(rt));
58
}
59
return
buf;
60
}
61
62
63
64
rt_u_useconds
#define rt_u_useconds(rt)
Definition:
rtimer.h:101
rt_w_useconds
#define rt_w_useconds(rt)
Definition:
rtimer.h:113
Rtimer
Definition:
rtimer.h:79
rtimer.h
rt_s_useconds
#define rt_s_useconds(rt)
Definition:
rtimer.h:107
rt_sprint_safe
char * rt_sprint_safe(char *buf, Rtimer rt)
Definition:
rtimer.cpp:46
lib
iostream
rtimer.cpp
Generated on Mon May 31 2021 05:21:31 for GRASS GIS 7 Programmer's Manual by
1.8.13