complex.html 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
  2. <html>
  3. <!-- Created on November 8, 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.2 complex</title>
  14. <meta name="description" content="avram - a virtual machine code interpreter: D.2 complex">
  15. <meta name="keywords" content="avram - a virtual machine code interpreter: D.2 complex">
  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="complex"></a>
  40. <table cellpadding="1" cellspacing="1" border="0">
  41. <tr><td valign="middle" align="left">[<a href="Bessel-function-errors.html#Bessel-function-errors" title="Previous section in reading order"> &lt; </a>]</td>
  42. <td valign="middle" align="left">[<a href="fftw.html#fftw" 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="External-Libraries.html#External-Libraries" 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="complex-1"></a>
  58. <h2 class="section">D.2 <code>complex</code></h2>
  59. <p>Complex numbers are represented according to the ISO C standard as
  60. <a name="index-complex-numbers"></a>
  61. arrays of two IEEE double precision floating point numbers of 8 bytes
  62. each, with the number representing the real part first.
  63. </p>
  64. <p>A small selection of operations on complex numbers is available by
  65. function calls of the form <code>library('complex',f)</code>. These
  66. functions are implemented by the host system&rsquo;s C library.
  67. </p>
  68. <p>One example is <code>library('complex','create')</code> which takes a pair
  69. of floating point numbers <code>(<var>x</var>,<var>y</var>)</code> to a complex number
  70. whose real part is <var>x</var> and whose imaginary part is <var>y</var>.
  71. See <a href="math.html#math"><code>math</code></a> for information about constructing floating point
  72. numbers.
  73. </p>
  74. <p>Other than that, the <code>complex</code> library functions <code>f</code> fall
  75. into three main groups, which are the real valued unary operations,
  76. the complex valued unary operations, and the complex valued binary
  77. operations. All of these operations are designated by their standard C
  78. names as documented elsewhere, such as the GNU <code>libc</code> reference
  79. manual, except as noted.
  80. </p>
  81. <dl compact="compact">
  82. <dt>&bull; real valued unary operations</dt>
  83. <dd><table><tr><td>&nbsp;</td><td><pre class="example">
  84. creal cimag cabs carg
  85. </pre></td></tr></table>
  86. </dd>
  87. <dt>&bull; complex valued unary operations</dt>
  88. <dd><table><tr><td>&nbsp;</td><td><pre class="example">
  89. ccos cexp clog conj csin csqrt
  90. ctan csinh ccosh ctanh casinh cacosh
  91. catanh casin cacos catan
  92. </pre></td></tr></table>
  93. </dd>
  94. <dt>&bull; complex valued binary operations</dt>
  95. <dd><table><tr><td>&nbsp;</td><td><pre class="example">
  96. cpow vid bus mul add sub div
  97. </pre></td></tr></table>
  98. </dd>
  99. </dl>
  100. <p>The last four correspond to the C language operators <code>*</code>,
  101. <code>+</code>, <code>-</code>, and <code>/</code> for complex numbers. The functions
  102. named <code>vid</code> and <code>bus</code> are similar to <code>div</code> and
  103. <code>sub</code>, respectively, but with the operands interchanged. That is,
  104. </p>
  105. <table><tr><td>&nbsp;</td><td><pre class="example">library('complex','vid') (x,y)
  106. </pre></td></tr></table>
  107. <p>is equivalent to
  108. </p>
  109. <table><tr><td>&nbsp;</td><td><pre class="example">library('complex','div') (y,x)
  110. </pre></td></tr></table>
  111. <p>All functions in this library taking complex numbers as input may also
  112. operate on real numbers, and binary operators can have either or both
  113. operands real. For real operands, a value of zero is inferred as the
  114. imaginary part. The result type of the function is the same
  115. regardless.
  116. </p>
  117. <hr size="1">
  118. <table cellpadding="1" cellspacing="1" border="0">
  119. <tr><td valign="middle" align="left">[<a href="Bessel-function-errors.html#Bessel-function-errors" title="Previous section in reading order"> &lt; </a>]</td>
  120. <td valign="middle" align="left">[<a href="fftw.html#fftw" title="Next section in reading order"> &gt; </a>]</td>
  121. <td valign="middle" align="left"> &nbsp; </td>
  122. <td valign="middle" align="left">[<a href="External-Libraries.html#External-Libraries" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
  123. <td valign="middle" align="left">[<a href="External-Libraries.html#External-Libraries" title="Up section"> Up </a>]</td>
  124. <td valign="middle" align="left">[<a href="Copying.html#Copying" title="Next chapter"> &gt;&gt; </a>]</td>
  125. <td valign="middle" align="left"> &nbsp; </td>
  126. <td valign="middle" align="left"> &nbsp; </td>
  127. <td valign="middle" align="left"> &nbsp; </td>
  128. <td valign="middle" align="left"> &nbsp; </td>
  129. <td valign="middle" align="left">[<a href="avram.html#Top" title="Cover (top) of document">Top</a>]</td>
  130. <td valign="middle" align="left">[<a href="avram_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
  131. <td valign="middle" align="left">[<a href="Function-Index.html#Function-Index" title="Index">Index</a>]</td>
  132. <td valign="middle" align="left">[<a href="avram_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
  133. </tr></table>
  134. <p>
  135. <font size="-1">
  136. This document was generated on <i>November 8, 2012</i> using <a href="http://www.nongnu.org/texi2html/"><i>texi2html 1.82</i></a>.
  137. </font>
  138. <br>
  139. </p>
  140. </body>
  141. </html>