From a249c5ebb3eeb7646e4d00f47a066eb3119e891c Mon Sep 17 00:00:00 2001 From: Ed Schouten Date: Fri, 9 Jan 2015 13:40:29 +0100 Subject: [PATCH] Simply use __imag__ to implement cimag(). We already use this construct in cabs() to call hypot(), so I guess we can assume our targeted compilers support this construct. --- src/s_cimag.c | 5 +---- src/s_cimagf.c | 5 +---- src/s_cimagl.c | 5 +---- 3 files changed, 3 insertions(+), 12 deletions(-) diff --git a/src/s_cimag.c b/src/s_cimag.c index 6e8a465..e778e89 100644 --- a/src/s_cimag.c +++ b/src/s_cimag.c @@ -26,7 +26,6 @@ * $FreeBSD: src/lib/msun/src/s_cimag.c,v 1.3 2009/03/14 18:24:15 das Exp $ */ -#include #include #include "math_private.h" @@ -34,7 +33,5 @@ DLLEXPORT double cimag(double complex z) { - const double_complex z1 = { .f = z }; - - return (IMAGPART(z1)); + return (__imag__ z); } diff --git a/src/s_cimagf.c b/src/s_cimagf.c index f59b65e..3b56d2f 100644 --- a/src/s_cimagf.c +++ b/src/s_cimagf.c @@ -26,7 +26,6 @@ * $FreeBSD: src/lib/msun/src/s_cimagf.c,v 1.3 2009/03/14 18:24:15 das Exp $ */ -#include #include #include "math_private.h" @@ -34,7 +33,5 @@ DLLEXPORT float cimagf(float complex z) { - const float_complex z1 = { .f = z }; - - return (IMAGPART(z1)); + return (__imag__ z); } diff --git a/src/s_cimagl.c b/src/s_cimagl.c index 92345ca..70ccdb5 100644 --- a/src/s_cimagl.c +++ b/src/s_cimagl.c @@ -26,7 +26,6 @@ * $FreeBSD: src/lib/msun/src/s_cimagl.c,v 1.3 2009/03/14 18:24:15 das Exp $ */ -#include #include #include "math_private.h" @@ -34,7 +33,5 @@ DLLEXPORT long double cimagl(long double complex z) { - const long_double_complex z1 = { .f = z }; - - return (IMAGPART(z1)); + return (__imag__ z); }