Add benchmark inputs for atan

Add separate inputs for slow and fast paths of atan
This commit is contained in:
Siddhesh Poyarekar 2013-04-03 13:38:39 +05:30
parent c871eccd1e
commit 64aabd4b80
5 changed files with 44 additions and 1 deletions

View File

@ -1,5 +1,10 @@
2013-04-03 Siddhesh Poyarekar <siddhesh@redhat.com>
* benchtests/Makefile (bench): Add atan and slowatan.
* benchtests/atan-inputs: New file.
* benchtests/slowatan-inputs: New file.
* benchtests/slowatan.c: New file.
* sysdeps/ieee754/dbl-64/mpa.h (TWO): Remove definition.
* sysdeps/ieee754/dbl-64/mpatan.c (__mpatan): Replace TWO with
its value.

View File

@ -45,7 +45,7 @@
# See pow-inputs for an example.
subdir := benchtests
bench := exp pow rint sin slowexp slowpow slowsin
bench := exp pow rint sin atan slowexp slowpow slowsin slowatan
# exp function fast path
exp-ITER = 5e8
@ -77,6 +77,12 @@ sin-ARGLIST = double
sin-RET = double
LDFLAGS-bench-sin = -lm
# atan function fast path
atan-ITER = 6e9
atan-ARGLIST = double
atan-RET = double
LDFLAGS-bench-atan = -lm
# pow function slowest path
slowpow-ITER = 1e5
slowpow-ARGLIST = double:double
@ -91,5 +97,12 @@ slowsin-RET = double
slowsin-INCLUDE = slowsin.c
LDFLAGS-bench-slowsin = -lm
# atan function slowest path
slowatan-ITER = 3e8
slowatan-ARGLIST = double
slowatan-RET = double
slowatan-INCLUDE = slowatan.c
LDFLAGS-bench-slowatan = -lm
include ../Makeconfig
include ../Rules

3
benchtests/atan-inputs Normal file
View File

@ -0,0 +1,3 @@
0x1.000000c5cba86p0
0x1.000001883003ap0
0x1.00000dfb2b674p0

View File

@ -0,0 +1,3 @@
0x1.000000c5cba87p0
0x1.000001883003bp0
0x1.00000dfb2b675p0

19
benchtests/slowatan.c Normal file
View File

@ -0,0 +1,19 @@
/* Define slowatan.
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 slowatan atan