summaryrefslogtreecommitdiff
path: root/math/s_csinf.c
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2016-08-20 19:50:45 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2016-08-20 19:50:45 +0200
commit4dd9e35bfd35d3138bc44169baba098005bad51e (patch)
treea4939c43a9c3fe00eb27f023e14acc5e1fe8808c /math/s_csinf.c
parentbd42a4599d1b6f77bcfe1e4f67b7cbd9e1cb2dfd (diff)
parentf76453c31593957fec1a99b986bfa5506618b79c (diff)
Merge commit 'refs/top-bases/t/bigmem' into t/bigmem
Diffstat (limited to 'math/s_csinf.c')
-rw-r--r--math/s_csinf.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/math/s_csinf.c b/math/s_csinf.c
index 26c4bb0a2f..52cce4b46b 100644
--- a/math/s_csinf.c
+++ b/math/s_csinf.c
@@ -1,5 +1,5 @@
/* Complex sine function for float.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -33,16 +33,16 @@ __csinf (__complex__ float x)
__real__ x = fabsf (__real__ x);
- if (__builtin_expect (icls >= FP_ZERO, 1))
+ if (__glibc_likely (icls >= FP_ZERO))
{
/* Imaginary part is finite. */
- if (__builtin_expect (rcls >= FP_ZERO, 1))
+ if (__glibc_likely (rcls >= FP_ZERO))
{
/* Real part is finite. */
const int t = (int) ((FLT_MAX_EXP - 1) * M_LN2);
float sinix, cosix;
- if (__builtin_expect (rcls != FP_SUBNORMAL, 1))
+ if (__glibc_likely (__real__ x > FLT_MIN))
{
__sincosf (__real__ x, &sinix, &cosix);
}
@@ -52,6 +52,9 @@ __csinf (__complex__ float x)
cosix = 1.0f;
}
+ if (negate)
+ sinix = -sinix;
+
if (fabsf (__imag__ x) > t)
{
float exp_t = __ieee754_expf (t);
@@ -86,9 +89,6 @@ __csinf (__complex__ float x)
__imag__ retval = __ieee754_sinhf (__imag__ x) * cosix;
}
- if (negate)
- __real__ retval = -__real__ retval;
-
if (fabsf (__real__ retval) < FLT_MIN)
{
volatile float force_underflow
@@ -136,7 +136,7 @@ __csinf (__complex__ float x)
/* Real part is finite. */
float sinix, cosix;
- if (__builtin_expect (rcls != FP_SUBNORMAL, 1))
+ if (__glibc_likely (__real__ x > FLT_MIN))
{
__sincosf (__real__ x, &sinix, &cosix);
}