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 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431

Copyright 20002019 Free Software Foundation, Inc.
Contributed by the AriC and Caramba projects, INRIA.
This file is part of the GNU MPFR Library.
The GNU MPFR Library is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 3 of the License, or (at your
option) any later version.
The GNU MPFR Library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details.
You should have received a copy of the GNU Lesser General Public License
along with the GNU MPFR Library; see the file COPYING.LESSER. If not, see
https://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 021101301, USA.
##############################################################################
Changes from version 4.0.1 to version 4.0.2:
 Corrected minimal GMP version in the INSTALL file and the MPFR manual.
 Option pedantic is now always removed from __GMP_CFLAGS (see INSTALL).
 Shared caches: cleanup; really detect lock failures (abort in this case).
 Improved MPFR manual. In particular, corrected/completed the
mpfr_get_str description in order to follow the historical behavior
and GMP's mpf_get_str function.
 Bug fixes (see ChangeLog file).
Changes from version 4.0.0 to version 4.0.1:
 Improved MPFR manual.
 Improved __GMP_CC and __GMP_CFLAGS retrieval (in particular for MS Windows).
 Fixed a build failure on some platforms when withgmpbuild is used.
 Bug fixes (see ChangeLog file), in particular in mpfr_div_ui, which
could yield an incorrectly rounded result to nearest when using
different precisions; this bug had been present since the introduction
of mpfr_div_ui, and in MPFR 4.0.0, it was affecting mpfr_div too.
 New: optional "make checkexportedsymbols", mainly for the MPFR developers
and binary distributions, to check that MPFR does not define symbols with a
GMP reserved prefix (experimental).
Changes from versions 3.1.* to version 4.0.0:
 The "dinde aux marrons" release.
 MPFR now depends on GMP 5.0+ instead of 4.1+.
 API change:
Applications that call GMP's mp_set_memory_functions function to change
the allocators must first call the new function mpfr_mp_memory_cleanup
in all threads where MPFR is potentially used; this new function is
currently equivalent to mpfr_free_cache.
The reason is that the way memory allocation is done by MPFR has changed
(again), so that the current GMP allocators are used (since for some
applications, the old allocators may become invalid).
Note: Freeing the caches like this might have a performance impact on some
particular applications; if this is an issue, this could be handled for a
future MPFR version.
 Minigmp support via the enableminigmp configure option (experimental).
 The minimum precision MPFR_PREC_MIN is now 1, with rounding defined as
in the errata of IEEE 7542008 and in the following IEEE 754 revision
(ties rounded away from zero).
 Shared caches for multithreaded applications.
New function mpfr_free_cache2.
 Partial support of MPFR_RNDF (faithful rounding).
 New functions: mpfr_fpif_export and mpfr_fpif_import to export and import
numbers in a floatingpoint interchange format, independent both on the
number of bits per word and on the endianness.
 New function mpfr_fmodquo to return the low bits of the quotient
corresponding to mpfr_fmod.
 New functions mpfr_flags_clear, mpfr_flags_set, mpfr_flags_test,
mpfr_flags_save and mpfr_flags_restore to operate on groups of flags.
 New functions mpfr_set_float128 and mpfr_get_float128 to convert from/to
the __float128 type (requires enablefloat128 and compiler support).
 New functions mpfr_buildopt_float128_p and mpfr_buildopt_sharedcache_p.
 New functions mpfr_rint_roundeven and mpfr_roundeven, completing the
other similar roundtointeger functions for rounding to nearest with
the evenrounding rule.
 New macro mpfr_round_nearest_away to add partial emulation of the
rounding to nearestaway (as defined in IEEE 7542008).
 New functions mpfr_nrandom and mpfr_erandom to generate random numbers
following normal and exponential distributions respectively.
 New functions mpfr_fmma and mpfr_fmms to compute a*b+c*d and a*bc*d.
 New function mpfr_rootn_ui, similar to mpfr_root, but agreeing with the
rootn function of the IEEE 7542008 standard.
 New functions mpfr_log_ui to compute the logarithm of an integer,
