1*4882a593SmuzhiyunFrom 39ac7268c4350040976005da98daf10edf676d3e Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Stephan Hoffmann <sho@relinux.de>
3*4882a593SmuzhiyunDate: Mon, 28 Jan 2013 17:32:10 +0100
4*4882a593SmuzhiyunSubject: [PATCH] Fix conflicting round() function
5*4882a593Smuzhiyun
6*4882a593Smuzhiyuncalibrator.c defines a local round() function that conflicts
7*4882a593Smuzhiyunwith the one from the standard library.
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunThis is fixed by renaming the local function.
10*4882a593Smuzhiyun
11*4882a593SmuzhiyunSigned-off-by: Stephan Hoffmann <sho@relinux.de>
12*4882a593Smuzhiyun---
13*4882a593Smuzhiyun calibrator.c |   30 +++++++++++++++---------------
14*4882a593Smuzhiyun 1 files changed, 15 insertions(+), 15 deletions(-)
15*4882a593Smuzhiyun
16*4882a593Smuzhiyundiff --git a/calibrator.c b/calibrator.c
17*4882a593Smuzhiyunindex e045dfd..8471c04 100644
18*4882a593Smuzhiyun--- a/calibrator.c
19*4882a593Smuzhiyun+++ b/calibrator.c
20*4882a593Smuzhiyun@@ -128,7 +128,7 @@ void ErrXit(char *format, ...) {
21*4882a593Smuzhiyun 	exit(1);
22*4882a593Smuzhiyun }
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun-lng round(dbl x)
25*4882a593Smuzhiyun+lng lng_round(dbl x)
26*4882a593Smuzhiyun {
27*4882a593Smuzhiyun 	return (lng)(x + 0.5);
28*4882a593Smuzhiyun }
29*4882a593Smuzhiyun@@ -890,16 +890,16 @@ void plotCache(cacheInfo *cache, lng **result, lng MHz, char *fn, FILE *fp, lng
30*4882a593Smuzhiyun 	fprintf(fp, ")\n");
31*4882a593Smuzhiyun 	fprintf(fp, "set y2tics");
32*4882a593Smuzhiyun 	for (l = 0, s = " ("; l <= cache->levels; l++, s = ", ") {
33*4882a593Smuzhiyun-		if (!delay)	fprintf(fp, "%s'(%ld)' %f", s, round(CYperIt(cache->latency1[l] - delay)), NSperIt(cache->latency1[l] - delay));
34*4882a593Smuzhiyun-			else	fprintf(fp, "%s'(%ld)' %f", s, round(CYperIt(cache->latency2[l] - delay)), NSperIt(cache->latency2[l] - delay));
35*4882a593Smuzhiyun+		if (!delay)	fprintf(fp, "%s'(%ld)' %f", s, lng_round(CYperIt(cache->latency1[l] - delay)), NSperIt(cache->latency1[l] - delay));
36*4882a593Smuzhiyun+			else	fprintf(fp, "%s'(%ld)' %f", s, lng_round(CYperIt(cache->latency2[l] - delay)), NSperIt(cache->latency2[l] - delay));
37*4882a593Smuzhiyun 	}
38*4882a593Smuzhiyun 	for (y = 1; y <= yh; y *= 10) {
39*4882a593Smuzhiyun 		fprintf(fp, "%s'%1.3g' %ld", s, (dbl)(y * MHz) / 1000.0, y);
40*4882a593Smuzhiyun 	}
41*4882a593Smuzhiyun 	fprintf(fp, ")\n");
42*4882a593Smuzhiyun 	for (l = 0; l <= cache->levels; l++) {
43*4882a593Smuzhiyun-		if (!delay)	z = (dbl)round(CYperIt(cache->latency1[l] - delay)) * 1000.0 / (dbl)MHz;
44*4882a593Smuzhiyun-			else	z = (dbl)round(CYperIt(cache->latency2[l] - delay)) * 1000.0 / (dbl)MHz;
45*4882a593Smuzhiyun+		if (!delay)	z = (dbl)lng_round(CYperIt(cache->latency1[l] - delay)) * 1000.0 / (dbl)MHz;
46*4882a593Smuzhiyun+			else	z = (dbl)lng_round(CYperIt(cache->latency2[l] - delay)) * 1000.0 / (dbl)MHz;
47*4882a593Smuzhiyun 		fprintf(fp, "set label %ld '(%1.3g)  ' at %f,%f right\n", l + 1, z, xl, z);
48*4882a593Smuzhiyun 		fprintf(fp, "set arrow %ld from %f,%f to %f,%f nohead lt 0\n", l + 1, xl, z, xh, z);
49*4882a593Smuzhiyun 	}
50*4882a593Smuzhiyun@@ -986,16 +986,16 @@ void plotTLB(TLBinfo *TLB, lng **result, lng MHz, char *fn, FILE *fp, lng delay)
51*4882a593Smuzhiyun 	fprintf(fp, "%s'<L1>' %ld)\n", s, TLB->mincachelines);
52*4882a593Smuzhiyun 	fprintf(fp, "set y2tics");
53*4882a593Smuzhiyun 	for (l = 0, s = " ("; l <= TLB->levels; l++, s = ", ") {
54*4882a593Smuzhiyun-		if (!delay)	fprintf(fp, "%s'(%ld)' %f", s, round(CYperIt(TLB->latency1[l] - delay)), NSperIt(TLB->latency1[l] - delay));
55*4882a593Smuzhiyun-			else	fprintf(fp, "%s'(%ld)' %f", s, round(CYperIt(TLB->latency2[l] - delay)), NSperIt(TLB->latency2[l] - delay));
56*4882a593Smuzhiyun+		if (!delay)	fprintf(fp, "%s'(%ld)' %f", s, lng_round(CYperIt(TLB->latency1[l] - delay)), NSperIt(TLB->latency1[l] - delay));
57*4882a593Smuzhiyun+			else	fprintf(fp, "%s'(%ld)' %f", s, lng_round(CYperIt(TLB->latency2[l] - delay)), NSperIt(TLB->latency2[l] - delay));
58*4882a593Smuzhiyun 	}
59*4882a593Smuzhiyun 	for (y = 1; y <= yh; y *= 10) {
60*4882a593Smuzhiyun 		fprintf(fp, "%s'%1.3g' %ld", s, (dbl)(y * MHz) / 1000.0, y);
61*4882a593Smuzhiyun 	}
62*4882a593Smuzhiyun 	fprintf(fp, ")\n");
63*4882a593Smuzhiyun 	for (l = 0; l <= TLB->levels; l++) {
64*4882a593Smuzhiyun-		if (!delay)	z = (dbl)round(CYperIt(TLB->latency1[l] - delay)) * 1000.0 / (dbl)MHz;
65*4882a593Smuzhiyun-			else	z = (dbl)round(CYperIt(TLB->latency2[l] - delay)) * 1000.0 / (dbl)MHz;
66*4882a593Smuzhiyun+		if (!delay)	z = (dbl)lng_round(CYperIt(TLB->latency1[l] - delay)) * 1000.0 / (dbl)MHz;
67*4882a593Smuzhiyun+			else	z = (dbl)lng_round(CYperIt(TLB->latency2[l] - delay)) * 1000.0 / (dbl)MHz;
68*4882a593Smuzhiyun 		fprintf(fp, "set label %ld '(%1.3g)  ' at %f,%f right\n", l + 1, z, xl, z);
69*4882a593Smuzhiyun 		fprintf(fp, "set arrow %ld from %f,%f to %f,%f nohead lt 0\n", l + 1, xl, z, xh, z);
70*4882a593Smuzhiyun 	}
71*4882a593Smuzhiyun@@ -1023,9 +1023,9 @@ void printCPU(cacheInfo *cache, lng MHz, lng delay)
72*4882a593Smuzhiyun 	FILE	*fp = stdout;
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun 	fprintf(fp, "CPU loop + L1 access:    ");
75*4882a593Smuzhiyun-	fprintf(fp, " %6.2f ns = %3ld cy\n", NSperIt(cache->latency1[0]), round(CYperIt(cache->latency1[0])));
76*4882a593Smuzhiyun+	fprintf(fp, " %6.2f ns = %3ld cy\n", NSperIt(cache->latency1[0]), lng_round(CYperIt(cache->latency1[0])));
77*4882a593Smuzhiyun 	fprintf(fp, "             ( delay:    ");
78*4882a593Smuzhiyun-	fprintf(fp, " %6.2f ns = %3ld cy )\n", NSperIt(delay),            round(CYperIt(delay)));
79*4882a593Smuzhiyun+	fprintf(fp, " %6.2f ns = %3ld cy )\n", NSperIt(delay),            lng_round(CYperIt(delay)));
80*4882a593Smuzhiyun 	fprintf(fp, "\n");
81*4882a593Smuzhiyun 	fflush(fp);
82*4882a593Smuzhiyun }
83*4882a593Smuzhiyun@@ -1047,8 +1047,8 @@ void printCache(cacheInfo *cache, lng MHz)
84*4882a593Smuzhiyun 			fprintf(fp, " %3ld KB ", cache->size[l] / 1024);
85*4882a593Smuzhiyun 		}
86*4882a593Smuzhiyun 		fprintf(fp, " %3ld bytes ", cache->linesize[l + 1]);
87*4882a593Smuzhiyun-		fprintf(fp, " %6.2f ns = %3ld cy " , NSperIt(cache->latency2[l + 1] - cache->latency2[l]), round(CYperIt(cache->latency2[l + 1] - cache->latency2[l])));
88*4882a593Smuzhiyun-		fprintf(fp, " %6.2f ns = %3ld cy\n", NSperIt(cache->latency1[l + 1] - cache->latency1[l]), round(CYperIt(cache->latency1[l + 1] - cache->latency1[l])));
89*4882a593Smuzhiyun+		fprintf(fp, " %6.2f ns = %3ld cy " , NSperIt(cache->latency2[l + 1] - cache->latency2[l]), lng_round(CYperIt(cache->latency2[l + 1] - cache->latency2[l])));
90*4882a593Smuzhiyun+		fprintf(fp, " %6.2f ns = %3ld cy\n", NSperIt(cache->latency1[l + 1] - cache->latency1[l]), lng_round(CYperIt(cache->latency1[l + 1] - cache->latency1[l])));
91*4882a593Smuzhiyun 	}
92*4882a593Smuzhiyun 	fprintf(fp, "\n");
93*4882a593Smuzhiyun 	fflush(fp);
94*4882a593Smuzhiyun@@ -1075,9 +1075,9 @@ void printTLB(TLBinfo *TLB, lng MHz)
95*4882a593Smuzhiyun 		} else {
96*4882a593Smuzhiyun 			fprintf(fp, "  %3ld KB  ", TLB->pagesize[l + 1] / 1024);
97*4882a593Smuzhiyun 		}
98*4882a593Smuzhiyun-		fprintf(fp, " %6.2f ns = %3ld cy ", NSperIt(TLB->latency2[l + 1] - TLB->latency2[l]), round(CYperIt(TLB->latency2[l + 1] - TLB->latency2[l])));
99*4882a593Smuzhiyun+		fprintf(fp, " %6.2f ns = %3ld cy ", NSperIt(TLB->latency2[l + 1] - TLB->latency2[l]), lng_round(CYperIt(TLB->latency2[l + 1] - TLB->latency2[l])));
100*4882a593Smuzhiyun /*
101*4882a593Smuzhiyun-		fprintf(fp, " %6.2f ns = %3ld cy" , NSperIt(TLB->latency1[l + 1] - TLB->latency1[l]), round(CYperIt(TLB->latency1[l + 1] - TLB->latency1[l])));
102*4882a593Smuzhiyun+		fprintf(fp, " %6.2f ns = %3ld cy" , NSperIt(TLB->latency1[l + 1] - TLB->latency1[l]), lng_round(CYperIt(TLB->latency1[l + 1] - TLB->latency1[l])));
103*4882a593Smuzhiyun */
104*4882a593Smuzhiyun 		fprintf(fp, "\n");
105*4882a593Smuzhiyun 	}
106*4882a593Smuzhiyun--
107*4882a593Smuzhiyun1.7.0.4
108*4882a593Smuzhiyun
109