|
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>version (LIBM)</title>
-
- <meta name="description" content="version (LIBM)">
- <meta name="keywords" content="version (LIBM)">
- <meta name="resource-type" content="document">
- <meta name="distribution" content="global">
- <meta name="Generator" content="makeinfo">
- <link href="index.html#Top" rel="start" title="Top">
- <link href="Document-Index.html#Document-Index" rel="index" title="Document Index">
- <link href="Document-Index.html#SEC_Contents" rel="contents" title="Table of Contents">
- <link href="Math.html#Math" rel="up" title="Math">
- <link href="acos.html#acos" rel="next" title="acos">
- <link href="Math.html#Math" rel="prev" title="Math">
- <style type="text/css">
- <!--
- a.summary-letter {text-decoration: none}
- blockquote.indentedblock {margin-right: 0em}
- blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
- blockquote.smallquotation {font-size: smaller}
- div.display {margin-left: 3.2em}
- div.example {margin-left: 3.2em}
- div.lisp {margin-left: 3.2em}
- div.smalldisplay {margin-left: 3.2em}
- div.smallexample {margin-left: 3.2em}
- div.smalllisp {margin-left: 3.2em}
- kbd {font-style: oblique}
- pre.display {font-family: inherit}
- pre.format {font-family: inherit}
- pre.menu-comment {font-family: serif}
- pre.menu-preformatted {font-family: serif}
- pre.smalldisplay {font-family: inherit; font-size: smaller}
- pre.smallexample {font-size: smaller}
- pre.smallformat {font-family: inherit; font-size: smaller}
- pre.smalllisp {font-size: smaller}
- span.nolinebreak {white-space: nowrap}
- span.roman {font-family: initial; font-weight: normal}
- span.sansserif {font-family: sans-serif; font-weight: normal}
- ul.no-bullet {list-style: none}
- -->
- </style>
-
-
- </head>
-
- <body lang="en">
- <a name="version"></a>
- <div class="header">
- <p>
- Next: <a href="acos.html#acos" accesskey="n" rel="next">acos</a>, Up: <a href="Math.html#Math" accesskey="u" rel="up">Math</a> [<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>
- </div>
- <hr>
- <a name="Error-Handling"></a>
- <h3 class="section">1.1 Error Handling</h3>
-
- <p>There are two different versions of the math library routines: IEEE
- and POSIX. The version may be selected at runtime by
- setting the global variable <code>_LIB_VERSION</code>, defined in
- <samp>math.h</samp>. It may be set to one of the following constants defined
- in <samp>math.h</samp>: <code>_IEEE_</code> or <code>_POSIX_</code>.
- The <code>_LIB_VERSION</code> variable is not specific to any
- thread, and changing it will affect all threads.
- </p>
- <p>The versions of the library differ only in the setting of <code>errno</code>.
- </p>
- <p>In IEEE mode, <code>errno</code> is never set.
- </p>
- <p>In POSIX mode, <code>errno</code> is set correctly.
- </p>
- <p>The library is set to IEEE mode by default.
- </p>
- <p>The majority of the floating-point math functions are written
- so as to produce the floating-point exceptions (e.g. "invalid",
- "divide-by-zero") as required by the C and POSIX standards, for
- floating-point implementations that support them. Newlib does not provide
- the floating-point exception access routines defined in the standards
- for fenv.h, though, which is why they are considered unsupported. It is
- mentioned in case you have separately-provided access routines so that
- you are aware that they can be caused.
- </p>
- <a name="Standards-Compliance-And-Portability"></a>
- <h3 class="section">1.2 Standards Compliance And Portability</h3>
- <p>Most of the individual function descriptions describe the standards to which
- each function complies. However, these descriptions are mostly out of date,
- having been written before C99 was released. One of these days we’ll get
- around to updating the rest of them. (If you’d like to help, please let us
- know.)
- </p>
- <p>“C99” refers to ISO/IEC 9899:1999, “Programming languages–C”.
- “POSIX” refers to IEEE Standard 1003.1. POSIX® is a
- registered trademark of The IEEE.
- </p>
-
-
-
-
- </body>
- </html>
|