Extended-math-intrinsics.html 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- Copyright (C) 1999-2017 Free Software Foundation, Inc.
  4. Permission is granted to copy, distribute and/or modify this document
  5. under the terms of the GNU Free Documentation License, Version 1.3 or
  6. any later version published by the Free Software Foundation; with the
  7. Invariant Sections being "Funding Free Software", the Front-Cover
  8. Texts being (a) (see below), and with the Back-Cover Texts being (b)
  9. (see below). A copy of the license is included in the section entitled
  10. "GNU Free Documentation License".
  11. (a) The FSF's Front-Cover Text is:
  12. A GNU Manual
  13. (b) The FSF's Back-Cover Text is:
  14. You have freedom to copy and modify this GNU Manual, like GNU
  15. software. Copies published by the Free Software Foundation raise
  16. funds for GNU development. -->
  17. <!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
  18. <head>
  19. <title>The GNU Fortran Compiler: Extended math intrinsics</title>
  20. <meta name="description" content="The GNU Fortran Compiler: Extended math intrinsics">
  21. <meta name="keywords" content="The GNU Fortran Compiler: Extended math intrinsics">
  22. <meta name="resource-type" content="document">
  23. <meta name="distribution" content="global">
  24. <meta name="Generator" content="makeinfo">
  25. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  26. <link href="index.html#Top" rel="start" title="Top">
  27. <link href="Option-Index.html#Option-Index" rel="index" title="Option Index">
  28. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  29. <link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran">
  30. <link href="Form-feed-as-whitespace.html#Form-feed-as-whitespace" rel="next" title="Form feed as whitespace">
  31. <link href="AUTOMATIC-and-STATIC-attributes.html#AUTOMATIC-and-STATIC-attributes" rel="prev" title="AUTOMATIC and STATIC attributes">
  32. <style type="text/css">
  33. <!--
  34. a.summary-letter {text-decoration: none}
  35. blockquote.smallquotation {font-size: smaller}
  36. div.display {margin-left: 3.2em}
  37. div.example {margin-left: 3.2em}
  38. div.indentedblock {margin-left: 3.2em}
  39. div.lisp {margin-left: 3.2em}
  40. div.smalldisplay {margin-left: 3.2em}
  41. div.smallexample {margin-left: 3.2em}
  42. div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
  43. div.smalllisp {margin-left: 3.2em}
  44. kbd {font-style:oblique}
  45. pre.display {font-family: inherit}
  46. pre.format {font-family: inherit}
  47. pre.menu-comment {font-family: serif}
  48. pre.menu-preformatted {font-family: serif}
  49. pre.smalldisplay {font-family: inherit; font-size: smaller}
  50. pre.smallexample {font-size: smaller}
  51. pre.smallformat {font-family: inherit; font-size: smaller}
  52. pre.smalllisp {font-size: smaller}
  53. span.nocodebreak {white-space:nowrap}
  54. span.nolinebreak {white-space:nowrap}
  55. span.roman {font-family:serif; font-weight:normal}
  56. span.sansserif {font-family:sans-serif; font-weight:normal}
  57. ul.no-bullet {list-style: none}
  58. -->
  59. </style>
  60. </head>
  61. <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
  62. <a name="Extended-math-intrinsics"></a>
  63. <div class="header">
  64. <p>
  65. Next: <a href="Form-feed-as-whitespace.html#Form-feed-as-whitespace" accesskey="n" rel="next">Form feed as whitespace</a>, Previous: <a href="AUTOMATIC-and-STATIC-attributes.html#AUTOMATIC-and-STATIC-attributes" accesskey="p" rel="prev">AUTOMATIC and STATIC attributes</a>, Up: <a href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" accesskey="u" rel="up">Extensions implemented in GNU Fortran</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p>
  66. </div>
  67. <hr>
  68. <a name="Extended-math-intrinsics-1"></a>
  69. <h4 class="subsection">6.1.24 Extended math intrinsics</h4>
  70. <a name="index-intrinsics_002c-math"></a>
  71. <a name="index-intrinsics_002c-trigonometric-functions"></a>
  72. <p>GNU Fortran supports an extended list of mathematical intrinsics with the
  73. compile flag <samp>-fdec-math</samp> for compatability with legacy code.
  74. These intrinsics are described fully in <a href="Intrinsic-Procedures.html#Intrinsic-Procedures">Intrinsic Procedures</a> where it is
  75. noted that they are extensions and should be avoided whenever possible.
  76. </p>
  77. <p>Specifically, <samp>-fdec-math</samp> enables the <a href="COTAN.html#COTAN">COTAN</a> intrinsic, and
  78. trigonometric intrinsics which accept or produce values in degrees instead of
  79. radians. Here is a summary of the new intrinsics:
  80. </p>
  81. <table>
  82. <thead><tr><th width="50%">Radians</th><th width="50%">Degrees</th></tr></thead>
  83. <tr><td width="50%"><code><a href="ACOS.html#ACOS">ACOS</a></code></td><td width="50%"><code><a href="ACOSD.html#ACOSD">ACOSD</a></code>*</td></tr>
  84. <tr><td width="50%"><code><a href="ASIN.html#ASIN">ASIN</a></code></td><td width="50%"><code><a href="ASIND.html#ASIND">ASIND</a></code>*</td></tr>
  85. <tr><td width="50%"><code><a href="ATAN.html#ATAN">ATAN</a></code></td><td width="50%"><code><a href="ATAND.html#ATAND">ATAND</a></code>*</td></tr>
  86. <tr><td width="50%"><code><a href="ATAN2.html#ATAN2">ATAN2</a></code></td><td width="50%"><code><a href="ATAN2D.html#ATAN2D">ATAN2D</a></code>*</td></tr>
  87. <tr><td width="50%"><code><a href="COS.html#COS">COS</a></code></td><td width="50%"><code><a href="COSD.html#COSD">COSD</a></code>*</td></tr>
  88. <tr><td width="50%"><code><a href="COTAN.html#COTAN">COTAN</a></code>*</td><td width="50%"><code><a href="COTAND.html#COTAND">COTAND</a></code>*</td></tr>
  89. <tr><td width="50%"><code><a href="SIN.html#SIN">SIN</a></code></td><td width="50%"><code><a href="SIND.html#SIND">SIND</a></code>*</td></tr>
  90. <tr><td width="50%"><code><a href="TAN.html#TAN">TAN</a></code></td><td width="50%"><code><a href="TAND.html#TAND">TAND</a></code>*</td></tr>
  91. </table>
  92. <p>* Enabled with <samp>-fdec-math</samp>.
  93. </p>
  94. <p>For advanced users, it may be important to know the implementation of these
  95. functions. They are simply wrappers around the standard radian functions, which
  96. have more accurate builtin versions. These functions convert their arguments
  97. (or results) to degrees (or radians) by taking the value modulus 360 (or 2*pi)
  98. and then multiplying it by a constant radian-to-degree (or degree-to-radian)
  99. factor, as appropriate. The factor is computed at compile-time as 180/pi (or
  100. pi/180).
  101. </p>
  102. </body>
  103. </html>