]>
Commit | Line | Data |
---|---|---|
415dddc8 RK |
1 | /**************************************************************************** |
2 | * * | |
3 | * GNAT COMPILER COMPONENTS * | |
4 | * * | |
5 | * U R E A L P * | |
6 | * * | |
7 | * C Header File * | |
8 | * * | |
4b490c1e | 9 | * Copyright (C) 1992-2020, Free Software Foundation, Inc. * |
415dddc8 RK |
10 | * * |
11 | * GNAT is free software; you can redistribute it and/or modify it under * | |
12 | * terms of the GNU General Public License as published by the Free Soft- * | |
d70c0bd6 | 13 | * ware Foundation; either version 3, or (at your option) any later ver- * |
415dddc8 RK |
14 | * sion. GNAT is distributed in the hope that it will be useful, but WITH- * |
15 | * OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * | |
16 | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * | |
b5c84c3c RD |
17 | * for more details. You should have received a copy of the GNU General * |
18 | * Public License distributed with GNAT; see file COPYING3. If not, go to * | |
19 | * http://www.gnu.org/licenses for a complete copy of the license. * | |
415dddc8 RK |
20 | * * |
21 | * GNAT was originally developed by the GNAT team at New York University. * | |
71ff80dc | 22 | * Extensive contributions were provided by Ada Core Technologies Inc. * |
415dddc8 RK |
23 | * * |
24 | ****************************************************************************/ | |
25 | ||
c7732bbe EB |
26 | /* This is the C header that corresponds to the Ada package specification for |
27 | Urealp. It was created manually from urealp.ads and must be kept | |
28 | synchronized with changes in this file. */ | |
9e9bd455 LG |
29 | |
30 | #ifdef __cplusplus | |
31 | extern "C" { | |
32 | #endif | |
415dddc8 RK |
33 | |
34 | /* Support for universal real arithmetic. */ | |
35 | ||
36 | #define Numerator urealp__numerator | |
fbf5a39b | 37 | extern Uint Numerator (Ureal); |
415dddc8 RK |
38 | |
39 | #define Denominator urealp__denominator | |
fbf5a39b | 40 | extern Uint Denominator (Ureal); |
415dddc8 RK |
41 | |
42 | #define Rbase urealp__rbase | |
fbf5a39b | 43 | extern Nat Rbase (Ureal); |
415dddc8 | 44 | |
eefd2467 AC |
45 | #define Norm_Den urealp__norm_den |
46 | extern Uint Norm_Den (Ureal); | |
47 | ||
48 | #define Norm_Num urealp__norm_num | |
49 | extern Uint Norm_Num (Ureal); | |
50 | ||
415dddc8 | 51 | #define UR_Is_Negative urealp__ur_is_negative |
fbf5a39b | 52 | extern Boolean UR_Is_Negative (Ureal); |
415dddc8 RK |
53 | |
54 | #define UR_Is_Zero urealp__ur_is_zero | |
fbf5a39b | 55 | extern Boolean UR_Is_Zero (Ureal); |
415dddc8 | 56 | |
6510f4c9 GB |
57 | enum Rounding_Mode {Floor = 0, Ceiling = 1, Round = 2, Round_Even = 3}; |
58 | ||
415dddc8 | 59 | #define Machine eval_fat__machine |
9d7d51be AC |
60 | extern Ureal Machine (Entity_Id, Ureal, enum Rounding_Mode, |
61 | Node_Id); | |
9e9bd455 LG |
62 | |
63 | #ifdef __cplusplus | |
64 | } | |
65 | #endif |