]> git.ipfire.org Git - thirdparty/glibc.git/blame - math/s_significand_template.c
Fix the inaccuracy of j0f/j1f/y0f/y1f [BZ #14469, #14470, #14471, #14472]
[thirdparty/glibc.git] / math / s_significand_template.c
CommitLineData
5e79e029 1/* Return the mantissa of a floating-point number.
2b778ceb 2 Copyright (C) 2018-2021 Free Software Foundation, Inc.
5e79e029
TMQMF
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
5a82c748 17 <https://www.gnu.org/licenses/>. */
5e79e029
TMQMF
18
19/*
20 * significand(x) computes just
21 * scalb(x, (FLOAT) - ilogb(x)),
22 * for exercising the fraction-part(F) IEEE 754-1985 test vector.
23 */
24
25#include <math.h>
26#include <math_private.h>
27
28FLOAT
29M_DECL_FUNC (__significand) (FLOAT x)
30{
31 return M_SUF (__ieee754_scalb) (x,(FLOAT) - M_SUF (__ilogb) (x));
32}
33declare_mgen_alias (__significand, significand)