summaryrefslogtreecommitdiff
path: root/benchmarks/whetstone/patches/patch-aa
blob: e9b1f82abbf8f222e1136d70500b1511ce648f18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
$NetBSD: patch-aa,v 1.1 1998/08/30 17:51:17 garbled Exp $
--- whetstone.c.orig	Sun Aug 30 10:03:47 1998
+++ whetstone.c	Sun Aug 30 10:06:00 1998
@@ -59,6 +59,12 @@
 
 /* the following is optional depending on the timing function used */
 #include <time.h>
+#ifdef CLOCKS_PER_SEC
+#define mytime() clock()
+#else
+#define mytime() time(0)
+#define CLOCKS_PER_SEC 1
+#endif
 
 /* map the FORTRAN math functions, etc. to the C versions */
 #define DSIN	sin
@@ -120,7 +126,7 @@
 C	Start benchmark timing at this point.
 C
 */
-	startsec = time(0);
+	startsec = mytime();
 
 /*
 C
@@ -355,7 +361,7 @@
 C      Stop benchmark timing at this point.
 C
 */
-	finisec = time(0);
+	finisec = mytime();
 
 /*
 C----------------------------------------------------------------
@@ -367,15 +373,16 @@
 C--------------------------------------------------------------------
 */
 	printf("\n");
-	if (finisec-startsec <= 0) {
+	if (finisec-startsec <= 100) {
 		printf("Insufficient duration- Increase the LOOP count\n");
 		return(1);
 	}
 
-	printf("Loops: %ld, Iterations: %d, Duration: %ld sec.\n",
-			LOOP, II, finisec-startsec);
+	printf("Loops: %ld, Iterations: %d, Duration: %f sec.\n",
+			LOOP, II,
+			(float)(finisec-startsec)/(float)CLOCKS_PER_SEC);
 
-	KIPS = (100.0*LOOP*II)/(float)(finisec-startsec);
+	KIPS = (100.0*LOOP*II*CLOCKS_PER_SEC)/(float)(finisec-startsec);
 	if (KIPS >= 1000.0)
 		printf("C Converted Double Precision Whetstones: %.1f MIPS\n", KIPS/1000.0);
 	else