| /**************************************************************************** |

| * * |

| * GNAT COMPILER COMPONENTS * |

| * * |

| * U R E A L P * |

| * * |

| * C Header File * |

| * * |

| * Copyright (C) 1992-2022, 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 |