mpfr-binary-operators.html 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
  2. <html>
  3. <!-- Created on December 10, 2012 by texi2html 1.82
  4. texi2html was written by:
  5. Lionel Cons <[email protected]> (original author)
  6. Karl Berry <[email protected]>
  7. Olaf Bachmann <[email protected]>
  8. and many others.
  9. Maintained by: Many creative people.
  10. Send bugs and suggestions to <[email protected]>
  11. -->
  12. <head>
  13. <title>avram - a virtual machine code interpreter: D.14.1 mpfr binary operators</title>
  14. <meta name="description" content="avram - a virtual machine code interpreter: D.14.1 mpfr binary operators">
  15. <meta name="keywords" content="avram - a virtual machine code interpreter: D.14.1 mpfr binary operators">
  16. <meta name="resource-type" content="document">
  17. <meta name="distribution" content="global">
  18. <meta name="Generator" content="texi2html 1.82">
  19. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  20. <style type="text/css">
  21. <!--
  22. a.summary-letter {text-decoration: none}
  23. blockquote.smallquotation {font-size: smaller}
  24. pre.display {font-family: serif}
  25. pre.format {font-family: serif}
  26. pre.menu-comment {font-family: serif}
  27. pre.menu-preformatted {font-family: serif}
  28. pre.smalldisplay {font-family: serif; font-size: smaller}
  29. pre.smallexample {font-size: smaller}
  30. pre.smallformat {font-family: serif; font-size: smaller}
  31. pre.smalllisp {font-size: smaller}
  32. span.roman {font-family:serif; font-weight:normal;}
  33. span.sansserif {font-family:sans-serif; font-weight:normal;}
  34. ul.toc {list-style: none}
  35. -->
  36. </style>
  37. </head>
  38. <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
  39. <a name="mpfr-binary-operators"></a>
  40. <table cellpadding="1" cellspacing="1" border="0">
  41. <tr><td valign="middle" align="left">[<a href="mpfr.html#mpfr" title="Previous section in reading order"> &lt; </a>]</td>
  42. <td valign="middle" align="left">[<a href="mpfr-unary-operators.html#mpfr-unary-operators" title="Next section in reading order"> &gt; </a>]</td>
  43. <td valign="middle" align="left"> &nbsp; </td>
  44. <td valign="middle" align="left">[<a href="External-Libraries.html#External-Libraries" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
  45. <td valign="middle" align="left">[<a href="mpfr.html#mpfr" title="Up section"> Up </a>]</td>
  46. <td valign="middle" align="left">[<a href="Copying.html#Copying" title="Next chapter"> &gt;&gt; </a>]</td>
  47. <td valign="middle" align="left"> &nbsp; </td>
  48. <td valign="middle" align="left"> &nbsp; </td>
  49. <td valign="middle" align="left"> &nbsp; </td>
  50. <td valign="middle" align="left"> &nbsp; </td>
  51. <td valign="middle" align="left">[<a href="avram.html#Top" title="Cover (top) of document">Top</a>]</td>
  52. <td valign="middle" align="left">[<a href="avram_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
  53. <td valign="middle" align="left">[<a href="Function-Index.html#Function-Index" title="Index">Index</a>]</td>
  54. <td valign="middle" align="left">[<a href="avram_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
  55. </tr></table>
  56. <hr size="1">
  57. <a name="mpfr-binary-operators-1"></a>
  58. <h3 class="subsection">D.14.1 <code>mpfr</code> binary operators</h3>
  59. <p>Functions with these names take a pair of <code>mpfr</code> numbers
  60. <code>(<var>x</var>,<var>y</var>)</code> and return an <code>mpfr</code> number as a result.
  61. </p>
  62. <ul>
  63. <li> <code>add</code>
  64. </li><li> <code>sub</code>
  65. </li><li> <code>mul</code>
  66. </li><li> <code>div</code>
  67. </li><li> <code>pow</code>
  68. </li><li> <code>atan2</code>
  69. </li><li> <code>hypot</code>
  70. </li><li> <code>min</code>
  71. </li><li> <code>max</code>
  72. </li><li> <code>vid</code>
  73. </li><li> <code>bus</code>
  74. </li></ul>
  75. <p>Their semantics are similar to those listed in the <code>mpfr</code>
  76. documentation, with some minor qualifications.
  77. </p>
  78. <ul>
  79. <li>
  80. Unlike the native API, there is no third argument to which the result
  81. is assigned, because the result is the returned value.
  82. </li><li>
  83. The precision of the result is the greater of the two precisions of
  84. the input numbers <var>x</var> and <var>y</var>.
  85. </li><li>
  86. The <code>vid</code> and <code>bus</code> functions are added features of the
  87. virtual code interface, corresponding to division and subtraction with
  88. the order of the operands reversed, as explained in <a href="complex.html#complex"><code>complex</code></a>.
  89. </li></ul>
  90. <p>Mathematically it might make more sense for the precision of the
  91. <a name="index-precision"></a>
  92. result to be the lesser of the two input precisions, but this way is
  93. more convenient for virtual code programs that perform binary
  94. operations on their input with hard coded constants, because it makes
  95. one size fit all.
  96. </p>
  97. <hr size="1">
  98. <table cellpadding="1" cellspacing="1" border="0">
  99. <tr><td valign="middle" align="left">[<a href="mpfr.html#mpfr" title="Previous section in reading order"> &lt; </a>]</td>
  100. <td valign="middle" align="left">[<a href="mpfr-unary-operators.html#mpfr-unary-operators" title="Next section in reading order"> &gt; </a>]</td>
  101. <td valign="middle" align="left"> &nbsp; </td>
  102. <td valign="middle" align="left">[<a href="External-Libraries.html#External-Libraries" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
  103. <td valign="middle" align="left">[<a href="mpfr.html#mpfr" title="Up section"> Up </a>]</td>
  104. <td valign="middle" align="left">[<a href="Copying.html#Copying" title="Next chapter"> &gt;&gt; </a>]</td>
  105. <td valign="middle" align="left"> &nbsp; </td>
  106. <td valign="middle" align="left"> &nbsp; </td>
  107. <td valign="middle" align="left"> &nbsp; </td>
  108. <td valign="middle" align="left"> &nbsp; </td>
  109. <td valign="middle" align="left">[<a href="avram.html#Top" title="Cover (top) of document">Top</a>]</td>
  110. <td valign="middle" align="left">[<a href="avram_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
  111. <td valign="middle" align="left">[<a href="Function-Index.html#Function-Index" title="Index">Index</a>]</td>
  112. <td valign="middle" align="left">[<a href="avram_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
  113. </tr></table>
  114. <p>
  115. <font size="-1">
  116. This document was generated on <i>December 10, 2012</i> using <a href="http://www.nongnu.org/texi2html/"><i>texi2html 1.82</i></a>.
  117. </font>
  118. <br>
  119. </p>
  120. </body>
  121. </html>