diff options
author | Andreas Jaeger <aj@suse.de> | 2012-04-18 09:46:20 +0200 |
---|---|---|
committer | Andreas Jaeger <aj@suse.de> | 2012-04-18 14:31:43 +0200 |
commit | 7a99a614618a92b01715733d34b3320d75d9e997 (patch) | |
tree | b40ebb9cbcb2f2abc260e9307ee468f027360a4f /sysdeps/sparc/sparc64/soft-fp/s_ilogbl.c | |
parent | e5270c239d7515194b880bbef675d34bcc64139b (diff) | |
download | glibc-7a99a614618a92b01715733d34b3320d75d9e997.tar.gz glibc-7a99a614618a92b01715733d34b3320d75d9e997.tar.xz glibc-7a99a614618a92b01715733d34b3320d75d9e997.zip |
Finish ilogb changes
[BZ# 6794] * sysdeps/ieee754/ldbl-96/s_ilogbl.c: Moved to ... * sysdeps/ieee754/ldbl-96/e_ilogbl.c: ... here. Rename __ilogbl to __ieee754_ilogbl and remove weak_alias. * sysdeps/ieee754/ldbl-128/s_ilogbl.c: Moved to ... * sysdeps/ieee754/ldbl-128/e_ilogbl.c: ... here. Rename __ilogbl to __ieee754_ilogbl and remove weak_alias. * sysdeps/ieee754/ldbl-64-128/s_ilogbl.c: Moved to ... * sysdeps/ieee754/ldbl-64-128/e_ilogbl.c: ... here. * sysdeps/sparc/sparc64/soft-fp/s_ilogbl.c: Moved to ... * sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c: ... here. Rename __ilogbl to __ieee754_ilogbl and remove weak_alias.
Diffstat (limited to 'sysdeps/sparc/sparc64/soft-fp/s_ilogbl.c')
-rw-r--r-- | sysdeps/sparc/sparc64/soft-fp/s_ilogbl.c | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/sysdeps/sparc/sparc64/soft-fp/s_ilogbl.c b/sysdeps/sparc/sparc64/soft-fp/s_ilogbl.c deleted file mode 100644 index 6d8bd00cc1..0000000000 --- a/sysdeps/sparc/sparc64/soft-fp/s_ilogbl.c +++ /dev/null @@ -1,81 +0,0 @@ -/* Software floating-point emulation. - ilogbl(x, exp) - Copyright (C) 1999 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Jakub Jelinek (jj@ultra.linux.cz). - - 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/>. */ - -/* ilogbl(long double x) - * return the binary exponent of non-zero x - * ilogbl(0) = 0x80000001 - * ilogbl(inf/NaN) = 0x7fffffff (no signal is raised) - */ - -#include "soft-fp.h" -#include "quad.h" -#include <math.h> - -int __ilogbl(long double x) -{ - FP_DECL_EX; - FP_DECL_Q(X); - -/* - FP_UNPACK_Q(X, x); - switch (X_c) - { - case FP_CLS_ZERO: - return FP_ILOGB0; - case FP_CLS_NAN: - case FP_CLS_INF: - return FP_ILOGBNAN; - default: - return X_e; - } - */ - FP_UNPACK_RAW_Q(X, x); - switch (X_e) - { - default: - return X_e - _FP_EXPBIAS_Q; - case 0: -#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q - if (_FP_FRAC_ZEROP_4(X)) - return FP_ILOGB0; - else - { - _FP_I_TYPE shift; - _FP_FRAC_CLZ_4(shift, X); - shift -= _FP_FRACXBITS_Q; - return X_e - _FP_EXPBIAS_Q - 1 + shift; - } -#else - if (_FP_FRAC_ZEROP_2(X)) - return FP_ILOGB0; - else - { - _FP_I_TYPE shift; - _FP_FRAC_CLZ_2(shift, X); - shift -= _FP_FRACXBITS_Q; - return X_e - _FP_EXPBIAS_Q - 1 + shift; - } -#endif - case _FP_EXPBIAS_Q: - return FP_ILOGBNAN; - } -} - -weak_alias (__ilogbl, ilogbl) |