Mercurial > hg > CbC > CbC_gcc
comparison libquadmath/math/fminq.c @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 561a7518be6b |
children |
comparison
equal
deleted
inserted
replaced
131:84e7813d76e9 | 145:1830386684a0 |
---|---|
1 /* Return minimum numeric value of X and Y. | 1 /* Return minimum numeric value of X and Y. |
2 Copyright (C) 1997 Free Software Foundation, Inc. | 2 Copyright (C) 1997-2018 Free Software Foundation, Inc. |
3 This file is part of the GNU C Library. | 3 This file is part of the GNU C Library. |
4 Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. | 4 Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. |
5 | 5 |
6 The GNU C Library is free software; you can redistribute it and/or | 6 The GNU C Library is free software; you can redistribute it and/or |
7 modify it under the terms of the GNU Lesser General Public | 7 modify it under the terms of the GNU Lesser General Public |
12 but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
14 Lesser General Public License for more details. | 14 Lesser General Public License for more details. |
15 | 15 |
16 You should have received a copy of the GNU Lesser General Public | 16 You should have received a copy of the GNU Lesser General Public |
17 License along with the GNU C Library; if not, write to the Free | 17 License along with the GNU C Library; if not, see |
18 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | 18 <http://www.gnu.org/licenses/>. */ |
19 02111-1307 USA. */ | |
20 | 19 |
21 #include "quadmath-imp.h" | 20 #include "quadmath-imp.h" |
22 | |
23 | 21 |
24 __float128 | 22 __float128 |
25 fminq (__float128 x, __float128 y) | 23 fminq (__float128 x, __float128 y) |
26 { | 24 { |
27 return (__builtin_islessequal (x, y) || isnanq (y)) ? x : y; | 25 if (__builtin_islessequal (x, y)) |
26 return x; | |
27 else if (__builtin_isgreater (x, y)) | |
28 return y; | |
29 else if (issignalingq (x) || issignalingq (y)) | |
30 return x + y; | |
31 else | |
32 return isnanq (y) ? x : y; | |
28 } | 33 } |