realmpfr.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /* Definitions of floating-point conversion from compiler
  2. internal format to MPFR.
  3. Copyright (C) 2010-2019 Free Software Foundation, Inc.
  4. This file is part of GCC.
  5. GCC is free software; you can redistribute it and/or modify it under
  6. the terms of the GNU General Public License as published by the Free
  7. Software Foundation; either version 3, or (at your option) any later
  8. version.
  9. GCC is distributed in the hope that it will be useful, but WITHOUT ANY
  10. WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11. FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
  12. for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with GCC; see the file COPYING3. If not see
  15. <http://www.gnu.org/licenses/>. */
  16. #ifndef GCC_REALGMP_H
  17. #define GCC_REALGMP_H
  18. #include <mpfr.h>
  19. #include <mpc.h>
  20. /* Convert between MPFR and REAL_VALUE_TYPE. The caller is
  21. responsible for initializing and clearing the MPFR parameter. */
  22. extern void real_from_mpfr (REAL_VALUE_TYPE *, mpfr_srcptr, tree, mp_rnd_t);
  23. extern void real_from_mpfr (REAL_VALUE_TYPE *, mpfr_srcptr,
  24. const real_format *, mp_rnd_t);
  25. extern void mpfr_from_real (mpfr_ptr, const REAL_VALUE_TYPE *, mp_rnd_t);
  26. #if (GCC_VERSION >= 3000)
  27. /* For compatibility with mpfr 2.4 and earlier, we want to only use
  28. GMP_RND*. */
  29. #pragma GCC poison MPFR_RNDN MPFR_RNDZ MPFR_RNDU MPFR_RNDD
  30. #endif
  31. #endif /* ! GCC_REALGMP_H */