Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

101 lines
4.0KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6. <title>fma (LIBM)</title>
  7. <meta name="description" content="fma (LIBM)">
  8. <meta name="keywords" content="fma (LIBM)">
  9. <meta name="resource-type" content="document">
  10. <meta name="distribution" content="global">
  11. <meta name="Generator" content="makeinfo">
  12. <link href="index.html#Top" rel="start" title="Top">
  13. <link href="Document-Index.html#Document-Index" rel="index" title="Document Index">
  14. <link href="Document-Index.html#SEC_Contents" rel="contents" title="Table of Contents">
  15. <link href="Math.html#Math" rel="up" title="Math">
  16. <link href="fmax.html#fmax" rel="next" title="fmax">
  17. <link href="floor.html#floor" rel="prev" title="floor">
  18. <style type="text/css">
  19. <!--
  20. a.summary-letter {text-decoration: none}
  21. blockquote.indentedblock {margin-right: 0em}
  22. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  23. blockquote.smallquotation {font-size: smaller}
  24. div.display {margin-left: 3.2em}
  25. div.example {margin-left: 3.2em}
  26. div.lisp {margin-left: 3.2em}
  27. div.smalldisplay {margin-left: 3.2em}
  28. div.smallexample {margin-left: 3.2em}
  29. div.smalllisp {margin-left: 3.2em}
  30. kbd {font-style: oblique}
  31. pre.display {font-family: inherit}
  32. pre.format {font-family: inherit}
  33. pre.menu-comment {font-family: serif}
  34. pre.menu-preformatted {font-family: serif}
  35. pre.smalldisplay {font-family: inherit; font-size: smaller}
  36. pre.smallexample {font-size: smaller}
  37. pre.smallformat {font-family: inherit; font-size: smaller}
  38. pre.smalllisp {font-size: smaller}
  39. span.nolinebreak {white-space: nowrap}
  40. span.roman {font-family: initial; font-weight: normal}
  41. span.sansserif {font-family: sans-serif; font-weight: normal}
  42. ul.no-bullet {list-style: none}
  43. -->
  44. </style>
  45. </head>
  46. <body lang="en">
  47. <a name="fma"></a>
  48. <div class="header">
  49. <p>
  50. Next: <a href="fmax.html#fmax" accesskey="n" rel="next">fmax</a>, Previous: <a href="floor.html#floor" accesskey="p" rel="prev">floor</a>, Up: <a href="Math.html#Math" accesskey="u" rel="up">Math</a> &nbsp; [<a href="Document-Index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Document-Index.html#Document-Index" title="Index" rel="index">Index</a>]</p>
  51. </div>
  52. <hr>
  53. <a name="fma_002c-fmaf_002d_002d_002dfloating-multiply-add"></a>
  54. <h3 class="section">1.22 <code>fma</code>, <code>fmaf</code>&mdash;floating multiply add</h3>
  55. <a name="index-fma"></a>
  56. <a name="index-fmaf"></a>
  57. <p><strong>Synopsis</strong>
  58. </p><div class="example">
  59. <pre class="example">#include &lt;math.h&gt;
  60. double fma(double <var>x</var>, double <var>y</var>, double <var>z</var>);
  61. float fmaf(float <var>x</var>, float <var>y</var>, float <var>z</var>);
  62. </pre></div>
  63. <p><strong>Description</strong><br>
  64. The <code>fma</code> functions compute (<var>x</var> * <var>y</var>) + <var>z</var>, rounded as one ternary
  65. operation: they compute the value (as if) to infinite precision and round once
  66. to the result format, according to the rounding mode characterized by the value
  67. of FLT_ROUNDS. That is, they are supposed to do this: see below.
  68. </p>
  69. <br>
  70. <p><strong>Returns</strong><br>
  71. The <code>fma</code> functions return (<var>x</var> * <var>y</var>) + <var>z</var>, rounded as one ternary
  72. operation.
  73. </p>
  74. <br>
  75. <p><strong>Bugs</strong><br>
  76. This implementation does not provide the function that it should, purely
  77. returning &quot;(<var>x</var> * <var>y</var>) + <var>z</var>;&quot; with no attempt at all to provide the
  78. simulated infinite precision intermediates which are required. DO NOT USE THEM.
  79. </p>
  80. <p>If double has enough more precision than float, then <code>fmaf</code> should provide
  81. the expected numeric results, as it does use double for the calculation. But
  82. since this is not the case for all platforms, this manual cannot determine
  83. if it is so for your case.
  84. </p>
  85. <br>
  86. <p><strong>Portability</strong><br>
  87. ANSI C, POSIX.
  88. </p>
  89. <br>
  90. </body>
  91. </html>