Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

version.html 4.2KB

3 år sedan
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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>version (LIBM)</title>
  7. <meta name="description" content="version (LIBM)">
  8. <meta name="keywords" content="version (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="acos.html#acos" rel="next" title="acos">
  17. <link href="Math.html#Math" rel="prev" title="Math">
  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="version"></a>
  48. <div class="header">
  49. <p>
  50. Next: <a href="acos.html#acos" accesskey="n" rel="next">acos</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="Error-Handling"></a>
  54. <h3 class="section">1.1 Error Handling</h3>
  55. <p>There are two different versions of the math library routines: IEEE
  56. and POSIX. The version may be selected at runtime by
  57. setting the global variable <code>_LIB_VERSION</code>, defined in
  58. <samp>math.h</samp>. It may be set to one of the following constants defined
  59. in <samp>math.h</samp>: <code>_IEEE_</code> or <code>_POSIX_</code>.
  60. The <code>_LIB_VERSION</code> variable is not specific to any
  61. thread, and changing it will affect all threads.
  62. </p>
  63. <p>The versions of the library differ only in the setting of <code>errno</code>.
  64. </p>
  65. <p>In IEEE mode, <code>errno</code> is never set.
  66. </p>
  67. <p>In POSIX mode, <code>errno</code> is set correctly.
  68. </p>
  69. <p>The library is set to IEEE mode by default.
  70. </p>
  71. <p>The majority of the floating-point math functions are written
  72. so as to produce the floating-point exceptions (e.g. &quot;invalid&quot;,
  73. &quot;divide-by-zero&quot;) as required by the C and POSIX standards, for
  74. floating-point implementations that support them. Newlib does not provide
  75. the floating-point exception access routines defined in the standards
  76. for fenv.h, though, which is why they are considered unsupported. It is
  77. mentioned in case you have separately-provided access routines so that
  78. you are aware that they can be caused.
  79. </p>
  80. <a name="Standards-Compliance-And-Portability"></a>
  81. <h3 class="section">1.2 Standards Compliance And Portability</h3>
  82. <p>Most of the individual function descriptions describe the standards to which
  83. each function complies. However, these descriptions are mostly out of date,
  84. having been written before C99 was released. One of these days we&rsquo;ll get
  85. around to updating the rest of them. (If you&rsquo;d like to help, please let us
  86. know.)
  87. </p>
  88. <p>&ldquo;C99&rdquo; refers to ISO/IEC 9899:1999, &ldquo;Programming languages&ndash;C&rdquo;.
  89. &ldquo;POSIX&rdquo; refers to IEEE Standard 1003.1. POSIX&reg; is a
  90. registered trademark of The IEEE.
  91. </p>
  92. </body>
  93. </html>