]>
Commit | Line | Data |
---|---|---|
23c108af | 1 | /* Subroutines for long double support. |
99dee823 | 2 | Copyright (C) 2000-2021 Free Software Foundation, Inc. |
23c108af | 3 | |
3bed2930 | 4 | This file is part of GCC. |
23c108af | 5 | |
3bed2930 | 6 | GCC is free software; you can redistribute it and/or modify |
23c108af | 7 | it under the terms of the GNU General Public License as published by |
748086b7 | 8 | the Free Software Foundation; either version 3, or (at your option) |
23c108af SE |
9 | any later version. |
10 | ||
3bed2930 | 11 | GCC is distributed in the hope that it will be useful, |
23c108af SE |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | GNU General Public License for more details. | |
15 | ||
748086b7 JJ |
16 | Under Section 7 of GPL version 3, you are granted additional |
17 | permissions described in the GCC Runtime Library Exception, version | |
18 | 3.1, as published by the Free Software Foundation. | |
19 | ||
20 | You should have received a copy of the GNU General Public License and | |
21 | a copy of the GCC Runtime Library Exception along with this program; | |
22 | see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
23 | <http://www.gnu.org/licenses/>. */ | |
23c108af | 24 | |
1a7e1470 SE |
25 | extern int _U_Qfcmp (long double a, long double b, int); |
26 | ||
27 | int _U_Qfeq (long double, long double); | |
28 | int _U_Qfne (long double, long double); | |
29 | int _U_Qfgt (long double, long double); | |
30 | int _U_Qfge (long double, long double); | |
31 | int _U_Qflt (long double, long double); | |
32 | int _U_Qfle (long double, long double); | |
33 | int _U_Qfcomp (long double, long double); | |
23c108af SE |
34 | |
35 | int | |
36 | _U_Qfeq (long double a, long double b) | |
37 | { | |
38 | return (_U_Qfcmp (a, b, 4) != 0); | |
39 | } | |
40 | ||
41 | int | |
42 | _U_Qfne (long double a, long double b) | |
43 | { | |
44 | return (_U_Qfcmp (a, b, 4) == 0); | |
45 | } | |
46 | ||
47 | int | |
48 | _U_Qfgt (long double a, long double b) | |
49 | { | |
50 | return (_U_Qfcmp (a, b, 17) != 0); | |
51 | } | |
52 | ||
53 | int | |
54 | _U_Qfge (long double a, long double b) | |
55 | { | |
56 | return (_U_Qfcmp (a, b, 21) != 0); | |
57 | } | |
58 | ||
59 | int | |
60 | _U_Qflt (long double a, long double b) | |
61 | { | |
62 | return (_U_Qfcmp (a, b, 9) != 0); | |
63 | } | |
64 | ||
65 | int | |
66 | _U_Qfle (long double a, long double b) | |
67 | { | |
68 | return (_U_Qfcmp (a, b, 13) != 0); | |
69 | } | |
70 | ||
71 | int | |
72 | _U_Qfcomp (long double a, long double b) | |
73 | { | |
74 | if (_U_Qfcmp (a, b, 4) == 0) | |
75 | return 0; | |
76 | ||
77 | return (_U_Qfcmp (a, b, 22) != 0 ? 1 : -1); | |
78 | } |