mpfr_gamma_inc for the incomplete Gamma function.
 New function mpfr_beta for the Beta function (incomplete, experimental).
 New function mpfr_get_q to convert a floatingpoint number into rational.
 The mpfr_dump function is now described in the manual; its output format
has slightly changed.
 The mpfr_eint function now returns the value of the E1/eint1 function
for negative argument.
 The behavior of the mpfr_set_exp function changed, as it could easily
yield undefined behavior in some cases (this modifies both the API and
the ABI).
 In function mpfr_urandom, the next random state no longer depends on the
current exponent range and the rounding mode. The exceptions due to the
rounding of the random number are now correctly generated, following the
uniform distribution.
 Functions mpfr_grandom and mpfr_root are deprecated and will be removed
in a future release.
 Complete rewrite of function mpfr_sum, which now works in all cases (the
old one could take all the memory and/or crash with inputs of different
magnitudes in case of huge cancellation or table maker's dilemma). The
sign of an exact zero result is now specified, and the return value is
now the usual ternary value. Note that the position of "const" in the
mpfr_sum prototype has been fixed (the manual was correct); user code
should not be affected.
 Old, deprecated macros mpfr_add_one_ulp and mpfr_sub_one_ulp removed.
The mpfr_next* functions should be used instead.
 Internally, improved caching: a minimum of 10% increase of the precision
is guaranteed to avoid too many recomputations.
 Added internal smallprecision mpz_t pool, which aims to avoid the
overhead of memory allocation, in particular.
New function mpfr_free_pool.
 Added configure option enableassert=none to avoid checking any assertion.
 The enabledecimalfloat configure option no longer requires
withgmpbuild, and support for decimal floats is now automatically
detected by default (similarly for support for __float128).
 Updated tuning parameters.
 Better support for Automake 1.13+ (now used to generate the tarball).
 Dropped K&R C compatibility.
 Improved MPFR manual.
 New MPFRbench program (see the tools/bench directory).
 Major speedup in mpfr_add, mpfr_sub, mpfr_mul, mpfr_div and mpfr_sqrt when
all operands have the same precision and this precision is less than twice
the number of bits per word, e.g., less than 128 on a 64bit computer.
 Speedup by a factor of almost 2 in the double <> mpfr conversions
(mpfr_set_d and mpfr_get_d).
 Speedup in mpfr_log1p and mpfr_atanh for small arguments.
 Speedup in the mpfr_const_euler function (contributed by Fredrik Johansson),
in the computation of Bernoulli numbers (used in mpfr_gamma, mpfr_li2,
mpfr_digamma, mpfr_lngamma and mpfr_lgamma), in mpfr_div, in mpfr_fma
and mpfr_fms.
 Test coverage: 96.3% lines of code.
 Bug fixes. In particular: a speed improvement when the enableassert
or enableassert=full configure option is used with GCC; mpfr_get_str
now sets the NaN flag on NaN input and the inexact flag when the conversion
is inexact. For a full list, see http://www.mpfr.org/mpfr3.1.6/#fixed
and the same section for any previous 3.1.x version (follow the links
in the "Changes..." sections).
 Microsoft Windows: Added support for threadsafe DLL (shared library).
Tested with MinGW, ICC and MSVC.
 Limited pkgconfig support.
 Autotools: Under Linux, make sure that the old dtags (when supported)
are used if LD_LIBRARY_PATH is defined; otherwise "make check" would
check an installed, compatible MPFR library found in LD_LIBRARY_PATH
instead of the one that has been built with "make".
 New: optional "make checkgmpsymbols", mainly for binary distributions,
to check that MPFR does not use GMP internal symbols (experimental).
Changes from versions 3.0.* to version 3.1.0:
 The "canard à l'orange" release.
 The MPFR source has been reorganized.
 Dropped ansi2knr support.
 TLS support is now detected automatically. If TLS is supported, MPFR is
built as thread safe by default. To disable TLS explicitly, configure
MPFR with disablethreadsafe.
 New enablegmpinternals configure option to use GMP's undocumented
functions (not from the public API). Note that library versioning is
not guaranteed to work if this option is used.
 The mpfr_urandom and mpfr_urandomb functions now return identical values
on processors with different word size (assuming the same random seed, and
since the GMP random generator does not depend itself on the word size,
cf https://gmplib.org/listarchives/gmpdevel/2010September/001642.html).
 The mpfr_add_one_ulp and mpfr_sub_one_ulp macros (which are obsolete and
no more documented) will be removed in a future release.
 Speed improvement for the mpfr_sqr and mpfr_div functions using Mulders'
algorithm. As a consequence, other functions using those routines are
also faster.
 Much faster formatted output (mpfr_printf, etc.) with %Rg and similar.
 The withgmpbuild configure option can now be used when the GMP
source directory and the GMP build directory are different (without
having to copy header files manually as before).
 New functions mpfr_buildopt_gmpinternals_p, mpfr_buildopt_tune_case,
mpfr_frexp, mpfr_grandom and mpfr_z_sub.
 New dividebyzero exception (flag) and associated functions.
 The mpfr.h header can be included several times, while still supporting
optional functions (see Section "Headers and Libraries" in the manual).
 Updated tuning parameters.
 Improved MPFR manual.
 MPFR tests: libtool no longer generates wrapper scripts with "make check"
(so that running the tests under valgrind or gdb is easier).
 Internal change: the logging mechanism has been improved.
 Test coverage: 95.2% lines of code.
 Bug fixes, in particular a huge inefficiency in mpfr_exp (when the
target precision is less than MPFR_EXP_THRESHOLD) on hardtoround
cases, which can take several minutes.
Note: The mpfr_subnormalize implementation up to MPFR 3.0.0 did not change
the flags. In particular, it did not follow the generic rule concerning
the inexact flag (and no special behavior was specified). The case of the
underflow flag was more a lack of specification.
Changes from versions 2.4.* to version 3.0.0:
 The "boudin aux pommes" release.
 MPFR 3.0.0 is binary incompatible with previous versions but (almost)
API compatible. More precisely the obsolete functions mpfr_random
and mpfr_random2 have been removed, the meaning of the return type
of the function mpfr_get_f has changed, and the return type of the
function mpfr_get_z is now int instead of void. In practice, this
should not break any existing code.
 MPFR is now distributed under the GNU Lesser General Public License
version 3 or later (LGPL v3+).
 Rounding modes GMP_RNDx are now MPFR_RNDx (GMP_RNDx kept for
compatibility).
 A new rounding mode (MPFR_RNDA) is available to round away from zero.
 The rounding mode type is now mpfr_rnd_t (as in previous versions,
both mpfr_rnd_t and mp_rnd_t are accepted, but mp_rnd_t may be
removed in the future).
 The precision type is now mpfr_prec_t (as in previous versions, both
mpfr_prec_t and mp_prec_t are accepted, but mp_prec_t may be removed
in the future) and it is now signed (it was unsigned in MPFR 2.*, but
this was not documented). In practice, this change should not affect
existing code that assumed nothing on the precision type.
 MPFR now has its own exponent type mpfr_exp_t, which is currently
the same as GMP's mp_exp_t.
 Functions mpfr_random and mpfr_random2 have been removed.
 mpfr_get_f and mpfr_get_z now return a ternary value.
 mpfr_strtofr now accepts bases from 37 to 62.
 mpfr_custom_get_mantissa was renamed to mpfr_custom_get_significand
(mpfr_custom_get_mantissa is still available via a #define).
 Functions mpfr_get_si, mpfr_get_ui, mpfr_get_sj, mpfr_get_uj,
mpfr_get_z and mpfr_get_z_2exp no longer have cases with undefined
behavior; in these cases, the behavior is now specified, and in
particular, the erange flag is set.
 New functions mpfr_buildopt_tls_p and mpfr_buildopt_decimal_p giving
information about options used at MPFR build time.
 New function mpfr_regular_p.
 New function mpfr_set_zero.
 New function mpfr_digamma.
 New function mpfr_ai (incomplete, experimental).
 New functions mpfr_set_flt and mpfr_get_flt to convert from/to the
float type.
 New function mpfr_urandom.
 New function mpfr_set_z_2exp (companion to mpfr_get_z_2exp, which
was renamed from mpfr_get_z_exp in previous versions).
 New function mpfr_min_prec.
 Speed improvement for large precisions in the trigonometric functions
(mpfr_sin, mpfr_cos, mpfr_tan, mpfr_sin_cos): speedup of about 2.5
for 10^5 digits, of about 5 for 10^6 digits.
 Speed improvement for large precisions of the inverse trigonometric
functions (arcsin, arccos, arctan): about 2 for 10^3 digits, up to
2.7 for 10^6 digits.
 Some documentation files are installed in $docdir.
 The detection of a GMP build directory (more precisely, the internal
header files of GMP) was previously done separately from the use of
the withgmpbuild configure option. This was not consistent with
the documentation and with other parts of the configure script. So,
as of MPFR 3.0.0, the internal header files of GMP are now used if
and only if the withgmpbuild configure option is given.
 The configure script recognizes some extra "long double" formats
(double big endian, double little endian, doubledouble big endian).
 MPFR manual: added "API Compatibility" section.
 Test coverage: 97.1% lines of code.
 Bug fixes.
Changes from versions 2.3.* to version 2.4.0:
 The "andouillette sauce moutarde" release.
 MPFR is now a GNU package.
 Changes in the behavior of mpfr_strtofr and in its documentation
concerning particular cases where the code and the documentation
did not match; this change is also present in MPFR 2.3.1.
 Behavior of mpfr_check_range changed: if the value is an inexact
infinity, the overflow flag is set (in case it was lost); this
change is also present in MPFR 2.3.2.
 Function mpfr_init_gmp_rand (only defined when building MPFR without
the withgmpbuild configure option) is no longer defined at all.
This function was private and not documented, and was used only in
the MPFR test suite. User code that calls it is regarded as broken
and may fail as a consequence. Running the old test suite against
MPFR 2.4.0 may also fail.
 New functions:
* between a MPFR number and a double: mpfr_add_d, mpfr_sub_d,
mpfr_d_sub, mpfr_mul_d, mpfr_div_d, mpfr_d_div,
* formatted input/output:
mpfr_printf, mpfr_fprintf, mpfr_vprintf, mpfr_vfprintf,
mpfr_sprintf, mpfr_snprintf, mpfr_vsprintf, mpfr_vsnprintf,
mpfr_asprintf, mpfr_vasprintf.
* mpfr_sinh_cosh, mpfr_li2, mpfr_modf, mpfr_fmod, mpfr_rec_sqrt.
 Configure test for TLS support.
 Get default $CC and $CFLAGS from gmp.h (__GMP_CC / __GMP_CFLAGS,
which are available as of GMP 4.2.3).
 Documented the fact that mpfr_random and mpfr_random2 will be
suppressed in the next release, and that the specification of
mpfr_eq may change in the next release (for compatibility with
the mpf layer of GMP).
 Test coverage: 96.7% lines of code.
 Bug fixes.
Changes from versions 2.2.* to version 2.3.0:
 The mpfr.info file is now installed in the share subdirectory
(as required by the Filesystem Hierarchy Standard); see output
of "./configure help".
 The shared library is now enabled by default. If the MPFR build
fails on your platform, try the disableshared configure option
to disable the shared library.
 Threadsafe support with Microsoft Visual compiler.
 New functions mpfr_j0, mpfr_j1, mpfr_jn, mpfr_y0, mpfr_y1, mpfr_yn,
mpfr_lgamma, mpfr_remainder, mpfr_remquo, mpfr_fms, mpfr_signbit,
mpfr_setsign, mpfr_copysign, mpfr_get_patches.
 Functions mpfr_sin, mpfr_cos and mpfr_sin_cos improved (argument
reduction).
 More detailed MPFR manual.
 Improved tests (make check).
 Bug fixes.
Changes from versions 2.1.* to version 2.2.0:
 Bug fixes.
 new functions mpfr_set_overflow, mpfr_set_underflow, mpfr_set_inexflag,
mpfr_set_erangeflag, mpfr_set_nanflag, mpfr_erfc, mpfr_atan2, mpfr_pow_z,
mpfr_subnormalize, mpfr_const_catalan, mpfr_sec, mpfr_csc, mpfr_cot,
mpfr_root, mpfr_eint, mpfr_get_f, mpfr_sech, mpfr_csch, mpfr_coth,
mpfr_lngamma.
 new macro: MPFR_VERSION_STRING
 Remove the exported MPFR variables from mpfr.h to mpfrimpl.h.
(They were undocumented, so programs which respect the API still work).
 Grep CC and CFLAGS from GMP Makefile if possible.
 Math functions are faster (both average and worst cases).
 Better support for long double.
 Shared library of MPFR.
 Binary compatible with previous versions if you do not use undocumented
features.
 Thread safe (if built with enablethreadsafe).
 Logging facility.
 Change in the semantics of mpfr_out_str/mpfr_get_str when n_digits=0.
 Better locale support.
Changes from version 2.1.0 to version 2.1.1:
 Better way to detect the GMP library.
 Bug fixes.
Changes from version 2.0.3 to version 2.1.0:
 Bug fixes.
 new functions mpfr_strtofr, mpfr_set_uj, mpfr_set_sj, mpfr_set_ui_2exp,
mpfr_set_si_2exp, mpfr_set_sj_2exp, mpfr_set_uj_2exp, mpfr_get_uj,
mpfr_get_sj, mpfr_get_z, mpfr_free_str, mpfr_si_sub, mpfr_sub_si,
mpfr_mul_si, mpfr_si_div, mpfr_div_si, mpfr_sqr, mpfr_cmp_z, mpfr_cmp_q,
mpfr_zero_p, mpfr_free_cache, mpfr_sum, mpfr_get_version,
mpfr_get_default_rounding_mode, mpfr_get_emin_min, mpfr_get_emin_max,
mpfr_get_emax_min, mpfr_get_emax_max, mpfr_inits, mpfr_inits2, mpfr_clears,
mpfr_fits_intmax_p, mpfr_fits_uintmax_p, mpfr_clear_erangeflag,
mpfr_erangeflag_p, mpfr_rint_round, mpfr_rint_trunc, mpfr_rint_ceil,
mpfr_rint_floor.
 new macros MPFR_DECL_INIT, MPFR_VERSION, MPFR_VERSION_NUM,
MPFR_VERSION_MAJOR, MPFR_VERSION_MINOR, MPFR_VERSION_PATCHLEVEL.
 improved documentation.
 improved configure.
 improved portability (library and test suite).
 It handles correctly non IEEE754 double.
 GMP internal files are not needed to install MPFR.
 It is faster with lowprecision floating point.
 New global flag: ERANGE_FLAG.
 Binary incompatible with previous versions, but API compatible.
 mpfr_set_str doesn't allow anymore "@NAN@garbagechar" and "@INF@garbagechar",
allows base 0 (detection of the base), prefix (0x, 0b), leading whitespace.
Changes from version 2.0.2 to version 2.0.3:
 Bug fixes.
 Support GMP as a shared library (not fully tested).
Changes from version 2.0.1 to version 2.0.2:
 many bug fixes and other improvements.
 new functions mpfr_prec_round (replaces mpfr_round_prec), mpfr_get_exp,
mpfr_set_exp, mpfr_get_ld, mpfr_set_ld, mpfr_get_d_2exp, mpfr_get_si,
mpfr_get_ui, mpfr_nextabove, mpfr_nextbelow, mpfr_nexttoward, mpfr_frac,
mpfr_fits_*, mpfr_cmp_d, mpfr_cmpabs, mpfr_erf, mpfr_gamma, mpfr_zeta,
mpfr_greater_p, mpfr_greaterequal_p, mpfr_less_p, mpfr_lessequal_p,
mpfr_lessgreater_p, mpfr_equal_p, mpfr_unordered_p.
 removed functions: mpfr_print_binary, mpfr_round_prec (replaced by
mpfr_prec_round), mpfr_set_str_raw, mpfr_set_machine_rnd_mode.
 function mpfr_isinteger renamed mpfr_integer_p.
 return type of some functions changed from void to int, for consistency.
 return type of mpfr_set_prec changed from int to void.
 new values for exponent range.
 rename internal variables.
Changes from version 2001 to version 2.0.1:
 new mathematical functions: acos, acosh, asin, asinh, atan, atanh, cosh,
base2 exponential and logarithm, base10 logarithm, expm1, factorial,
pow, pow_si, pow_ui, sinh, tan, tanh, ui_pow, ui_pow_ui
 other new functions: mpfr_const_euler, mpfr_dim, mpfr_fma, mpfr_hypot,
mpfr_min, mpfr_max, mpfr_rint, mpfr_set_inf, mpfr_set_nan
 new operations with MPZ or MPQ: mpfr_{add,sub,mul,div}_[zq]
 new predicates: mpfr_inf_p, mpfr_nan_p, mpfr_number_p, mpfr_isinteger,
 add mechanism to set/check exponent range (overflow, underflow), partially
implemented in the mpfr functions.
 efficiency: mpfr_div is now faster when the divisor has a few limbs
 rounding: now mpfr_pow implements exact rounding, and most functions return a
ternary value indicating the position of the returned value wrt the exact one
(thus the return value is now 'int' instead of 'void')
 complete rewrite of the configuration files
 mpfr_get_d, mpfr_{add,sub}_one_ulp now get a rounding mode as 2nd argument
 some function names did change: mpz_set_fr is now mpfr_get_z_exp,
mpfr_print_raw is now mpfr_print_binary.
Changes from version 1.0 to version 2001:
 the default installation does not provide any more access to machine
rounding mode, and as a consequence does not compare MPFR results with
precision=53 to machine results. Add option DTEST if you want to have
access to machine rounding mode, and to check MPFR results against.
 the MPFR files do not need <math.h> any more
 the header file <mpfr.h> was split into <mpfr.h> for exported functions
and <mpfrimpl.h> for internal functions. The user should not use functions
or macros from <mpfrimpl.h>, since those may change in further releases.
 <mpfr.h> was modified in order to make easy a C++ interface
 MPFR now deals with infinities (+infinity and infinity) and NaN
 the missing function mpfr_swap is now available
 mpfr_zeta was removed (was incomplete)
 mpfr_init and mpfr_init2 now initialize the corresponding variable to 0
(like in other initialization functions from GNU MP)
 in case memory allocation fails, an error message is output
 several bugs of version 1.0 were fixed
Changes from version 0.4 to version 1.0:
 Version 1.0 now uses a standard configure/make installation.
 Version 1.0 implements all functions that are available in the MPF class
from GMP 3.1 (except mpf_swap) and a header file mpf2mpfr.h is included in
the distribution for easy change from MPF to MPFR.
 Version 1.0 implements new elementary functions: mpfr_sincos
 Some functions and macros have been renamed: mpfr_log2 is now
mpfr_const_log2, mpfr_pi is now mpfr_const_pi, SIGN is now MPFR_SIGN.
 Version 1.0 uses faster algorithms for mpfr_exp, mpfr_const_pi,
mpfr_const_log2. Compare the timings from version 1.0 and version 0.4.
 Version 1.0 corrects some bugs of version 0.4.
 The precision of MPFR variables is now named mpfr_prec, which makes it
easier to change it, to say unsigned long long. Same for the rounding mode
which is called mp_rnd_t.
You'll find other news concerning the GNU MPFR library on the web
page <http://www.mpfr.org/>.
