What if I base the assignment of an mpf_class variable on another mpf_class variable, like so:<br><br><b>mpf_class a, b;<br>a=&quot;1.123456789123456789123456789&quot;;<br>b=a*2;<br></b><br>Would it still round it incorrectly?<br>
<br><div class="gmail_quote">On Mon, Jun 1, 2009 at 8:38 PM, Marc Glisse <span dir="ltr">&lt;<a href="mailto:marc.glisse@normalesup.org">marc.glisse@normalesup.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On Mon, 1 Jun 2009, Henry wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
mpf_class x;<br>
x=1.234567891234567899052395;<br>
</blockquote>
<br></div>
This is a general C question. When the compiler sees 1.234567891234567899052395, it thinks this is a double and rounds it accordingly. I think you actually want to go though a string:<br>
x=&quot;1.23...&quot;;<br>
<br>
In a few years, with C++0x, you may be able to write 1.234_mpf instead of mpf_class(&quot;1.234&quot;), but that is still far away.<br>
<br>
-- <br><font color="#888888">
Marc Glisse<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Henry<br>