aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/urealp.h
blob: 8ddca605485a01b51abda0e9fb297f6512043ca8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/****************************************************************************
 *                                                                          *
 *                         GNAT COMPILER COMPONENTS                         *
 *                                                                          *
 *                               U R E A L P                                *
 *                                                                          *
 *                              C Header File                               *
 *                                                                          *
 *            Copyright (C) 1992-2024, Free Software Foundation, Inc.       *
 *                                                                          *
 * GNAT is free software;  you can  redistribute it  and/or modify it under *
 * terms of the  GNU General Public License as published  by the Free Soft- *
 * ware  Foundation;  either version 3,  or (at your option) any later ver- *
 * sion.  GNAT is distributed in the hope that it will be useful, but WITH- *
 * OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY *
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
 * for  more details.  You should have  received  a copy of the GNU General *
 * Public License  distributed with GNAT; see file COPYING3.  If not, go to *
 * http://www.gnu.org/licenses for a complete copy of the license.          *
 *                                                                          *
 * GNAT was originally developed  by the GNAT team at  New York University. *
 * Extensive contributions were provided by Ada Core Technologies Inc.      *
 *                                                                          *
 ****************************************************************************/

/* This is the C header that corresponds to the Ada package specification for
   Urealp.  It was created manually from urealp.ads and must be kept
   synchronized with changes in this file.  */

#ifdef __cplusplus
extern "C" {
#endif

/* Support for universal real arithmetic.  */

#define Numerator urealp__numerator
extern Uint Numerator		(Ureal);

#define Denominator urealp__denominator
extern Uint Denominator		(Ureal);

#define Rbase urealp__rbase
extern Nat Rbase		(Ureal);

#define Norm_Den urealp__norm_den
extern Uint Norm_Den		(Ureal);

#define Norm_Num urealp__norm_num
extern Uint Norm_Num		(Ureal);

#define UR_Is_Negative urealp__ur_is_negative
extern Boolean UR_Is_Negative	(Ureal);

#define UR_Is_Zero urealp__ur_is_zero
extern Boolean UR_Is_Zero	(Ureal);

enum Rounding_Mode {Floor = 0, Ceiling = 1, Round = 2, Round_Even = 3};

#define Machine eval_fat__machine
extern Ureal Machine		(Entity_Id, Ureal, enum Rounding_Mode,
				 Node_Id);

#ifdef __cplusplus
}
#endif