Greetings GMP Discussion Group,<br><br>I am having some trouble setting the precision of mpf_class variables in C++.<br><br>For example, when I compile and run the following code:<br><b><br>#include &lt;iostream&gt;</b><i><br>
</i><b>#include &lt;gmp.h&gt;<br>#include &lt;gmpxx.h&gt;<br>#include &lt;math.h&gt;<br>using namespace std;<br><br>int main(){<br>mpf_class x;<br>x=1.234567891234567899052395;<br>cout.precision(100);<br>cout&lt;&lt;x;<br>
return 0;<br>}</b><i><br clear="all"></i><br>I get <b>1.23456789123456789348</b>. While the precision continues for some time, the number suddenly becomes very inaccurate, and then suddenly cuts out all together.<br><br>The cout precision should be all right, but the mpf_class precision would seem not to be. I looked at <a href="http://gmplib.org/manual/C_002b_002b-Interface-Floats.html">http://gmplib.org/manual/C_002b_002b-Interface-Floats.html</a>, and changed my code accordingly:<br>
<br><b>#include &lt;iostream&gt;</b><i><br>
</i><b>#include &lt;gmp.h&gt;<br>
#include &lt;gmpxx.h&gt;<br>
#include &lt;math.h&gt;<br>
using namespace std;<br>
<br>
int main(){<br>
mpf_class x(1.5, 512);<br>
x=1.23456789123456789123456789;<br>
cout.precision(100);<br>
cout&lt;&lt;x;<br>
return 0;<br>
}</b><i><br clear="all">
</i><br>This, however, still outputted a questionable number: <b>1.2345678912345678934769921397673897445201873779296875</b>.<br><br>Can anyone shed some light on what I might be doing wrong?<br><br>Thanks,<br>Henry<br>