/*
Copyright (C) 2009 William Hart
Copyright (C) 2014 Abhinav Baid
This file is part of FLINT.
FLINT is free software: you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License (LGPL) as published
by the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version. See .
*/
#if defined(_WIN64) || defined(__mips64)
#include /* to enable mpfr_set_sj in mpfr.h */
#endif
#include
#if defined( _WIN64) && defined( _MSC_MPIR_VERSION ) && __MPIR_RELEASE >= 20700
# if defined( _MSC_VER ) && _MSC_VER >= 1600
# include
# include
# define mpfr_set_si mpfr_set_sj
# endif
#endif
#include "flint.h"
#include "ulong_extras.h"
#include "fmpz.h"
void
fmpz_get_mpfr(mpfr_t x, const fmpz_t f, mpfr_rnd_t rnd)
{
if (!COEFF_IS_MPZ(*f))
#if defined(_WIN64) || defined(__mips64)
mpfr_set_sj(x, *f, rnd);
#else
mpfr_set_si(x, *f, rnd); /* set x to small value */
#endif
else
mpfr_set_z(x, COEFF_TO_PTR(*f), rnd); /* set x to large value */
}