This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Add benchmark inputs for cos and tan


Hi,

Attached patch adds inputs for cos and tan for the slow and fast
paths.  OK to commit?

Siddhesh

	* benchtests/Makefile (bench): Add cos, tan, slowcos and
	slowtan.
	* benchtests/cos-inputs: New file.
	* benchtests/slowcos-inputs: New file.
	* benchtests/slowcos.c: New file.
	* benchtests/slowtan-inputs: New file.
	* benchtests/slowtan.c: New file.
	* benchtests/tan-inputs: New file.

diff --git a/benchtests/Makefile b/benchtests/Makefile
index 5d3de5d..c61fd87 100644
--- a/benchtests/Makefile
+++ b/benchtests/Makefile
@@ -45,7 +45,8 @@
 #   See pow-inputs for an example.
 
 subdir := benchtests
-bench := exp pow rint sin atan slowexp slowpow slowsin slowatan
+bench := exp pow rint sin cos tan atan \
+	 slowexp slowpow slowsin slowcos slowtan slowatan
 
 # exp function fast path
 exp-ITER = 5e8
@@ -77,6 +78,18 @@ sin-ARGLIST = double
 sin-RET = double
 LDFLAGS-bench-sin = -lm
 
+# cos function fast path
+cos-ITER = 3e9
+cos-ARGLIST = double
+cos-RET = double
+LDFLAGS-bench-cos = -lm
+
+# tan function fast path
+tan-ITER = 3e9
+tan-ARGLIST = double
+tan-RET = double
+LDFLAGS-bench-tan = -lm
+
 # atan function fast path
 atan-ITER = 6e9
 atan-ARGLIST = double
@@ -97,6 +110,20 @@ slowsin-RET = double
 slowsin-INCLUDE = slowsin.c
 LDFLAGS-bench-slowsin = -lm
 
+# cos function slowest path
+slowcos-ITER = 3e7
+slowcos-ARGLIST = double
+slowcos-RET = double
+slowcos-INCLUDE = slowcos.c
+LDFLAGS-bench-slowcos = -lm
+
+# tan function slowest path
+slowtan-ITER = 3e7
+slowtan-ARGLIST = double
+slowtan-RET = double
+slowtan-INCLUDE = slowtan.c
+LDFLAGS-bench-slowtan = -lm
+
 # atan function slowest path
 slowatan-ITER = 3e8
 slowatan-ARGLIST = double
diff --git a/benchtests/cos-inputs b/benchtests/cos-inputs
new file mode 100644
index 0000000..98f4122
--- /dev/null
+++ b/benchtests/cos-inputs
@@ -0,0 +1,5 @@
+0x1.000000cf4a2a1p0
+0x1.0000010b239a8p0
+0x1.00000162a932ap0
+0x1.000002d452a11p0
+0x1.000005bc7d86cp0
diff --git a/benchtests/slowcos-inputs b/benchtests/slowcos-inputs
new file mode 100644
index 0000000..b7eb235
--- /dev/null
+++ b/benchtests/slowcos-inputs
@@ -0,0 +1,5 @@
+0x1.000000cf4a2a2p0
+0x1.0000010b239a9p0
+0x1.00000162a932bp0
+0x1.000002d452a10p0
+0x1.000005bc7d86dp0
diff --git a/benchtests/slowcos.c b/benchtests/slowcos.c
new file mode 100644
index 0000000..9f56234
--- /dev/null
+++ b/benchtests/slowcos.c
@@ -0,0 +1,19 @@
+/* Define slowcos.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define slowcos cos
diff --git a/benchtests/slowtan-inputs b/benchtests/slowtan-inputs
new file mode 100644
index 0000000..74a7eab
--- /dev/null
+++ b/benchtests/slowtan-inputs
@@ -0,0 +1 @@
+0x1.dffffffffff1fp-22
diff --git a/benchtests/slowtan.c b/benchtests/slowtan.c
new file mode 100644
index 0000000..583f16f
--- /dev/null
+++ b/benchtests/slowtan.c
@@ -0,0 +1,19 @@
+/* Define slowtan.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define slowtan tan
diff --git a/benchtests/tan-inputs b/benchtests/tan-inputs
new file mode 100644
index 0000000..4369d75
--- /dev/null
+++ b/benchtests/tan-inputs
@@ -0,0 +1 @@
+0x1.dffffffffff1ep-22


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]