/usr/share/doc/libmpfr-doc/mpfr.html/Other-Changes.html is in libmpfr-doc 3.1.4-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This manual documents how to install and use the Multiple Precision
Floating-Point Reliable Library, version 3.1.4.
Copyright 1991, 1993-2016 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document under
the terms of the GNU Free Documentation License, Version 1.2 or any later
version published by the Free Software Foundation; with no Invariant Sections,
with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the
license is included in GNU Free Documentation License. -->
<!-- Created by GNU Texinfo 6.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU MPFR 3.1.4: Other Changes</title>
<meta name="description" content="How to install and use GNU MPFR, a library for reliable multiple precision
floating-point arithmetic, version 3.1.4.">
<meta name="keywords" content="GNU MPFR 3.1.4: Other Changes">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
<link href="API-Compatibility.html#API-Compatibility" rel="up" title="API Compatibility">
<link href="Contributors.html#Contributors" rel="next" title="Contributors">
<link href="Removed-Functions.html#Removed-Functions" rel="prev" title="Removed Functions">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smalllisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en">
<a name="Other-Changes"></a>
<div class="header">
<p>
Previous: <a href="Removed-Functions.html#Removed-Functions" accesskey="p" rel="prev">Removed Functions</a>, Up: <a href="API-Compatibility.html#API-Compatibility" accesskey="u" rel="up">API Compatibility</a> [<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Other-Changes-1"></a>
<h3 class="section">6.5 Other Changes</h3>
<p>For users of a C++ compiler, the way how the availability of <code>intmax_t</code>
is detected has changed in MPFR 3.0.
In MPFR 2.x, if a macro <code>INTMAX_C</code> or <code>UINTMAX_C</code> was defined
(e.g. when the <code>__STDC_CONSTANT_MACROS</code> macro had been defined
before <code><stdint.h></code> or <code><inttypes.h></code> has been included),
<code>intmax_t</code> was assumed to be defined.
However this was not always the case (more precisely, <code>intmax_t</code>
can be defined only in the namespace <code>std</code>, as with Boost), so
that compilations could fail.
Thus the check for <code>INTMAX_C</code> or <code>UINTMAX_C</code> is now disabled for
C++ compilers, with the following consequences:
</p>
<ul>
<li> Programs written for MPFR 2.x that need <code>intmax_t</code> may no longer
be compiled against MPFR 3.0: a <code>#define MPFR_USE_INTMAX_T</code> may be
necessary before <samp>mpfr.h</samp> is included.
</li><li> The compilation of programs that work with MPFR 3.0 may fail with
MPFR 2.x due to the problem described above. Workarounds are possible,
such as defining <code>intmax_t</code> and <code>uintmax_t</code> in the global
namespace, though this is not clean.
</li></ul>
<p>The divide-by-zero exception is new in MPFR 3.1. However it should
not introduce incompatible changes for programs that strictly follow
the MPFR API since the exception can only be seen via new functions.
</p>
<p>As of MPFR 3.1, the <samp>mpfr.h</samp> header can be included several times,
while still supporting optional functions (see <a href="Headers-and-Libraries.html#Headers-and-Libraries">Headers and Libraries</a>).
</p>
</body>
</html>
|