diff options
Diffstat (limited to 'share/doc/gfortran')
457 files changed, 66561 insertions, 0 deletions
diff --git a/share/doc/gfortran/ABORT.html b/share/doc/gfortran/ABORT.html new file mode 100644 index 0000000..0f57e1e --- /dev/null +++ b/share/doc/gfortran/ABORT.html @@ -0,0 +1,129 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ABORT</title> + +<meta name="description" content="The GNU Fortran Compiler: ABORT"> +<meta name="keywords" content="The GNU Fortran Compiler: ABORT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ABS.html#ABS" rel="next" title="ABS"> +<link href="Introduction-to-Intrinsics.html#Introduction-to-Intrinsics" rel="previous" title="Introduction to Intrinsics"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ABORT"></a> +<div class="header"> +<p> +Next: <a href="ABS.html#ABS" accesskey="n" rel="next">ABS</a>, Previous: <a href="Introduction-to-Intrinsics.html#Introduction-to-Intrinsics" accesskey="p" rel="previous">Introduction to Intrinsics</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ABORT-_002d_002d_002d-Abort-the-program"></a> +<h3 class="section">8.2 <code>ABORT</code> — Abort the program</h3> +<a name="index-ABORT"></a> +<a name="index-program-termination_002c-with-core-dump"></a> +<a name="index-terminate-program_002c-with-core-dump"></a> +<a name="index-core_002c-dump"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ABORT</code> causes immediate termination of the program. On operating +systems that support a core dump, <code>ABORT</code> will produce a core dump. +It will also print a backtrace, unless <code>-fno-backtrace</code> is given. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL ABORT</code> +</p> +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Does not return. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_abort + integer :: i = 1, j = 2 + if (i /= j) call abort +end program test_abort +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="EXIT.html#EXIT">EXIT</a>, <br> +<a href="KILL.html#KILL">KILL</a>, <br> +<a href="BACKTRACE.html#BACKTRACE">BACKTRACE</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ABS.html b/share/doc/gfortran/ABS.html new file mode 100644 index 0000000..0767f29 --- /dev/null +++ b/share/doc/gfortran/ABS.html @@ -0,0 +1,157 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ABS</title> + +<meta name="description" content="The GNU Fortran Compiler: ABS"> +<meta name="keywords" content="The GNU Fortran Compiler: ABS"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ACCESS.html#ACCESS" rel="next" title="ACCESS"> +<link href="ABORT.html#ABORT" rel="previous" title="ABORT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ABS"></a> +<div class="header"> +<p> +Next: <a href="ACCESS.html#ACCESS" accesskey="n" rel="next">ACCESS</a>, Previous: <a href="ABORT.html#ABORT" accesskey="p" rel="previous">ABORT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ABS-_002d_002d_002d-Absolute-value"></a> +<h3 class="section">8.3 <code>ABS</code> — Absolute value</h3> +<a name="index-ABS"></a> +<a name="index-CABS"></a> +<a name="index-DABS"></a> +<a name="index-IABS"></a> +<a name="index-ZABS"></a> +<a name="index-CDABS"></a> +<a name="index-BABS"></a> +<a name="index-IIABS"></a> +<a name="index-JIABS"></a> +<a name="index-KIABS"></a> +<a name="index-absolute-value"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ABS(A)</code> computes the absolute value of <code>A</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later, has overloads that are GNU extensions +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ABS(A)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>A</var></td><td width="70%">The type of the argument shall be an <code>INTEGER</code>, +<code>REAL</code>, or <code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of the same type and +kind as the argument except the return value is <code>REAL</code> for a +<code>COMPLEX</code> argument. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_abs + integer :: i = -1 + real :: x = -1.e0 + complex :: z = (-1.e0,0.e0) + i = abs(i) + x = abs(x) + x = abs(z) +end program test_abs +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>ABS(A)</code></td><td width="23%"><code>REAL(4) A</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>CABS(A)</code></td><td width="23%"><code>COMPLEX(4) A</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>DABS(A)</code></td><td width="23%"><code>REAL(8) A</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>IABS(A)</code></td><td width="23%"><code>INTEGER(4) A</code></td><td width="20%"><code>INTEGER(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>BABS(A)</code></td><td width="23%"><code>INTEGER(1) A</code></td><td width="20%"><code>INTEGER(1)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>IIABS(A)</code></td><td width="23%"><code>INTEGER(2) A</code></td><td width="20%"><code>INTEGER(2)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>JIABS(A)</code></td><td width="23%"><code>INTEGER(4) A</code></td><td width="20%"><code>INTEGER(4)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>KIABS(A)</code></td><td width="23%"><code>INTEGER(8) A</code></td><td width="20%"><code>INTEGER(8)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>ZABS(A)</code></td><td width="23%"><code>COMPLEX(8) A</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>CDABS(A)</code></td><td width="23%"><code>COMPLEX(8) A</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ACCESS.html b/share/doc/gfortran/ACCESS.html new file mode 100644 index 0000000..3b57420 --- /dev/null +++ b/share/doc/gfortran/ACCESS.html @@ -0,0 +1,144 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ACCESS</title> + +<meta name="description" content="The GNU Fortran Compiler: ACCESS"> +<meta name="keywords" content="The GNU Fortran Compiler: ACCESS"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ACHAR.html#ACHAR" rel="next" title="ACHAR"> +<link href="ABS.html#ABS" rel="previous" title="ABS"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ACCESS"></a> +<div class="header"> +<p> +Next: <a href="ACHAR.html#ACHAR" accesskey="n" rel="next">ACHAR</a>, Previous: <a href="ABS.html#ABS" accesskey="p" rel="previous">ABS</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ACCESS-_002d_002d_002d-Checks-file-access-modes"></a> +<h3 class="section">8.4 <code>ACCESS</code> — Checks file access modes</h3> +<a name="index-ACCESS"></a> +<a name="index-file-system_002c-access-mode"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ACCESS(NAME, MODE)</code> checks whether the file <var>NAME</var> +exists, is readable, writable or executable. Except for the +executable check, <code>ACCESS</code> can be replaced by +Fortran 95’s <code>INQUIRE</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ACCESS(NAME, MODE)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>NAME</var></td><td width="70%">Scalar <code>CHARACTER</code> of default kind with the +file name. Trailing blank are ignored unless the character <code>achar(0)</code> +is present, then all characters up to and excluding <code>achar(0)</code> are +used as file name.</td></tr> +<tr><td width="15%"><var>MODE</var></td><td width="70%">Scalar <code>CHARACTER</code> of default kind with the +file access mode, may be any concatenation of <code>"r"</code> (readable), +<code>"w"</code> (writable) and <code>"x"</code> (executable), or <code>" "</code> to check +for existence.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Returns a scalar <code>INTEGER</code>, which is <code>0</code> if the file is +accessible in the given mode; otherwise or if an invalid argument +has been given for <code>MODE</code> the value <code>1</code> is returned. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program access_test + implicit none + character(len=*), parameter :: file = 'test.dat' + character(len=*), parameter :: file2 = 'test.dat '//achar(0) + if(access(file,' ') == 0) print *, trim(file),' is exists' + if(access(file,'r') == 0) print *, trim(file),' is readable' + if(access(file,'w') == 0) print *, trim(file),' is writable' + if(access(file,'x') == 0) print *, trim(file),' is executable' + if(access(file2,'rwx') == 0) & + print *, trim(file2),' is readable, writable and executable' +end program access_test +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ACHAR.html b/share/doc/gfortran/ACHAR.html new file mode 100644 index 0000000..36f5660 --- /dev/null +++ b/share/doc/gfortran/ACHAR.html @@ -0,0 +1,142 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ACHAR</title> + +<meta name="description" content="The GNU Fortran Compiler: ACHAR"> +<meta name="keywords" content="The GNU Fortran Compiler: ACHAR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ACOS.html#ACOS" rel="next" title="ACOS"> +<link href="ACCESS.html#ACCESS" rel="previous" title="ACCESS"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ACHAR"></a> +<div class="header"> +<p> +Next: <a href="ACOS.html#ACOS" accesskey="n" rel="next">ACOS</a>, Previous: <a href="ACCESS.html#ACCESS" accesskey="p" rel="previous">ACCESS</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ACHAR-_002d_002d_002d-Character-in-ASCII-collating-sequence"></a> +<h3 class="section">8.5 <code>ACHAR</code> — Character in <acronym>ASCII</acronym> collating sequence</h3> +<a name="index-ACHAR"></a> +<a name="index-ASCII-collating-sequence"></a> +<a name="index-collating-sequence_002c-ASCII"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ACHAR(I)</code> returns the character located at position <code>I</code> +in the <acronym>ASCII</acronym> collating sequence. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later, with <var>KIND</var> argument Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ACHAR(I [, KIND])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>CHARACTER</code> with a length of one. +If the <var>KIND</var> argument is present, the return value is of the +specified kind and of the default kind otherwise. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_achar + character c + c = achar(32) +end program test_achar +</pre></div> + +</dd> +<dt><em>Note</em>:</dt> +<dd><p>See <a href="ICHAR.html#ICHAR">ICHAR</a> for a discussion of converting between numerical values +and formatted string representations. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="CHAR.html#CHAR">CHAR</a>, <br> +<a href="IACHAR.html#IACHAR">IACHAR</a>, <br> +<a href="ICHAR.html#ICHAR">ICHAR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ACOS.html b/share/doc/gfortran/ACOS.html new file mode 100644 index 0000000..ae1c842 --- /dev/null +++ b/share/doc/gfortran/ACOS.html @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ACOS</title> + +<meta name="description" content="The GNU Fortran Compiler: ACOS"> +<meta name="keywords" content="The GNU Fortran Compiler: ACOS"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ACOSD.html#ACOSD" rel="next" title="ACOSD"> +<link href="ACHAR.html#ACHAR" rel="previous" title="ACHAR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ACOS"></a> +<div class="header"> +<p> +Next: <a href="ACOSD.html#ACOSD" accesskey="n" rel="next">ACOSD</a>, Previous: <a href="ACHAR.html#ACHAR" accesskey="p" rel="previous">ACHAR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ACOS-_002d_002d_002d-Arccosine-function"></a> +<h3 class="section">8.6 <code>ACOS</code> — Arccosine function</h3> +<a name="index-ACOS"></a> +<a name="index-DACOS"></a> +<a name="index-trigonometric-function_002c-cosine_002c-inverse"></a> +<a name="index-cosine_002c-inverse"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ACOS(X)</code> computes the arccosine of <var>X</var> (inverse of <code>COS(X)</code>). +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later, for a complex argument Fortran 2008 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ACOS(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall either be <code>REAL</code> with a magnitude that is +less than or equal to one - or the type shall be <code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of the same type and kind as <var>X</var>. +The real part of the result is in radians and lies in the range +<em>0 \leq \Re \acos(x) \leq \pi</em>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_acos + real(8) :: x = 0.866_8 + x = acos(x) +end program test_acos +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>ACOS(X)</code></td><td width="23%"><code>REAL(4) X</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>DACOS(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">Fortran 77 and later</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Inverse function: <br> +<a href="COS.html#COS">COS</a> <br> +Degrees function: <br> +<a href="ACOSD.html#ACOSD">ACOSD</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ACOSD.html b/share/doc/gfortran/ACOSD.html new file mode 100644 index 0000000..3d602d2 --- /dev/null +++ b/share/doc/gfortran/ACOSD.html @@ -0,0 +1,149 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ACOSD</title> + +<meta name="description" content="The GNU Fortran Compiler: ACOSD"> +<meta name="keywords" content="The GNU Fortran Compiler: ACOSD"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ACOSH.html#ACOSH" rel="next" title="ACOSH"> +<link href="ACOS.html#ACOS" rel="previous" title="ACOS"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ACOSD"></a> +<div class="header"> +<p> +Next: <a href="ACOSH.html#ACOSH" accesskey="n" rel="next">ACOSH</a>, Previous: <a href="ACOS.html#ACOS" accesskey="p" rel="previous">ACOS</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ACOSD-_002d_002d_002d-Arccosine-function_002c-degrees"></a> +<h3 class="section">8.7 <code>ACOSD</code> — Arccosine function, degrees</h3> +<a name="index-ACOSD"></a> +<a name="index-DACOSD"></a> +<a name="index-trigonometric-function_002c-cosine_002c-inverse_002c-degrees"></a> +<a name="index-cosine_002c-inverse_002c-degrees"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ACOSD(X)</code> computes the arccosine of <var>X</var> in degrees (inverse of +<code>COSD(X)</code>). +</p> +<p>This function is for compatibility only and should be avoided in favor of +standard constructs wherever possible. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension, enabled with <samp>-fdec-math</samp> +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ACOSD(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall either be <code>REAL</code> with a magnitude that is +less than or equal to one - or the type shall be <code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of the same type and kind as <var>X</var>. +The real part of the result is in degrees and lies in the range +<em>0 \leq \Re \acos(x) \leq 180</em>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_acosd + real(8) :: x = 0.866_8 + x = acosd(x) +end program test_acosd +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>ACOSD(X)</code></td><td width="23%"><code>REAL(4) X</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>DACOSD(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Inverse function: <br> +<a href="COSD.html#COSD">COSD</a> <br> +Radians function: <br> +<a href="ACOS.html#ACOS">ACOS</a> <br> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ACOSH.html b/share/doc/gfortran/ACOSH.html new file mode 100644 index 0000000..d87f6ad --- /dev/null +++ b/share/doc/gfortran/ACOSH.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ACOSH</title> + +<meta name="description" content="The GNU Fortran Compiler: ACOSH"> +<meta name="keywords" content="The GNU Fortran Compiler: ACOSH"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ADJUSTL.html#ADJUSTL" rel="next" title="ADJUSTL"> +<link href="ACOSD.html#ACOSD" rel="previous" title="ACOSD"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ACOSH"></a> +<div class="header"> +<p> +Next: <a href="ADJUSTL.html#ADJUSTL" accesskey="n" rel="next">ADJUSTL</a>, Previous: <a href="ACOSD.html#ACOSD" accesskey="p" rel="previous">ACOSD</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ACOSH-_002d_002d_002d-Inverse-hyperbolic-cosine-function"></a> +<h3 class="section">8.8 <code>ACOSH</code> — Inverse hyperbolic cosine function</h3> +<a name="index-ACOSH"></a> +<a name="index-DACOSH"></a> +<a name="index-area-hyperbolic-cosine"></a> +<a name="index-inverse-hyperbolic-cosine"></a> +<a name="index-hyperbolic-function_002c-cosine_002c-inverse"></a> +<a name="index-cosine_002c-hyperbolic_002c-inverse"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ACOSH(X)</code> computes the inverse hyperbolic cosine of <var>X</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ACOSH(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code> or <code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value has the same type and kind as <var>X</var>. If <var>X</var> is +complex, the imaginary part of the result is in radians and lies between +<em>0 \leq \Im \acosh(x) \leq \pi</em>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_acosh + REAL(8), DIMENSION(3) :: x = (/ 1.0, 2.0, 3.0 /) + WRITE (*,*) ACOSH(x) +END PROGRAM +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>DACOSH(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Inverse function: <br> +<a href="COSH.html#COSH">COSH</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ADJUSTL.html b/share/doc/gfortran/ADJUSTL.html new file mode 100644 index 0000000..2a474de --- /dev/null +++ b/share/doc/gfortran/ADJUSTL.html @@ -0,0 +1,135 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ADJUSTL</title> + +<meta name="description" content="The GNU Fortran Compiler: ADJUSTL"> +<meta name="keywords" content="The GNU Fortran Compiler: ADJUSTL"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ADJUSTR.html#ADJUSTR" rel="next" title="ADJUSTR"> +<link href="ACOSH.html#ACOSH" rel="previous" title="ACOSH"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ADJUSTL"></a> +<div class="header"> +<p> +Next: <a href="ADJUSTR.html#ADJUSTR" accesskey="n" rel="next">ADJUSTR</a>, Previous: <a href="ACOSH.html#ACOSH" accesskey="p" rel="previous">ACOSH</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ADJUSTL-_002d_002d_002d-Left-adjust-a-string"></a> +<h3 class="section">8.9 <code>ADJUSTL</code> — Left adjust a string</h3> +<a name="index-ADJUSTL"></a> +<a name="index-string_002c-adjust-left"></a> +<a name="index-adjust-string"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ADJUSTL(STRING)</code> will left adjust a string by removing leading spaces. +Spaces are inserted at the end of the string as needed. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ADJUSTL(STRING)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>STRING</var></td><td width="70%">The type shall be <code>CHARACTER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>CHARACTER</code> and of the same kind as +<var>STRING</var> where leading spaces are removed and the same number of +spaces are inserted on the end of <var>STRING</var>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_adjustl + character(len=20) :: str = ' gfortran' + str = adjustl(str) + print *, str +end program test_adjustl +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ADJUSTR.html#ADJUSTR">ADJUSTR</a>, <br> +<a href="TRIM.html#TRIM">TRIM</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ADJUSTR.html b/share/doc/gfortran/ADJUSTR.html new file mode 100644 index 0000000..01598e6 --- /dev/null +++ b/share/doc/gfortran/ADJUSTR.html @@ -0,0 +1,135 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ADJUSTR</title> + +<meta name="description" content="The GNU Fortran Compiler: ADJUSTR"> +<meta name="keywords" content="The GNU Fortran Compiler: ADJUSTR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="AIMAG.html#AIMAG" rel="next" title="AIMAG"> +<link href="ADJUSTL.html#ADJUSTL" rel="previous" title="ADJUSTL"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ADJUSTR"></a> +<div class="header"> +<p> +Next: <a href="AIMAG.html#AIMAG" accesskey="n" rel="next">AIMAG</a>, Previous: <a href="ADJUSTL.html#ADJUSTL" accesskey="p" rel="previous">ADJUSTL</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ADJUSTR-_002d_002d_002d-Right-adjust-a-string"></a> +<h3 class="section">8.10 <code>ADJUSTR</code> — Right adjust a string</h3> +<a name="index-ADJUSTR"></a> +<a name="index-string_002c-adjust-right"></a> +<a name="index-adjust-string-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ADJUSTR(STRING)</code> will right adjust a string by removing trailing spaces. +Spaces are inserted at the start of the string as needed. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ADJUSTR(STRING)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>STR</var></td><td width="70%">The type shall be <code>CHARACTER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>CHARACTER</code> and of the same kind as +<var>STRING</var> where trailing spaces are removed and the same number of +spaces are inserted at the start of <var>STRING</var>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_adjustr + character(len=20) :: str = 'gfortran' + str = adjustr(str) + print *, str +end program test_adjustr +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ADJUSTL.html#ADJUSTL">ADJUSTL</a>, <br> +<a href="TRIM.html#TRIM">TRIM</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/AIMAG.html b/share/doc/gfortran/AIMAG.html new file mode 100644 index 0000000..7969c71 --- /dev/null +++ b/share/doc/gfortran/AIMAG.html @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: AIMAG</title> + +<meta name="description" content="The GNU Fortran Compiler: AIMAG"> +<meta name="keywords" content="The GNU Fortran Compiler: AIMAG"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="AINT.html#AINT" rel="next" title="AINT"> +<link href="ADJUSTR.html#ADJUSTR" rel="previous" title="ADJUSTR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="AIMAG"></a> +<div class="header"> +<p> +Next: <a href="AINT.html#AINT" accesskey="n" rel="next">AINT</a>, Previous: <a href="ADJUSTR.html#ADJUSTR" accesskey="p" rel="previous">ADJUSTR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="AIMAG-_002d_002d_002d-Imaginary-part-of-complex-number"></a> +<h3 class="section">8.11 <code>AIMAG</code> — Imaginary part of complex number</h3> +<a name="index-AIMAG"></a> +<a name="index-DIMAG"></a> +<a name="index-IMAG"></a> +<a name="index-IMAGPART"></a> +<a name="index-complex-numbers_002c-imaginary-part"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>AIMAG(Z)</code> yields the imaginary part of complex argument <code>Z</code>. +The <code>IMAG(Z)</code> and <code>IMAGPART(Z)</code> intrinsic functions are provided +for compatibility with <code>g77</code>, and their use in new code is +strongly discouraged. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later, has overloads that are GNU extensions +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = AIMAG(Z)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>Z</var></td><td width="70%">The type of the argument shall be <code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>REAL</code> with the +kind type parameter of the argument. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_aimag + complex(4) z4 + complex(8) z8 + z4 = cmplx(1.e0_4, 0.e0_4) + z8 = cmplx(0.e0_8, 1.e0_8) + print *, aimag(z4), dimag(z8) +end program test_aimag +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>AIMAG(Z)</code></td><td width="23%"><code>COMPLEX Z</code></td><td width="20%"><code>REAL</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>DIMAG(Z)</code></td><td width="23%"><code>COMPLEX(8) Z</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>IMAG(Z)</code></td><td width="23%"><code>COMPLEX Z</code></td><td width="20%"><code>REAL</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>IMAGPART(Z)</code></td><td width="23%"><code>COMPLEX Z</code></td><td width="20%"><code>REAL</code></td><td width="33%">GNU extension</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/AINT.html b/share/doc/gfortran/AINT.html new file mode 100644 index 0000000..fe245af --- /dev/null +++ b/share/doc/gfortran/AINT.html @@ -0,0 +1,147 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: AINT</title> + +<meta name="description" content="The GNU Fortran Compiler: AINT"> +<meta name="keywords" content="The GNU Fortran Compiler: AINT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ALARM.html#ALARM" rel="next" title="ALARM"> +<link href="AIMAG.html#AIMAG" rel="previous" title="AIMAG"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="AINT"></a> +<div class="header"> +<p> +Next: <a href="ALARM.html#ALARM" accesskey="n" rel="next">ALARM</a>, Previous: <a href="AIMAG.html#AIMAG" accesskey="p" rel="previous">AIMAG</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="AINT-_002d_002d_002d-Truncate-to-a-whole-number"></a> +<h3 class="section">8.12 <code>AINT</code> — Truncate to a whole number</h3> +<a name="index-AINT"></a> +<a name="index-DINT"></a> +<a name="index-floor"></a> +<a name="index-rounding_002c-floor"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>AINT(A [, KIND])</code> truncates its argument to a whole number. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = AINT(A [, KIND])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>A</var></td><td width="70%">The type of the argument shall be <code>REAL</code>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>REAL</code> with the kind type parameter of the +argument if the optional <var>KIND</var> is absent; otherwise, the kind +type parameter will be given by <var>KIND</var>. If the magnitude of +<var>X</var> is less than one, <code>AINT(X)</code> returns zero. If the +magnitude is equal to or greater than one then it returns the largest +whole number that does not exceed its magnitude. The sign is the same +as the sign of <var>X</var>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_aint + real(4) x4 + real(8) x8 + x4 = 1.234E0_4 + x8 = 4.321_8 + print *, aint(x4), dint(x8) + x8 = aint(x4,8) +end program test_aint +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>AINT(A)</code></td><td width="23%"><code>REAL(4) A</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>DINT(A)</code></td><td width="23%"><code>REAL(8) A</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">Fortran 77 and later</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ALARM.html b/share/doc/gfortran/ALARM.html new file mode 100644 index 0000000..1583844 --- /dev/null +++ b/share/doc/gfortran/ALARM.html @@ -0,0 +1,138 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ALARM</title> + +<meta name="description" content="The GNU Fortran Compiler: ALARM"> +<meta name="keywords" content="The GNU Fortran Compiler: ALARM"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ALL.html#ALL" rel="next" title="ALL"> +<link href="AINT.html#AINT" rel="previous" title="AINT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ALARM"></a> +<div class="header"> +<p> +Next: <a href="ALL.html#ALL" accesskey="n" rel="next">ALL</a>, Previous: <a href="AINT.html#AINT" accesskey="p" rel="previous">AINT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ALARM-_002d_002d_002d-Execute-a-routine-after-a-given-delay"></a> +<h3 class="section">8.13 <code>ALARM</code> — Execute a routine after a given delay</h3> +<a name="index-ALARM"></a> +<a name="index-delayed-execution"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ALARM(SECONDS, HANDLER [, STATUS])</code> causes external subroutine <var>HANDLER</var> +to be executed after a delay of <var>SECONDS</var> by using <code>alarm(2)</code> to +set up a signal and <code>signal(2)</code> to catch it. If <var>STATUS</var> is +supplied, it will be returned with the number of seconds remaining until +any previously scheduled alarm was due to be delivered, or zero if there +was no previously scheduled alarm. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL ALARM(SECONDS, HANDLER [, STATUS])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>SECONDS</var></td><td width="70%">The type of the argument shall be a scalar +<code>INTEGER</code>. It is <code>INTENT(IN)</code>.</td></tr> +<tr><td width="15%"><var>HANDLER</var></td><td width="70%">Signal handler (<code>INTEGER FUNCTION</code> or +<code>SUBROUTINE</code>) or dummy/global <code>INTEGER</code> scalar. The scalar +values may be either <code>SIG_IGN=1</code> to ignore the alarm generated +or <code>SIG_DFL=0</code> to set the default action. It is <code>INTENT(IN)</code>.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">(Optional) <var>STATUS</var> shall be a scalar +variable of the default <code>INTEGER</code> kind. It is <code>INTENT(OUT)</code>.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_alarm + external handler_print + integer i + call alarm (3, handler_print, i) + print *, i + call sleep(10) +end program test_alarm +</pre></div> +<p>This will cause the external routine <var>handler_print</var> to be called +after 3 seconds. +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ALL.html b/share/doc/gfortran/ALL.html new file mode 100644 index 0000000..672505b --- /dev/null +++ b/share/doc/gfortran/ALL.html @@ -0,0 +1,162 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ALL</title> + +<meta name="description" content="The GNU Fortran Compiler: ALL"> +<meta name="keywords" content="The GNU Fortran Compiler: ALL"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ALLOCATED.html#ALLOCATED" rel="next" title="ALLOCATED"> +<link href="ALARM.html#ALARM" rel="previous" title="ALARM"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ALL"></a> +<div class="header"> +<p> +Next: <a href="ALLOCATED.html#ALLOCATED" accesskey="n" rel="next">ALLOCATED</a>, Previous: <a href="ALARM.html#ALARM" accesskey="p" rel="previous">ALARM</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ALL-_002d_002d_002d-All-values-in-MASK-along-DIM-are-true"></a> +<h3 class="section">8.14 <code>ALL</code> — All values in <var>MASK</var> along <var>DIM</var> are true</h3> +<a name="index-ALL"></a> +<a name="index-array_002c-apply-condition"></a> +<a name="index-array_002c-condition-testing"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ALL(MASK [, DIM])</code> determines if all the values are true in <var>MASK</var> +in the array along dimension <var>DIM</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ALL(MASK [, DIM])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>MASK</var></td><td width="70%">The type of the argument shall be <code>LOGICAL</code> and +it shall not be scalar.</td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">(Optional) <var>DIM</var> shall be a scalar integer +with a value that lies between one and the rank of <var>MASK</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p><code>ALL(MASK)</code> returns a scalar value of type <code>LOGICAL</code> where +the kind type parameter is the same as the kind type parameter of +<var>MASK</var>. If <var>DIM</var> is present, then <code>ALL(MASK, DIM)</code> returns +an array with the rank of <var>MASK</var> minus 1. The shape is determined from +the shape of <var>MASK</var> where the <var>DIM</var> dimension is elided. +</p> +<dl compact="compact"> +<dt>(A)</dt> +<dd><p><code>ALL(MASK)</code> is true if all elements of <var>MASK</var> are true. +It also is true if <var>MASK</var> has zero size; otherwise, it is false. +</p></dd> +<dt>(B)</dt> +<dd><p>If the rank of <var>MASK</var> is one, then <code>ALL(MASK,DIM)</code> is equivalent +to <code>ALL(MASK)</code>. If the rank is greater than one, then <code>ALL(MASK,DIM)</code> +is determined by applying <code>ALL</code> to the array sections. +</p></dd> +</dl> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_all + logical l + l = all((/.true., .true., .true./)) + print *, l + call section + contains + subroutine section + integer a(2,3), b(2,3) + a = 1 + b = 1 + b(2,2) = 2 + print *, all(a .eq. b, 1) + print *, all(a .eq. b, 2) + end subroutine section +end program test_all +</pre></div> +</dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="ALLOCATED.html#ALLOCATED" accesskey="n" rel="next">ALLOCATED</a>, Previous: <a href="ALARM.html#ALARM" accesskey="p" rel="previous">ALARM</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/ALLOCATED.html b/share/doc/gfortran/ALLOCATED.html new file mode 100644 index 0000000..10622c4 --- /dev/null +++ b/share/doc/gfortran/ALLOCATED.html @@ -0,0 +1,134 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ALLOCATED</title> + +<meta name="description" content="The GNU Fortran Compiler: ALLOCATED"> +<meta name="keywords" content="The GNU Fortran Compiler: ALLOCATED"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="AND.html#AND" rel="next" title="AND"> +<link href="ALL.html#ALL" rel="previous" title="ALL"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ALLOCATED"></a> +<div class="header"> +<p> +Next: <a href="AND.html#AND" accesskey="n" rel="next">AND</a>, Previous: <a href="ALL.html#ALL" accesskey="p" rel="previous">ALL</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ALLOCATED-_002d_002d_002d-Status-of-an-allocatable-entity"></a> +<h3 class="section">8.15 <code>ALLOCATED</code> — Status of an allocatable entity</h3> +<a name="index-ALLOCATED"></a> +<a name="index-allocation_002c-status"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ALLOCATED(ARRAY)</code> and <code>ALLOCATED(SCALAR)</code> check the allocation +status of <var>ARRAY</var> and <var>SCALAR</var>, respectively. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later. Note, the <code>SCALAR=</code> keyword and allocatable +scalar entities are available in Fortran 2003 and later. +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>RESULT = ALLOCATED(ARRAY)</code></td></tr> +<tr><td width="80%"><code>RESULT = ALLOCATED(SCALAR)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ARRAY</var></td><td width="70%">The argument shall be an <code>ALLOCATABLE</code> array.</td></tr> +<tr><td width="15%"><var>SCALAR</var></td><td width="70%">The argument shall be an <code>ALLOCATABLE</code> scalar.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is a scalar <code>LOGICAL</code> with the default logical +kind type parameter. If the argument is allocated, then the result is +<code>.TRUE.</code>; otherwise, it returns <code>.FALSE.</code> +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_allocated + integer :: i = 4 + real(4), allocatable :: x(:) + if (.not. allocated(x)) allocate(x(i)) +end program test_allocated +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/AND.html b/share/doc/gfortran/AND.html new file mode 100644 index 0000000..fd7b832 --- /dev/null +++ b/share/doc/gfortran/AND.html @@ -0,0 +1,149 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: AND</title> + +<meta name="description" content="The GNU Fortran Compiler: AND"> +<meta name="keywords" content="The GNU Fortran Compiler: AND"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ANINT.html#ANINT" rel="next" title="ANINT"> +<link href="ALLOCATED.html#ALLOCATED" rel="previous" title="ALLOCATED"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="AND"></a> +<div class="header"> +<p> +Next: <a href="ANINT.html#ANINT" accesskey="n" rel="next">ANINT</a>, Previous: <a href="ALLOCATED.html#ALLOCATED" accesskey="p" rel="previous">ALLOCATED</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="AND-_002d_002d_002d-Bitwise-logical-AND"></a> +<h3 class="section">8.16 <code>AND</code> — Bitwise logical AND</h3> +<a name="index-AND"></a> +<a name="index-bitwise-logical-and"></a> +<a name="index-logical-and_002c-bitwise"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Bitwise logical <code>AND</code>. +</p> +<p>This intrinsic routine is provided for backwards compatibility with +GNU Fortran 77. For integer arguments, programmers should consider +the use of the <a href="IAND.html#IAND">IAND</a> intrinsic defined by the Fortran standard. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = AND(I, J)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">The type shall be either a scalar <code>INTEGER</code> +type or a scalar <code>LOGICAL</code> type or a boz-literal-constant.</td></tr> +<tr><td width="15%"><var>J</var></td><td width="70%">The type shall be the same as the type of <var>I</var> or +a boz-literal-constant. <var>I</var> and <var>J</var> shall not both be +boz-literal-constants. If either <var>I</var> or <var>J</var> is a +boz-literal-constant, then the other argument must be a scalar <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return type is either a scalar <code>INTEGER</code> or a scalar +<code>LOGICAL</code>. If the kind type parameters differ, then the +smaller kind type is implicitly converted to larger kind, and the +return has the larger kind. A boz-literal-constant is +converted to an <code>INTEGER</code> with the kind type parameter of +the other argument as-if a call to <a href="INT.html#INT">INT</a> occurred. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_and + LOGICAL :: T = .TRUE., F = .FALSE. + INTEGER :: a, b + DATA a / Z'F' /, b / Z'3' / + + WRITE (*,*) AND(T, T), AND(T, F), AND(F, T), AND(F, F) + WRITE (*,*) AND(a, b) +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Fortran 95 elemental function: <br> +<a href="IAND.html#IAND">IAND</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ANINT.html b/share/doc/gfortran/ANINT.html new file mode 100644 index 0000000..8c496ea --- /dev/null +++ b/share/doc/gfortran/ANINT.html @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ANINT</title> + +<meta name="description" content="The GNU Fortran Compiler: ANINT"> +<meta name="keywords" content="The GNU Fortran Compiler: ANINT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ANY.html#ANY" rel="next" title="ANY"> +<link href="AND.html#AND" rel="previous" title="AND"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ANINT"></a> +<div class="header"> +<p> +Next: <a href="ANY.html#ANY" accesskey="n" rel="next">ANY</a>, Previous: <a href="AND.html#AND" accesskey="p" rel="previous">AND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ANINT-_002d_002d_002d-Nearest-whole-number"></a> +<h3 class="section">8.17 <code>ANINT</code> — Nearest whole number</h3> +<a name="index-ANINT"></a> +<a name="index-DNINT"></a> +<a name="index-ceiling"></a> +<a name="index-rounding_002c-ceiling"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ANINT(A [, KIND])</code> rounds its argument to the nearest whole number. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ANINT(A [, KIND])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>A</var></td><td width="70%">The type of the argument shall be <code>REAL</code>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type real with the kind type parameter of the +argument if the optional <var>KIND</var> is absent; otherwise, the kind +type parameter will be given by <var>KIND</var>. If <var>A</var> is greater than +zero, <code>ANINT(A)</code> returns <code>AINT(X+0.5)</code>. If <var>A</var> is +less than or equal to zero then it returns <code>AINT(X-0.5)</code>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_anint + real(4) x4 + real(8) x8 + x4 = 1.234E0_4 + x8 = 4.321_8 + print *, anint(x4), dnint(x8) + x8 = anint(x4,8) +end program test_anint +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>ANINT(A)</code></td><td width="23%"><code>REAL(4) A</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>DNINT(A)</code></td><td width="23%"><code>REAL(8) A</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">Fortran 77 and later</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ANY.html b/share/doc/gfortran/ANY.html new file mode 100644 index 0000000..5eaa5e1 --- /dev/null +++ b/share/doc/gfortran/ANY.html @@ -0,0 +1,162 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ANY</title> + +<meta name="description" content="The GNU Fortran Compiler: ANY"> +<meta name="keywords" content="The GNU Fortran Compiler: ANY"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ASIN.html#ASIN" rel="next" title="ASIN"> +<link href="ANINT.html#ANINT" rel="previous" title="ANINT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ANY"></a> +<div class="header"> +<p> +Next: <a href="ASIN.html#ASIN" accesskey="n" rel="next">ASIN</a>, Previous: <a href="ANINT.html#ANINT" accesskey="p" rel="previous">ANINT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ANY-_002d_002d_002d-Any-value-in-MASK-along-DIM-is-true"></a> +<h3 class="section">8.18 <code>ANY</code> — Any value in <var>MASK</var> along <var>DIM</var> is true</h3> +<a name="index-ANY"></a> +<a name="index-array_002c-apply-condition-1"></a> +<a name="index-array_002c-condition-testing-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ANY(MASK [, DIM])</code> determines if any of the values in the logical array +<var>MASK</var> along dimension <var>DIM</var> are <code>.TRUE.</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ANY(MASK [, DIM])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>MASK</var></td><td width="70%">The type of the argument shall be <code>LOGICAL</code> and +it shall not be scalar.</td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">(Optional) <var>DIM</var> shall be a scalar integer +with a value that lies between one and the rank of <var>MASK</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p><code>ANY(MASK)</code> returns a scalar value of type <code>LOGICAL</code> where +the kind type parameter is the same as the kind type parameter of +<var>MASK</var>. If <var>DIM</var> is present, then <code>ANY(MASK, DIM)</code> returns +an array with the rank of <var>MASK</var> minus 1. The shape is determined from +the shape of <var>MASK</var> where the <var>DIM</var> dimension is elided. +</p> +<dl compact="compact"> +<dt>(A)</dt> +<dd><p><code>ANY(MASK)</code> is true if any element of <var>MASK</var> is true; +otherwise, it is false. It also is false if <var>MASK</var> has zero size. +</p></dd> +<dt>(B)</dt> +<dd><p>If the rank of <var>MASK</var> is one, then <code>ANY(MASK,DIM)</code> is equivalent +to <code>ANY(MASK)</code>. If the rank is greater than one, then <code>ANY(MASK,DIM)</code> +is determined by applying <code>ANY</code> to the array sections. +</p></dd> +</dl> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_any + logical l + l = any((/.true., .true., .true./)) + print *, l + call section + contains + subroutine section + integer a(2,3), b(2,3) + a = 1 + b = 1 + b(2,2) = 2 + print *, any(a .eq. b, 1) + print *, any(a .eq. b, 2) + end subroutine section +end program test_any +</pre></div> +</dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="ASIN.html#ASIN" accesskey="n" rel="next">ASIN</a>, Previous: <a href="ANINT.html#ANINT" accesskey="p" rel="previous">ANINT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/ASIN.html b/share/doc/gfortran/ASIN.html new file mode 100644 index 0000000..0296b8e --- /dev/null +++ b/share/doc/gfortran/ASIN.html @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ASIN</title> + +<meta name="description" content="The GNU Fortran Compiler: ASIN"> +<meta name="keywords" content="The GNU Fortran Compiler: ASIN"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ASIND.html#ASIND" rel="next" title="ASIND"> +<link href="ANY.html#ANY" rel="previous" title="ANY"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ASIN"></a> +<div class="header"> +<p> +Next: <a href="ASIND.html#ASIND" accesskey="n" rel="next">ASIND</a>, Previous: <a href="ANY.html#ANY" accesskey="p" rel="previous">ANY</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ASIN-_002d_002d_002d-Arcsine-function"></a> +<h3 class="section">8.19 <code>ASIN</code> — Arcsine function</h3> +<a name="index-ASIN"></a> +<a name="index-DASIN"></a> +<a name="index-trigonometric-function_002c-sine_002c-inverse"></a> +<a name="index-sine_002c-inverse"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ASIN(X)</code> computes the arcsine of its <var>X</var> (inverse of <code>SIN(X)</code>). +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later, for a complex argument Fortran 2008 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ASIN(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be either <code>REAL</code> and a magnitude that is +less than or equal to one - or be <code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of the same type and kind as <var>X</var>. +The real part of the result is in radians and lies in the range +<em>-\pi/2 \leq \Re \asin(x) \leq \pi/2</em>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_asin + real(8) :: x = 0.866_8 + x = asin(x) +end program test_asin +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>ASIN(X)</code></td><td width="23%"><code>REAL(4) X</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>DASIN(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">Fortran 77 and later</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Inverse function: <br> +<a href="SIN.html#SIN">SIN</a> <br> +Degrees function: <br> +<a href="ASIND.html#ASIND">ASIND</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ASIND.html b/share/doc/gfortran/ASIND.html new file mode 100644 index 0000000..5a9787a --- /dev/null +++ b/share/doc/gfortran/ASIND.html @@ -0,0 +1,149 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ASIND</title> + +<meta name="description" content="The GNU Fortran Compiler: ASIND"> +<meta name="keywords" content="The GNU Fortran Compiler: ASIND"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ASINH.html#ASINH" rel="next" title="ASINH"> +<link href="ASIN.html#ASIN" rel="previous" title="ASIN"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ASIND"></a> +<div class="header"> +<p> +Next: <a href="ASINH.html#ASINH" accesskey="n" rel="next">ASINH</a>, Previous: <a href="ASIN.html#ASIN" accesskey="p" rel="previous">ASIN</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ASIND-_002d_002d_002d-Arcsine-function_002c-degrees"></a> +<h3 class="section">8.20 <code>ASIND</code> — Arcsine function, degrees</h3> +<a name="index-ASIND"></a> +<a name="index-DASIND"></a> +<a name="index-trigonometric-function_002c-sine_002c-inverse_002c-degrees"></a> +<a name="index-sine_002c-inverse_002c-degrees"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ASIND(X)</code> computes the arcsine of its <var>X</var> in degrees (inverse of +<code>SIND(X)</code>). +</p> +<p>This function is for compatibility only and should be avoided in favor of +standard constructs wherever possible. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension, enabled with <samp>-fdec-math</samp>. +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ASIND(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be either <code>REAL</code> and a magnitude that is +less than or equal to one - or be <code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of the same type and kind as <var>X</var>. +The real part of the result is in degrees and lies in the range +<em>-90 \leq \Re \asin(x) \leq 90</em>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_asind + real(8) :: x = 0.866_8 + x = asind(x) +end program test_asind +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>ASIND(X)</code></td><td width="23%"><code>REAL(4) X</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>DASIND(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Inverse function: <br> +<a href="SIND.html#SIND">SIND</a> <br> +Radians function: <br> +<a href="ASIN.html#ASIN">ASIN</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ASINH.html b/share/doc/gfortran/ASINH.html new file mode 100644 index 0000000..fcc784c --- /dev/null +++ b/share/doc/gfortran/ASINH.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ASINH</title> + +<meta name="description" content="The GNU Fortran Compiler: ASINH"> +<meta name="keywords" content="The GNU Fortran Compiler: ASINH"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ASSOCIATED.html#ASSOCIATED" rel="next" title="ASSOCIATED"> +<link href="ASIND.html#ASIND" rel="previous" title="ASIND"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ASINH"></a> +<div class="header"> +<p> +Next: <a href="ASSOCIATED.html#ASSOCIATED" accesskey="n" rel="next">ASSOCIATED</a>, Previous: <a href="ASIND.html#ASIND" accesskey="p" rel="previous">ASIND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ASINH-_002d_002d_002d-Inverse-hyperbolic-sine-function"></a> +<h3 class="section">8.21 <code>ASINH</code> — Inverse hyperbolic sine function</h3> +<a name="index-ASINH"></a> +<a name="index-DASINH"></a> +<a name="index-area-hyperbolic-sine"></a> +<a name="index-inverse-hyperbolic-sine"></a> +<a name="index-hyperbolic-function_002c-sine_002c-inverse"></a> +<a name="index-sine_002c-hyperbolic_002c-inverse"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ASINH(X)</code> computes the inverse hyperbolic sine of <var>X</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ASINH(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code> or <code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of the same type and kind as <var>X</var>. If <var>X</var> is +complex, the imaginary part of the result is in radians and lies between +<em>-\pi/2 \leq \Im \asinh(x) \leq \pi/2</em>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_asinh + REAL(8), DIMENSION(3) :: x = (/ -1.0, 0.0, 1.0 /) + WRITE (*,*) ASINH(x) +END PROGRAM +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>DASINH(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension.</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Inverse function: <br> +<a href="SINH.html#SINH">SINH</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ASSOCIATED.html b/share/doc/gfortran/ASSOCIATED.html new file mode 100644 index 0000000..354025f --- /dev/null +++ b/share/doc/gfortran/ASSOCIATED.html @@ -0,0 +1,176 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ASSOCIATED</title> + +<meta name="description" content="The GNU Fortran Compiler: ASSOCIATED"> +<meta name="keywords" content="The GNU Fortran Compiler: ASSOCIATED"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ATAN.html#ATAN" rel="next" title="ATAN"> +<link href="ASINH.html#ASINH" rel="previous" title="ASINH"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ASSOCIATED"></a> +<div class="header"> +<p> +Next: <a href="ATAN.html#ATAN" accesskey="n" rel="next">ATAN</a>, Previous: <a href="ASINH.html#ASINH" accesskey="p" rel="previous">ASINH</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ASSOCIATED-_002d_002d_002d-Status-of-a-pointer-or-pointer_002ftarget-pair"></a> +<h3 class="section">8.22 <code>ASSOCIATED</code> — Status of a pointer or pointer/target pair</h3> +<a name="index-ASSOCIATED"></a> +<a name="index-pointer_002c-status"></a> +<a name="index-association-status"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ASSOCIATED(POINTER [, TARGET])</code> determines the status of the pointer +<var>POINTER</var> or if <var>POINTER</var> is associated with the target <var>TARGET</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ASSOCIATED(POINTER [, TARGET])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>POINTER</var></td><td width="70%"><var>POINTER</var> shall have the <code>POINTER</code> attribute +and it can be of any type.</td></tr> +<tr><td width="15%"><var>TARGET</var></td><td width="70%">(Optional) <var>TARGET</var> shall be a pointer or +a target. It must have the same type, kind type parameter, and +array rank as <var>POINTER</var>.</td></tr> +</table> +<p>The association status of neither <var>POINTER</var> nor <var>TARGET</var> shall be +undefined. +</p> +</dd> +<dt><em>Return value</em>:</dt> +<dd><p><code>ASSOCIATED(POINTER)</code> returns a scalar value of type <code>LOGICAL(4)</code>. +There are several cases: +</p><dl compact="compact"> +<dt>(A) When the optional <var>TARGET</var> is not present then</dt> +<dd><p><code>ASSOCIATED(POINTER)</code> is true if <var>POINTER</var> is associated with a target; otherwise, it returns false. +</p></dd> +<dt>(B) If <var>TARGET</var> is present and a scalar target, the result is true if</dt> +<dd><p><var>TARGET</var> is not a zero-sized storage sequence and the target associated with <var>POINTER</var> occupies the same storage units. If <var>POINTER</var> is +disassociated, the result is false. +</p></dd> +<dt>(C) If <var>TARGET</var> is present and an array target, the result is true if</dt> +<dd><p><var>TARGET</var> and <var>POINTER</var> have the same shape, are not zero-sized arrays, +are arrays whose elements are not zero-sized storage sequences, and +<var>TARGET</var> and <var>POINTER</var> occupy the same storage units in array element +order. +As in case(B), the result is false, if <var>POINTER</var> is disassociated. +</p></dd> +<dt>(D) If <var>TARGET</var> is present and an scalar pointer, the result is true</dt> +<dd><p>if <var>TARGET</var> is associated with <var>POINTER</var>, the target associated with +<var>TARGET</var> are not zero-sized storage sequences and occupy the same storage +units. +The result is false, if either <var>TARGET</var> or <var>POINTER</var> is disassociated. +</p></dd> +<dt>(E) If <var>TARGET</var> is present and an array pointer, the result is true if</dt> +<dd><p>target associated with <var>POINTER</var> and the target associated with <var>TARGET</var> +have the same shape, are not zero-sized arrays, are arrays whose elements are +not zero-sized storage sequences, and <var>TARGET</var> and <var>POINTER</var> occupy +the same storage units in array element order. +The result is false, if either <var>TARGET</var> or <var>POINTER</var> is disassociated. +</p></dd> +</dl> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_associated + implicit none + real, target :: tgt(2) = (/1., 2./) + real, pointer :: ptr(:) + ptr => tgt + if (associated(ptr) .eqv. .false.) call abort + if (associated(ptr,tgt) .eqv. .false.) call abort +end program test_associated +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="NULL.html#NULL">NULL</a> +</p></dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="ATAN.html#ATAN" accesskey="n" rel="next">ATAN</a>, Previous: <a href="ASINH.html#ASINH" accesskey="p" rel="previous">ASINH</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/ATAN.html b/share/doc/gfortran/ATAN.html new file mode 100644 index 0000000..d0cd5f5 --- /dev/null +++ b/share/doc/gfortran/ATAN.html @@ -0,0 +1,152 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ATAN</title> + +<meta name="description" content="The GNU Fortran Compiler: ATAN"> +<meta name="keywords" content="The GNU Fortran Compiler: ATAN"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ATAND.html#ATAND" rel="next" title="ATAND"> +<link href="ASSOCIATED.html#ASSOCIATED" rel="previous" title="ASSOCIATED"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ATAN"></a> +<div class="header"> +<p> +Next: <a href="ATAND.html#ATAND" accesskey="n" rel="next">ATAND</a>, Previous: <a href="ASSOCIATED.html#ASSOCIATED" accesskey="p" rel="previous">ASSOCIATED</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ATAN-_002d_002d_002d-Arctangent-function"></a> +<h3 class="section">8.23 <code>ATAN</code> — Arctangent function</h3> +<a name="index-ATAN"></a> +<a name="index-DATAN"></a> +<a name="index-trigonometric-function_002c-tangent_002c-inverse"></a> +<a name="index-tangent_002c-inverse"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ATAN(X)</code> computes the arctangent of <var>X</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later, for a complex argument and for two arguments +Fortran 2008 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>RESULT = ATAN(X)</code></td></tr> +<tr><td width="80%"><code>RESULT = ATAN(Y, X)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code> or <code>COMPLEX</code>; +if <var>Y</var> is present, <var>X</var> shall be REAL.</td></tr> +<tr><td width="15%"><var>Y</var></td><td width="70%">The type and kind type parameter shall be the same as <var>X</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of the same type and kind as <var>X</var>. +If <var>Y</var> is present, the result is identical to <code>ATAN2(Y,X)</code>. +Otherwise, it the arcus tangent of <var>X</var>, where the real part of +the result is in radians and lies in the range +<em>-\pi/2 \leq \Re \atan(x) \leq \pi/2</em>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_atan + real(8) :: x = 2.866_8 + x = atan(x) +end program test_atan +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>ATAN(X)</code></td><td width="23%"><code>REAL(4) X</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>DATAN(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">Fortran 77 and later</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Inverse function: <br> +<a href="TAN.html#TAN">TAN</a> <br> +Degrees function: <br> +<a href="ATAND.html#ATAND">ATAND</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ATAN2.html b/share/doc/gfortran/ATAN2.html new file mode 100644 index 0000000..e13f7a5 --- /dev/null +++ b/share/doc/gfortran/ATAN2.html @@ -0,0 +1,160 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ATAN2</title> + +<meta name="description" content="The GNU Fortran Compiler: ATAN2"> +<meta name="keywords" content="The GNU Fortran Compiler: ATAN2"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ATAN2D.html#ATAN2D" rel="next" title="ATAN2D"> +<link href="ATAND.html#ATAND" rel="previous" title="ATAND"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ATAN2"></a> +<div class="header"> +<p> +Next: <a href="ATAN2D.html#ATAN2D" accesskey="n" rel="next">ATAN2D</a>, Previous: <a href="ATAND.html#ATAND" accesskey="p" rel="previous">ATAND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ATAN2-_002d_002d_002d-Arctangent-function"></a> +<h3 class="section">8.25 <code>ATAN2</code> — Arctangent function</h3> +<a name="index-ATAN2"></a> +<a name="index-DATAN2"></a> +<a name="index-trigonometric-function_002c-tangent_002c-inverse-1"></a> +<a name="index-tangent_002c-inverse-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ATAN2(Y, X)</code> computes the principal value of the argument +function of the complex number <em>X + i Y</em>. This function can +be used to transform from Cartesian into polar coordinates and +allows to determine the angle in the correct quadrant. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ATAN2(Y, X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>Y</var></td><td width="70%">The type shall be <code>REAL</code>.</td></tr> +<tr><td width="15%"><var>X</var></td><td width="70%">The type and kind type parameter shall be the same as <var>Y</var>. +If <var>Y</var> is zero, then <var>X</var> must be nonzero.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value has the same type and kind type parameter as <var>Y</var>. It +is the principal value of the complex number <em>X + i Y</em>. If <var>X</var> +is nonzero, then it lies in the range <em>-\pi \le \atan (x) \leq \pi</em>. +The sign is positive if <var>Y</var> is positive. If <var>Y</var> is zero, then +the return value is zero if <var>X</var> is strictly positive, <em>\pi</em> if +<var>X</var> is negative and <var>Y</var> is positive zero (or the processor does +not handle signed zeros), and <em>-\pi</em> if <var>X</var> is negative and +<var>Y</var> is negative zero. Finally, if <var>X</var> is zero, then the +magnitude of the result is <em>\pi/2</em>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_atan2 + real(4) :: x = 1.e0_4, y = 0.5e0_4 + x = atan2(y,x) +end program test_atan2 +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="22%">Name</th><th width="22%">Argument</th><th width="20%">Return type</th><th width="32%">Standard</th></tr></thead> +<tr><td width="22%"><code>ATAN2(X, Y)</code></td><td width="22%"><code>REAL(4) X, Y</code></td><td width="20%"><code>REAL(4)</code></td><td width="32%">Fortran 77 and later</td></tr> +<tr><td width="22%"><code>DATAN2(X, Y)</code></td><td width="22%"><code>REAL(8) X, Y</code></td><td width="20%"><code>REAL(8)</code></td><td width="32%">Fortran 77 and later</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Alias: <br> +<a href="ATAN.html#ATAN">ATAN</a> <br> +Degrees function: <br> +<a href="ATAN2D.html#ATAN2D">ATAN2D</a> +</p></dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="ATAN2D.html#ATAN2D" accesskey="n" rel="next">ATAN2D</a>, Previous: <a href="ATAND.html#ATAND" accesskey="p" rel="previous">ATAND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/ATAN2D.html b/share/doc/gfortran/ATAN2D.html new file mode 100644 index 0000000..52f8bda --- /dev/null +++ b/share/doc/gfortran/ATAN2D.html @@ -0,0 +1,163 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ATAN2D</title> + +<meta name="description" content="The GNU Fortran Compiler: ATAN2D"> +<meta name="keywords" content="The GNU Fortran Compiler: ATAN2D"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ATANH.html#ATANH" rel="next" title="ATANH"> +<link href="ATAN2.html#ATAN2" rel="previous" title="ATAN2"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ATAN2D"></a> +<div class="header"> +<p> +Next: <a href="ATANH.html#ATANH" accesskey="n" rel="next">ATANH</a>, Previous: <a href="ATAN2.html#ATAN2" accesskey="p" rel="previous">ATAN2</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ATAN2D-_002d_002d_002d-Arctangent-function_002c-degrees"></a> +<h3 class="section">8.26 <code>ATAN2D</code> — Arctangent function, degrees</h3> +<a name="index-ATAN2D"></a> +<a name="index-DATAN2D"></a> +<a name="index-trigonometric-function_002c-tangent_002c-inverse_002c-degrees-1"></a> +<a name="index-tangent_002c-inverse_002c-degrees-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ATAN2D(Y, X)</code> computes the principal value of the argument +function of the complex number <em>X + i Y</em> in degrees. This function can +be used to transform from Cartesian into polar coordinates and +allows to determine the angle in the correct quadrant. +</p> +<p>This function is for compatibility only and should be avoided in favor of +standard constructs wherever possible. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension, enabled with <samp>-fdec-math</samp>. +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ATAN2D(Y, X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>Y</var></td><td width="70%">The type shall be <code>REAL</code>.</td></tr> +<tr><td width="15%"><var>X</var></td><td width="70%">The type and kind type parameter shall be the same as <var>Y</var>. +If <var>Y</var> is zero, then <var>X</var> must be nonzero.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value has the same type and kind type parameter as <var>Y</var>. It +is the principal value of the complex number <em>X + i Y</em>. If <var>X</var> +is nonzero, then it lies in the range <em>-180 \le \atan (x) \leq 180</em>. +The sign is positive if <var>Y</var> is positive. If <var>Y</var> is zero, then +the return value is zero if <var>X</var> is strictly positive, <em>180</em> if +<var>X</var> is negative and <var>Y</var> is positive zero (or the processor does +not handle signed zeros), and <em>-180</em> if <var>X</var> is negative and +<var>Y</var> is negative zero. Finally, if <var>X</var> is zero, then the +magnitude of the result is <em>90</em>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_atan2d + real(4) :: x = 1.e0_4, y = 0.5e0_4 + x = atan2d(y,x) +end program test_atan2d +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="23%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="30%">Standard</th></tr></thead> +<tr><td width="23%"><code>ATAN2D(X, Y)</code></td><td width="23%"><code>REAL(4) X, Y</code></td><td width="20%"><code>REAL(4)</code></td><td width="30%">GNU extension</td></tr> +<tr><td width="23%"><code>DATAN2D(X, Y)</code></td><td width="23%"><code>REAL(8) X, Y</code></td><td width="20%"><code>REAL(8)</code></td><td width="30%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Alias: <br> +<a href="ATAND.html#ATAND">ATAND</a> <br> +Radians function: <br> +<a href="ATAN2.html#ATAN2">ATAN2</a> +</p></dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="ATANH.html#ATANH" accesskey="n" rel="next">ATANH</a>, Previous: <a href="ATAN2.html#ATAN2" accesskey="p" rel="previous">ATAN2</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/ATAND.html b/share/doc/gfortran/ATAND.html new file mode 100644 index 0000000..4634620 --- /dev/null +++ b/share/doc/gfortran/ATAND.html @@ -0,0 +1,155 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ATAND</title> + +<meta name="description" content="The GNU Fortran Compiler: ATAND"> +<meta name="keywords" content="The GNU Fortran Compiler: ATAND"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ATAN2.html#ATAN2" rel="next" title="ATAN2"> +<link href="ATAN.html#ATAN" rel="previous" title="ATAN"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ATAND"></a> +<div class="header"> +<p> +Next: <a href="ATAN2.html#ATAN2" accesskey="n" rel="next">ATAN2</a>, Previous: <a href="ATAN.html#ATAN" accesskey="p" rel="previous">ATAN</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ATAND-_002d_002d_002d-Arctangent-function_002c-degrees"></a> +<h3 class="section">8.24 <code>ATAND</code> — Arctangent function, degrees</h3> +<a name="index-ATAND"></a> +<a name="index-DATAND"></a> +<a name="index-trigonometric-function_002c-tangent_002c-inverse_002c-degrees"></a> +<a name="index-tangent_002c-inverse_002c-degrees"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ATAND(X)</code> computes the arctangent of <var>X</var> in degrees (inverse of +<a href="TAND.html#TAND">TAND</a>). +</p> +<p>This function is for compatibility only and should be avoided in favor of +standard constructs wherever possible. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension, enabled with <samp>-fdec-math</samp>. +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>RESULT = ATAND(X)</code></td></tr> +<tr><td width="80%"><code>RESULT = ATAND(Y, X)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code> or <code>COMPLEX</code>; +if <var>Y</var> is present, <var>X</var> shall be REAL.</td></tr> +<tr><td width="15%"><var>Y</var></td><td width="70%">The type and kind type parameter shall be the same as <var>X</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of the same type and kind as <var>X</var>. +If <var>Y</var> is present, the result is identical to <code>ATAND2(Y,X)</code>. +Otherwise, it is the arcus tangent of <var>X</var>, where the real part of +the result is in degrees and lies in the range +<em>-90 \leq \Re \atand(x) \leq 90</em>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_atand + real(8) :: x = 2.866_8 + x = atand(x) +end program test_atand +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="23%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="30%">Standard</th></tr></thead> +<tr><td width="23%"><code>ATAND(X)</code></td><td width="23%"><code>REAL(4) X</code></td><td width="20%"><code>REAL(4)</code></td><td width="30%">GNU extension</td></tr> +<tr><td width="23%"><code>DATAND(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="30%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Inverse function: <br> +<a href="TAND.html#TAND">TAND</a> <br> +Radians function: <br> +<a href="ATAN.html#ATAN">ATAN</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ATANH.html b/share/doc/gfortran/ATANH.html new file mode 100644 index 0000000..d02a390 --- /dev/null +++ b/share/doc/gfortran/ATANH.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ATANH</title> + +<meta name="description" content="The GNU Fortran Compiler: ATANH"> +<meta name="keywords" content="The GNU Fortran Compiler: ATANH"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ATOMIC_005fADD.html#ATOMIC_005fADD" rel="next" title="ATOMIC_ADD"> +<link href="ATAN2D.html#ATAN2D" rel="previous" title="ATAN2D"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ATANH"></a> +<div class="header"> +<p> +Next: <a href="ATOMIC_005fADD.html#ATOMIC_005fADD" accesskey="n" rel="next">ATOMIC_ADD</a>, Previous: <a href="ATAN2D.html#ATAN2D" accesskey="p" rel="previous">ATAN2D</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ATANH-_002d_002d_002d-Inverse-hyperbolic-tangent-function"></a> +<h3 class="section">8.27 <code>ATANH</code> — Inverse hyperbolic tangent function</h3> +<a name="index-ATANH"></a> +<a name="index-DATANH"></a> +<a name="index-area-hyperbolic-tangent"></a> +<a name="index-inverse-hyperbolic-tangent"></a> +<a name="index-hyperbolic-function_002c-tangent_002c-inverse"></a> +<a name="index-tangent_002c-hyperbolic_002c-inverse"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ATANH(X)</code> computes the inverse hyperbolic tangent of <var>X</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ATANH(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code> or <code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value has same type and kind as <var>X</var>. If <var>X</var> is +complex, the imaginary part of the result is in radians and lies between +<em>-\pi/2 \leq \Im \atanh(x) \leq \pi/2</em>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_atanh + REAL, DIMENSION(3) :: x = (/ -1.0, 0.0, 1.0 /) + WRITE (*,*) ATANH(x) +END PROGRAM +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>DATANH(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Inverse function: <br> +<a href="TANH.html#TANH">TANH</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ATOMIC_005fADD.html b/share/doc/gfortran/ATOMIC_005fADD.html new file mode 100644 index 0000000..1ee6fc2 --- /dev/null +++ b/share/doc/gfortran/ATOMIC_005fADD.html @@ -0,0 +1,142 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ATOMIC_ADD</title> + +<meta name="description" content="The GNU Fortran Compiler: ATOMIC_ADD"> +<meta name="keywords" content="The GNU Fortran Compiler: ATOMIC_ADD"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ATOMIC_005fAND.html#ATOMIC_005fAND" rel="next" title="ATOMIC_AND"> +<link href="ATANH.html#ATANH" rel="previous" title="ATANH"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ATOMIC_005fADD"></a> +<div class="header"> +<p> +Next: <a href="ATOMIC_005fAND.html#ATOMIC_005fAND" accesskey="n" rel="next">ATOMIC_AND</a>, Previous: <a href="ATANH.html#ATANH" accesskey="p" rel="previous">ATANH</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ATOMIC_005fADD-_002d_002d_002d-Atomic-ADD-operation"></a> +<h3 class="section">8.28 <code>ATOMIC_ADD</code> — Atomic ADD operation</h3> +<a name="index-ATOMIC_005fADD"></a> +<a name="index-Atomic-subroutine_002c-add"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ATOMIC_ADD(ATOM, VALUE)</code> atomically adds the value of <var>VALUE</var> to the +variable <var>ATOM</var>. When <var>STAT</var> is present and the invocation was +successful, it is assigned the value 0. If it is present and the invocation +has failed, it is assigned a positive value; in particular, for a coindexed +<var>ATOM</var>, if the remote image has stopped, it is assigned the value of +<code>ISO_FORTRAN_ENV</code>’s <code>STAT_STOPPED_IMAGE</code> and if the remote image has +failed, the value <code>STAT_FAILED_IMAGE</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>TS 18508 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Atomic subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL ATOMIC_ADD (ATOM, VALUE [, STAT])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ATOM</var></td><td width="70%">Scalar coarray or coindexed variable of integer +type with <code>ATOMIC_INT_KIND</code> kind.</td></tr> +<tr><td width="15%"><var>VALUE</var></td><td width="70%">Scalar of the same type as <var>ATOM</var>. If the kind +is different, the value is converted to the kind of <var>ATOM</var>.</td></tr> +<tr><td width="15%"><var>STAT</var></td><td width="70%">(optional) Scalar default-kind integer variable.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program atomic + use iso_fortran_env + integer(atomic_int_kind) :: atom[*] + call atomic_add (atom[1], this_image()) +end program atomic +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ATOMIC_005fDEFINE.html#ATOMIC_005fDEFINE">ATOMIC_DEFINE</a>, <br> +<a href="ATOMIC_005fFETCH_005fADD.html#ATOMIC_005fFETCH_005fADD">ATOMIC_FETCH_ADD</a>, <br> +<a href="ISO_005fFORTRAN_005fENV.html#ISO_005fFORTRAN_005fENV">ISO_FORTRAN_ENV</a>, <br> +<a href="ATOMIC_005fAND.html#ATOMIC_005fAND">ATOMIC_AND</a>, <br> +<a href="ATOMIC_005fOR.html#ATOMIC_005fOR">ATOMIC_OR</a>, <br> +<a href="ATOMIC_005fXOR.html#ATOMIC_005fXOR">ATOMIC_XOR</a> +</p></dd> +</dl> + + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ATOMIC_005fAND.html b/share/doc/gfortran/ATOMIC_005fAND.html new file mode 100644 index 0000000..98a5aa2 --- /dev/null +++ b/share/doc/gfortran/ATOMIC_005fAND.html @@ -0,0 +1,141 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ATOMIC_AND</title> + +<meta name="description" content="The GNU Fortran Compiler: ATOMIC_AND"> +<meta name="keywords" content="The GNU Fortran Compiler: ATOMIC_AND"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ATOMIC_005fCAS.html#ATOMIC_005fCAS" rel="next" title="ATOMIC_CAS"> +<link href="ATOMIC_005fADD.html#ATOMIC_005fADD" rel="previous" title="ATOMIC_ADD"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ATOMIC_005fAND"></a> +<div class="header"> +<p> +Next: <a href="ATOMIC_005fCAS.html#ATOMIC_005fCAS" accesskey="n" rel="next">ATOMIC_CAS</a>, Previous: <a href="ATOMIC_005fADD.html#ATOMIC_005fADD" accesskey="p" rel="previous">ATOMIC_ADD</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ATOMIC_005fAND-_002d_002d_002d-Atomic-bitwise-AND-operation"></a> +<h3 class="section">8.29 <code>ATOMIC_AND</code> — Atomic bitwise AND operation</h3> +<a name="index-ATOMIC_005fAND"></a> +<a name="index-Atomic-subroutine_002c-AND"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ATOMIC_AND(ATOM, VALUE)</code> atomically defines <var>ATOM</var> with the bitwise +AND between the values of <var>ATOM</var> and <var>VALUE</var>. When <var>STAT</var> is present +and the invocation was successful, it is assigned the value 0. If it is present +and the invocation has failed, it is assigned a positive value; in particular, +for a coindexed <var>ATOM</var>, if the remote image has stopped, it is assigned the +value of <code>ISO_FORTRAN_ENV</code>’s <code>STAT_STOPPED_IMAGE</code> and if the remote +image has failed, the value <code>STAT_FAILED_IMAGE</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>TS 18508 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Atomic subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL ATOMIC_AND (ATOM, VALUE [, STAT])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ATOM</var></td><td width="70%">Scalar coarray or coindexed variable of integer +type with <code>ATOMIC_INT_KIND</code> kind.</td></tr> +<tr><td width="15%"><var>VALUE</var></td><td width="70%">Scalar of the same type as <var>ATOM</var>. If the kind +is different, the value is converted to the kind of <var>ATOM</var>.</td></tr> +<tr><td width="15%"><var>STAT</var></td><td width="70%">(optional) Scalar default-kind integer variable.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program atomic + use iso_fortran_env + integer(atomic_int_kind) :: atom[*] + call atomic_and (atom[1], int(b'10100011101')) +end program atomic +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ATOMIC_005fDEFINE.html#ATOMIC_005fDEFINE">ATOMIC_DEFINE</a>, <br> +<a href="ATOMIC_005fFETCH_005fAND.html#ATOMIC_005fFETCH_005fAND">ATOMIC_FETCH_AND</a>, <br> +<a href="ISO_005fFORTRAN_005fENV.html#ISO_005fFORTRAN_005fENV">ISO_FORTRAN_ENV</a>, <br> +<a href="ATOMIC_005fADD.html#ATOMIC_005fADD">ATOMIC_ADD</a>, <br> +<a href="ATOMIC_005fOR.html#ATOMIC_005fOR">ATOMIC_OR</a>, <br> +<a href="ATOMIC_005fXOR.html#ATOMIC_005fXOR">ATOMIC_XOR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ATOMIC_005fCAS.html b/share/doc/gfortran/ATOMIC_005fCAS.html new file mode 100644 index 0000000..1630962 --- /dev/null +++ b/share/doc/gfortran/ATOMIC_005fCAS.html @@ -0,0 +1,144 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ATOMIC_CAS</title> + +<meta name="description" content="The GNU Fortran Compiler: ATOMIC_CAS"> +<meta name="keywords" content="The GNU Fortran Compiler: ATOMIC_CAS"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ATOMIC_005fDEFINE.html#ATOMIC_005fDEFINE" rel="next" title="ATOMIC_DEFINE"> +<link href="ATOMIC_005fAND.html#ATOMIC_005fAND" rel="previous" title="ATOMIC_AND"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ATOMIC_005fCAS"></a> +<div class="header"> +<p> +Next: <a href="ATOMIC_005fDEFINE.html#ATOMIC_005fDEFINE" accesskey="n" rel="next">ATOMIC_DEFINE</a>, Previous: <a href="ATOMIC_005fAND.html#ATOMIC_005fAND" accesskey="p" rel="previous">ATOMIC_AND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ATOMIC_005fCAS-_002d_002d_002d-Atomic-compare-and-swap"></a> +<h3 class="section">8.30 <code>ATOMIC_CAS</code> — Atomic compare and swap</h3> +<a name="index-ATOMIC_005fDEFINE"></a> +<a name="index-Atomic-subroutine_002c-compare-and-swap"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ATOMIC_CAS</code> compares the variable <var>ATOM</var> with the value of +<var>COMPARE</var>; if the value is the same, <var>ATOM</var> is set to the value +of <var>NEW</var>. Additionally, <var>OLD</var> is set to the value of <var>ATOM</var> +that was used for the comparison. When <var>STAT</var> is present and the invocation +was successful, it is assigned the value 0. If it is present and the invocation +has failed, it is assigned a positive value; in particular, for a coindexed +<var>ATOM</var>, if the remote image has stopped, it is assigned the value of +<code>ISO_FORTRAN_ENV</code>’s <code>STAT_STOPPED_IMAGE</code> and if the remote image has +failed, the value <code>STAT_FAILED_IMAGE</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>TS 18508 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Atomic subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL ATOMIC_CAS (ATOM, OLD, COMPARE, NEW [, STAT])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ATOM</var></td><td width="70%">Scalar coarray or coindexed variable of either integer +type with <code>ATOMIC_INT_KIND</code> kind or logical type with +<code>ATOMIC_LOGICAL_KIND</code> kind.</td></tr> +<tr><td width="15%"><var>OLD</var></td><td width="70%">Scalar of the same type and kind as <var>ATOM</var>.</td></tr> +<tr><td width="15%"><var>COMPARE</var></td><td width="70%">Scalar variable of the same type and kind as +<var>ATOM</var>.</td></tr> +<tr><td width="15%"><var>NEW</var></td><td width="70%">Scalar variable of the same type as <var>ATOM</var>. If kind +is different, the value is converted to the kind of <var>ATOM</var>.</td></tr> +<tr><td width="15%"><var>STAT</var></td><td width="70%">(optional) Scalar default-kind integer variable.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program atomic + use iso_fortran_env + logical(atomic_logical_kind) :: atom[*], prev + call atomic_cas (atom[1], prev, .false., .true.)) +end program atomic +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ATOMIC_005fDEFINE.html#ATOMIC_005fDEFINE">ATOMIC_DEFINE</a>, <br> +<a href="ATOMIC_005fREF.html#ATOMIC_005fREF">ATOMIC_REF</a>, <br> +<a href="ISO_005fFORTRAN_005fENV.html#ISO_005fFORTRAN_005fENV">ISO_FORTRAN_ENV</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ATOMIC_005fDEFINE.html b/share/doc/gfortran/ATOMIC_005fDEFINE.html new file mode 100644 index 0000000..645675d --- /dev/null +++ b/share/doc/gfortran/ATOMIC_005fDEFINE.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ATOMIC_DEFINE</title> + +<meta name="description" content="The GNU Fortran Compiler: ATOMIC_DEFINE"> +<meta name="keywords" content="The GNU Fortran Compiler: ATOMIC_DEFINE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ATOMIC_005fFETCH_005fADD.html#ATOMIC_005fFETCH_005fADD" rel="next" title="ATOMIC_FETCH_ADD"> +<link href="ATOMIC_005fCAS.html#ATOMIC_005fCAS" rel="previous" title="ATOMIC_CAS"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ATOMIC_005fDEFINE"></a> +<div class="header"> +<p> +Next: <a href="ATOMIC_005fFETCH_005fADD.html#ATOMIC_005fFETCH_005fADD" accesskey="n" rel="next">ATOMIC_FETCH_ADD</a>, Previous: <a href="ATOMIC_005fCAS.html#ATOMIC_005fCAS" accesskey="p" rel="previous">ATOMIC_CAS</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ATOMIC_005fDEFINE-_002d_002d_002d-Setting-a-variable-atomically"></a> +<h3 class="section">8.31 <code>ATOMIC_DEFINE</code> — Setting a variable atomically</h3> +<a name="index-ATOMIC_005fDEFINE-1"></a> +<a name="index-Atomic-subroutine_002c-define"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ATOMIC_DEFINE(ATOM, VALUE)</code> defines the variable <var>ATOM</var> with the value +<var>VALUE</var> atomically. When <var>STAT</var> is present and the invocation was +successful, it is assigned the value 0. If it is present and the invocation +has failed, it is assigned a positive value; in particular, for a coindexed +<var>ATOM</var>, if the remote image has stopped, it is assigned the value of +<code>ISO_FORTRAN_ENV</code>’s <code>STAT_STOPPED_IMAGE</code> and if the remote image has +failed, the value <code>STAT_FAILED_IMAGE</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later; with <var>STAT</var>, TS 18508 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Atomic subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL ATOMIC_DEFINE (ATOM, VALUE [, STAT])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ATOM</var></td><td width="70%">Scalar coarray or coindexed variable of either integer +type with <code>ATOMIC_INT_KIND</code> kind or logical type with +<code>ATOMIC_LOGICAL_KIND</code> kind.</td></tr> +<tr><td width="15%"><var>VALUE</var></td><td width="70%">Scalar of the same type as <var>ATOM</var>. If the kind +is different, the value is converted to the kind of <var>ATOM</var>.</td></tr> +<tr><td width="15%"><var>STAT</var></td><td width="70%">(optional) Scalar default-kind integer variable.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program atomic + use iso_fortran_env + integer(atomic_int_kind) :: atom[*] + call atomic_define (atom[1], this_image()) +end program atomic +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ATOMIC_005fREF.html#ATOMIC_005fREF">ATOMIC_REF</a>, <br> +<a href="ATOMIC_005fCAS.html#ATOMIC_005fCAS">ATOMIC_CAS</a>, <br> +<a href="ISO_005fFORTRAN_005fENV.html#ISO_005fFORTRAN_005fENV">ISO_FORTRAN_ENV</a>, <br> +<a href="ATOMIC_005fADD.html#ATOMIC_005fADD">ATOMIC_ADD</a>, <br> +<a href="ATOMIC_005fAND.html#ATOMIC_005fAND">ATOMIC_AND</a>, <br> +<a href="ATOMIC_005fOR.html#ATOMIC_005fOR">ATOMIC_OR</a>, <br> +<a href="ATOMIC_005fXOR.html#ATOMIC_005fXOR">ATOMIC_XOR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ATOMIC_005fFETCH_005fADD.html b/share/doc/gfortran/ATOMIC_005fFETCH_005fADD.html new file mode 100644 index 0000000..dbb83f6 --- /dev/null +++ b/share/doc/gfortran/ATOMIC_005fFETCH_005fADD.html @@ -0,0 +1,144 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ATOMIC_FETCH_ADD</title> + +<meta name="description" content="The GNU Fortran Compiler: ATOMIC_FETCH_ADD"> +<meta name="keywords" content="The GNU Fortran Compiler: ATOMIC_FETCH_ADD"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ATOMIC_005fFETCH_005fAND.html#ATOMIC_005fFETCH_005fAND" rel="next" title="ATOMIC_FETCH_AND"> +<link href="ATOMIC_005fDEFINE.html#ATOMIC_005fDEFINE" rel="previous" title="ATOMIC_DEFINE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ATOMIC_005fFETCH_005fADD"></a> +<div class="header"> +<p> +Next: <a href="ATOMIC_005fFETCH_005fAND.html#ATOMIC_005fFETCH_005fAND" accesskey="n" rel="next">ATOMIC_FETCH_AND</a>, Previous: <a href="ATOMIC_005fDEFINE.html#ATOMIC_005fDEFINE" accesskey="p" rel="previous">ATOMIC_DEFINE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ATOMIC_005fFETCH_005fADD-_002d_002d_002d-Atomic-ADD-operation-with-prior-fetch"></a> +<h3 class="section">8.32 <code>ATOMIC_FETCH_ADD</code> — Atomic ADD operation with prior fetch</h3> +<a name="index-ATOMIC_005fFETCH_005fADD"></a> +<a name="index-Atomic-subroutine_002c-ADD-with-fetch"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ATOMIC_FETCH_ADD(ATOM, VALUE, OLD)</code> atomically stores the value of +<var>ATOM</var> in <var>OLD</var> and adds the value of <var>VALUE</var> to the +variable <var>ATOM</var>. When <var>STAT</var> is present and the invocation was +successful, it is assigned the value 0. If it is present and the invocation +has failed, it is assigned a positive value; in particular, for a coindexed +<var>ATOM</var>, if the remote image has stopped, it is assigned the value of +<code>ISO_FORTRAN_ENV</code>’s <code>STAT_STOPPED_IMAGE</code> and if the remote image has +failed, the value <code>STAT_FAILED_IMAGE</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>TS 18508 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Atomic subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL ATOMIC_FETCH_ADD (ATOM, VALUE, old [, STAT])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ATOM</var></td><td width="70%">Scalar coarray or coindexed variable of integer +type with <code>ATOMIC_INT_KIND</code> kind. +<code>ATOMIC_LOGICAL_KIND</code> kind.</td></tr> +<tr><td width="15%"><var>VALUE</var></td><td width="70%">Scalar of the same type as <var>ATOM</var>. If the kind +is different, the value is converted to the kind of <var>ATOM</var>.</td></tr> +<tr><td width="15%"><var>OLD</var></td><td width="70%">Scalar of the same type and kind as <var>ATOM</var>.</td></tr> +<tr><td width="15%"><var>STAT</var></td><td width="70%">(optional) Scalar default-kind integer variable.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program atomic + use iso_fortran_env + integer(atomic_int_kind) :: atom[*], old + call atomic_add (atom[1], this_image(), old) +end program atomic +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ATOMIC_005fDEFINE.html#ATOMIC_005fDEFINE">ATOMIC_DEFINE</a>, <br> +<a href="ATOMIC_005fADD.html#ATOMIC_005fADD">ATOMIC_ADD</a>, <br> +<a href="ISO_005fFORTRAN_005fENV.html#ISO_005fFORTRAN_005fENV">ISO_FORTRAN_ENV</a>, <br> +<a href="ATOMIC_005fFETCH_005fAND.html#ATOMIC_005fFETCH_005fAND">ATOMIC_FETCH_AND</a>, <br> +<a href="ATOMIC_005fFETCH_005fOR.html#ATOMIC_005fFETCH_005fOR">ATOMIC_FETCH_OR</a>, <br> +<a href="ATOMIC_005fFETCH_005fXOR.html#ATOMIC_005fFETCH_005fXOR">ATOMIC_FETCH_XOR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ATOMIC_005fFETCH_005fAND.html b/share/doc/gfortran/ATOMIC_005fFETCH_005fAND.html new file mode 100644 index 0000000..4517c0c --- /dev/null +++ b/share/doc/gfortran/ATOMIC_005fFETCH_005fAND.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ATOMIC_FETCH_AND</title> + +<meta name="description" content="The GNU Fortran Compiler: ATOMIC_FETCH_AND"> +<meta name="keywords" content="The GNU Fortran Compiler: ATOMIC_FETCH_AND"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ATOMIC_005fFETCH_005fOR.html#ATOMIC_005fFETCH_005fOR" rel="next" title="ATOMIC_FETCH_OR"> +<link href="ATOMIC_005fFETCH_005fADD.html#ATOMIC_005fFETCH_005fADD" rel="previous" title="ATOMIC_FETCH_ADD"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ATOMIC_005fFETCH_005fAND"></a> +<div class="header"> +<p> +Next: <a href="ATOMIC_005fFETCH_005fOR.html#ATOMIC_005fFETCH_005fOR" accesskey="n" rel="next">ATOMIC_FETCH_OR</a>, Previous: <a href="ATOMIC_005fFETCH_005fADD.html#ATOMIC_005fFETCH_005fADD" accesskey="p" rel="previous">ATOMIC_FETCH_ADD</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ATOMIC_005fFETCH_005fAND-_002d_002d_002d-Atomic-bitwise-AND-operation-with-prior-fetch"></a> +<h3 class="section">8.33 <code>ATOMIC_FETCH_AND</code> — Atomic bitwise AND operation with prior fetch</h3> +<a name="index-ATOMIC_005fFETCH_005fAND"></a> +<a name="index-Atomic-subroutine_002c-AND-with-fetch"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ATOMIC_AND(ATOM, VALUE)</code> atomically stores the value of <var>ATOM</var> in +<var>OLD</var> and defines <var>ATOM</var> with the bitwise AND between the values of +<var>ATOM</var> and <var>VALUE</var>. When <var>STAT</var> is present and the invocation was +successful, it is assigned the value 0. If it is present and the invocation has +failed, it is assigned a positive value; in particular, for a coindexed +<var>ATOM</var>, if the remote image has stopped, it is assigned the value of +<code>ISO_FORTRAN_ENV</code>’s <code>STAT_STOPPED_IMAGE</code> and if the remote image has +failed, the value <code>STAT_FAILED_IMAGE</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>TS 18508 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Atomic subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL ATOMIC_FETCH_AND (ATOM, VALUE, OLD [, STAT])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ATOM</var></td><td width="70%">Scalar coarray or coindexed variable of integer +type with <code>ATOMIC_INT_KIND</code> kind.</td></tr> +<tr><td width="15%"><var>VALUE</var></td><td width="70%">Scalar of the same type as <var>ATOM</var>. If the kind +is different, the value is converted to the kind of <var>ATOM</var>.</td></tr> +<tr><td width="15%"><var>OLD</var></td><td width="70%">Scalar of the same type and kind as <var>ATOM</var>.</td></tr> +<tr><td width="15%"><var>STAT</var></td><td width="70%">(optional) Scalar default-kind integer variable.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program atomic + use iso_fortran_env + integer(atomic_int_kind) :: atom[*], old + call atomic_fetch_and (atom[1], int(b'10100011101'), old) +end program atomic +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ATOMIC_005fDEFINE.html#ATOMIC_005fDEFINE">ATOMIC_DEFINE</a>, <br> +<a href="ATOMIC_005fAND.html#ATOMIC_005fAND">ATOMIC_AND</a>, <br> +<a href="ISO_005fFORTRAN_005fENV.html#ISO_005fFORTRAN_005fENV">ISO_FORTRAN_ENV</a>, <br> +<a href="ATOMIC_005fFETCH_005fADD.html#ATOMIC_005fFETCH_005fADD">ATOMIC_FETCH_ADD</a>, <br> +<a href="ATOMIC_005fFETCH_005fOR.html#ATOMIC_005fFETCH_005fOR">ATOMIC_FETCH_OR</a>, <br> +<a href="ATOMIC_005fFETCH_005fXOR.html#ATOMIC_005fFETCH_005fXOR">ATOMIC_FETCH_XOR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ATOMIC_005fFETCH_005fOR.html b/share/doc/gfortran/ATOMIC_005fFETCH_005fOR.html new file mode 100644 index 0000000..ac2649c --- /dev/null +++ b/share/doc/gfortran/ATOMIC_005fFETCH_005fOR.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ATOMIC_FETCH_OR</title> + +<meta name="description" content="The GNU Fortran Compiler: ATOMIC_FETCH_OR"> +<meta name="keywords" content="The GNU Fortran Compiler: ATOMIC_FETCH_OR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ATOMIC_005fFETCH_005fXOR.html#ATOMIC_005fFETCH_005fXOR" rel="next" title="ATOMIC_FETCH_XOR"> +<link href="ATOMIC_005fFETCH_005fAND.html#ATOMIC_005fFETCH_005fAND" rel="previous" title="ATOMIC_FETCH_AND"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ATOMIC_005fFETCH_005fOR"></a> +<div class="header"> +<p> +Next: <a href="ATOMIC_005fFETCH_005fXOR.html#ATOMIC_005fFETCH_005fXOR" accesskey="n" rel="next">ATOMIC_FETCH_XOR</a>, Previous: <a href="ATOMIC_005fFETCH_005fAND.html#ATOMIC_005fFETCH_005fAND" accesskey="p" rel="previous">ATOMIC_FETCH_AND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ATOMIC_005fFETCH_005fOR-_002d_002d_002d-Atomic-bitwise-OR-operation-with-prior-fetch"></a> +<h3 class="section">8.34 <code>ATOMIC_FETCH_OR</code> — Atomic bitwise OR operation with prior fetch</h3> +<a name="index-ATOMIC_005fFETCH_005fOR"></a> +<a name="index-Atomic-subroutine_002c-OR-with-fetch"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ATOMIC_OR(ATOM, VALUE)</code> atomically stores the value of <var>ATOM</var> in +<var>OLD</var> and defines <var>ATOM</var> with the bitwise OR between the values of +<var>ATOM</var> and <var>VALUE</var>. When <var>STAT</var> is present and the invocation was +successful, it is assigned the value 0. If it is present and the invocation has +failed, it is assigned a positive value; in particular, for a coindexed +<var>ATOM</var>, if the remote image has stopped, it is assigned the value of +<code>ISO_FORTRAN_ENV</code>’s <code>STAT_STOPPED_IMAGE</code> and if the remote image has +failed, the value <code>STAT_FAILED_IMAGE</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>TS 18508 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Atomic subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL ATOMIC_FETCH_OR (ATOM, VALUE, OLD [, STAT])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ATOM</var></td><td width="70%">Scalar coarray or coindexed variable of integer +type with <code>ATOMIC_INT_KIND</code> kind.</td></tr> +<tr><td width="15%"><var>VALUE</var></td><td width="70%">Scalar of the same type as <var>ATOM</var>. If the kind +is different, the value is converted to the kind of <var>ATOM</var>.</td></tr> +<tr><td width="15%"><var>OLD</var></td><td width="70%">Scalar of the same type and kind as <var>ATOM</var>.</td></tr> +<tr><td width="15%"><var>STAT</var></td><td width="70%">(optional) Scalar default-kind integer variable.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program atomic + use iso_fortran_env + integer(atomic_int_kind) :: atom[*], old + call atomic_fetch_or (atom[1], int(b'10100011101'), old) +end program atomic +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ATOMIC_005fDEFINE.html#ATOMIC_005fDEFINE">ATOMIC_DEFINE</a>, <br> +<a href="ATOMIC_005fOR.html#ATOMIC_005fOR">ATOMIC_OR</a>, <br> +<a href="ISO_005fFORTRAN_005fENV.html#ISO_005fFORTRAN_005fENV">ISO_FORTRAN_ENV</a>, <br> +<a href="ATOMIC_005fFETCH_005fADD.html#ATOMIC_005fFETCH_005fADD">ATOMIC_FETCH_ADD</a>, <br> +<a href="ATOMIC_005fFETCH_005fAND.html#ATOMIC_005fFETCH_005fAND">ATOMIC_FETCH_AND</a>, <br> +<a href="ATOMIC_005fFETCH_005fXOR.html#ATOMIC_005fFETCH_005fXOR">ATOMIC_FETCH_XOR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ATOMIC_005fFETCH_005fXOR.html b/share/doc/gfortran/ATOMIC_005fFETCH_005fXOR.html new file mode 100644 index 0000000..6c973f7 --- /dev/null +++ b/share/doc/gfortran/ATOMIC_005fFETCH_005fXOR.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ATOMIC_FETCH_XOR</title> + +<meta name="description" content="The GNU Fortran Compiler: ATOMIC_FETCH_XOR"> +<meta name="keywords" content="The GNU Fortran Compiler: ATOMIC_FETCH_XOR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ATOMIC_005fOR.html#ATOMIC_005fOR" rel="next" title="ATOMIC_OR"> +<link href="ATOMIC_005fFETCH_005fOR.html#ATOMIC_005fFETCH_005fOR" rel="previous" title="ATOMIC_FETCH_OR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ATOMIC_005fFETCH_005fXOR"></a> +<div class="header"> +<p> +Next: <a href="ATOMIC_005fOR.html#ATOMIC_005fOR" accesskey="n" rel="next">ATOMIC_OR</a>, Previous: <a href="ATOMIC_005fFETCH_005fOR.html#ATOMIC_005fFETCH_005fOR" accesskey="p" rel="previous">ATOMIC_FETCH_OR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ATOMIC_005fFETCH_005fXOR-_002d_002d_002d-Atomic-bitwise-XOR-operation-with-prior-fetch"></a> +<h3 class="section">8.35 <code>ATOMIC_FETCH_XOR</code> — Atomic bitwise XOR operation with prior fetch</h3> +<a name="index-ATOMIC_005fFETCH_005fXOR"></a> +<a name="index-Atomic-subroutine_002c-XOR-with-fetch"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ATOMIC_XOR(ATOM, VALUE)</code> atomically stores the value of <var>ATOM</var> in +<var>OLD</var> and defines <var>ATOM</var> with the bitwise XOR between the values of +<var>ATOM</var> and <var>VALUE</var>. When <var>STAT</var> is present and the invocation was +successful, it is assigned the value 0. If it is present and the invocation has +failed, it is assigned a positive value; in particular, for a coindexed +<var>ATOM</var>, if the remote image has stopped, it is assigned the value of +<code>ISO_FORTRAN_ENV</code>’s <code>STAT_STOPPED_IMAGE</code> and if the remote image has +failed, the value <code>STAT_FAILED_IMAGE</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>TS 18508 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Atomic subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL ATOMIC_FETCH_XOR (ATOM, VALUE, OLD [, STAT])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ATOM</var></td><td width="70%">Scalar coarray or coindexed variable of integer +type with <code>ATOMIC_INT_KIND</code> kind.</td></tr> +<tr><td width="15%"><var>VALUE</var></td><td width="70%">Scalar of the same type as <var>ATOM</var>. If the kind +is different, the value is converted to the kind of <var>ATOM</var>.</td></tr> +<tr><td width="15%"><var>OLD</var></td><td width="70%">Scalar of the same type and kind as <var>ATOM</var>.</td></tr> +<tr><td width="15%"><var>STAT</var></td><td width="70%">(optional) Scalar default-kind integer variable.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program atomic + use iso_fortran_env + integer(atomic_int_kind) :: atom[*], old + call atomic_fetch_xor (atom[1], int(b'10100011101'), old) +end program atomic +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ATOMIC_005fDEFINE.html#ATOMIC_005fDEFINE">ATOMIC_DEFINE</a>, <br> +<a href="ATOMIC_005fXOR.html#ATOMIC_005fXOR">ATOMIC_XOR</a>, <br> +<a href="ISO_005fFORTRAN_005fENV.html#ISO_005fFORTRAN_005fENV">ISO_FORTRAN_ENV</a>, <br> +<a href="ATOMIC_005fFETCH_005fADD.html#ATOMIC_005fFETCH_005fADD">ATOMIC_FETCH_ADD</a>, <br> +<a href="ATOMIC_005fFETCH_005fAND.html#ATOMIC_005fFETCH_005fAND">ATOMIC_FETCH_AND</a>, <br> +<a href="ATOMIC_005fFETCH_005fOR.html#ATOMIC_005fFETCH_005fOR">ATOMIC_FETCH_OR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ATOMIC_005fOR.html b/share/doc/gfortran/ATOMIC_005fOR.html new file mode 100644 index 0000000..9931475 --- /dev/null +++ b/share/doc/gfortran/ATOMIC_005fOR.html @@ -0,0 +1,141 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ATOMIC_OR</title> + +<meta name="description" content="The GNU Fortran Compiler: ATOMIC_OR"> +<meta name="keywords" content="The GNU Fortran Compiler: ATOMIC_OR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ATOMIC_005fREF.html#ATOMIC_005fREF" rel="next" title="ATOMIC_REF"> +<link href="ATOMIC_005fFETCH_005fXOR.html#ATOMIC_005fFETCH_005fXOR" rel="previous" title="ATOMIC_FETCH_XOR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ATOMIC_005fOR"></a> +<div class="header"> +<p> +Next: <a href="ATOMIC_005fREF.html#ATOMIC_005fREF" accesskey="n" rel="next">ATOMIC_REF</a>, Previous: <a href="ATOMIC_005fFETCH_005fXOR.html#ATOMIC_005fFETCH_005fXOR" accesskey="p" rel="previous">ATOMIC_FETCH_XOR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ATOMIC_005fOR-_002d_002d_002d-Atomic-bitwise-OR-operation"></a> +<h3 class="section">8.36 <code>ATOMIC_OR</code> — Atomic bitwise OR operation</h3> +<a name="index-ATOMIC_005fOR"></a> +<a name="index-Atomic-subroutine_002c-OR"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ATOMIC_OR(ATOM, VALUE)</code> atomically defines <var>ATOM</var> with the bitwise +AND between the values of <var>ATOM</var> and <var>VALUE</var>. When <var>STAT</var> is present +and the invocation was successful, it is assigned the value 0. If it is present +and the invocation has failed, it is assigned a positive value; in particular, +for a coindexed <var>ATOM</var>, if the remote image has stopped, it is assigned the +value of <code>ISO_FORTRAN_ENV</code>’s <code>STAT_STOPPED_IMAGE</code> and if the remote +image has failed, the value <code>STAT_FAILED_IMAGE</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>TS 18508 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Atomic subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL ATOMIC_OR (ATOM, VALUE [, STAT])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ATOM</var></td><td width="70%">Scalar coarray or coindexed variable of integer +type with <code>ATOMIC_INT_KIND</code> kind.</td></tr> +<tr><td width="15%"><var>VALUE</var></td><td width="70%">Scalar of the same type as <var>ATOM</var>. If the kind +is different, the value is converted to the kind of <var>ATOM</var>.</td></tr> +<tr><td width="15%"><var>STAT</var></td><td width="70%">(optional) Scalar default-kind integer variable.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program atomic + use iso_fortran_env + integer(atomic_int_kind) :: atom[*] + call atomic_or (atom[1], int(b'10100011101')) +end program atomic +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ATOMIC_005fDEFINE.html#ATOMIC_005fDEFINE">ATOMIC_DEFINE</a>, <br> +<a href="ATOMIC_005fFETCH_005fOR.html#ATOMIC_005fFETCH_005fOR">ATOMIC_FETCH_OR</a>, <br> +<a href="ISO_005fFORTRAN_005fENV.html#ISO_005fFORTRAN_005fENV">ISO_FORTRAN_ENV</a>, <br> +<a href="ATOMIC_005fADD.html#ATOMIC_005fADD">ATOMIC_ADD</a>, <br> +<a href="#ATOMIC_005fOR">ATOMIC_OR</a>, <br> +<a href="ATOMIC_005fXOR.html#ATOMIC_005fXOR">ATOMIC_XOR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ATOMIC_005fREF.html b/share/doc/gfortran/ATOMIC_005fREF.html new file mode 100644 index 0000000..a07970f --- /dev/null +++ b/share/doc/gfortran/ATOMIC_005fREF.html @@ -0,0 +1,149 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ATOMIC_REF</title> + +<meta name="description" content="The GNU Fortran Compiler: ATOMIC_REF"> +<meta name="keywords" content="The GNU Fortran Compiler: ATOMIC_REF"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ATOMIC_005fXOR.html#ATOMIC_005fXOR" rel="next" title="ATOMIC_XOR"> +<link href="ATOMIC_005fOR.html#ATOMIC_005fOR" rel="previous" title="ATOMIC_OR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ATOMIC_005fREF"></a> +<div class="header"> +<p> +Next: <a href="ATOMIC_005fXOR.html#ATOMIC_005fXOR" accesskey="n" rel="next">ATOMIC_XOR</a>, Previous: <a href="ATOMIC_005fOR.html#ATOMIC_005fOR" accesskey="p" rel="previous">ATOMIC_OR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ATOMIC_005fREF-_002d_002d_002d-Obtaining-the-value-of-a-variable-atomically"></a> +<h3 class="section">8.37 <code>ATOMIC_REF</code> — Obtaining the value of a variable atomically</h3> +<a name="index-ATOMIC_005fREF"></a> +<a name="index-Atomic-subroutine_002c-reference"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ATOMIC_DEFINE(ATOM, VALUE)</code> atomically assigns the value of the +variable <var>ATOM</var> to <var>VALUE</var>. When <var>STAT</var> is present and the +invocation was successful, it is assigned the value 0. If it is present and the +invocation has failed, it is assigned a positive value; in particular, for a +coindexed <var>ATOM</var>, if the remote image has stopped, it is assigned the value +of <code>ISO_FORTRAN_ENV</code>’s <code>STAT_STOPPED_IMAGE</code> and if the remote image +has failed, the value <code>STAT_FAILED_IMAGE</code>. +</p> + +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later; with <var>STAT</var>, TS 18508 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Atomic subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL ATOMIC_REF(VALUE, ATOM [, STAT])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>VALUE</var></td><td width="70%">Scalar of the same type as <var>ATOM</var>. If the kind +is different, the value is converted to the kind of <var>ATOM</var>.</td></tr> +<tr><td width="15%"><var>ATOM</var></td><td width="70%">Scalar coarray or coindexed variable of either integer +type with <code>ATOMIC_INT_KIND</code> kind or logical type with +<code>ATOMIC_LOGICAL_KIND</code> kind.</td></tr> +<tr><td width="15%"><var>STAT</var></td><td width="70%">(optional) Scalar default-kind integer variable.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program atomic + use iso_fortran_env + logical(atomic_logical_kind) :: atom[*] + logical :: val + call atomic_ref (atom, .false.) + ! ... + call atomic_ref (atom, val) + if (val) then + print *, "Obtained" + end if +end program atomic +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ATOMIC_005fDEFINE.html#ATOMIC_005fDEFINE">ATOMIC_DEFINE</a>, <br> +<a href="ATOMIC_005fCAS.html#ATOMIC_005fCAS">ATOMIC_CAS</a>, <br> +<a href="ISO_005fFORTRAN_005fENV.html#ISO_005fFORTRAN_005fENV">ISO_FORTRAN_ENV</a>, <br> +<a href="ATOMIC_005fFETCH_005fADD.html#ATOMIC_005fFETCH_005fADD">ATOMIC_FETCH_ADD</a>, <br> +<a href="ATOMIC_005fFETCH_005fAND.html#ATOMIC_005fFETCH_005fAND">ATOMIC_FETCH_AND</a>, <br> +<a href="ATOMIC_005fFETCH_005fOR.html#ATOMIC_005fFETCH_005fOR">ATOMIC_FETCH_OR</a>, <br> +<a href="ATOMIC_005fFETCH_005fXOR.html#ATOMIC_005fFETCH_005fXOR">ATOMIC_FETCH_XOR</a> +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ATOMIC_005fXOR.html b/share/doc/gfortran/ATOMIC_005fXOR.html new file mode 100644 index 0000000..344878c --- /dev/null +++ b/share/doc/gfortran/ATOMIC_005fXOR.html @@ -0,0 +1,140 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ATOMIC_XOR</title> + +<meta name="description" content="The GNU Fortran Compiler: ATOMIC_XOR"> +<meta name="keywords" content="The GNU Fortran Compiler: ATOMIC_XOR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="BACKTRACE.html#BACKTRACE" rel="next" title="BACKTRACE"> +<link href="ATOMIC_005fREF.html#ATOMIC_005fREF" rel="previous" title="ATOMIC_REF"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ATOMIC_005fXOR"></a> +<div class="header"> +<p> +Next: <a href="BACKTRACE.html#BACKTRACE" accesskey="n" rel="next">BACKTRACE</a>, Previous: <a href="ATOMIC_005fREF.html#ATOMIC_005fREF" accesskey="p" rel="previous">ATOMIC_REF</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ATOMIC_005fXOR-_002d_002d_002d-Atomic-bitwise-OR-operation"></a> +<h3 class="section">8.38 <code>ATOMIC_XOR</code> — Atomic bitwise OR operation</h3> +<a name="index-ATOMIC_005fXOR"></a> +<a name="index-Atomic-subroutine_002c-XOR"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ATOMIC_AND(ATOM, VALUE)</code> atomically defines <var>ATOM</var> with the bitwise +XOR between the values of <var>ATOM</var> and <var>VALUE</var>. When <var>STAT</var> is present +and the invocation was successful, it is assigned the value 0. If it is present +and the invocation has failed, it is assigned a positive value; in particular, +for a coindexed <var>ATOM</var>, if the remote image has stopped, it is assigned the +value of <code>ISO_FORTRAN_ENV</code>’s <code>STAT_STOPPED_IMAGE</code> and if the remote +image has failed, the value <code>STAT_FAILED_IMAGE</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>TS 18508 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Atomic subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL ATOMIC_XOR (ATOM, VALUE [, STAT])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ATOM</var></td><td width="70%">Scalar coarray or coindexed variable of integer +type with <code>ATOMIC_INT_KIND</code> kind.</td></tr> +<tr><td width="15%"><var>VALUE</var></td><td width="70%">Scalar of the same type as <var>ATOM</var>. If the kind +is different, the value is converted to the kind of <var>ATOM</var>.</td></tr> +<tr><td width="15%"><var>STAT</var></td><td width="70%">(optional) Scalar default-kind integer variable.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program atomic + use iso_fortran_env + integer(atomic_int_kind) :: atom[*] + call atomic_xor (atom[1], int(b'10100011101')) +end program atomic +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ATOMIC_005fDEFINE.html#ATOMIC_005fDEFINE">ATOMIC_DEFINE</a>, <br> +<a href="ATOMIC_005fFETCH_005fXOR.html#ATOMIC_005fFETCH_005fXOR">ATOMIC_FETCH_XOR</a>, <br> +<a href="ISO_005fFORTRAN_005fENV.html#ISO_005fFORTRAN_005fENV">ISO_FORTRAN_ENV</a>, <br> +<a href="ATOMIC_005fADD.html#ATOMIC_005fADD">ATOMIC_ADD</a>, <br> +<a href="ATOMIC_005fOR.html#ATOMIC_005fOR">ATOMIC_OR</a>, <br> +<a href="#ATOMIC_005fXOR">ATOMIC_XOR</a> +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ATTRIBUTES-directive.html b/share/doc/gfortran/ATTRIBUTES-directive.html new file mode 100644 index 0000000..2726d9d --- /dev/null +++ b/share/doc/gfortran/ATTRIBUTES-directive.html @@ -0,0 +1,172 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ATTRIBUTES directive</title> + +<meta name="description" content="The GNU Fortran Compiler: ATTRIBUTES directive"> +<meta name="keywords" content="The GNU Fortran Compiler: ATTRIBUTES directive"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="GNU-Fortran-Compiler-Directives.html#GNU-Fortran-Compiler-Directives" rel="up" title="GNU Fortran Compiler Directives"> +<link href="UNROLL-directive.html#UNROLL-directive" rel="next" title="UNROLL directive"> +<link href="GNU-Fortran-Compiler-Directives.html#GNU-Fortran-Compiler-Directives" rel="previous" title="GNU Fortran Compiler Directives"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ATTRIBUTES-directive"></a> +<div class="header"> +<p> +Next: <a href="UNROLL-directive.html#UNROLL-directive" accesskey="n" rel="next">UNROLL directive</a>, Up: <a href="GNU-Fortran-Compiler-Directives.html#GNU-Fortran-Compiler-Directives" accesskey="u" rel="up">GNU Fortran Compiler Directives</a> [<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> +</div> +<hr> +<a name="ATTRIBUTES-directive-1"></a> +<h4 class="subsection">6.2.1 ATTRIBUTES directive</h4> + +<p>The Fortran standard describes how a conforming program shall +behave; however, the exact implementation is not standardized. In order +to allow the user to choose specific implementation details, compiler +directives can be used to set attributes of variables and procedures +which are not part of the standard. Whether a given attribute is +supported and its exact effects depend on both the operating system and +on the processor; see +<a href="http://gcc.gnu.org/onlinedocs/gcc/index.html#Top">C Extensions</a> in <cite>Using the GNU Compiler Collection (GCC)</cite> +for details. +</p> +<p>For procedures and procedure pointers, the following attributes can +be used to change the calling convention: +</p> +<ul> +<li> <code>CDECL</code> – standard C calling convention +</li><li> <code>STDCALL</code> – convention where the called procedure pops the stack +</li><li> <code>FASTCALL</code> – part of the arguments are passed via registers +instead using the stack +</li></ul> + +<p>Besides changing the calling convention, the attributes also influence +the decoration of the symbol name, e.g., by a leading underscore or by +a trailing at-sign followed by the number of bytes on the stack. When +assigning a procedure to a procedure pointer, both should use the same +calling convention. +</p> +<p>On some systems, procedures and global variables (module variables and +<code>COMMON</code> blocks) need special handling to be accessible when they +are in a shared library. The following attributes are available: +</p> +<ul> +<li> <code>DLLEXPORT</code> – provide a global pointer to a pointer in the DLL +</li><li> <code>DLLIMPORT</code> – reference the function or variable using a +global pointer +</li></ul> + +<p>For dummy arguments, the <code>NO_ARG_CHECK</code> attribute can be used; in +other compilers, it is also known as <code>IGNORE_TKR</code>. For dummy arguments +with this attribute actual arguments of any type and kind (similar to +<code>TYPE(*)</code>), scalars and arrays of any rank (no equivalent +in Fortran standard) are accepted. As with <code>TYPE(*)</code>, the argument +is unlimited polymorphic and no type information is available. +Additionally, the argument may only be passed to dummy arguments +with the <code>NO_ARG_CHECK</code> attribute and as argument to the +<code>PRESENT</code> intrinsic function and to <code>C_LOC</code> of the +<code>ISO_C_BINDING</code> module. +</p> +<p>Variables with <code>NO_ARG_CHECK</code> attribute shall be of assumed-type +(<code>TYPE(*)</code>; recommended) or of type <code>INTEGER</code>, <code>LOGICAL</code>, +<code>REAL</code> or <code>COMPLEX</code>. They shall not have the <code>ALLOCATE</code>, +<code>CODIMENSION</code>, <code>INTENT(OUT)</code>, <code>POINTER</code> or <code>VALUE</code> +attribute; furthermore, they shall be either scalar or of assumed-size +(<code>dimension(*)</code>). As <code>TYPE(*)</code>, the <code>NO_ARG_CHECK</code> attribute +requires an explicit interface. +</p> +<ul> +<li> <code>NO_ARG_CHECK</code> – disable the type, kind and rank checking +</li><li> <code>DEPRECATED</code> – print a warning when using a such-tagged +deprecated procedure, variable or parameter; the warning can be suppressed +with <samp>-Wno-deprecated-declarations</samp>. +</li><li> <code>NOINLINE</code> – prevent inlining given function. +</li><li> <code>NORETURN</code> – add a hint that a given function cannot return. +</li><li> <code>WEAK</code> – emit the declaration of an external symbol as a weak +symbol rather than a global. This is primarily useful in defining library +functions that can be overridden in user code, though it can also be used with +non-function declarations. The overriding symbol must have the same type as +the weak symbol. +</li></ul> + + +<p>The attributes are specified using the syntax +</p> +<p><code>!GCC$ ATTRIBUTES</code> <var>attribute-list</var> <code>::</code> <var>variable-list</var> +</p> +<p>where in free-form source code only whitespace is allowed before <code>!GCC$</code> +and in fixed-form source code <code>!GCC$</code>, <code>cGCC$</code> or <code>*GCC$</code> shall +start in the first column. +</p> +<p>For procedures, the compiler directives shall be placed into the body +of the procedure; for variables and procedure pointers, they shall be in +the same declaration part as the variable or procedure pointer. +</p> + +<hr> +<div class="header"> +<p> +Next: <a href="UNROLL-directive.html#UNROLL-directive" accesskey="n" rel="next">UNROLL directive</a>, Up: <a href="GNU-Fortran-Compiler-Directives.html#GNU-Fortran-Compiler-Directives" accesskey="u" rel="up">GNU Fortran Compiler Directives</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/AUTOMATIC-and-STATIC-attributes.html b/share/doc/gfortran/AUTOMATIC-and-STATIC-attributes.html new file mode 100644 index 0000000..3cb1380 --- /dev/null +++ b/share/doc/gfortran/AUTOMATIC-and-STATIC-attributes.html @@ -0,0 +1,131 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: AUTOMATIC and STATIC attributes</title> + +<meta name="description" content="The GNU Fortran Compiler: AUTOMATIC and STATIC attributes"> +<meta name="keywords" content="The GNU Fortran Compiler: AUTOMATIC and STATIC attributes"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="Extended-math-intrinsics.html#Extended-math-intrinsics" rel="next" title="Extended math intrinsics"> +<link href="Type-variants-for-integer-intrinsics.html#Type-variants-for-integer-intrinsics" rel="previous" title="Type variants for integer intrinsics"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="AUTOMATIC-and-STATIC-attributes"></a> +<div class="header"> +<p> +Next: <a href="Extended-math-intrinsics.html#Extended-math-intrinsics" accesskey="n" rel="next">Extended math intrinsics</a>, Previous: <a href="Type-variants-for-integer-intrinsics.html#Type-variants-for-integer-intrinsics" accesskey="p" rel="previous">Type variants for integer intrinsics</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> [<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> +</div> +<hr> +<a name="AUTOMATIC-and-STATIC-attributes-1"></a> +<h4 class="subsection">5.1.25 <code>AUTOMATIC</code> and <code>STATIC</code> attributes</h4> +<a name="index-variable-attributes"></a> +<a name="index-AUTOMATIC"></a> +<a name="index-STATIC"></a> + +<p>With <samp>-fdec-static</samp> GNU Fortran supports the DEC extended attributes +<code>STATIC</code> and <code>AUTOMATIC</code> to provide explicit specification of entity +storage. These follow the syntax of the Fortran standard <code>SAVE</code> attribute. +</p> +<p><code>STATIC</code> is exactly equivalent to <code>SAVE</code>, and specifies that +an entity should be allocated in static memory. As an example, <code>STATIC</code> +local variables will retain their values across multiple calls to a function. +</p> +<p>Entities marked <code>AUTOMATIC</code> will be stack automatic whenever possible. +<code>AUTOMATIC</code> is the default for local variables smaller than +<samp>-fmax-stack-var-size</samp>, unless <samp>-fno-automatic</samp> is given. This +attribute overrides <samp>-fno-automatic</samp>, <samp>-fmax-stack-var-size</samp>, and +blanket <code>SAVE</code> statements. +</p> + +<p>Examples: +</p> +<div class="example"> +<pre class="example">subroutine f + integer, automatic :: i ! automatic variable + integer x, y ! static variables + save + ... +endsubroutine +</pre></div> +<div class="example"> +<pre class="example">subroutine f + integer a, b, c, x, y, z + static :: x + save y + automatic z, c + ! a, b, c, and z are automatic + ! x and y are static +endsubroutine +</pre></div> +<div class="example"> +<pre class="example">! Compiled with -fno-automatic +subroutine f + integer a, b, c, d + automatic :: a + ! a is automatic; b, c, and d are static +endsubroutine +</pre></div> + + + + +</body> +</html> diff --git a/share/doc/gfortran/About-GNU-Fortran.html b/share/doc/gfortran/About-GNU-Fortran.html new file mode 100644 index 0000000..e9005f7 --- /dev/null +++ b/share/doc/gfortran/About-GNU-Fortran.html @@ -0,0 +1,197 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: About GNU Fortran</title> + +<meta name="description" content="The GNU Fortran Compiler: About GNU Fortran"> +<meta name="keywords" content="The GNU Fortran Compiler: About GNU Fortran"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Introduction.html#Introduction" rel="up" title="Introduction"> +<link href="GNU-Fortran-and-GCC.html#GNU-Fortran-and-GCC" rel="next" title="GNU Fortran and GCC"> +<link href="Introduction.html#Introduction" rel="previous" title="Introduction"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="About-GNU-Fortran"></a> +<div class="header"> +<p> +Next: <a href="GNU-Fortran-and-GCC.html#GNU-Fortran-and-GCC" accesskey="n" rel="next">GNU Fortran and GCC</a>, Up: <a href="Introduction.html#Introduction" accesskey="u" rel="up">Introduction</a> [<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> +</div> +<hr> +<a name="About-GNU-Fortran-1"></a> +<h3 class="section">1.1 About GNU Fortran</h3> + +<p>The GNU Fortran compiler is the successor to <code>g77</code>, the +Fortran 77 front end included in GCC prior to version 4 (released in +2005). While it is backward-compatible with most <code>g77</code> +extensions and command-line options, <code>gfortran</code> is a completely new +implemention designed to support more modern dialects of Fortran. +GNU Fortran implements the Fortran 77, 90 and 95 standards +completely, most of the Fortran 2003 and 2008 standards, and some +features from the 2018 standard. It also implements several extensions +including OpenMP and OpenACC support for parallel programming. +</p> +<p>The GNU Fortran compiler passes the +<a href="http://www.fortran-2000.com/ArnaudRecipes/fcvs21_f95.html">NIST Fortran 77 Test Suite</a>, and produces acceptable results on the +<a href="https://www.netlib.org/lapack/faq.html">LAPACK Test Suite</a>. +It also provides respectable performance on +the <a href="https://polyhedron.com/?page_id=175">Polyhedron Fortran compiler benchmarks</a> and the +<a href="https://www.netlib.org/benchmark/livermore">Livermore Fortran Kernels test</a>. It has been used to compile a number of +large real-world programs, including +<a href="http://hirlam.org/">the HARMONIE and HIRLAM weather forecasting code</a> and +<a href="https://github.com/dylan-jayatilaka/tonto">the Tonto quantum chemistry package</a>; see +<a href="https://gcc.gnu.org/wiki/GfortranApps">https://gcc.gnu.org/wiki/GfortranApps</a> for an extended list. +</p> +<p>GNU Fortran provides the following functionality: +</p> +<ul> +<li> Read a program, stored in a file and containing <em>source code</em> +instructions written in Fortran 77. + +</li><li> Translate the program into instructions a computer +can carry out more quickly than it takes to translate the +original Fortran instructions. +The result after compilation of a program is +<em>machine code</em>, +which is efficiently translated and processed +by a machine such as your computer. +Humans usually are not as good writing machine code +as they are at writing Fortran (or C++, Ada, or Java), +because it is easy to make tiny mistakes writing machine code. + +</li><li> Provide information about the reasons why +the compiler may be unable to create a binary from the source code, +for example if the source code is flawed. +The Fortran language standards require that the compiler can point out +mistakes in your code. +An incorrect usage of the language causes an <em>error message</em>. + +<p>The compiler also attempts to diagnose cases where your +program contains a correct usage of the language, +but instructs the computer to do something questionable. +This kind of diagnostic message is called a <em>warning message</em>. +</p> +</li><li> Provide optional information about the translation passes +from the source code to machine code. +This can help you to find the cause of +certain bugs which may not be obvious in the source code, +but may be more easily found at a lower level compiler output. +It also helps developers to find bugs in the compiler itself. + +</li><li> Provide information in the generated machine code that can +make it easier to find bugs in the program (using a debugging tool, +called a <em>debugger</em>, such as the GNU Debugger <code>gdb</code>). + +</li><li> Locate and gather machine code already generated to +perform actions requested by statements in the program. +This machine code is organized into <em>modules</em> and is located +and <em>linked</em> to the user program. +</li></ul> + +<p>The GNU Fortran compiler consists of several components: +</p> +<ul> +<li> A version of the <code>gcc</code> command +(which also might be installed as the system’s <code>cc</code> command) +that also understands and accepts Fortran source code. +The <code>gcc</code> command is the <em>driver</em> program for +all the languages in the GNU Compiler Collection (GCC); +With <code>gcc</code>, +you can compile the source code of any language for +which a front end is available in GCC. + +</li><li> The <code>gfortran</code> command itself, +which also might be installed as the +system’s <code>f95</code> command. +<code>gfortran</code> is just another driver program, +but specifically for the Fortran compiler only. +The primary difference between the <code>gcc</code> and <code>gfortran</code> +commands is that the latter automatically links the correct libraries +to your program. + +</li><li> A collection of run-time libraries. +These libraries contain the machine code needed to support +capabilities of the Fortran language that are not directly +provided by the machine code generated by the +<code>gfortran</code> compilation phase, +such as intrinsic functions and subroutines, +and routines for interaction with files and the operating system. + +</li><li> The Fortran compiler itself, (<code>f951</code>). +This is the GNU Fortran parser and code generator, +linked to and interfaced with the GCC backend library. +<code>f951</code> “translates” the source code to +assembler code. You would typically not use this +program directly; +instead, the <code>gcc</code> or <code>gfortran</code> driver +programs call it for you. +</li></ul> + + + +<hr> +<div class="header"> +<p> +Next: <a href="GNU-Fortran-and-GCC.html#GNU-Fortran-and-GCC" accesskey="n" rel="next">GNU Fortran and GCC</a>, Up: <a href="Introduction.html#Introduction" accesskey="u" rel="up">Introduction</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Alternate-complex-function-syntax.html b/share/doc/gfortran/Alternate-complex-function-syntax.html new file mode 100644 index 0000000..9de74a7 --- /dev/null +++ b/share/doc/gfortran/Alternate-complex-function-syntax.html @@ -0,0 +1,92 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Alternate complex function syntax</title> + +<meta name="description" content="The GNU Fortran Compiler: Alternate complex function syntax"> +<meta name="keywords" content="The GNU Fortran Compiler: Alternate complex function syntax"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran" rel="up" title="Extensions not implemented in GNU Fortran"> +<link href="Volatile-COMMON-blocks.html#Volatile-COMMON-blocks" rel="next" title="Volatile COMMON blocks"> +<link href="Variable-FORMAT-expressions.html#Variable-FORMAT-expressions" rel="previous" title="Variable FORMAT expressions"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Alternate-complex-function-syntax"></a> +<div class="header"> +<p> +Next: <a href="Volatile-COMMON-blocks.html#Volatile-COMMON-blocks" accesskey="n" rel="next">Volatile COMMON blocks</a>, Previous: <a href="Variable-FORMAT-expressions.html#Variable-FORMAT-expressions" accesskey="p" rel="previous">Variable FORMAT expressions</a>, Up: <a href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran" accesskey="u" rel="up">Extensions not implemented in GNU Fortran</a> [<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> +</div> +<hr> +<a name="Alternate-complex-function-syntax-1"></a> +<h4 class="subsection">5.2.3 Alternate complex function syntax</h4> +<a name="index-Complex-function"></a> + +<p>Some Fortran compilers, including <code>g77</code>, let the user declare +complex functions with the syntax <code>COMPLEX FUNCTION name*16()</code>, as +well as <code>COMPLEX*16 FUNCTION name()</code>. Both are non-standard, legacy +extensions. <code>gfortran</code> accepts the latter form, which is more +common, but not the former. +</p> + + + + +</body> +</html> diff --git a/share/doc/gfortran/Argument-list-functions.html b/share/doc/gfortran/Argument-list-functions.html new file mode 100644 index 0000000..0d2f1b8 --- /dev/null +++ b/share/doc/gfortran/Argument-list-functions.html @@ -0,0 +1,122 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Argument list functions</title> + +<meta name="description" content="The GNU Fortran Compiler: Argument list functions"> +<meta name="keywords" content="The GNU Fortran Compiler: Argument list functions"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="Read_002fWrite-after-EOF-marker.html#Read_002fWrite-after-EOF-marker" rel="next" title="Read/Write after EOF marker"> +<link href="OpenACC.html#OpenACC" rel="previous" title="OpenACC"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Argument-list-functions"></a> +<div class="header"> +<p> +Next: <a href="Read_002fWrite-after-EOF-marker.html#Read_002fWrite-after-EOF-marker" accesskey="n" rel="next">Read/Write after EOF marker</a>, Previous: <a href="OpenACC.html#OpenACC" accesskey="p" rel="previous">OpenACC</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> [<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> +</div> +<hr> +<a name="Argument-list-functions-_0025VAL_002c-_0025REF-and-_0025LOC"></a> +<h4 class="subsection">5.1.20 Argument list functions <code>%VAL</code>, <code>%REF</code> and <code>%LOC</code></h4> +<a name="index-argument-list-functions"></a> +<a name="index-_0025VAL"></a> +<a name="index-_0025REF"></a> +<a name="index-_0025LOC"></a> + +<p>GNU Fortran supports argument list functions <code>%VAL</code>, <code>%REF</code> +and <code>%LOC</code> statements, for backward compatibility with g77. +It is recommended that these should be used only for code that is +accessing facilities outside of GNU Fortran, such as operating system +or windowing facilities. It is best to constrain such uses to isolated +portions of a program–portions that deal specifically and exclusively +with low-level, system-dependent facilities. Such portions might well +provide a portable interface for use by the program as a whole, but are +themselves not portable, and should be thoroughly tested each time they +are rebuilt using a new compiler or version of a compiler. +</p> +<p><code>%VAL</code> passes a scalar argument by value, <code>%REF</code> passes it by +reference and <code>%LOC</code> passes its memory location. Since gfortran +already passes scalar arguments by reference, <code>%REF</code> is in effect +a do-nothing. <code>%LOC</code> has the same effect as a Fortran pointer. +</p> +<p>An example of passing an argument by value to a C subroutine foo.: +</p><div class="smallexample"> +<pre class="smallexample">C +C prototype void foo_ (float x); +C + external foo + real*4 x + x = 3.14159 + call foo (%VAL (x)) + end +</pre></div> + +<p>For details refer to the g77 manual +<a href="https://gcc.gnu.org/onlinedocs/gcc-3.4.6/g77/index.html#Top">https://gcc.gnu.org/onlinedocs/gcc-3.4.6/g77/index.html#Top</a>. +</p> +<p>Also, <code>c_by_val.f</code> and its partner <code>c_by_val.c</code> of the +GNU Fortran testsuite are worth a look. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/Argument-passing-conventions.html b/share/doc/gfortran/Argument-passing-conventions.html new file mode 100644 index 0000000..79492b0 --- /dev/null +++ b/share/doc/gfortran/Argument-passing-conventions.html @@ -0,0 +1,206 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Argument passing conventions</title> + +<meta name="description" content="The GNU Fortran Compiler: Argument passing conventions"> +<meta name="keywords" content="The GNU Fortran Compiler: Argument passing conventions"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Naming-and-argument_002dpassing-conventions.html#Naming-and-argument_002dpassing-conventions" rel="up" title="Naming and argument-passing conventions"> +<link href="Coarray-Programming.html#Coarray-Programming" rel="next" title="Coarray Programming"> +<link href="Naming-conventions.html#Naming-conventions" rel="previous" title="Naming conventions"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Argument-passing-conventions"></a> +<div class="header"> +<p> +Previous: <a href="Naming-conventions.html#Naming-conventions" accesskey="p" rel="previous">Naming conventions</a>, Up: <a href="Naming-and-argument_002dpassing-conventions.html#Naming-and-argument_002dpassing-conventions" accesskey="u" rel="up">Naming and argument-passing conventions</a> [<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> +</div> +<hr> +<a name="Argument-passing-conventions-1"></a> +<h4 class="subsection">6.4.2 Argument passing conventions</h4> + +<p>Subroutines do not return a value (matching C99’s <code>void</code>) while +functions either return a value as specified in the platform ABI or +the result variable is passed as hidden argument to the function and +no result is returned. A hidden result variable is used when the +result variable is an array or of type <code>CHARACTER</code>. +</p> +<p>Arguments are passed according to the platform ABI. In particular, +complex arguments might not be compatible to a struct with two real +components for the real and imaginary part. The argument passing +matches the one of C99’s <code>_Complex</code>. Functions with scalar +complex result variables return their value and do not use a +by-reference argument. Note that with the <samp>-ff2c</samp> option, +the argument passing is modified and no longer completely matches +the platform ABI. Some other Fortran compilers use <code>f2c</code> +semantic by default; this might cause problems with +interoperablility. +</p> +<p>GNU Fortran passes most arguments by reference, i.e. by passing a +pointer to the data. Note that the compiler might use a temporary +variable into which the actual argument has been copied, if required +semantically (copy-in/copy-out). +</p> +<p>For arguments with <code>ALLOCATABLE</code> and <code>POINTER</code> +attribute (including procedure pointers), a pointer to the pointer +is passed such that the pointer address can be modified in the +procedure. +</p> +<p>For dummy arguments with the <code>VALUE</code> attribute: Scalar arguments +of the type <code>INTEGER</code>, <code>LOGICAL</code>, <code>REAL</code> and +<code>COMPLEX</code> are passed by value according to the platform ABI. +(As vendor extension and not recommended, using <code>%VAL()</code> in the +call to a procedure has the same effect.) For <code>TYPE(C_PTR)</code> and +procedure pointers, the pointer itself is passed such that it can be +modified without affecting the caller. +</p> +<p>For Boolean (<code>LOGICAL</code>) arguments, please note that GCC expects +only the integer value 0 and 1. If a GNU Fortran <code>LOGICAL</code> +variable contains another integer value, the result is undefined. +As some other Fortran compilers use <em>-1</em> for <code>.TRUE.</code>, +extra care has to be taken – such as passing the value as +<code>INTEGER</code>. (The same value restriction also applies to other +front ends of GCC, e.g. to GCC’s C99 compiler for <code>_Bool</code> +or GCC’s Ada compiler for <code>Boolean</code>.) +</p> +<p>For arguments of <code>CHARACTER</code> type, the character length is passed +as a hidden argument at the end of the argument list, except when the +corresponding dummy argument is declared as <code>TYPE(*)</code>. For +deferred-length strings, the value is passed by reference, otherwise +by value. The character length has the C type <code>size_t</code> (or +<code>INTEGER(kind=C_SIZE_T)</code> in Fortran). Note that this is +different to older versions of the GNU Fortran compiler, where the +type of the hidden character length argument was a C <code>int</code>. In +order to retain compatibility with older versions, one can e.g. for +the following Fortran procedure +</p> +<div class="smallexample"> +<pre class="smallexample">subroutine fstrlen (s, a) + character(len=*) :: s + integer :: a + print*, len(s) +end subroutine fstrlen +</pre></div> + +<p>define the corresponding C prototype as follows: +</p> +<div class="smallexample"> +<pre class="smallexample">#if __GNUC__ > 7 +typedef size_t fortran_charlen_t; +#else +typedef int fortran_charlen_t; +#endif + +void fstrlen_ (char*, int*, fortran_charlen_t); +</pre></div> + +<p>In order to avoid such compiler-specific details, for new code it is +instead recommended to use the ISO_C_BINDING feature. +</p> +<p>Note with C binding, <code>CHARACTER(len=1)</code> result variables are +returned according to the platform ABI and no hidden length argument +is used for dummy arguments; with <code>VALUE</code>, those variables are +passed by value. +</p> +<p>For <code>OPTIONAL</code> dummy arguments, an absent argument is denoted +by a NULL pointer, except for scalar dummy arguments of intrinsic type +which have the <code>VALUE</code> attribute. For those, a hidden Boolean +argument (<code>logical(kind=C_bool),value</code>) is used to indicate +whether the argument is present. +</p> +<p>Arguments which are assumed-shape, assumed-rank or deferred-rank +arrays or, with <samp>-fcoarray=lib</samp>, allocatable scalar coarrays use +an array descriptor. All other arrays pass the address of the +first element of the array. With <samp>-fcoarray=lib</samp>, the token +and the offset belonging to nonallocatable coarrays dummy arguments +are passed as hidden argument along the character length hidden +arguments. The token is an opaque pointer identifying the coarray +and the offset is a passed-by-value integer of kind <code>C_PTRDIFF_T</code>, +denoting the byte offset between the base address of the coarray and +the passed scalar or first element of the passed array. +</p> +<p>The arguments are passed in the following order +</p><ul> +<li> Result variable, when the function result is passed by reference +</li><li> Character length of the function result, if it is a of type +<code>CHARACTER</code> and no C binding is used +</li><li> The arguments in the order in which they appear in the Fortran +declaration +</li><li> The present status for optional arguments with value attribute, +which are internally passed by value +</li><li> The character length and/or coarray token and offset for the first +argument which is a <code>CHARACTER</code> or a nonallocatable coarray dummy +argument, followed by the hidden arguments of the next dummy argument +of such a type +</li></ul> + + + +<hr> +<div class="header"> +<p> +Previous: <a href="Naming-conventions.html#Naming-conventions" accesskey="p" rel="previous">Naming conventions</a>, Up: <a href="Naming-and-argument_002dpassing-conventions.html#Naming-and-argument_002dpassing-conventions" accesskey="u" rel="up">Naming and argument-passing conventions</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Asynchronous-I_002fO.html b/share/doc/gfortran/Asynchronous-I_002fO.html new file mode 100644 index 0000000..fe34dd9 --- /dev/null +++ b/share/doc/gfortran/Asynchronous-I_002fO.html @@ -0,0 +1,98 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Asynchronous I/O</title> + +<meta name="description" content="The GNU Fortran Compiler: Asynchronous I/O"> +<meta name="keywords" content="The GNU Fortran Compiler: Asynchronous I/O"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Compiler-Characteristics.html#Compiler-Characteristics" rel="up" title="Compiler Characteristics"> +<link href="Behavior-on-integer-overflow.html#Behavior-on-integer-overflow" rel="next" title="Behavior on integer overflow"> +<link href="File-format-of-unformatted-sequential-files.html#File-format-of-unformatted-sequential-files" rel="previous" title="File format of unformatted sequential files"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Asynchronous-I_002fO"></a> +<div class="header"> +<p> +Next: <a href="Behavior-on-integer-overflow.html#Behavior-on-integer-overflow" accesskey="n" rel="next">Behavior on integer overflow</a>, Previous: <a href="File-format-of-unformatted-sequential-files.html#File-format-of-unformatted-sequential-files" accesskey="p" rel="previous">File format of unformatted sequential files</a>, Up: <a href="Compiler-Characteristics.html#Compiler-Characteristics" accesskey="u" rel="up">Compiler Characteristics</a> [<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> +</div> +<hr> +<a name="Asynchronous-I_002fO-1"></a> +<h3 class="section">4.10 Asynchronous I/O</h3> +<a name="index-input_002foutput_002c-asynchronous"></a> +<a name="index-asynchronous-I_002fO"></a> + +<p>Asynchronous I/O is supported if the program is linked against the +POSIX thread library. If that is not the case, all I/O is performed +as synchronous. On systems which do not support pthread condition +variables, such as AIX, I/O is also performed as synchronous. +</p> +<p>On some systems, such as Darwin or Solaris, the POSIX thread library +is always linked in, so asynchronous I/O is always performed. On other +sytems, such as Linux, it is necessary to specify <samp>-pthread</samp>, +<samp>-lpthread</samp> or <samp>-fopenmp</samp> during the linking step. +</p> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/BACKTRACE.html b/share/doc/gfortran/BACKTRACE.html new file mode 100644 index 0000000..bea474b --- /dev/null +++ b/share/doc/gfortran/BACKTRACE.html @@ -0,0 +1,116 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: BACKTRACE</title> + +<meta name="description" content="The GNU Fortran Compiler: BACKTRACE"> +<meta name="keywords" content="The GNU Fortran Compiler: BACKTRACE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="BESSEL_005fJ0.html#BESSEL_005fJ0" rel="next" title="BESSEL_J0"> +<link href="ATOMIC_005fXOR.html#ATOMIC_005fXOR" rel="previous" title="ATOMIC_XOR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="BACKTRACE"></a> +<div class="header"> +<p> +Next: <a href="BESSEL_005fJ0.html#BESSEL_005fJ0" accesskey="n" rel="next">BESSEL_J0</a>, Previous: <a href="ATOMIC_005fXOR.html#ATOMIC_005fXOR" accesskey="p" rel="previous">ATOMIC_XOR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="BACKTRACE-_002d_002d_002d-Show-a-backtrace"></a> +<h3 class="section">8.39 <code>BACKTRACE</code> — Show a backtrace</h3> +<a name="index-BACKTRACE"></a> +<a name="index-backtrace-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>BACKTRACE</code> shows a backtrace at an arbitrary place in user code. Program +execution continues normally afterwards. The backtrace information is printed +to the unit corresponding to <code>ERROR_UNIT</code> in <code>ISO_FORTRAN_ENV</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL BACKTRACE</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><p>None +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ABORT.html#ABORT">ABORT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/BESSEL_005fJ0.html b/share/doc/gfortran/BESSEL_005fJ0.html new file mode 100644 index 0000000..3063403 --- /dev/null +++ b/share/doc/gfortran/BESSEL_005fJ0.html @@ -0,0 +1,138 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: BESSEL_J0</title> + +<meta name="description" content="The GNU Fortran Compiler: BESSEL_J0"> +<meta name="keywords" content="The GNU Fortran Compiler: BESSEL_J0"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="BESSEL_005fJ1.html#BESSEL_005fJ1" rel="next" title="BESSEL_J1"> +<link href="BACKTRACE.html#BACKTRACE" rel="previous" title="BACKTRACE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="BESSEL_005fJ0"></a> +<div class="header"> +<p> +Next: <a href="BESSEL_005fJ1.html#BESSEL_005fJ1" accesskey="n" rel="next">BESSEL_J1</a>, Previous: <a href="BACKTRACE.html#BACKTRACE" accesskey="p" rel="previous">BACKTRACE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="BESSEL_005fJ0-_002d_002d_002d-Bessel-function-of-the-first-kind-of-order-0"></a> +<h3 class="section">8.40 <code>BESSEL_J0</code> — Bessel function of the first kind of order 0</h3> +<a name="index-BESSEL_005fJ0"></a> +<a name="index-BESJ0"></a> +<a name="index-DBESJ0"></a> +<a name="index-Bessel-function_002c-first-kind"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>BESSEL_J0(X)</code> computes the Bessel function of the first kind of +order 0 of <var>X</var>. This function is available under the name +<code>BESJ0</code> as a GNU extension. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = BESSEL_J0(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>REAL</code> and lies in the +range <em>- 0.4027... \leq Bessel (0,x) \leq 1</em>. It has the same +kind as <var>X</var>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_besj0 + real(8) :: x = 0.0_8 + x = bessel_j0(x) +end program test_besj0 +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="21%">Name</th><th width="22%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="21%"><code>DBESJ0(X)</code></td><td width="22%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/BESSEL_005fJ1.html b/share/doc/gfortran/BESSEL_005fJ1.html new file mode 100644 index 0000000..6cf4a05 --- /dev/null +++ b/share/doc/gfortran/BESSEL_005fJ1.html @@ -0,0 +1,138 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: BESSEL_J1</title> + +<meta name="description" content="The GNU Fortran Compiler: BESSEL_J1"> +<meta name="keywords" content="The GNU Fortran Compiler: BESSEL_J1"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="BESSEL_005fJN.html#BESSEL_005fJN" rel="next" title="BESSEL_JN"> +<link href="BESSEL_005fJ0.html#BESSEL_005fJ0" rel="previous" title="BESSEL_J0"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="BESSEL_005fJ1"></a> +<div class="header"> +<p> +Next: <a href="BESSEL_005fJN.html#BESSEL_005fJN" accesskey="n" rel="next">BESSEL_JN</a>, Previous: <a href="BESSEL_005fJ0.html#BESSEL_005fJ0" accesskey="p" rel="previous">BESSEL_J0</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="BESSEL_005fJ1-_002d_002d_002d-Bessel-function-of-the-first-kind-of-order-1"></a> +<h3 class="section">8.41 <code>BESSEL_J1</code> — Bessel function of the first kind of order 1</h3> +<a name="index-BESSEL_005fJ1"></a> +<a name="index-BESJ1"></a> +<a name="index-DBESJ1"></a> +<a name="index-Bessel-function_002c-first-kind-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>BESSEL_J1(X)</code> computes the Bessel function of the first kind of +order 1 of <var>X</var>. This function is available under the name +<code>BESJ1</code> as a GNU extension. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = BESSEL_J1(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>REAL</code> and lies in the +range <em>- 0.5818... \leq Bessel (0,x) \leq 0.5818 </em>. It has the same +kind as <var>X</var>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_besj1 + real(8) :: x = 1.0_8 + x = bessel_j1(x) +end program test_besj1 +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>DBESJ1(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/BESSEL_005fJN.html b/share/doc/gfortran/BESSEL_005fJN.html new file mode 100644 index 0000000..cbc62cc --- /dev/null +++ b/share/doc/gfortran/BESSEL_005fJN.html @@ -0,0 +1,161 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: BESSEL_JN</title> + +<meta name="description" content="The GNU Fortran Compiler: BESSEL_JN"> +<meta name="keywords" content="The GNU Fortran Compiler: BESSEL_JN"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="BESSEL_005fY0.html#BESSEL_005fY0" rel="next" title="BESSEL_Y0"> +<link href="BESSEL_005fJ1.html#BESSEL_005fJ1" rel="previous" title="BESSEL_J1"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="BESSEL_005fJN"></a> +<div class="header"> +<p> +Next: <a href="BESSEL_005fY0.html#BESSEL_005fY0" accesskey="n" rel="next">BESSEL_Y0</a>, Previous: <a href="BESSEL_005fJ1.html#BESSEL_005fJ1" accesskey="p" rel="previous">BESSEL_J1</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="BESSEL_005fJN-_002d_002d_002d-Bessel-function-of-the-first-kind"></a> +<h3 class="section">8.42 <code>BESSEL_JN</code> — Bessel function of the first kind</h3> +<a name="index-BESSEL_005fJN"></a> +<a name="index-BESJN"></a> +<a name="index-DBESJN"></a> +<a name="index-Bessel-function_002c-first-kind-2"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>BESSEL_JN(N, X)</code> computes the Bessel function of the first kind of +order <var>N</var> of <var>X</var>. This function is available under the name +<code>BESJN</code> as a GNU extension. If <var>N</var> and <var>X</var> are arrays, +their ranks and shapes shall conform. +</p> +<p><code>BESSEL_JN(N1, N2, X)</code> returns an array with the Bessel functions +of the first kind of the orders <var>N1</var> to <var>N2</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later, negative <var>N</var> is allowed as GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function, except for the transformational function +<code>BESSEL_JN(N1, N2, X)</code> +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>RESULT = BESSEL_JN(N, X)</code></td></tr> +<tr><td width="80%"><code>RESULT = BESSEL_JN(N1, N2, X)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>N</var></td><td width="70%">Shall be a scalar or an array of type <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>N1</var></td><td width="70%">Shall be a non-negative scalar of type <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>N2</var></td><td width="70%">Shall be a non-negative scalar of type <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>X</var></td><td width="70%">Shall be a scalar or an array of type <code>REAL</code>; +for <code>BESSEL_JN(N1, N2, X)</code> it shall be scalar.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is a scalar of type <code>REAL</code>. It has the same +kind as <var>X</var>. +</p> +</dd> +<dt><em>Note</em>:</dt> +<dd><p>The transformational function uses a recurrence algorithm which might, +for some values of <var>X</var>, lead to different results than calls to +the elemental function. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_besjn + real(8) :: x = 1.0_8 + x = bessel_jn(5,x) +end program test_besjn +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="22%">Name</th><th width="22%">Argument</th><th width="20%">Return type</th><th width="32%">Standard</th></tr></thead> +<tr><td width="22%"><code>DBESJN(N, X)</code></td><td width="22%"><code>INTEGER N</code></td><td width="20%"><code>REAL(8)</code></td><td width="32%">GNU extension</td></tr> +<tr><td width="22%"></td><td width="22%"><code>REAL(8) X</code></td><td width="20%"></td><td width="32%"></td></tr> +</table> +</dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="BESSEL_005fY0.html#BESSEL_005fY0" accesskey="n" rel="next">BESSEL_Y0</a>, Previous: <a href="BESSEL_005fJ1.html#BESSEL_005fJ1" accesskey="p" rel="previous">BESSEL_J1</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/BESSEL_005fY0.html b/share/doc/gfortran/BESSEL_005fY0.html new file mode 100644 index 0000000..20917eb --- /dev/null +++ b/share/doc/gfortran/BESSEL_005fY0.html @@ -0,0 +1,136 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: BESSEL_Y0</title> + +<meta name="description" content="The GNU Fortran Compiler: BESSEL_Y0"> +<meta name="keywords" content="The GNU Fortran Compiler: BESSEL_Y0"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="BESSEL_005fY1.html#BESSEL_005fY1" rel="next" title="BESSEL_Y1"> +<link href="BESSEL_005fJN.html#BESSEL_005fJN" rel="previous" title="BESSEL_JN"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="BESSEL_005fY0"></a> +<div class="header"> +<p> +Next: <a href="BESSEL_005fY1.html#BESSEL_005fY1" accesskey="n" rel="next">BESSEL_Y1</a>, Previous: <a href="BESSEL_005fJN.html#BESSEL_005fJN" accesskey="p" rel="previous">BESSEL_JN</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="BESSEL_005fY0-_002d_002d_002d-Bessel-function-of-the-second-kind-of-order-0"></a> +<h3 class="section">8.43 <code>BESSEL_Y0</code> — Bessel function of the second kind of order 0</h3> +<a name="index-BESSEL_005fY0"></a> +<a name="index-BESY0"></a> +<a name="index-DBESY0"></a> +<a name="index-Bessel-function_002c-second-kind"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>BESSEL_Y0(X)</code> computes the Bessel function of the second kind of +order 0 of <var>X</var>. This function is available under the name +<code>BESY0</code> as a GNU extension. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = BESSEL_Y0(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>REAL</code>. It has the same kind as <var>X</var>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_besy0 + real(8) :: x = 0.0_8 + x = bessel_y0(x) +end program test_besy0 +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>DBESY0(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/BESSEL_005fY1.html b/share/doc/gfortran/BESSEL_005fY1.html new file mode 100644 index 0000000..a130957 --- /dev/null +++ b/share/doc/gfortran/BESSEL_005fY1.html @@ -0,0 +1,136 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: BESSEL_Y1</title> + +<meta name="description" content="The GNU Fortran Compiler: BESSEL_Y1"> +<meta name="keywords" content="The GNU Fortran Compiler: BESSEL_Y1"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="BESSEL_005fYN.html#BESSEL_005fYN" rel="next" title="BESSEL_YN"> +<link href="BESSEL_005fY0.html#BESSEL_005fY0" rel="previous" title="BESSEL_Y0"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="BESSEL_005fY1"></a> +<div class="header"> +<p> +Next: <a href="BESSEL_005fYN.html#BESSEL_005fYN" accesskey="n" rel="next">BESSEL_YN</a>, Previous: <a href="BESSEL_005fY0.html#BESSEL_005fY0" accesskey="p" rel="previous">BESSEL_Y0</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="BESSEL_005fY1-_002d_002d_002d-Bessel-function-of-the-second-kind-of-order-1"></a> +<h3 class="section">8.44 <code>BESSEL_Y1</code> — Bessel function of the second kind of order 1</h3> +<a name="index-BESSEL_005fY1"></a> +<a name="index-BESY1"></a> +<a name="index-DBESY1"></a> +<a name="index-Bessel-function_002c-second-kind-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>BESSEL_Y1(X)</code> computes the Bessel function of the second kind of +order 1 of <var>X</var>. This function is available under the name +<code>BESY1</code> as a GNU extension. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = BESSEL_Y1(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>REAL</code>. It has the same kind as <var>X</var>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_besy1 + real(8) :: x = 1.0_8 + x = bessel_y1(x) +end program test_besy1 +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>DBESY1(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/BESSEL_005fYN.html b/share/doc/gfortran/BESSEL_005fYN.html new file mode 100644 index 0000000..de8ed5e --- /dev/null +++ b/share/doc/gfortran/BESSEL_005fYN.html @@ -0,0 +1,161 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: BESSEL_YN</title> + +<meta name="description" content="The GNU Fortran Compiler: BESSEL_YN"> +<meta name="keywords" content="The GNU Fortran Compiler: BESSEL_YN"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="BGE.html#BGE" rel="next" title="BGE"> +<link href="BESSEL_005fY1.html#BESSEL_005fY1" rel="previous" title="BESSEL_Y1"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="BESSEL_005fYN"></a> +<div class="header"> +<p> +Next: <a href="BGE.html#BGE" accesskey="n" rel="next">BGE</a>, Previous: <a href="BESSEL_005fY1.html#BESSEL_005fY1" accesskey="p" rel="previous">BESSEL_Y1</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="BESSEL_005fYN-_002d_002d_002d-Bessel-function-of-the-second-kind"></a> +<h3 class="section">8.45 <code>BESSEL_YN</code> — Bessel function of the second kind</h3> +<a name="index-BESSEL_005fYN"></a> +<a name="index-BESYN"></a> +<a name="index-DBESYN"></a> +<a name="index-Bessel-function_002c-second-kind-2"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>BESSEL_YN(N, X)</code> computes the Bessel function of the second kind of +order <var>N</var> of <var>X</var>. This function is available under the name +<code>BESYN</code> as a GNU extension. If <var>N</var> and <var>X</var> are arrays, +their ranks and shapes shall conform. +</p> +<p><code>BESSEL_YN(N1, N2, X)</code> returns an array with the Bessel functions +of the first kind of the orders <var>N1</var> to <var>N2</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later, negative <var>N</var> is allowed as GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function, except for the transformational function +<code>BESSEL_YN(N1, N2, X)</code> +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>RESULT = BESSEL_YN(N, X)</code></td></tr> +<tr><td width="80%"><code>RESULT = BESSEL_YN(N1, N2, X)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>N</var></td><td width="70%">Shall be a scalar or an array of type <code>INTEGER</code> .</td></tr> +<tr><td width="15%"><var>N1</var></td><td width="70%">Shall be a non-negative scalar of type <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>N2</var></td><td width="70%">Shall be a non-negative scalar of type <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>X</var></td><td width="70%">Shall be a scalar or an array of type <code>REAL</code>; +for <code>BESSEL_YN(N1, N2, X)</code> it shall be scalar.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is a scalar of type <code>REAL</code>. It has the same +kind as <var>X</var>. +</p> +</dd> +<dt><em>Note</em>:</dt> +<dd><p>The transformational function uses a recurrence algorithm which might, +for some values of <var>X</var>, lead to different results than calls to +the elemental function. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_besyn + real(8) :: x = 1.0_8 + x = bessel_yn(5,x) +end program test_besyn +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>DBESYN(N,X)</code></td><td width="23%"><code>INTEGER N</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"></td><td width="33%"></td></tr> +</table> +</dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="BGE.html#BGE" accesskey="n" rel="next">BGE</a>, Previous: <a href="BESSEL_005fY1.html#BESSEL_005fY1" accesskey="p" rel="previous">BESSEL_Y1</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/BGE.html b/share/doc/gfortran/BGE.html new file mode 100644 index 0000000..41a71ec --- /dev/null +++ b/share/doc/gfortran/BGE.html @@ -0,0 +1,125 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: BGE</title> + +<meta name="description" content="The GNU Fortran Compiler: BGE"> +<meta name="keywords" content="The GNU Fortran Compiler: BGE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="BGT.html#BGT" rel="next" title="BGT"> +<link href="BESSEL_005fYN.html#BESSEL_005fYN" rel="previous" title="BESSEL_YN"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="BGE"></a> +<div class="header"> +<p> +Next: <a href="BGT.html#BGT" accesskey="n" rel="next">BGT</a>, Previous: <a href="BESSEL_005fYN.html#BESSEL_005fYN" accesskey="p" rel="previous">BESSEL_YN</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="BGE-_002d_002d_002d-Bitwise-greater-than-or-equal-to"></a> +<h3 class="section">8.46 <code>BGE</code> — Bitwise greater than or equal to</h3> +<a name="index-BGE"></a> +<a name="index-bitwise-comparison"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Determines whether an integral is a bitwise greater than or equal to +another. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = BGE(I, J)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">Shall be of <code>INTEGER</code> type.</td></tr> +<tr><td width="15%"><var>J</var></td><td width="70%">Shall be of <code>INTEGER</code> type, and of the same kind +as <var>I</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>LOGICAL</code> and of the default kind. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="BGT.html#BGT">BGT</a>, <br> +<a href="BLE.html#BLE">BLE</a>, <br> +<a href="BLT.html#BLT">BLT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/BGT.html b/share/doc/gfortran/BGT.html new file mode 100644 index 0000000..dc9acd3 --- /dev/null +++ b/share/doc/gfortran/BGT.html @@ -0,0 +1,124 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: BGT</title> + +<meta name="description" content="The GNU Fortran Compiler: BGT"> +<meta name="keywords" content="The GNU Fortran Compiler: BGT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="BIT_005fSIZE.html#BIT_005fSIZE" rel="next" title="BIT_SIZE"> +<link href="BGE.html#BGE" rel="previous" title="BGE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="BGT"></a> +<div class="header"> +<p> +Next: <a href="BIT_005fSIZE.html#BIT_005fSIZE" accesskey="n" rel="next">BIT_SIZE</a>, Previous: <a href="BGE.html#BGE" accesskey="p" rel="previous">BGE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="BGT-_002d_002d_002d-Bitwise-greater-than"></a> +<h3 class="section">8.47 <code>BGT</code> — Bitwise greater than</h3> +<a name="index-BGT"></a> +<a name="index-bitwise-comparison-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Determines whether an integral is a bitwise greater than another. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = BGT(I, J)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">Shall be of <code>INTEGER</code> type.</td></tr> +<tr><td width="15%"><var>J</var></td><td width="70%">Shall be of <code>INTEGER</code> type, and of the same kind +as <var>I</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>LOGICAL</code> and of the default kind. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="BGE.html#BGE">BGE</a>, <br> +<a href="BLE.html#BLE">BLE</a>, <br> +<a href="BLT.html#BLT">BLT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/BIT_005fSIZE.html b/share/doc/gfortran/BIT_005fSIZE.html new file mode 100644 index 0000000..206eace --- /dev/null +++ b/share/doc/gfortran/BIT_005fSIZE.html @@ -0,0 +1,130 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: BIT_SIZE</title> + +<meta name="description" content="The GNU Fortran Compiler: BIT_SIZE"> +<meta name="keywords" content="The GNU Fortran Compiler: BIT_SIZE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="BLE.html#BLE" rel="next" title="BLE"> +<link href="BGT.html#BGT" rel="previous" title="BGT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="BIT_005fSIZE"></a> +<div class="header"> +<p> +Next: <a href="BLE.html#BLE" accesskey="n" rel="next">BLE</a>, Previous: <a href="BGT.html#BGT" accesskey="p" rel="previous">BGT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="BIT_005fSIZE-_002d_002d_002d-Bit-size-inquiry-function"></a> +<h3 class="section">8.48 <code>BIT_SIZE</code> — Bit size inquiry function</h3> +<a name="index-BIT_005fSIZE"></a> +<a name="index-bits_002c-number-of"></a> +<a name="index-size-of-a-variable_002c-in-bits"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>BIT_SIZE(I)</code> returns the number of bits (integer precision plus sign bit) +represented by the type of <var>I</var>. The result of <code>BIT_SIZE(I)</code> is +independent of the actual value of <var>I</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = BIT_SIZE(I)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_bit_size + integer :: i = 123 + integer :: size + size = bit_size(i) + print *, size +end program test_bit_size +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/BLE.html b/share/doc/gfortran/BLE.html new file mode 100644 index 0000000..93b8e2d --- /dev/null +++ b/share/doc/gfortran/BLE.html @@ -0,0 +1,125 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: BLE</title> + +<meta name="description" content="The GNU Fortran Compiler: BLE"> +<meta name="keywords" content="The GNU Fortran Compiler: BLE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="BLT.html#BLT" rel="next" title="BLT"> +<link href="BIT_005fSIZE.html#BIT_005fSIZE" rel="previous" title="BIT_SIZE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="BLE"></a> +<div class="header"> +<p> +Next: <a href="BLT.html#BLT" accesskey="n" rel="next">BLT</a>, Previous: <a href="BIT_005fSIZE.html#BIT_005fSIZE" accesskey="p" rel="previous">BIT_SIZE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="BLE-_002d_002d_002d-Bitwise-less-than-or-equal-to"></a> +<h3 class="section">8.49 <code>BLE</code> — Bitwise less than or equal to</h3> +<a name="index-BLE"></a> +<a name="index-bitwise-comparison-2"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Determines whether an integral is a bitwise less than or equal to +another. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = BLE(I, J)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">Shall be of <code>INTEGER</code> type.</td></tr> +<tr><td width="15%"><var>J</var></td><td width="70%">Shall be of <code>INTEGER</code> type, and of the same kind +as <var>I</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>LOGICAL</code> and of the default kind. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="BGT.html#BGT">BGT</a>, <br> +<a href="BGE.html#BGE">BGE</a>, <br> +<a href="BLT.html#BLT">BLT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/BLT.html b/share/doc/gfortran/BLT.html new file mode 100644 index 0000000..8b13469 --- /dev/null +++ b/share/doc/gfortran/BLT.html @@ -0,0 +1,124 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: BLT</title> + +<meta name="description" content="The GNU Fortran Compiler: BLT"> +<meta name="keywords" content="The GNU Fortran Compiler: BLT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="BTEST.html#BTEST" rel="next" title="BTEST"> +<link href="BLE.html#BLE" rel="previous" title="BLE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="BLT"></a> +<div class="header"> +<p> +Next: <a href="BTEST.html#BTEST" accesskey="n" rel="next">BTEST</a>, Previous: <a href="BLE.html#BLE" accesskey="p" rel="previous">BLE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="BLT-_002d_002d_002d-Bitwise-less-than"></a> +<h3 class="section">8.50 <code>BLT</code> — Bitwise less than</h3> +<a name="index-BLT"></a> +<a name="index-bitwise-comparison-3"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Determines whether an integral is a bitwise less than another. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = BLT(I, J)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">Shall be of <code>INTEGER</code> type.</td></tr> +<tr><td width="15%"><var>J</var></td><td width="70%">Shall be of <code>INTEGER</code> type, and of the same kind +as <var>I</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>LOGICAL</code> and of the default kind. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="BGE.html#BGE">BGE</a>, <br> +<a href="BGT.html#BGT">BGT</a>, <br> +<a href="BLE.html#BLE">BLE</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/BOZ-literal-constants.html b/share/doc/gfortran/BOZ-literal-constants.html new file mode 100644 index 0000000..132e4b5 --- /dev/null +++ b/share/doc/gfortran/BOZ-literal-constants.html @@ -0,0 +1,110 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: BOZ literal constants</title> + +<meta name="description" content="The GNU Fortran Compiler: BOZ literal constants"> +<meta name="keywords" content="The GNU Fortran Compiler: BOZ literal constants"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="Real-array-indices.html#Real-array-indices" rel="next" title="Real array indices"> +<link href="Q-exponent_002dletter.html#Q-exponent_002dletter" rel="previous" title="Q exponent-letter"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="BOZ-literal-constants"></a> +<div class="header"> +<p> +Next: <a href="Real-array-indices.html#Real-array-indices" accesskey="n" rel="next">Real array indices</a>, Previous: <a href="Q-exponent_002dletter.html#Q-exponent_002dletter" accesskey="p" rel="previous"><code>Q</code> exponent-letter</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> [<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> +</div> +<hr> +<a name="BOZ-literal-constants-1"></a> +<h4 class="subsection">5.1.10 BOZ literal constants</h4> +<a name="index-BOZ-literal-constants"></a> + +<p>Besides decimal constants, Fortran also supports binary (<code>b</code>), +octal (<code>o</code>) and hexadecimal (<code>z</code>) integer constants. The +syntax is: ‘<samp>prefix quote digits quote</samp>’, where the prefix is +either <code>b</code>, <code>o</code> or <code>z</code>, quote is either <code>'</code> or +<code>"</code> and the digits are <code>0</code> or <code>1</code> for binary, +between <code>0</code> and <code>7</code> for octal, and between <code>0</code> and +<code>F</code> for hexadecimal. (Example: <code>b'01011101'</code>.) +</p> +<p>Up to Fortran 95, BOZ literal constants were only allowed to initialize +integer variables in DATA statements. Since Fortran 2003 BOZ literal +constants are also allowed as actual arguments to the <code>REAL</code>, +<code>DBLE</code>, <code>INT</code> and <code>CMPLX</code> intrinsic functions. +The BOZ literal constant is simply a string of bits, which is padded +or truncated as needed, during conversion to a numeric type. The +Fortran standard states that the treatment of the sign bit is processor +dependent. Gfortran interprets the sign bit as a user would expect. +</p> +<p>As a deprecated extension, GNU Fortran allows hexadecimal BOZ literal +constants to be specified using the <code>X</code> prefix. That the BOZ literal +constant can also be specified by adding a suffix to the string, for +example, <code>Z'ABC'</code> and <code>'ABC'X</code> are equivalent. Additionally, +as extension, BOZ literals are permitted in some contexts outside of +<code>DATA</code> and the intrinsic functions listed in the Fortran standard. +Use <samp>-fallow-invalid-boz</samp> to enable the extension. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/BTEST.html b/share/doc/gfortran/BTEST.html new file mode 100644 index 0000000..55ec021 --- /dev/null +++ b/share/doc/gfortran/BTEST.html @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: BTEST</title> + +<meta name="description" content="The GNU Fortran Compiler: BTEST"> +<meta name="keywords" content="The GNU Fortran Compiler: BTEST"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="C_005fASSOCIATED.html#C_005fASSOCIATED" rel="next" title="C_ASSOCIATED"> +<link href="BLT.html#BLT" rel="previous" title="BLT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="BTEST"></a> +<div class="header"> +<p> +Next: <a href="C_005fASSOCIATED.html#C_005fASSOCIATED" accesskey="n" rel="next">C_ASSOCIATED</a>, Previous: <a href="BLT.html#BLT" accesskey="p" rel="previous">BLT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="BTEST-_002d_002d_002d-Bit-test-function"></a> +<h3 class="section">8.51 <code>BTEST</code> — Bit test function</h3> +<a name="index-BTEST"></a> +<a name="index-BBTEST"></a> +<a name="index-BITEST"></a> +<a name="index-BJTEST"></a> +<a name="index-BKTEST"></a> +<a name="index-bits_002c-testing"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>BTEST(I,POS)</code> returns logical <code>.TRUE.</code> if the bit at <var>POS</var> +in <var>I</var> is set. The counting of the bits starts at 0. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later, has overloads that are GNU extensions +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = BTEST(I, POS)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>POS</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>LOGICAL</code> +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_btest + integer :: i = 32768 + 1024 + 64 + integer :: pos + logical :: bool + do pos=0,16 + bool = btest(i, pos) + print *, pos, bool + end do +end program test_btest +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="21%">Name</th><th width="28%">Argument</th><th width="18%">Return type</th><th width="30%">Standard</th></tr></thead> +<tr><td width="21%"><code>BTEST(I,POS)</code></td><td width="28%"><code>INTEGER I,POS</code></td><td width="18%"><code>LOGICAL</code></td><td width="30%">Fortran 95 and later</td></tr> +<tr><td width="21%"><code>BBTEST(I,POS)</code></td><td width="28%"><code>INTEGER(1) I,POS</code></td><td width="18%"><code>LOGICAL(1)</code></td><td width="30%">GNU extension</td></tr> +<tr><td width="21%"><code>BITEST(I,POS)</code></td><td width="28%"><code>INTEGER(2) I,POS</code></td><td width="18%"><code>LOGICAL(2)</code></td><td width="30%">GNU extension</td></tr> +<tr><td width="21%"><code>BJTEST(I,POS)</code></td><td width="28%"><code>INTEGER(4) I,POS</code></td><td width="18%"><code>LOGICAL(4)</code></td><td width="30%">GNU extension</td></tr> +<tr><td width="21%"><code>BKTEST(I,POS)</code></td><td width="28%"><code>INTEGER(8) I,POS</code></td><td width="18%"><code>LOGICAL(8)</code></td><td width="30%">GNU extension</td></tr> +</table> +</dd> +</dl> + + + + +</body> +</html> diff --git a/share/doc/gfortran/BUILTIN-directive.html b/share/doc/gfortran/BUILTIN-directive.html new file mode 100644 index 0000000..5921c00 --- /dev/null +++ b/share/doc/gfortran/BUILTIN-directive.html @@ -0,0 +1,102 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: BUILTIN directive</title> + +<meta name="description" content="The GNU Fortran Compiler: BUILTIN directive"> +<meta name="keywords" content="The GNU Fortran Compiler: BUILTIN directive"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="GNU-Fortran-Compiler-Directives.html#GNU-Fortran-Compiler-Directives" rel="up" title="GNU Fortran Compiler Directives"> +<link href="IVDEP-directive.html#IVDEP-directive" rel="next" title="IVDEP directive"> +<link href="UNROLL-directive.html#UNROLL-directive" rel="previous" title="UNROLL directive"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="BUILTIN-directive"></a> +<div class="header"> +<p> +Next: <a href="IVDEP-directive.html#IVDEP-directive" accesskey="n" rel="next">IVDEP directive</a>, Previous: <a href="UNROLL-directive.html#UNROLL-directive" accesskey="p" rel="previous">UNROLL directive</a>, Up: <a href="GNU-Fortran-Compiler-Directives.html#GNU-Fortran-Compiler-Directives" accesskey="u" rel="up">GNU Fortran Compiler Directives</a> [<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> +</div> +<hr> +<a name="BUILTIN-directive-1"></a> +<h4 class="subsection">6.2.3 BUILTIN directive</h4> + +<p>The syntax of the directive is +</p> +<p><code>!GCC$ BUILTIN (B) attributes simd FLAGS IF('target')</code> +</p> +<p>You can use this directive to define which middle-end built-ins provide vector +implementations. <code>B</code> is name of the middle-end built-in. <code>FLAGS</code> +are optional and must be either "(inbranch)" or "(notinbranch)". +<code>IF</code> statement is optional and is used to filter multilib ABIs +for the built-in that should be vectorized. Example usage: +</p> +<div class="smallexample"> +<pre class="smallexample">!GCC$ builtin (sinf) attributes simd (notinbranch) if('x86_64') +</pre></div> + +<p>The purpose of the directive is to provide an API among the GCC compiler and +the GNU C Library which would define vector implementations of math routines. +</p> + + + + +</body> +</html> diff --git a/share/doc/gfortran/Behavior-on-integer-overflow.html b/share/doc/gfortran/Behavior-on-integer-overflow.html new file mode 100644 index 0000000..099e493 --- /dev/null +++ b/share/doc/gfortran/Behavior-on-integer-overflow.html @@ -0,0 +1,98 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Behavior on integer overflow</title> + +<meta name="description" content="The GNU Fortran Compiler: Behavior on integer overflow"> +<meta name="keywords" content="The GNU Fortran Compiler: Behavior on integer overflow"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Compiler-Characteristics.html#Compiler-Characteristics" rel="up" title="Compiler Characteristics"> +<link href="Extensions.html#Extensions" rel="next" title="Extensions"> +<link href="Asynchronous-I_002fO.html#Asynchronous-I_002fO" rel="previous" title="Asynchronous I/O"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Behavior-on-integer-overflow"></a> +<div class="header"> +<p> +Previous: <a href="Asynchronous-I_002fO.html#Asynchronous-I_002fO" accesskey="p" rel="previous">Asynchronous I/O</a>, Up: <a href="Compiler-Characteristics.html#Compiler-Characteristics" accesskey="u" rel="up">Compiler Characteristics</a> [<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> +</div> +<hr> +<a name="Behavior-on-integer-overflow-1"></a> +<h3 class="section">4.11 Behavior on integer overflow</h3> +<a name="index-integer-overflow"></a> +<a name="index-overflow-handling"></a> + +<p>Integer overflow is prohibited by the Fortran standard. The behavior +of gfortran on integer overflow is undefined by default. Traditional +code, like linear congruential pseudo-random number generators in old +programs that rely on specific, non-standard behavior may generate +unexpected results. The <samp>-fsanitize=undefined</samp> option can be +used to detect such code at runtime. +</p> +<p>It is recommended to use the intrinsic subroutine <code>RANDOM_NUMBER</code> +for random number generators or, if the old behavior is desired, to +use the <samp>-fwrapv</samp> option. Note that this option can impact +performance. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/Bitwise-logical-operators.html b/share/doc/gfortran/Bitwise-logical-operators.html new file mode 100644 index 0000000..57693d6 --- /dev/null +++ b/share/doc/gfortran/Bitwise-logical-operators.html @@ -0,0 +1,118 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Bitwise logical operators</title> + +<meta name="description" content="The GNU Fortran Compiler: Bitwise logical operators"> +<meta name="keywords" content="The GNU Fortran Compiler: Bitwise logical operators"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="Extended-I_002fO-specifiers.html#Extended-I_002fO-specifiers" rel="next" title="Extended I/O specifiers"> +<link href="_002eXOR_002e-operator.html#g_t_002eXOR_002e-operator" rel="previous" title=".XOR. operator"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Bitwise-logical-operators"></a> +<div class="header"> +<p> +Next: <a href="Extended-I_002fO-specifiers.html#Extended-I_002fO-specifiers" accesskey="n" rel="next">Extended I/O specifiers</a>, Previous: <a href="_002eXOR_002e-operator.html#g_t_002eXOR_002e-operator" accesskey="p" rel="previous">.XOR. operator</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> [<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> +</div> +<hr> +<a name="Bitwise-logical-operators-1"></a> +<h4 class="subsection">5.1.31 Bitwise logical operators</h4> +<a name="index-logical_002c-bitwise"></a> + +<p>With <samp>-fdec</samp>, GNU Fortran relaxes the type constraints on +logical operators to allow integer operands, and performs the corresponding +bitwise operation instead. This flag is for compatibility only, and should be +avoided in new code. Consider: +</p> +<div class="smallexample"> +<pre class="smallexample"> INTEGER :: i, j + i = z'33' + j = z'cc' + print *, i .AND. j +</pre></div> + +<p>In this example, compiled with <samp>-fdec</samp>, GNU Fortran will +replace the <code>.AND.</code> operation with a call to the intrinsic +<code><a href="IAND.html#IAND">IAND</a></code> function, yielding the bitwise-and of <code>i</code> and <code>j</code>. +</p> +<p>Note that this conversion will occur if at least one operand is of integral +type. As a result, a logical operand will be converted to an integer when the +other operand is an integer in a logical operation. In this case, +<code>.TRUE.</code> is converted to <code>1</code> and <code>.FALSE.</code> to <code>0</code>. +</p> +<p>Here is the mapping of logical operator to bitwise intrinsic used with +<samp>-fdec</samp>: +</p> +<table> +<thead><tr><th width="25%">Operator</th><th width="25%">Intrinsic</th><th width="50%">Bitwise operation</th></tr></thead> +<tr><td width="25%"><code>.NOT.</code></td><td width="25%"><code><a href="NOT.html#NOT">NOT</a></code></td><td width="50%">complement</td></tr> +<tr><td width="25%"><code>.AND.</code></td><td width="25%"><code><a href="IAND.html#IAND">IAND</a></code></td><td width="50%">intersection</td></tr> +<tr><td width="25%"><code>.OR.</code></td><td width="25%"><code><a href="IOR.html#IOR">IOR</a></code></td><td width="50%">union</td></tr> +<tr><td width="25%"><code>.NEQV.</code></td><td width="25%"><code><a href="IEOR.html#IEOR">IEOR</a></code></td><td width="50%">exclusive or</td></tr> +<tr><td width="25%"><code>.EQV.</code></td><td width="25%"><code><a href="NOT.html#NOT">NOT</a>(<a href="IEOR.html#IEOR">IEOR</a>)</code></td><td width="50%">complement of exclusive or</td></tr> +</table> + + + + +</body> +</html> diff --git a/share/doc/gfortran/CEILING.html b/share/doc/gfortran/CEILING.html new file mode 100644 index 0000000..b378836 --- /dev/null +++ b/share/doc/gfortran/CEILING.html @@ -0,0 +1,136 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: CEILING</title> + +<meta name="description" content="The GNU Fortran Compiler: CEILING"> +<meta name="keywords" content="The GNU Fortran Compiler: CEILING"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="CHAR.html#CHAR" rel="next" title="CHAR"> +<link href="C_005fSIZEOF.html#C_005fSIZEOF" rel="previous" title="C_SIZEOF"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="CEILING"></a> +<div class="header"> +<p> +Next: <a href="CHAR.html#CHAR" accesskey="n" rel="next">CHAR</a>, Previous: <a href="C_005fSIZEOF.html#C_005fSIZEOF" accesskey="p" rel="previous">C_SIZEOF</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="CEILING-_002d_002d_002d-Integer-ceiling-function"></a> +<h3 class="section">8.58 <code>CEILING</code> — Integer ceiling function</h3> +<a name="index-CEILING"></a> +<a name="index-ceiling-1"></a> +<a name="index-rounding_002c-ceiling-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>CEILING(A)</code> returns the least integer greater than or equal to <var>A</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 95 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = CEILING(A [, KIND])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>A</var></td><td width="70%">The type shall be <code>REAL</code>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER(KIND)</code> if <var>KIND</var> is present +and a default-kind <code>INTEGER</code> otherwise. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_ceiling + real :: x = 63.29 + real :: y = -63.59 + print *, ceiling(x) ! returns 64 + print *, ceiling(y) ! returns -63 +end program test_ceiling +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="FLOOR.html#FLOOR">FLOOR</a>, <br> +<a href="NINT.html#NINT">NINT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/CHAR.html b/share/doc/gfortran/CHAR.html new file mode 100644 index 0000000..6a3dbe5 --- /dev/null +++ b/share/doc/gfortran/CHAR.html @@ -0,0 +1,148 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: CHAR</title> + +<meta name="description" content="The GNU Fortran Compiler: CHAR"> +<meta name="keywords" content="The GNU Fortran Compiler: CHAR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="CHDIR.html#CHDIR" rel="next" title="CHDIR"> +<link href="CEILING.html#CEILING" rel="previous" title="CEILING"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="CHAR"></a> +<div class="header"> +<p> +Next: <a href="CHDIR.html#CHDIR" accesskey="n" rel="next">CHDIR</a>, Previous: <a href="CEILING.html#CEILING" accesskey="p" rel="previous">CEILING</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="CHAR-_002d_002d_002d-Character-conversion-function"></a> +<h3 class="section">8.59 <code>CHAR</code> — Character conversion function</h3> +<a name="index-CHAR"></a> +<a name="index-conversion_002c-to-character-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>CHAR(I [, KIND])</code> returns the character represented by the integer <var>I</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = CHAR(I [, KIND])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>CHARACTER(1)</code> +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_char + integer :: i = 74 + character(1) :: c + c = char(i) + print *, i, c ! returns 'J' +end program test_char +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="19%">Name</th><th width="19%">Argument</th><th width="25%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="19%"><code>CHAR(I)</code></td><td width="19%"><code>INTEGER I</code></td><td width="25%"><code>CHARACTER(LEN=1)</code></td><td width="33%">Fortran 77 and later</td></tr> +</table> + +</dd> +<dt><em>Note</em>:</dt> +<dd><p>See <a href="ICHAR.html#ICHAR">ICHAR</a> for a discussion of converting between numerical values +and formatted string representations. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ACHAR.html#ACHAR">ACHAR</a>, <br> +<a href="IACHAR.html#IACHAR">IACHAR</a>, <br> +<a href="ICHAR.html#ICHAR">ICHAR</a> +</p> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/CHDIR.html b/share/doc/gfortran/CHDIR.html new file mode 100644 index 0000000..39211ec --- /dev/null +++ b/share/doc/gfortran/CHDIR.html @@ -0,0 +1,139 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: CHDIR</title> + +<meta name="description" content="The GNU Fortran Compiler: CHDIR"> +<meta name="keywords" content="The GNU Fortran Compiler: CHDIR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="CHMOD.html#CHMOD" rel="next" title="CHMOD"> +<link href="CHAR.html#CHAR" rel="previous" title="CHAR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="CHDIR"></a> +<div class="header"> +<p> +Next: <a href="CHMOD.html#CHMOD" accesskey="n" rel="next">CHMOD</a>, Previous: <a href="CHAR.html#CHAR" accesskey="p" rel="previous">CHAR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="CHDIR-_002d_002d_002d-Change-working-directory"></a> +<h3 class="section">8.60 <code>CHDIR</code> — Change working directory</h3> +<a name="index-CHDIR"></a> +<a name="index-system_002c-working-directory"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Change current working directory to a specified path. +</p> +<p>This intrinsic is provided in both subroutine and function forms; however, +only one form can be used in any given program unit. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL CHDIR(NAME [, STATUS])</code></td></tr> +<tr><td width="80%"><code>STATUS = CHDIR(NAME)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>NAME</var></td><td width="70%">The type shall be <code>CHARACTER</code> of default +kind and shall specify a valid path within the file system.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">(Optional) <code>INTEGER</code> status flag of the default +kind. Returns 0 on success, and a system specific and nonzero error code +otherwise.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_chdir + CHARACTER(len=255) :: path + CALL getcwd(path) + WRITE(*,*) TRIM(path) + CALL chdir("/tmp") + CALL getcwd(path) + WRITE(*,*) TRIM(path) +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="GETCWD.html#GETCWD">GETCWD</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/CHMOD.html b/share/doc/gfortran/CHMOD.html new file mode 100644 index 0000000..f9ad778 --- /dev/null +++ b/share/doc/gfortran/CHMOD.html @@ -0,0 +1,154 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: CHMOD</title> + +<meta name="description" content="The GNU Fortran Compiler: CHMOD"> +<meta name="keywords" content="The GNU Fortran Compiler: CHMOD"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="CMPLX.html#CMPLX" rel="next" title="CMPLX"> +<link href="CHDIR.html#CHDIR" rel="previous" title="CHDIR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="CHMOD"></a> +<div class="header"> +<p> +Next: <a href="CMPLX.html#CMPLX" accesskey="n" rel="next">CMPLX</a>, Previous: <a href="CHDIR.html#CHDIR" accesskey="p" rel="previous">CHDIR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="CHMOD-_002d_002d_002d-Change-access-permissions-of-files"></a> +<h3 class="section">8.61 <code>CHMOD</code> — Change access permissions of files</h3> +<a name="index-CHMOD"></a> +<a name="index-file-system_002c-change-access-mode"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>CHMOD</code> changes the permissions of a file. +</p> +<p>This intrinsic is provided in both subroutine and function forms; however, +only one form can be used in any given program unit. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL CHMOD(NAME, MODE[, STATUS])</code></td></tr> +<tr><td width="80%"><code>STATUS = CHMOD(NAME, MODE)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>NAME</var></td><td width="70%">Scalar <code>CHARACTER</code> of default kind with the +file name. Trailing blanks are ignored unless the character +<code>achar(0)</code> is present, then all characters up to and excluding +<code>achar(0)</code> are used as the file name.</td></tr> +<tr><td width="15%"><var>MODE</var></td><td width="70%">Scalar <code>CHARACTER</code> of default kind giving the +file permission. <var>MODE</var> uses the same syntax as the <code>chmod</code> utility +as defined by the POSIX standard. The argument shall either be a string of +a nonnegative octal number or a symbolic mode.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">(optional) scalar <code>INTEGER</code>, which is +<code>0</code> on success and nonzero otherwise.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>In either syntax, <var>STATUS</var> is set to <code>0</code> on success and nonzero +otherwise. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><p><code>CHMOD</code> as subroutine +</p><div class="smallexample"> +<pre class="smallexample">program chmod_test + implicit none + integer :: status + call chmod('test.dat','u+x',status) + print *, 'Status: ', status +end program chmod_test +</pre></div> +<p><code>CHMOD</code> as function: +</p><div class="smallexample"> +<pre class="smallexample">program chmod_test + implicit none + integer :: status + status = chmod('test.dat','u+x') + print *, 'Status: ', status +end program chmod_test +</pre></div> + +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/CMPLX.html b/share/doc/gfortran/CMPLX.html new file mode 100644 index 0000000..6b9ec04 --- /dev/null +++ b/share/doc/gfortran/CMPLX.html @@ -0,0 +1,144 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: CMPLX</title> + +<meta name="description" content="The GNU Fortran Compiler: CMPLX"> +<meta name="keywords" content="The GNU Fortran Compiler: CMPLX"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="CO_005fBROADCAST.html#CO_005fBROADCAST" rel="next" title="CO_BROADCAST"> +<link href="CHMOD.html#CHMOD" rel="previous" title="CHMOD"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="CMPLX"></a> +<div class="header"> +<p> +Next: <a href="CO_005fBROADCAST.html#CO_005fBROADCAST" accesskey="n" rel="next">CO_BROADCAST</a>, Previous: <a href="CHMOD.html#CHMOD" accesskey="p" rel="previous">CHMOD</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="CMPLX-_002d_002d_002d-Complex-conversion-function"></a> +<h3 class="section">8.62 <code>CMPLX</code> — Complex conversion function</h3> +<a name="index-CMPLX"></a> +<a name="index-complex-numbers_002c-conversion-to"></a> +<a name="index-conversion_002c-to-complex"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>CMPLX(X [, Y [, KIND]])</code> returns a complex number where <var>X</var> is converted to +the real component. If <var>Y</var> is present it is converted to the imaginary +component. If <var>Y</var> is not present then the imaginary component is set to +0.0. If <var>X</var> is complex then <var>Y</var> must not be present. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = CMPLX(X [, Y [, KIND]])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type may be <code>INTEGER</code>, <code>REAL</code>, +or <code>COMPLEX</code>.</td></tr> +<tr><td width="15%"><var>Y</var></td><td width="70%">(Optional; only allowed if <var>X</var> is not +<code>COMPLEX</code>.) May be <code>INTEGER</code> or <code>REAL</code>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of <code>COMPLEX</code> type, with a kind equal to +<var>KIND</var> if it is specified. If <var>KIND</var> is not specified, the +result is of the default <code>COMPLEX</code> kind, regardless of the kinds of +<var>X</var> and <var>Y</var>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_cmplx + integer :: i = 42 + real :: x = 3.14 + complex :: z + z = cmplx(i, x) + print *, z, cmplx(x) +end program test_cmplx +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="COMPLEX.html#COMPLEX">COMPLEX</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/COMMAND_005fARGUMENT_005fCOUNT.html b/share/doc/gfortran/COMMAND_005fARGUMENT_005fCOUNT.html new file mode 100644 index 0000000..011bd30 --- /dev/null +++ b/share/doc/gfortran/COMMAND_005fARGUMENT_005fCOUNT.html @@ -0,0 +1,134 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: COMMAND_ARGUMENT_COUNT</title> + +<meta name="description" content="The GNU Fortran Compiler: COMMAND_ARGUMENT_COUNT"> +<meta name="keywords" content="The GNU Fortran Compiler: COMMAND_ARGUMENT_COUNT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="COMPILER_005fOPTIONS.html#COMPILER_005fOPTIONS" rel="next" title="COMPILER_OPTIONS"> +<link href="CO_005fSUM.html#CO_005fSUM" rel="previous" title="CO_SUM"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="COMMAND_005fARGUMENT_005fCOUNT"></a> +<div class="header"> +<p> +Next: <a href="COMPILER_005fOPTIONS.html#COMPILER_005fOPTIONS" accesskey="n" rel="next">COMPILER_OPTIONS</a>, Previous: <a href="CO_005fSUM.html#CO_005fSUM" accesskey="p" rel="previous">CO_SUM</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="COMMAND_005fARGUMENT_005fCOUNT-_002d_002d_002d-Get-number-of-command-line-arguments"></a> +<h3 class="section">8.68 <code>COMMAND_ARGUMENT_COUNT</code> — Get number of command line arguments</h3> +<a name="index-COMMAND_005fARGUMENT_005fCOUNT"></a> +<a name="index-command_002dline-arguments"></a> +<a name="index-command_002dline-arguments_002c-number-of"></a> +<a name="index-arguments_002c-to-program"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>COMMAND_ARGUMENT_COUNT</code> returns the number of arguments passed on the +command line when the containing program was invoked. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = COMMAND_ARGUMENT_COUNT()</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%">None</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is an <code>INTEGER</code> of default kind. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_command_argument_count + integer :: count + count = command_argument_count() + print *, count +end program test_command_argument_count +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="GET_005fCOMMAND.html#GET_005fCOMMAND">GET_COMMAND</a>, <br> +<a href="GET_005fCOMMAND_005fARGUMENT.html#GET_005fCOMMAND_005fARGUMENT">GET_COMMAND_ARGUMENT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/COMPILER_005fOPTIONS.html b/share/doc/gfortran/COMPILER_005fOPTIONS.html new file mode 100644 index 0000000..66db9b8 --- /dev/null +++ b/share/doc/gfortran/COMPILER_005fOPTIONS.html @@ -0,0 +1,134 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: COMPILER_OPTIONS</title> + +<meta name="description" content="The GNU Fortran Compiler: COMPILER_OPTIONS"> +<meta name="keywords" content="The GNU Fortran Compiler: COMPILER_OPTIONS"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="COMPILER_005fVERSION.html#COMPILER_005fVERSION" rel="next" title="COMPILER_VERSION"> +<link href="COMMAND_005fARGUMENT_005fCOUNT.html#COMMAND_005fARGUMENT_005fCOUNT" rel="previous" title="COMMAND_ARGUMENT_COUNT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="COMPILER_005fOPTIONS"></a> +<div class="header"> +<p> +Next: <a href="COMPILER_005fVERSION.html#COMPILER_005fVERSION" accesskey="n" rel="next">COMPILER_VERSION</a>, Previous: <a href="COMMAND_005fARGUMENT_005fCOUNT.html#COMMAND_005fARGUMENT_005fCOUNT" accesskey="p" rel="previous">COMMAND_ARGUMENT_COUNT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="COMPILER_005fOPTIONS-_002d_002d_002d-Options-passed-to-the-compiler"></a> +<h3 class="section">8.69 <code>COMPILER_OPTIONS</code> — Options passed to the compiler</h3> +<a name="index-COMPILER_005fOPTIONS"></a> +<a name="index-flags-inquiry-function"></a> +<a name="index-options-inquiry-function"></a> +<a name="index-compiler-flags-inquiry-function"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>COMPILER_OPTIONS</code> returns a string with the options used for +compiling. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function of the module <code>ISO_FORTRAN_ENV</code> +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>STR = COMPILER_OPTIONS()</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><p>None +</p> +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is a default-kind string with system-dependent length. +It contains the compiler flags used to compile the file, which called +the <code>COMPILER_OPTIONS</code> intrinsic. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample"> use iso_fortran_env + print '(4a)', 'This file was compiled by ', & + compiler_version(), ' using the options ', & + compiler_options() + end +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="COMPILER_005fVERSION.html#COMPILER_005fVERSION">COMPILER_VERSION</a>, <br> +<a href="ISO_005fFORTRAN_005fENV.html#ISO_005fFORTRAN_005fENV">ISO_FORTRAN_ENV</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/COMPILER_005fVERSION.html b/share/doc/gfortran/COMPILER_005fVERSION.html new file mode 100644 index 0000000..2075983 --- /dev/null +++ b/share/doc/gfortran/COMPILER_005fVERSION.html @@ -0,0 +1,132 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: COMPILER_VERSION</title> + +<meta name="description" content="The GNU Fortran Compiler: COMPILER_VERSION"> +<meta name="keywords" content="The GNU Fortran Compiler: COMPILER_VERSION"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="COMPLEX.html#COMPLEX" rel="next" title="COMPLEX"> +<link href="COMPILER_005fOPTIONS.html#COMPILER_005fOPTIONS" rel="previous" title="COMPILER_OPTIONS"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="COMPILER_005fVERSION"></a> +<div class="header"> +<p> +Next: <a href="COMPLEX.html#COMPLEX" accesskey="n" rel="next">COMPLEX</a>, Previous: <a href="COMPILER_005fOPTIONS.html#COMPILER_005fOPTIONS" accesskey="p" rel="previous">COMPILER_OPTIONS</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="COMPILER_005fVERSION-_002d_002d_002d-Compiler-version-string"></a> +<h3 class="section">8.70 <code>COMPILER_VERSION</code> — Compiler version string</h3> +<a name="index-COMPILER_005fVERSION"></a> +<a name="index-compiler_002c-name-and-version"></a> +<a name="index-version-of-the-compiler"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>COMPILER_VERSION</code> returns a string with the name and the +version of the compiler. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function of the module <code>ISO_FORTRAN_ENV</code> +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>STR = COMPILER_VERSION()</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><p>None +</p> +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is a default-kind string with system-dependent length. +It contains the name of the compiler and its version number. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample"> use iso_fortran_env + print '(4a)', 'This file was compiled by ', & + compiler_version(), ' using the options ', & + compiler_options() + end +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="COMPILER_005fOPTIONS.html#COMPILER_005fOPTIONS">COMPILER_OPTIONS</a>, <br> +<a href="ISO_005fFORTRAN_005fENV.html#ISO_005fFORTRAN_005fENV">ISO_FORTRAN_ENV</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/COMPLEX.html b/share/doc/gfortran/COMPLEX.html new file mode 100644 index 0000000..2b754fd --- /dev/null +++ b/share/doc/gfortran/COMPLEX.html @@ -0,0 +1,140 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: COMPLEX</title> + +<meta name="description" content="The GNU Fortran Compiler: COMPLEX"> +<meta name="keywords" content="The GNU Fortran Compiler: COMPLEX"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="CONJG.html#CONJG" rel="next" title="CONJG"> +<link href="COMPILER_005fVERSION.html#COMPILER_005fVERSION" rel="previous" title="COMPILER_VERSION"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="COMPLEX"></a> +<div class="header"> +<p> +Next: <a href="CONJG.html#CONJG" accesskey="n" rel="next">CONJG</a>, Previous: <a href="COMPILER_005fVERSION.html#COMPILER_005fVERSION" accesskey="p" rel="previous">COMPILER_VERSION</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="COMPLEX-_002d_002d_002d-Complex-conversion-function"></a> +<h3 class="section">8.71 <code>COMPLEX</code> — Complex conversion function</h3> +<a name="index-COMPLEX"></a> +<a name="index-complex-numbers_002c-conversion-to-1"></a> +<a name="index-conversion_002c-to-complex-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>COMPLEX(X, Y)</code> returns a complex number where <var>X</var> is converted +to the real component and <var>Y</var> is converted to the imaginary +component. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = COMPLEX(X, Y)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type may be <code>INTEGER</code> or <code>REAL</code>.</td></tr> +<tr><td width="15%"><var>Y</var></td><td width="70%">The type may be <code>INTEGER</code> or <code>REAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>If <var>X</var> and <var>Y</var> are both of <code>INTEGER</code> type, then the return +value is of default <code>COMPLEX</code> type. +</p> +<p>If <var>X</var> and <var>Y</var> are of <code>REAL</code> type, or one is of <code>REAL</code> +type and one is of <code>INTEGER</code> type, then the return value is of +<code>COMPLEX</code> type with a kind equal to that of the <code>REAL</code> +argument with the highest precision. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_complex + integer :: i = 42 + real :: x = 3.14 + print *, complex(i, x) +end program test_complex +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="CMPLX.html#CMPLX">CMPLX</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/CONJG.html b/share/doc/gfortran/CONJG.html new file mode 100644 index 0000000..17c4954 --- /dev/null +++ b/share/doc/gfortran/CONJG.html @@ -0,0 +1,138 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: CONJG</title> + +<meta name="description" content="The GNU Fortran Compiler: CONJG"> +<meta name="keywords" content="The GNU Fortran Compiler: CONJG"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="COS.html#COS" rel="next" title="COS"> +<link href="COMPLEX.html#COMPLEX" rel="previous" title="COMPLEX"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="CONJG"></a> +<div class="header"> +<p> +Next: <a href="COS.html#COS" accesskey="n" rel="next">COS</a>, Previous: <a href="COMPLEX.html#COMPLEX" accesskey="p" rel="previous">COMPLEX</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="CONJG-_002d_002d_002d-Complex-conjugate-function"></a> +<h3 class="section">8.72 <code>CONJG</code> — Complex conjugate function</h3> +<a name="index-CONJG"></a> +<a name="index-DCONJG"></a> +<a name="index-complex-conjugate"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>CONJG(Z)</code> returns the conjugate of <var>Z</var>. If <var>Z</var> is <code>(x, y)</code> +then the result is <code>(x, -y)</code> +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later, has an overload that is a GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>Z = CONJG(Z)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>Z</var></td><td width="70%">The type shall be <code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>COMPLEX</code>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_conjg + complex :: z = (2.0, 3.0) + complex(8) :: dz = (2.71_8, -3.14_8) + z= conjg(z) + print *, z + dz = dconjg(dz) + print *, dz +end program test_conjg +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>DCONJG(Z)</code></td><td width="23%"><code>COMPLEX(8) Z</code></td><td width="20%"><code>COMPLEX(8)</code></td><td width="33%">GNU extension</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/CONVERT-specifier.html b/share/doc/gfortran/CONVERT-specifier.html new file mode 100644 index 0000000..e98a9ea --- /dev/null +++ b/share/doc/gfortran/CONVERT-specifier.html @@ -0,0 +1,144 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: CONVERT specifier</title> + +<meta name="description" content="The GNU Fortran Compiler: CONVERT specifier"> +<meta name="keywords" content="The GNU Fortran Compiler: CONVERT specifier"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="OpenMP.html#OpenMP" rel="next" title="OpenMP"> +<link href="Cray-pointers.html#Cray-pointers" rel="previous" title="Cray pointers"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="CONVERT-specifier"></a> +<div class="header"> +<p> +Next: <a href="OpenMP.html#OpenMP" accesskey="n" rel="next">OpenMP</a>, Previous: <a href="Cray-pointers.html#Cray-pointers" accesskey="p" rel="previous">Cray pointers</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> [<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> +</div> +<hr> +<a name="CONVERT-specifier-1"></a> +<h4 class="subsection">5.1.17 <code>CONVERT</code> specifier</h4> +<a name="index-CONVERT-specifier"></a> + +<p>GNU Fortran allows the conversion of unformatted data between little- +and big-endian representation to facilitate moving of data +between different systems. The conversion can be indicated with +the <code>CONVERT</code> specifier on the <code>OPEN</code> statement. +See <a href="GFORTRAN_005fCONVERT_005fUNIT.html#GFORTRAN_005fCONVERT_005fUNIT">GFORTRAN_CONVERT_UNIT</a>, for an alternative way of specifying +the data format via an environment variable. +</p> +<p>Valid values for <code>CONVERT</code> on most systems are: +</p><ul class="no-bullet"> +<li><!-- /@w --> <code>CONVERT='NATIVE'</code> Use the native format. This is the default. +</li><li><!-- /@w --> <code>CONVERT='SWAP'</code> Swap between little- and big-endian. +</li><li><!-- /@w --> <code>CONVERT='LITTLE_ENDIAN'</code> Use the little-endian representation +for unformatted files. +</li><li><!-- /@w --> <code>CONVERT='BIG_ENDIAN'</code> Use the big-endian representation for +unformatted files. +</li></ul> +<p>On POWER systems which support <samp>-mabi=ieeelongdouble</samp>, +there are additional options, which can be combined with the others +with commas. Those are +</p><ul class="no-bullet"> +<li><!-- /@w --> <code>CONVERT='R16_IEEE'</code> Use IEEE 128-bit format for +<code>REAL(KIND=16)</code>. +</li><li><!-- /@w --> <code>CONVERT='R16_IBM'</code> Use IBM <code>long double</code> format for +real<code>REAL(KIND=16)</code>. +</li></ul> + +<p>Using the option could look like this: +</p><div class="smallexample"> +<pre class="smallexample"> open(file='big.dat',form='unformatted',access='sequential', & + convert='big_endian') +</pre></div> + +<p>The value of the conversion can be queried by using +<code>INQUIRE(CONVERT=ch)</code>. The values returned are +<code>'BIG_ENDIAN'</code> and <code>'LITTLE_ENDIAN'</code>. +</p> +<p><code>CONVERT</code> works between big- and little-endian for +<code>INTEGER</code> values of all supported kinds and for <code>REAL</code> +on IEEE systems of kinds 4 and 8. Conversion between different +“extended double” types on different architectures such as +m68k and x86_64, which GNU Fortran +supports as <code>REAL(KIND=10)</code> and <code>REAL(KIND=16)</code>, will +probably not work. +</p> +<p><em>Note that the values specified via the GFORTRAN_CONVERT_UNIT +environment variable will override the CONVERT specifier in the +open statement</em>. This is to give control over data formats to +users who do not have the source code of their program available. +</p> +<p>Using anything but the native representation for unformatted data +carries a significant speed overhead. If speed in this area matters +to you, it is best if you use this only for data that needs to be +portable. +</p> +<hr> +<div class="header"> +<p> +Next: <a href="OpenMP.html#OpenMP" accesskey="n" rel="next">OpenMP</a>, Previous: <a href="Cray-pointers.html#Cray-pointers" accesskey="p" rel="previous">Cray pointers</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> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/COS.html b/share/doc/gfortran/COS.html new file mode 100644 index 0000000..337a934 --- /dev/null +++ b/share/doc/gfortran/COS.html @@ -0,0 +1,151 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: COS</title> + +<meta name="description" content="The GNU Fortran Compiler: COS"> +<meta name="keywords" content="The GNU Fortran Compiler: COS"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="COSD.html#COSD" rel="next" title="COSD"> +<link href="CONJG.html#CONJG" rel="previous" title="CONJG"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="COS"></a> +<div class="header"> +<p> +Next: <a href="COSD.html#COSD" accesskey="n" rel="next">COSD</a>, Previous: <a href="CONJG.html#CONJG" accesskey="p" rel="previous">CONJG</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="COS-_002d_002d_002d-Cosine-function"></a> +<h3 class="section">8.73 <code>COS</code> — Cosine function</h3> +<a name="index-COS"></a> +<a name="index-DCOS"></a> +<a name="index-CCOS"></a> +<a name="index-ZCOS"></a> +<a name="index-CDCOS"></a> +<a name="index-trigonometric-function_002c-cosine"></a> +<a name="index-cosine"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>COS(X)</code> computes the cosine of <var>X</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later, has overloads that are GNU extensions +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = COS(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code> or +<code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of the same type and kind as <var>X</var>. The real part +of the result is in radians. If <var>X</var> is of the type <code>REAL</code>, +the return value lies in the range <em>-1 \leq \cos (x) \leq 1</em>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_cos + real :: x = 0.0 + x = cos(x) +end program test_cos +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>COS(X)</code></td><td width="23%"><code>REAL(4) X</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>DCOS(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>CCOS(X)</code></td><td width="23%"><code>COMPLEX(4) X</code></td><td width="20%"><code>COMPLEX(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>ZCOS(X)</code></td><td width="23%"><code>COMPLEX(8) X</code></td><td width="20%"><code>COMPLEX(8)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>CDCOS(X)</code></td><td width="23%"><code>COMPLEX(8) X</code></td><td width="20%"><code>COMPLEX(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Inverse function: <br> +<a href="ACOS.html#ACOS">ACOS</a> <br> +Degrees function: <br> +<a href="COSD.html#COSD">COSD</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/COSD.html b/share/doc/gfortran/COSD.html new file mode 100644 index 0000000..7b54c78 --- /dev/null +++ b/share/doc/gfortran/COSD.html @@ -0,0 +1,154 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: COSD</title> + +<meta name="description" content="The GNU Fortran Compiler: COSD"> +<meta name="keywords" content="The GNU Fortran Compiler: COSD"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="COSH.html#COSH" rel="next" title="COSH"> +<link href="COS.html#COS" rel="previous" title="COS"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="COSD"></a> +<div class="header"> +<p> +Next: <a href="COSH.html#COSH" accesskey="n" rel="next">COSH</a>, Previous: <a href="COS.html#COS" accesskey="p" rel="previous">COS</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="COSD-_002d_002d_002d-Cosine-function_002c-degrees"></a> +<h3 class="section">8.74 <code>COSD</code> — Cosine function, degrees</h3> +<a name="index-COSD"></a> +<a name="index-DCOSD"></a> +<a name="index-CCOSD"></a> +<a name="index-ZCOSD"></a> +<a name="index-CDCOSD"></a> +<a name="index-trigonometric-function_002c-cosine_002c-degrees"></a> +<a name="index-cosine_002c-degrees"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>COSD(X)</code> computes the cosine of <var>X</var> in degrees. +</p> +<p>This function is for compatibility only and should be avoided in favor of +standard constructs wherever possible. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension, enabled with <samp>-fdec-math</samp>. +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = COSD(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code> or +<code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of the same type and kind as <var>X</var>. The real part +of the result is in degrees. If <var>X</var> is of the type <code>REAL</code>, +the return value lies in the range <em>-1 \leq \cosd (x) \leq 1</em>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_cosd + real :: x = 0.0 + x = cosd(x) +end program test_cosd +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>COSD(X)</code></td><td width="23%"><code>REAL(4) X</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>DCOSD(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>CCOSD(X)</code></td><td width="23%"><code>COMPLEX(4) X</code></td><td width="20%"><code>COMPLEX(4)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>ZCOSD(X)</code></td><td width="23%"><code>COMPLEX(8) X</code></td><td width="20%"><code>COMPLEX(8)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>CDCOSD(X)</code></td><td width="23%"><code>COMPLEX(8) X</code></td><td width="20%"><code>COMPLEX(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Inverse function: <br> +<a href="ACOSD.html#ACOSD">ACOSD</a> <br> +Radians function: <br> +<a href="COS.html#COS">COS</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/COSH.html b/share/doc/gfortran/COSH.html new file mode 100644 index 0000000..a8c34f6 --- /dev/null +++ b/share/doc/gfortran/COSH.html @@ -0,0 +1,144 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: COSH</title> + +<meta name="description" content="The GNU Fortran Compiler: COSH"> +<meta name="keywords" content="The GNU Fortran Compiler: COSH"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="COTAN.html#COTAN" rel="next" title="COTAN"> +<link href="COSD.html#COSD" rel="previous" title="COSD"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="COSH"></a> +<div class="header"> +<p> +Next: <a href="COTAN.html#COTAN" accesskey="n" rel="next">COTAN</a>, Previous: <a href="COSD.html#COSD" accesskey="p" rel="previous">COSD</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="COSH-_002d_002d_002d-Hyperbolic-cosine-function"></a> +<h3 class="section">8.75 <code>COSH</code> — Hyperbolic cosine function</h3> +<a name="index-COSH"></a> +<a name="index-DCOSH"></a> +<a name="index-hyperbolic-cosine"></a> +<a name="index-hyperbolic-function_002c-cosine"></a> +<a name="index-cosine_002c-hyperbolic"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>COSH(X)</code> computes the hyperbolic cosine of <var>X</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later, for a complex argument Fortran 2008 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>X = COSH(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code> or <code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value has same type and kind as <var>X</var>. If <var>X</var> is +complex, the imaginary part of the result is in radians. If <var>X</var> +is <code>REAL</code>, the return value has a lower bound of one, +<em>\cosh (x) \geq 1</em>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_cosh + real(8) :: x = 1.0_8 + x = cosh(x) +end program test_cosh +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>COSH(X)</code></td><td width="23%"><code>REAL(4) X</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>DCOSH(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">Fortran 77 and later</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Inverse function: <br> +<a href="ACOSH.html#ACOSH">ACOSH</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/COTAN.html b/share/doc/gfortran/COTAN.html new file mode 100644 index 0000000..68803ab --- /dev/null +++ b/share/doc/gfortran/COTAN.html @@ -0,0 +1,146 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: COTAN</title> + +<meta name="description" content="The GNU Fortran Compiler: COTAN"> +<meta name="keywords" content="The GNU Fortran Compiler: COTAN"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="COTAND.html#COTAND" rel="next" title="COTAND"> +<link href="COSH.html#COSH" rel="previous" title="COSH"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="COTAN"></a> +<div class="header"> +<p> +Next: <a href="COTAND.html#COTAND" accesskey="n" rel="next">COTAND</a>, Previous: <a href="COSH.html#COSH" accesskey="p" rel="previous">COSH</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="COTAN-_002d_002d_002d-Cotangent-function"></a> +<h3 class="section">8.76 <code>COTAN</code> — Cotangent function</h3> +<a name="index-COTAN"></a> +<a name="index-DCOTAN"></a> +<a name="index-trigonometric-function_002c-cotangent"></a> +<a name="index-cotangent"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>COTAN(X)</code> computes the cotangent of <var>X</var>. Equivalent to <code>COS(x)</code> +divided by <code>SIN(x)</code>, or <code>1 / TAN(x)</code>. +</p> +<p>This function is for compatibility only and should be avoided in favor of +standard constructs wherever possible. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension, enabled with <samp>-fdec-math</samp>. +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = COTAN(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code> or <code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value has same type and kind as <var>X</var>, and its value is in radians. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_cotan + real(8) :: x = 0.165_8 + x = cotan(x) +end program test_cotan +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>COTAN(X)</code></td><td width="23%"><code>REAL(4) X</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>DCOTAN(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Converse function: <br> +<a href="TAN.html#TAN">TAN</a> <br> +Degrees function: <br> +<a href="COTAND.html#COTAND">COTAND</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/COTAND.html b/share/doc/gfortran/COTAND.html new file mode 100644 index 0000000..ecda6d3 --- /dev/null +++ b/share/doc/gfortran/COTAND.html @@ -0,0 +1,146 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: COTAND</title> + +<meta name="description" content="The GNU Fortran Compiler: COTAND"> +<meta name="keywords" content="The GNU Fortran Compiler: COTAND"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="COUNT.html#COUNT" rel="next" title="COUNT"> +<link href="COTAN.html#COTAN" rel="previous" title="COTAN"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="COTAND"></a> +<div class="header"> +<p> +Next: <a href="COUNT.html#COUNT" accesskey="n" rel="next">COUNT</a>, Previous: <a href="COTAN.html#COTAN" accesskey="p" rel="previous">COTAN</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="COTAND-_002d_002d_002d-Cotangent-function_002c-degrees"></a> +<h3 class="section">8.77 <code>COTAND</code> — Cotangent function, degrees</h3> +<a name="index-COTAND"></a> +<a name="index-DCOTAND"></a> +<a name="index-trigonometric-function_002c-cotangent_002c-degrees"></a> +<a name="index-cotangent_002c-degrees"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>COTAND(X)</code> computes the cotangent of <var>X</var> in degrees. Equivalent to +<code>COSD(x)</code> divided by <code>SIND(x)</code>, or <code>1 / TAND(x)</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension, enabled with <samp>-fdec-math</samp>. +</p> +<p>This function is for compatibility only and should be avoided in favor of +standard constructs wherever possible. +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = COTAND(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code> or <code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value has same type and kind as <var>X</var>, and its value is in degrees. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_cotand + real(8) :: x = 0.165_8 + x = cotand(x) +end program test_cotand +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>COTAND(X)</code></td><td width="23%"><code>REAL(4) X</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>DCOTAND(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Converse function: <br> +<a href="TAND.html#TAND">TAND</a> <br> +Radians function: <br> +<a href="COTAN.html#COTAN">COTAN</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/COUNT.html b/share/doc/gfortran/COUNT.html new file mode 100644 index 0000000..d561ad0 --- /dev/null +++ b/share/doc/gfortran/COUNT.html @@ -0,0 +1,161 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: COUNT</title> + +<meta name="description" content="The GNU Fortran Compiler: COUNT"> +<meta name="keywords" content="The GNU Fortran Compiler: COUNT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="CPU_005fTIME.html#CPU_005fTIME" rel="next" title="CPU_TIME"> +<link href="COTAND.html#COTAND" rel="previous" title="COTAND"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="COUNT"></a> +<div class="header"> +<p> +Next: <a href="CPU_005fTIME.html#CPU_005fTIME" accesskey="n" rel="next">CPU_TIME</a>, Previous: <a href="COTAND.html#COTAND" accesskey="p" rel="previous">COTAND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="COUNT-_002d_002d_002d-Count-function"></a> +<h3 class="section">8.78 <code>COUNT</code> — Count function</h3> +<a name="index-COUNT"></a> +<a name="index-array_002c-conditionally-count-elements"></a> +<a name="index-array_002c-element-counting"></a> +<a name="index-array_002c-number-of-elements"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd> +<p>Counts the number of <code>.TRUE.</code> elements in a logical <var>MASK</var>, +or, if the <var>DIM</var> argument is supplied, counts the number of +elements along each row of the array in the <var>DIM</var> direction. +If the array has zero size, or all of the elements of <var>MASK</var> are +<code>.FALSE.</code>, then the result is <code>0</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later, with <var>KIND</var> argument Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = COUNT(MASK [, DIM, KIND])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>MASK</var></td><td width="70%">The type shall be <code>LOGICAL</code>.</td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">(Optional) The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of kind <var>KIND</var>. If +<var>KIND</var> is absent, the return value is of default integer kind. +If <var>DIM</var> is present, the result is an array with a rank one less +than the rank of <var>ARRAY</var>, and a size corresponding to the shape +of <var>ARRAY</var> with the <var>DIM</var> dimension removed. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_count + integer, dimension(2,3) :: a, b + logical, dimension(2,3) :: mask + a = reshape( (/ 1, 2, 3, 4, 5, 6 /), (/ 2, 3 /)) + b = reshape( (/ 0, 7, 3, 4, 5, 8 /), (/ 2, 3 /)) + print '(3i3)', a(1,:) + print '(3i3)', a(2,:) + print * + print '(3i3)', b(1,:) + print '(3i3)', b(2,:) + print * + mask = a.ne.b + print '(3l3)', mask(1,:) + print '(3l3)', mask(2,:) + print * + print '(3i3)', count(mask) + print * + print '(3i3)', count(mask, 1) + print * + print '(3i3)', count(mask, 2) +end program test_count +</pre></div> +</dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="CPU_005fTIME.html#CPU_005fTIME" accesskey="n" rel="next">CPU_TIME</a>, Previous: <a href="COTAND.html#COTAND" accesskey="p" rel="previous">COTAND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/CO_005fBROADCAST.html b/share/doc/gfortran/CO_005fBROADCAST.html new file mode 100644 index 0000000..a1c4ca0 --- /dev/null +++ b/share/doc/gfortran/CO_005fBROADCAST.html @@ -0,0 +1,144 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: CO_BROADCAST</title> + +<meta name="description" content="The GNU Fortran Compiler: CO_BROADCAST"> +<meta name="keywords" content="The GNU Fortran Compiler: CO_BROADCAST"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="CO_005fMAX.html#CO_005fMAX" rel="next" title="CO_MAX"> +<link href="CMPLX.html#CMPLX" rel="previous" title="CMPLX"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="CO_005fBROADCAST"></a> +<div class="header"> +<p> +Next: <a href="CO_005fMAX.html#CO_005fMAX" accesskey="n" rel="next">CO_MAX</a>, Previous: <a href="CMPLX.html#CMPLX" accesskey="p" rel="previous">CMPLX</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="CO_005fBROADCAST-_002d_002d_002d-Copy-a-value-to-all-images-the-current-set-of-images"></a> +<h3 class="section">8.63 <code>CO_BROADCAST</code> — Copy a value to all images the current set of images</h3> +<a name="index-CO_005fBROADCAST"></a> +<a name="index-Collectives_002c-value-broadcasting"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>CO_BROADCAST</code> copies the value of argument <var>A</var> on the image with +image index <code>SOURCE_IMAGE</code> to all images in the current team. <var>A</var> +becomes defined as if by intrinsic assignment. If the execution was +successful and <var>STAT</var> is present, it is assigned the value zero. If the +execution failed, <var>STAT</var> gets assigned a nonzero value and, if present, +<var>ERRMSG</var> gets assigned a value describing the occurred error. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Technical Specification (TS) 18508 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Collective subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL CO_BROADCAST(A, SOURCE_IMAGE [, STAT, ERRMSG])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="20%"><var>A</var></td><td width="65%">INTENT(INOUT) argument; shall have the same +dynamic type and type parameters on all images of the current team. If it +is an array, it shall have the same shape on all images.</td></tr> +<tr><td width="20%"><var>SOURCE_IMAGE</var></td><td width="65%">a scalar integer expression. +It shall have the same value on all images and refer to an +image of the current team.</td></tr> +<tr><td width="20%"><var>STAT</var></td><td width="65%">(optional) a scalar integer variable</td></tr> +<tr><td width="20%"><var>ERRMSG</var></td><td width="65%">(optional) a scalar character variable</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test + integer :: val(3) + if (this_image() == 1) then + val = [1, 5, 3] + end if + call co_broadcast (val, source_image=1) + print *, this_image, ":", val +end program test +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="CO_005fMAX.html#CO_005fMAX">CO_MAX</a>, <br> +<a href="CO_005fMIN.html#CO_005fMIN">CO_MIN</a>, <br> +<a href="CO_005fSUM.html#CO_005fSUM">CO_SUM</a>, <br> +<a href="CO_005fREDUCE.html#CO_005fREDUCE">CO_REDUCE</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/CO_005fMAX.html b/share/doc/gfortran/CO_005fMAX.html new file mode 100644 index 0000000..7415b68 --- /dev/null +++ b/share/doc/gfortran/CO_005fMAX.html @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: CO_MAX</title> + +<meta name="description" content="The GNU Fortran Compiler: CO_MAX"> +<meta name="keywords" content="The GNU Fortran Compiler: CO_MAX"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="CO_005fMIN.html#CO_005fMIN" rel="next" title="CO_MIN"> +<link href="CO_005fBROADCAST.html#CO_005fBROADCAST" rel="previous" title="CO_BROADCAST"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="CO_005fMAX"></a> +<div class="header"> +<p> +Next: <a href="CO_005fMIN.html#CO_005fMIN" accesskey="n" rel="next">CO_MIN</a>, Previous: <a href="CO_005fBROADCAST.html#CO_005fBROADCAST" accesskey="p" rel="previous">CO_BROADCAST</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="CO_005fMAX-_002d_002d_002d-Maximal-value-on-the-current-set-of-images"></a> +<h3 class="section">8.64 <code>CO_MAX</code> — Maximal value on the current set of images</h3> +<a name="index-CO_005fMAX"></a> +<a name="index-Collectives_002c-maximal-value"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>CO_MAX</code> determines element-wise the maximal value of <var>A</var> on all +images of the current team. If <var>RESULT_IMAGE</var> is present, the maximum +values are returned in <var>A</var> on the specified image only and the value +of <var>A</var> on the other images become undefined. If <var>RESULT_IMAGE</var> is +not present, the value is returned on all images. If the execution was +successful and <var>STAT</var> is present, it is assigned the value zero. If the +execution failed, <var>STAT</var> gets assigned a nonzero value and, if present, +<var>ERRMSG</var> gets assigned a value describing the occurred error. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Technical Specification (TS) 18508 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Collective subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL CO_MAX(A [, RESULT_IMAGE, STAT, ERRMSG])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="20%"><var>A</var></td><td width="65%">shall be an integer, real or character variable, +which has the same type and type parameters on all images of the team.</td></tr> +<tr><td width="20%"><var>RESULT_IMAGE</var></td><td width="65%">(optional) a scalar integer expression; if +present, it shall have the same value on all images and refer to an +image of the current team.</td></tr> +<tr><td width="20%"><var>STAT</var></td><td width="65%">(optional) a scalar integer variable</td></tr> +<tr><td width="20%"><var>ERRMSG</var></td><td width="65%">(optional) a scalar character variable</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test + integer :: val + val = this_image () + call co_max (val, result_image=1) + if (this_image() == 1) then + write(*,*) "Maximal value", val ! prints num_images() + end if +end program test +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="CO_005fMIN.html#CO_005fMIN">CO_MIN</a>, <br> +<a href="CO_005fSUM.html#CO_005fSUM">CO_SUM</a>, <br> +<a href="CO_005fREDUCE.html#CO_005fREDUCE">CO_REDUCE</a>, <br> +<a href="CO_005fBROADCAST.html#CO_005fBROADCAST">CO_BROADCAST</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/CO_005fMIN.html b/share/doc/gfortran/CO_005fMIN.html new file mode 100644 index 0000000..26eadd7 --- /dev/null +++ b/share/doc/gfortran/CO_005fMIN.html @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: CO_MIN</title> + +<meta name="description" content="The GNU Fortran Compiler: CO_MIN"> +<meta name="keywords" content="The GNU Fortran Compiler: CO_MIN"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="CO_005fREDUCE.html#CO_005fREDUCE" rel="next" title="CO_REDUCE"> +<link href="CO_005fMAX.html#CO_005fMAX" rel="previous" title="CO_MAX"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="CO_005fMIN"></a> +<div class="header"> +<p> +Next: <a href="CO_005fREDUCE.html#CO_005fREDUCE" accesskey="n" rel="next">CO_REDUCE</a>, Previous: <a href="CO_005fMAX.html#CO_005fMAX" accesskey="p" rel="previous">CO_MAX</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="CO_005fMIN-_002d_002d_002d-Minimal-value-on-the-current-set-of-images"></a> +<h3 class="section">8.65 <code>CO_MIN</code> — Minimal value on the current set of images</h3> +<a name="index-CO_005fMIN"></a> +<a name="index-Collectives_002c-minimal-value"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>CO_MIN</code> determines element-wise the minimal value of <var>A</var> on all +images of the current team. If <var>RESULT_IMAGE</var> is present, the minimal +values are returned in <var>A</var> on the specified image only and the value +of <var>A</var> on the other images become undefined. If <var>RESULT_IMAGE</var> is +not present, the value is returned on all images. If the execution was +successful and <var>STAT</var> is present, it is assigned the value zero. If the +execution failed, <var>STAT</var> gets assigned a nonzero value and, if present, +<var>ERRMSG</var> gets assigned a value describing the occurred error. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Technical Specification (TS) 18508 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Collective subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL CO_MIN(A [, RESULT_IMAGE, STAT, ERRMSG])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="20%"><var>A</var></td><td width="65%">shall be an integer, real or character variable, +which has the same type and type parameters on all images of the team.</td></tr> +<tr><td width="20%"><var>RESULT_IMAGE</var></td><td width="65%">(optional) a scalar integer expression; if +present, it shall have the same value on all images and refer to an +image of the current team.</td></tr> +<tr><td width="20%"><var>STAT</var></td><td width="65%">(optional) a scalar integer variable</td></tr> +<tr><td width="20%"><var>ERRMSG</var></td><td width="65%">(optional) a scalar character variable</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test + integer :: val + val = this_image () + call co_min (val, result_image=1) + if (this_image() == 1) then + write(*,*) "Minimal value", val ! prints 1 + end if +end program test +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="CO_005fMAX.html#CO_005fMAX">CO_MAX</a>, <br> +<a href="CO_005fSUM.html#CO_005fSUM">CO_SUM</a>, <br> +<a href="CO_005fREDUCE.html#CO_005fREDUCE">CO_REDUCE</a>, <br> +<a href="CO_005fBROADCAST.html#CO_005fBROADCAST">CO_BROADCAST</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/CO_005fREDUCE.html b/share/doc/gfortran/CO_005fREDUCE.html new file mode 100644 index 0000000..f54de97 --- /dev/null +++ b/share/doc/gfortran/CO_005fREDUCE.html @@ -0,0 +1,177 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: CO_REDUCE</title> + +<meta name="description" content="The GNU Fortran Compiler: CO_REDUCE"> +<meta name="keywords" content="The GNU Fortran Compiler: CO_REDUCE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="CO_005fSUM.html#CO_005fSUM" rel="next" title="CO_SUM"> +<link href="CO_005fMIN.html#CO_005fMIN" rel="previous" title="CO_MIN"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="CO_005fREDUCE"></a> +<div class="header"> +<p> +Next: <a href="CO_005fSUM.html#CO_005fSUM" accesskey="n" rel="next">CO_SUM</a>, Previous: <a href="CO_005fMIN.html#CO_005fMIN" accesskey="p" rel="previous">CO_MIN</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="CO_005fREDUCE-_002d_002d_002d-Reduction-of-values-on-the-current-set-of-images"></a> +<h3 class="section">8.66 <code>CO_REDUCE</code> — Reduction of values on the current set of images</h3> +<a name="index-CO_005fREDUCE"></a> +<a name="index-Collectives_002c-generic-reduction"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>CO_REDUCE</code> determines element-wise the reduction of the value of <var>A</var> +on all images of the current team. The pure function passed as <var>OPERATION</var> +is used to pairwise reduce the values of <var>A</var> by passing either the value +of <var>A</var> of different images or the result values of such a reduction as +argument. If <var>A</var> is an array, the deduction is done element wise. If +<var>RESULT_IMAGE</var> is present, the result values are returned in <var>A</var> on +the specified image only and the value of <var>A</var> on the other images become +undefined. If <var>RESULT_IMAGE</var> is not present, the value is returned on all +images. If the execution was successful and <var>STAT</var> is present, it is +assigned the value zero. If the execution failed, <var>STAT</var> gets assigned +a nonzero value and, if present, <var>ERRMSG</var> gets assigned a value describing +the occurred error. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Technical Specification (TS) 18508 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Collective subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL CO_REDUCE(A, OPERATION, [, RESULT_IMAGE, STAT, ERRMSG])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="20%"><var>A</var></td><td width="65%">is an <code>INTENT(INOUT)</code> argument and shall be +nonpolymorphic. If it is allocatable, it shall be allocated; if it is a pointer, +it shall be associated. <var>A</var> shall have the same type and type parameters on +all images of the team; if it is an array, it shall have the same shape on all +images.</td></tr> +<tr><td width="20%"><var>OPERATION</var></td><td width="65%">pure function with two scalar nonallocatable +arguments, which shall be nonpolymorphic and have the same type and type +parameters as <var>A</var>. The function shall return a nonallocatable scalar of +the same type and type parameters as <var>A</var>. The function shall be the same on +all images and with regards to the arguments mathematically commutative and +associative. Note that <var>OPERATION</var> may not be an elemental function, unless +it is an intrisic function.</td></tr> +<tr><td width="20%"><var>RESULT_IMAGE</var></td><td width="65%">(optional) a scalar integer expression; if +present, it shall have the same value on all images and refer to an +image of the current team.</td></tr> +<tr><td width="20%"><var>STAT</var></td><td width="65%">(optional) a scalar integer variable</td></tr> +<tr><td width="20%"><var>ERRMSG</var></td><td width="65%">(optional) a scalar character variable</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test + integer :: val + val = this_image () + call co_reduce (val, result_image=1, operation=myprod) + if (this_image() == 1) then + write(*,*) "Product value", val ! prints num_images() factorial + end if +contains + pure function myprod(a, b) + integer, value :: a, b + integer :: myprod + myprod = a * b + end function myprod +end program test +</pre></div> + +</dd> +<dt><em>Note</em>:</dt> +<dd><p>While the rules permit in principle an intrinsic function, none of the +intrinsics in the standard fulfill the criteria of having a specific +function, which takes two arguments of the same type and returning that +type as result. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="CO_005fMIN.html#CO_005fMIN">CO_MIN</a>, <br> +<a href="CO_005fMAX.html#CO_005fMAX">CO_MAX</a>, <br> +<a href="CO_005fSUM.html#CO_005fSUM">CO_SUM</a>, <br> +<a href="CO_005fBROADCAST.html#CO_005fBROADCAST">CO_BROADCAST</a> +</p></dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="CO_005fSUM.html#CO_005fSUM" accesskey="n" rel="next">CO_SUM</a>, Previous: <a href="CO_005fMIN.html#CO_005fMIN" accesskey="p" rel="previous">CO_MIN</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/CO_005fSUM.html b/share/doc/gfortran/CO_005fSUM.html new file mode 100644 index 0000000..04b0064 --- /dev/null +++ b/share/doc/gfortran/CO_005fSUM.html @@ -0,0 +1,146 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: CO_SUM</title> + +<meta name="description" content="The GNU Fortran Compiler: CO_SUM"> +<meta name="keywords" content="The GNU Fortran Compiler: CO_SUM"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="COMMAND_005fARGUMENT_005fCOUNT.html#COMMAND_005fARGUMENT_005fCOUNT" rel="next" title="COMMAND_ARGUMENT_COUNT"> +<link href="CO_005fREDUCE.html#CO_005fREDUCE" rel="previous" title="CO_REDUCE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="CO_005fSUM"></a> +<div class="header"> +<p> +Next: <a href="COMMAND_005fARGUMENT_005fCOUNT.html#COMMAND_005fARGUMENT_005fCOUNT" accesskey="n" rel="next">COMMAND_ARGUMENT_COUNT</a>, Previous: <a href="CO_005fREDUCE.html#CO_005fREDUCE" accesskey="p" rel="previous">CO_REDUCE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="CO_005fSUM-_002d_002d_002d-Sum-of-values-on-the-current-set-of-images"></a> +<h3 class="section">8.67 <code>CO_SUM</code> — Sum of values on the current set of images</h3> +<a name="index-CO_005fSUM"></a> +<a name="index-Collectives_002c-sum-of-values"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>CO_SUM</code> sums up the values of each element of <var>A</var> on all +images of the current team. If <var>RESULT_IMAGE</var> is present, the summed-up +values are returned in <var>A</var> on the specified image only and the value +of <var>A</var> on the other images become undefined. If <var>RESULT_IMAGE</var> is +not present, the value is returned on all images. If the execution was +successful and <var>STAT</var> is present, it is assigned the value zero. If the +execution failed, <var>STAT</var> gets assigned a nonzero value and, if present, +<var>ERRMSG</var> gets assigned a value describing the occurred error. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Technical Specification (TS) 18508 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Collective subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL CO_SUM(A [, RESULT_IMAGE, STAT, ERRMSG])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="20%"><var>A</var></td><td width="65%">shall be an integer, real or complex variable, +which has the same type and type parameters on all images of the team.</td></tr> +<tr><td width="20%"><var>RESULT_IMAGE</var></td><td width="65%">(optional) a scalar integer expression; if +present, it shall have the same value on all images and refer to an +image of the current team.</td></tr> +<tr><td width="20%"><var>STAT</var></td><td width="65%">(optional) a scalar integer variable</td></tr> +<tr><td width="20%"><var>ERRMSG</var></td><td width="65%">(optional) a scalar character variable</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test + integer :: val + val = this_image () + call co_sum (val, result_image=1) + if (this_image() == 1) then + write(*,*) "The sum is ", val ! prints (n**2 + n)/2, + ! with n = num_images() + end if +end program test +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="CO_005fMAX.html#CO_005fMAX">CO_MAX</a>, <br> +<a href="CO_005fMIN.html#CO_005fMIN">CO_MIN</a>, <br> +<a href="CO_005fREDUCE.html#CO_005fREDUCE">CO_REDUCE</a>, <br> +<a href="CO_005fBROADCAST.html#CO_005fBROADCAST">CO_BROADCAST</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/CPU_005fTIME.html b/share/doc/gfortran/CPU_005fTIME.html new file mode 100644 index 0000000..2e0d926 --- /dev/null +++ b/share/doc/gfortran/CPU_005fTIME.html @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: CPU_TIME</title> + +<meta name="description" content="The GNU Fortran Compiler: CPU_TIME"> +<meta name="keywords" content="The GNU Fortran Compiler: CPU_TIME"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="CSHIFT.html#CSHIFT" rel="next" title="CSHIFT"> +<link href="COUNT.html#COUNT" rel="previous" title="COUNT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="CPU_005fTIME"></a> +<div class="header"> +<p> +Next: <a href="CSHIFT.html#CSHIFT" accesskey="n" rel="next">CSHIFT</a>, Previous: <a href="COUNT.html#COUNT" accesskey="p" rel="previous">COUNT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="CPU_005fTIME-_002d_002d_002d-CPU-elapsed-time-in-seconds"></a> +<h3 class="section">8.79 <code>CPU_TIME</code> — CPU elapsed time in seconds</h3> +<a name="index-CPU_005fTIME"></a> +<a name="index-time_002c-elapsed"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns a <code>REAL</code> value representing the elapsed CPU time in +seconds. This is useful for testing segments of code to determine +execution time. +</p> +<p>If a time source is available, time will be reported with microsecond +resolution. If no time source is available, <var>TIME</var> is set to +<code>-1.0</code>. +</p> +<p>Note that <var>TIME</var> may contain a, system dependent, arbitrary offset +and may not start with <code>0.0</code>. For <code>CPU_TIME</code>, the absolute +value is meaningless, only differences between subsequent calls to +this subroutine, as shown in the example below, should be used. +</p> + +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 95 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL CPU_TIME(TIME)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>TIME</var></td><td width="70%">The type shall be <code>REAL</code> with <code>INTENT(OUT)</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>None +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_cpu_time + real :: start, finish + call cpu_time(start) + ! put code to test here + call cpu_time(finish) + print '("Time = ",f6.3," seconds.")',finish-start +end program test_cpu_time +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="SYSTEM_005fCLOCK.html#SYSTEM_005fCLOCK">SYSTEM_CLOCK</a>, <br> +<a href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME">DATE_AND_TIME</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/CSHIFT.html b/share/doc/gfortran/CSHIFT.html new file mode 100644 index 0000000..89f39e8 --- /dev/null +++ b/share/doc/gfortran/CSHIFT.html @@ -0,0 +1,144 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: CSHIFT</title> + +<meta name="description" content="The GNU Fortran Compiler: CSHIFT"> +<meta name="keywords" content="The GNU Fortran Compiler: CSHIFT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="CTIME.html#CTIME" rel="next" title="CTIME"> +<link href="CPU_005fTIME.html#CPU_005fTIME" rel="previous" title="CPU_TIME"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="CSHIFT"></a> +<div class="header"> +<p> +Next: <a href="CTIME.html#CTIME" accesskey="n" rel="next">CTIME</a>, Previous: <a href="CPU_005fTIME.html#CPU_005fTIME" accesskey="p" rel="previous">CPU_TIME</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="CSHIFT-_002d_002d_002d-Circular-shift-elements-of-an-array"></a> +<h3 class="section">8.80 <code>CSHIFT</code> — Circular shift elements of an array</h3> +<a name="index-CSHIFT"></a> +<a name="index-array_002c-shift-circularly"></a> +<a name="index-array_002c-permutation"></a> +<a name="index-array_002c-rotate"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>CSHIFT(ARRAY, SHIFT [, DIM])</code> performs a circular shift on elements of +<var>ARRAY</var> along the dimension of <var>DIM</var>. If <var>DIM</var> is omitted it is +taken to be <code>1</code>. <var>DIM</var> is a scalar of type <code>INTEGER</code> in the +range of <em>1 \leq DIM \leq n)</em> where <em>n</em> is the rank of <var>ARRAY</var>. +If the rank of <var>ARRAY</var> is one, then all elements of <var>ARRAY</var> are shifted +by <var>SHIFT</var> places. If rank is greater than one, then all complete rank one +sections of <var>ARRAY</var> along the given dimension are shifted. Elements +shifted out one end of each rank one section are shifted back in the other end. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = CSHIFT(ARRAY, SHIFT [, DIM])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ARRAY</var></td><td width="70%">Shall be an array of any type.</td></tr> +<tr><td width="15%"><var>SHIFT</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Returns an array of same type and rank as the <var>ARRAY</var> argument. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_cshift + integer, dimension(3,3) :: a + a = reshape( (/ 1, 2, 3, 4, 5, 6, 7, 8, 9 /), (/ 3, 3 /)) + print '(3i3)', a(1,:) + print '(3i3)', a(2,:) + print '(3i3)', a(3,:) + a = cshift(a, SHIFT=(/1, 2, -1/), DIM=2) + print * + print '(3i3)', a(1,:) + print '(3i3)', a(2,:) + print '(3i3)', a(3,:) +end program test_cshift +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/CTIME.html b/share/doc/gfortran/CTIME.html new file mode 100644 index 0000000..87d55b6 --- /dev/null +++ b/share/doc/gfortran/CTIME.html @@ -0,0 +1,152 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: CTIME</title> + +<meta name="description" content="The GNU Fortran Compiler: CTIME"> +<meta name="keywords" content="The GNU Fortran Compiler: CTIME"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME" rel="next" title="DATE_AND_TIME"> +<link href="CSHIFT.html#CSHIFT" rel="previous" title="CSHIFT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="CTIME"></a> +<div class="header"> +<p> +Next: <a href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME" accesskey="n" rel="next">DATE_AND_TIME</a>, Previous: <a href="CSHIFT.html#CSHIFT" accesskey="p" rel="previous">CSHIFT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="CTIME-_002d_002d_002d-Convert-a-time-into-a-string"></a> +<h3 class="section">8.81 <code>CTIME</code> — Convert a time into a string</h3> +<a name="index-CTIME"></a> +<a name="index-time_002c-conversion-to-string"></a> +<a name="index-conversion_002c-to-string"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>CTIME</code> converts a system time value, such as returned by +<a href="TIME8.html#TIME8">TIME8</a>, to a string. The output will be of the form ‘<samp>Sat +Aug 19 18:13:14 1995</samp>’. +</p> +<p>This intrinsic is provided in both subroutine and function forms; however, +only one form can be used in any given program unit. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL CTIME(TIME, RESULT)</code>.</td></tr> +<tr><td width="80%"><code>RESULT = CTIME(TIME)</code>.</td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>TIME</var></td><td width="70%">The type shall be of type <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>RESULT</var></td><td width="70%">The type shall be of type <code>CHARACTER</code> and +of default kind. It is an <code>INTENT(OUT)</code> argument. If the length +of this variable is too short for the time and date string to fit +completely, it will be blank on procedure return.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The converted date and time as a string. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_ctime + integer(8) :: i + character(len=30) :: date + i = time8() + + ! Do something, main part of the program + + call ctime(i,date) + print *, 'Program was started on ', date +end program test_ctime +</pre></div> + +</dd> +<dt><em>See Also</em>:</dt> +<dd><p><a href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME">DATE_AND_TIME</a>, <br> +<a href="GMTIME.html#GMTIME">GMTIME</a>, <br> +<a href="LTIME.html#LTIME">LTIME</a>, <br> +<a href="TIME.html#TIME">TIME</a>, <br> +<a href="TIME8.html#TIME8">TIME8</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/C_005fASSOCIATED.html b/share/doc/gfortran/C_005fASSOCIATED.html new file mode 100644 index 0000000..aee5b07 --- /dev/null +++ b/share/doc/gfortran/C_005fASSOCIATED.html @@ -0,0 +1,138 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: C_ASSOCIATED</title> + +<meta name="description" content="The GNU Fortran Compiler: C_ASSOCIATED"> +<meta name="keywords" content="The GNU Fortran Compiler: C_ASSOCIATED"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="C_005fF_005fPOINTER.html#C_005fF_005fPOINTER" rel="next" title="C_F_POINTER"> +<link href="BTEST.html#BTEST" rel="previous" title="BTEST"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="C_005fASSOCIATED"></a> +<div class="header"> +<p> +Next: <a href="C_005fF_005fPOINTER.html#C_005fF_005fPOINTER" accesskey="n" rel="next">C_F_POINTER</a>, Previous: <a href="BTEST.html#BTEST" accesskey="p" rel="previous">BTEST</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="C_005fASSOCIATED-_002d_002d_002d-Status-of-a-C-pointer"></a> +<h3 class="section">8.52 <code>C_ASSOCIATED</code> — Status of a C pointer</h3> +<a name="index-C_005fASSOCIATED"></a> +<a name="index-association-status_002c-C-pointer"></a> +<a name="index-pointer_002c-C-association-status"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>C_ASSOCIATED(c_ptr_1[, c_ptr_2])</code> determines the status of the C pointer +<var>c_ptr_1</var> or if <var>c_ptr_1</var> is associated with the target <var>c_ptr_2</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = C_ASSOCIATED(c_ptr_1[, c_ptr_2])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>c_ptr_1</var></td><td width="70%">Scalar of the type <code>C_PTR</code> or <code>C_FUNPTR</code>.</td></tr> +<tr><td width="15%"><var>c_ptr_2</var></td><td width="70%">(Optional) Scalar of the same type as <var>c_ptr_1</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>LOGICAL</code>; it is <code>.false.</code> if either +<var>c_ptr_1</var> is a C NULL pointer or if <var>c_ptr1</var> and <var>c_ptr_2</var> +point to different addresses. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">subroutine association_test(a,b) + use iso_c_binding, only: c_associated, c_loc, c_ptr + implicit none + real, pointer :: a + type(c_ptr) :: b + if(c_associated(b, c_loc(a))) & + stop 'b and a do not point to same target' +end subroutine association_test +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="C_005fLOC.html#C_005fLOC">C_LOC</a>, <br> +<a href="C_005fFUNLOC.html#C_005fFUNLOC">C_FUNLOC</a> +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/C_005fFUNLOC.html b/share/doc/gfortran/C_005fFUNLOC.html new file mode 100644 index 0000000..b922d1c --- /dev/null +++ b/share/doc/gfortran/C_005fFUNLOC.html @@ -0,0 +1,149 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: C_FUNLOC</title> + +<meta name="description" content="The GNU Fortran Compiler: C_FUNLOC"> +<meta name="keywords" content="The GNU Fortran Compiler: C_FUNLOC"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="C_005fLOC.html#C_005fLOC" rel="next" title="C_LOC"> +<link href="C_005fF_005fPROCPOINTER.html#C_005fF_005fPROCPOINTER" rel="previous" title="C_F_PROCPOINTER"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="C_005fFUNLOC"></a> +<div class="header"> +<p> +Next: <a href="C_005fLOC.html#C_005fLOC" accesskey="n" rel="next">C_LOC</a>, Previous: <a href="C_005fF_005fPROCPOINTER.html#C_005fF_005fPROCPOINTER" accesskey="p" rel="previous">C_F_PROCPOINTER</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="C_005fFUNLOC-_002d_002d_002d-Obtain-the-C-address-of-a-procedure"></a> +<h3 class="section">8.55 <code>C_FUNLOC</code> — Obtain the C address of a procedure</h3> +<a name="index-C_005fFUNLOC"></a> +<a name="index-pointer_002c-C-address-of-procedures"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>C_FUNLOC(x)</code> determines the C address of the argument. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = C_FUNLOC(x)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>x</var></td><td width="70%">Interoperable function or pointer to such function.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>C_FUNPTR</code> and contains the C address +of the argument. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">module x + use iso_c_binding + implicit none +contains + subroutine sub(a) bind(c) + real(c_float) :: a + a = sqrt(a)+5.0 + end subroutine sub +end module x +program main + use iso_c_binding + use x + implicit none + interface + subroutine my_routine(p) bind(c,name='myC_func') + import :: c_funptr + type(c_funptr), intent(in) :: p + end subroutine + end interface + call my_routine(c_funloc(sub)) +end program main +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="C_005fASSOCIATED.html#C_005fASSOCIATED">C_ASSOCIATED</a>, <br> +<a href="C_005fLOC.html#C_005fLOC">C_LOC</a>, <br> +<a href="C_005fF_005fPOINTER.html#C_005fF_005fPOINTER">C_F_POINTER</a>, <br> +<a href="C_005fF_005fPROCPOINTER.html#C_005fF_005fPROCPOINTER">C_F_PROCPOINTER</a> +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/C_005fF_005fPOINTER.html b/share/doc/gfortran/C_005fF_005fPOINTER.html new file mode 100644 index 0000000..8144890 --- /dev/null +++ b/share/doc/gfortran/C_005fF_005fPOINTER.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: C_F_POINTER</title> + +<meta name="description" content="The GNU Fortran Compiler: C_F_POINTER"> +<meta name="keywords" content="The GNU Fortran Compiler: C_F_POINTER"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="C_005fF_005fPROCPOINTER.html#C_005fF_005fPROCPOINTER" rel="next" title="C_F_PROCPOINTER"> +<link href="C_005fASSOCIATED.html#C_005fASSOCIATED" rel="previous" title="C_ASSOCIATED"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="C_005fF_005fPOINTER"></a> +<div class="header"> +<p> +Next: <a href="C_005fF_005fPROCPOINTER.html#C_005fF_005fPROCPOINTER" accesskey="n" rel="next">C_F_PROCPOINTER</a>, Previous: <a href="C_005fASSOCIATED.html#C_005fASSOCIATED" accesskey="p" rel="previous">C_ASSOCIATED</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="C_005fF_005fPOINTER-_002d_002d_002d-Convert-C-into-Fortran-pointer"></a> +<h3 class="section">8.53 <code>C_F_POINTER</code> — Convert C into Fortran pointer</h3> +<a name="index-C_005fF_005fPOINTER"></a> +<a name="index-pointer_002c-convert-C-to-Fortran"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>C_F_POINTER(CPTR, FPTR[, SHAPE])</code> assigns the target of the C pointer +<var>CPTR</var> to the Fortran pointer <var>FPTR</var> and specifies its shape. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL C_F_POINTER(CPTR, FPTR[, SHAPE])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>CPTR</var></td><td width="70%">scalar of the type <code>C_PTR</code>. It is +<code>INTENT(IN)</code>.</td></tr> +<tr><td width="15%"><var>FPTR</var></td><td width="70%">pointer interoperable with <var>cptr</var>. It is +<code>INTENT(OUT)</code>.</td></tr> +<tr><td width="15%"><var>SHAPE</var></td><td width="70%">(Optional) Rank-one array of type <code>INTEGER</code> +with <code>INTENT(IN)</code>. It shall be present +if and only if <var>fptr</var> is an array. The size +must be equal to the rank of <var>fptr</var>.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program main + use iso_c_binding + implicit none + interface + subroutine my_routine(p) bind(c,name='myC_func') + import :: c_ptr + type(c_ptr), intent(out) :: p + end subroutine + end interface + type(c_ptr) :: cptr + real,pointer :: a(:) + call my_routine(cptr) + call c_f_pointer(cptr, a, [12]) +end program main +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="C_005fLOC.html#C_005fLOC">C_LOC</a>, <br> +<a href="C_005fF_005fPROCPOINTER.html#C_005fF_005fPROCPOINTER">C_F_PROCPOINTER</a> +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/C_005fF_005fPROCPOINTER.html b/share/doc/gfortran/C_005fF_005fPROCPOINTER.html new file mode 100644 index 0000000..eb2c7cc --- /dev/null +++ b/share/doc/gfortran/C_005fF_005fPROCPOINTER.html @@ -0,0 +1,146 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: C_F_PROCPOINTER</title> + +<meta name="description" content="The GNU Fortran Compiler: C_F_PROCPOINTER"> +<meta name="keywords" content="The GNU Fortran Compiler: C_F_PROCPOINTER"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="C_005fFUNLOC.html#C_005fFUNLOC" rel="next" title="C_FUNLOC"> +<link href="C_005fF_005fPOINTER.html#C_005fF_005fPOINTER" rel="previous" title="C_F_POINTER"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="C_005fF_005fPROCPOINTER"></a> +<div class="header"> +<p> +Next: <a href="C_005fFUNLOC.html#C_005fFUNLOC" accesskey="n" rel="next">C_FUNLOC</a>, Previous: <a href="C_005fF_005fPOINTER.html#C_005fF_005fPOINTER" accesskey="p" rel="previous">C_F_POINTER</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="C_005fF_005fPROCPOINTER-_002d_002d_002d-Convert-C-into-Fortran-procedure-pointer"></a> +<h3 class="section">8.54 <code>C_F_PROCPOINTER</code> — Convert C into Fortran procedure pointer</h3> +<a name="index-C_005fF_005fPROCPOINTER"></a> +<a name="index-pointer_002c-C-address-of-pointers"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>C_F_PROCPOINTER(CPTR, FPTR)</code> Assign the target of the C function pointer +<var>CPTR</var> to the Fortran procedure pointer <var>FPTR</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL C_F_PROCPOINTER(cptr, fptr)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>CPTR</var></td><td width="70%">scalar of the type <code>C_FUNPTR</code>. It is +<code>INTENT(IN)</code>.</td></tr> +<tr><td width="15%"><var>FPTR</var></td><td width="70%">procedure pointer interoperable with <var>cptr</var>. It is +<code>INTENT(OUT)</code>.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program main + use iso_c_binding + implicit none + abstract interface + function func(a) + import :: c_float + real(c_float), intent(in) :: a + real(c_float) :: func + end function + end interface + interface + function getIterFunc() bind(c,name="getIterFunc") + import :: c_funptr + type(c_funptr) :: getIterFunc + end function + end interface + type(c_funptr) :: cfunptr + procedure(func), pointer :: myFunc + cfunptr = getIterFunc() + call c_f_procpointer(cfunptr, myFunc) +end program main +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="C_005fLOC.html#C_005fLOC">C_LOC</a>, <br> +<a href="C_005fF_005fPOINTER.html#C_005fF_005fPOINTER">C_F_POINTER</a> +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/C_005fLOC.html b/share/doc/gfortran/C_005fLOC.html new file mode 100644 index 0000000..6ef6bd4 --- /dev/null +++ b/share/doc/gfortran/C_005fLOC.html @@ -0,0 +1,136 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: C_LOC</title> + +<meta name="description" content="The GNU Fortran Compiler: C_LOC"> +<meta name="keywords" content="The GNU Fortran Compiler: C_LOC"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="C_005fSIZEOF.html#C_005fSIZEOF" rel="next" title="C_SIZEOF"> +<link href="C_005fFUNLOC.html#C_005fFUNLOC" rel="previous" title="C_FUNLOC"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="C_005fLOC"></a> +<div class="header"> +<p> +Next: <a href="C_005fSIZEOF.html#C_005fSIZEOF" accesskey="n" rel="next">C_SIZEOF</a>, Previous: <a href="C_005fFUNLOC.html#C_005fFUNLOC" accesskey="p" rel="previous">C_FUNLOC</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="C_005fLOC-_002d_002d_002d-Obtain-the-C-address-of-an-object"></a> +<h3 class="section">8.56 <code>C_LOC</code> — Obtain the C address of an object</h3> +<a name="index-C_005fLOC"></a> +<a name="index-procedure-pointer_002c-convert-C-to-Fortran"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>C_LOC(X)</code> determines the C address of the argument. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = C_LOC(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="10%"><var>X</var></td><td width="75%">Shall have either the POINTER or TARGET attribute. It shall not be a coindexed object. It shall either be a variable with interoperable type and kind type parameters, or be a scalar, nonpolymorphic variable with no length type parameters.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>C_PTR</code> and contains the C address +of the argument. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">subroutine association_test(a,b) + use iso_c_binding, only: c_associated, c_loc, c_ptr + implicit none + real, pointer :: a + type(c_ptr) :: b + if(c_associated(b, c_loc(a))) & + stop 'b and a do not point to same target' +end subroutine association_test +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="C_005fASSOCIATED.html#C_005fASSOCIATED">C_ASSOCIATED</a>, <br> +<a href="C_005fFUNLOC.html#C_005fFUNLOC">C_FUNLOC</a>, <br> +<a href="C_005fF_005fPOINTER.html#C_005fF_005fPOINTER">C_F_POINTER</a>, <br> +<a href="C_005fF_005fPROCPOINTER.html#C_005fF_005fPROCPOINTER">C_F_PROCPOINTER</a> +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/C_005fSIZEOF.html b/share/doc/gfortran/C_005fSIZEOF.html new file mode 100644 index 0000000..d7a9d93 --- /dev/null +++ b/share/doc/gfortran/C_005fSIZEOF.html @@ -0,0 +1,140 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: C_SIZEOF</title> + +<meta name="description" content="The GNU Fortran Compiler: C_SIZEOF"> +<meta name="keywords" content="The GNU Fortran Compiler: C_SIZEOF"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="CEILING.html#CEILING" rel="next" title="CEILING"> +<link href="C_005fLOC.html#C_005fLOC" rel="previous" title="C_LOC"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="C_005fSIZEOF"></a> +<div class="header"> +<p> +Next: <a href="CEILING.html#CEILING" accesskey="n" rel="next">CEILING</a>, Previous: <a href="C_005fLOC.html#C_005fLOC" accesskey="p" rel="previous">C_LOC</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="C_005fSIZEOF-_002d_002d_002d-Size-in-bytes-of-an-expression"></a> +<h3 class="section">8.57 <code>C_SIZEOF</code> — Size in bytes of an expression</h3> +<a name="index-C_005fSIZEOF"></a> +<a name="index-expression-size"></a> +<a name="index-size-of-an-expression"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>C_SIZEOF(X)</code> calculates the number of bytes of storage the +expression <code>X</code> occupies. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function of the module <code>ISO_C_BINDING</code> +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>N = C_SIZEOF(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The argument shall be an interoperable data entity.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type integer and of the system-dependent kind +<code>C_SIZE_T</code> (from the <code>ISO_C_BINDING</code> module). Its value is the +number of bytes occupied by the argument. If the argument has the +<code>POINTER</code> attribute, the number of bytes of the storage area pointed +to is returned. If the argument is of a derived type with <code>POINTER</code> +or <code>ALLOCATABLE</code> components, the return value does not account for +the sizes of the data pointed to by these components. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample"> use iso_c_binding + integer(c_int) :: i + real(c_float) :: r, s(5) + print *, (c_sizeof(s)/c_sizeof(r) == 5) + end +</pre></div> +<p>The example will print <code>T</code> unless you are using a platform +where default <code>REAL</code> variables are unusually padded. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="SIZEOF.html#SIZEOF">SIZEOF</a>, <br> +<a href="STORAGE_005fSIZE.html#STORAGE_005fSIZE">STORAGE_SIZE</a> +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Character-conversion.html b/share/doc/gfortran/Character-conversion.html new file mode 100644 index 0000000..0610495 --- /dev/null +++ b/share/doc/gfortran/Character-conversion.html @@ -0,0 +1,105 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Character conversion</title> + +<meta name="description" content="The GNU Fortran Compiler: Character conversion"> +<meta name="keywords" content="The GNU Fortran Compiler: Character conversion"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="Cray-pointers.html#Cray-pointers" rel="next" title="Cray pointers"> +<link href="Hollerith-constants-support.html#Hollerith-constants-support" rel="previous" title="Hollerith constants support"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Character-conversion"></a> +<div class="header"> +<p> +Next: <a href="Cray-pointers.html#Cray-pointers" accesskey="n" rel="next">Cray pointers</a>, Previous: <a href="Hollerith-constants-support.html#Hollerith-constants-support" accesskey="p" rel="previous">Hollerith constants support</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> [<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> +</div> +<hr> +<a name="Character-conversion-1"></a> +<h4 class="subsection">5.1.15 Character conversion</h4> +<a name="index-conversion_002c-to-character"></a> + +<p>Allowing character literals to be used in a similar way to Hollerith constants +is a non-standard extension. This feature is enabled using +-fdec-char-conversions and only applies to character literals of <code>kind=1</code>. +</p> +<p>Character literals can be used in <code>DATA</code> statements and assignments with +numeric (<code>INTEGER</code>, <code>REAL</code>, or <code>COMPLEX</code>) or <code>LOGICAL</code> +variables. Like Hollerith constants they are copied byte-wise fashion. The +constant will be padded with spaces or truncated to fit the size of the +variable in which it is stored. +</p> +<p>Examples: +</p><div class="smallexample"> +<pre class="smallexample"> integer*4 x + data x / 'abcd' / + + x = 'A' ! Will be padded. + x = 'ab1234' ! Will be truncated. +</pre></div> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Coarray-Programming.html b/share/doc/gfortran/Coarray-Programming.html new file mode 100644 index 0000000..07370bf --- /dev/null +++ b/share/doc/gfortran/Coarray-Programming.html @@ -0,0 +1,93 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Coarray Programming</title> + +<meta name="description" content="The GNU Fortran Compiler: Coarray Programming"> +<meta name="keywords" content="The GNU Fortran Compiler: Coarray Programming"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="index.html#Top" rel="up" title="Top"> +<link href="Type-and-enum-ABI-Documentation.html#Type-and-enum-ABI-Documentation" rel="next" title="Type and enum ABI Documentation"> +<link href="Argument-passing-conventions.html#Argument-passing-conventions" rel="previous" title="Argument passing conventions"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Coarray-Programming"></a> +<div class="header"> +<p> +Next: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="n" rel="next">Intrinsic Procedures</a>, Previous: <a href="Mixed_002dLanguage-Programming.html#Mixed_002dLanguage-Programming" accesskey="p" rel="previous">Mixed-Language Programming</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<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> +</div> +<hr> +<a name="Coarray-Programming-1"></a> +<h2 class="chapter">7 Coarray Programming</h2> +<a name="index-Coarrays"></a> + +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="Type-and-enum-ABI-Documentation.html#Type-and-enum-ABI-Documentation" accesskey="1">Type and enum ABI Documentation</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="2">Function ABI Documentation</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Code-Gen-Options.html b/share/doc/gfortran/Code-Gen-Options.html new file mode 100644 index 0000000..659806d --- /dev/null +++ b/share/doc/gfortran/Code-Gen-Options.html @@ -0,0 +1,680 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Code Gen Options</title> + +<meta name="description" content="The GNU Fortran Compiler: Code Gen Options"> +<meta name="keywords" content="The GNU Fortran Compiler: Code Gen Options"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" rel="up" title="Invoking GNU Fortran"> +<link href="Interoperability-Options.html#Interoperability-Options" rel="next" title="Interoperability Options"> +<link href="Runtime-Options.html#Runtime-Options" rel="previous" title="Runtime Options"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Code-Gen-Options"></a> +<div class="header"> +<p> +Next: <a href="Interoperability-Options.html#Interoperability-Options" accesskey="n" rel="next">Interoperability Options</a>, Previous: <a href="Runtime-Options.html#Runtime-Options" accesskey="p" rel="previous">Runtime Options</a>, Up: <a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" accesskey="u" rel="up">Invoking GNU Fortran</a> [<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> +</div> +<hr> +<a name="Options-for-code-generation-conventions"></a> +<h3 class="section">2.9 Options for code generation conventions</h3> +<a name="index-code-generation_002c-conventions"></a> +<a name="index-options_002c-code-generation"></a> +<a name="index-options_002c-run_002dtime"></a> + +<p>These machine-independent options control the interface conventions +used in code generation. +</p> +<p>Most of them have both positive and negative forms; the negative form +of <samp>-ffoo</samp> would be <samp>-fno-foo</samp>. In the table below, only +one of the forms is listed—the one which is not the default. You +can figure out the other form by either removing <samp>no-</samp> or adding +it. +</p> +<dl compact="compact"> +<dd><a name="index-fno_002dautomatic"></a> +<a name="index-SAVE-statement"></a> +<a name="index-statement_002c-SAVE"></a> +</dd> +<dt><code>-fno-automatic</code></dt> +<dd><p>Treat each program unit (except those marked as RECURSIVE) as if the +<code>SAVE</code> statement were specified for every local variable and array +referenced in it. Does not affect common blocks. (Some Fortran compilers +provide this option under the name <samp>-static</samp> or <samp>-save</samp>.) +The default, which is <samp>-fautomatic</samp>, uses the stack for local +variables smaller than the value given by <samp>-fmax-stack-var-size</samp>. +Use the option <samp>-frecursive</samp> to use no static memory. +</p> +<p>Local variables or arrays having an explicit <code>SAVE</code> attribute are +silently ignored unless the <samp>-pedantic</samp> option is added. +</p> +<a name="index-ff2c"></a> +<a name="index-calling-convention"></a> +<a name="index-f2c-calling-convention"></a> +<a name="index-g77-calling-convention"></a> +<a name="index-libf2c-calling-convention"></a> +</dd> +<dt><code>-ff2c</code></dt> +<dd><p>Generate code designed to be compatible with code generated +by <code>g77</code> and <code>f2c</code>. +</p> +<p>The calling conventions used by <code>g77</code> (originally implemented +in <code>f2c</code>) require functions that return type +default <code>REAL</code> to actually return the C type <code>double</code>, and +functions that return type <code>COMPLEX</code> to return the values via an +extra argument in the calling sequence that points to where to +store the return value. Under the default GNU calling conventions, such +functions simply return their results as they would in GNU +C—default <code>REAL</code> functions return the C type <code>float</code>, and +<code>COMPLEX</code> functions return the GNU C type <code>complex</code>. +Additionally, this option implies the <samp>-fsecond-underscore</samp> +option, unless <samp>-fno-second-underscore</samp> is explicitly requested. +</p> +<p>This does not affect the generation of code that interfaces with +the <code>libgfortran</code> library. +</p> +<p><em>Caution:</em> It is not a good idea to mix Fortran code compiled with +<samp>-ff2c</samp> with code compiled with the default <samp>-fno-f2c</samp> +calling conventions as, calling <code>COMPLEX</code> or default <code>REAL</code> +functions between program parts which were compiled with different +calling conventions will break at execution time. +</p> +<p><em>Caution:</em> This will break code which passes intrinsic functions +of type default <code>REAL</code> or <code>COMPLEX</code> as actual arguments, as +the library implementations use the <samp>-fno-f2c</samp> calling conventions. +</p> +<a name="index-fno_002dunderscoring"></a> +<a name="index-underscore"></a> +<a name="index-symbol-names_002c-underscores"></a> +<a name="index-transforming-symbol-names"></a> +<a name="index-symbol-names_002c-transforming"></a> +</dd> +<dt><code>-fno-underscoring</code></dt> +<dd><p>Do not transform names of entities specified in the Fortran +source file by appending underscores to them. +</p> +<p>With <samp>-funderscoring</samp> in effect, GNU Fortran appends one +underscore to external names. This is done to ensure +compatibility with code produced by many UNIX Fortran compilers. +</p> +<p><em>Caution</em>: The default behavior of GNU Fortran is +incompatible with <code>f2c</code> and <code>g77</code>, please use the +<samp>-ff2c</samp> option if you want object files compiled with +GNU Fortran to be compatible with object code created with these +tools. +</p> +<p>Use of <samp>-fno-underscoring</samp> is not recommended unless you are +experimenting with issues such as integration of GNU Fortran into +existing system environments (vis-à-vis existing libraries, tools, +and so on). +</p> +<p>For example, with <samp>-funderscoring</samp>, and assuming that <code>j()</code> and +<code>max_count()</code> are external functions while <code>my_var</code> and +<code>lvar</code> are local variables, a statement like +</p><div class="smallexample"> +<pre class="smallexample">I = J() + MAX_COUNT (MY_VAR, LVAR) +</pre></div> +<p>is implemented as something akin to: +</p><div class="smallexample"> +<pre class="smallexample">i = j_() + max_count_(&my_var, &lvar); +</pre></div> + +<p>With <samp>-fno-underscoring</samp>, the same statement is implemented as: +</p> +<div class="smallexample"> +<pre class="smallexample">i = j() + max_count(&my_var, &lvar); +</pre></div> + +<p>Use of <samp>-fno-underscoring</samp> allows direct specification of +user-defined names while debugging and when interfacing GNU Fortran +code with other languages. +</p> +<p>Note that just because the names match does <em>not</em> mean that the +interface implemented by GNU Fortran for an external name matches the +interface implemented by some other language for that same name. +That is, getting code produced by GNU Fortran to link to code produced +by some other compiler using this or any other method can be only a +small part of the overall solution—getting the code generated by +both compilers to agree on issues other than naming can require +significant effort, and, unlike naming disagreements, linkers normally +cannot detect disagreements in these other areas. +</p> +<p>Also, note that with <samp>-fno-underscoring</samp>, the lack of appended +underscores introduces the very real possibility that a user-defined +external name will conflict with a name in a system library, which +could make finding unresolved-reference bugs quite difficult in some +cases—they might occur at program run time, and show up only as +buggy behavior at run time. +</p> +<p>In future versions of GNU Fortran we hope to improve naming and linking +issues so that debugging always involves using the names as they appear +in the source, even if the names as seen by the linker are mangled to +prevent accidental linking between procedures with incompatible +interfaces. +</p> +<a name="index-fsecond_002dunderscore"></a> +<a name="index-underscore-1"></a> +<a name="index-symbol-names_002c-underscores-1"></a> +<a name="index-transforming-symbol-names-1"></a> +<a name="index-symbol-names_002c-transforming-1"></a> +<a name="index-f2c-calling-convention-1"></a> +<a name="index-g77-calling-convention-1"></a> +<a name="index-libf2c-calling-convention-1"></a> +</dd> +<dt><code>-fsecond-underscore</code></dt> +<dd><p>By default, GNU Fortran appends an underscore to external +names. If this option is used GNU Fortran appends two +underscores to names with underscores and one underscore to external names +with no underscores. GNU Fortran also appends two underscores to +internal names with underscores to avoid naming collisions with external +names. +</p> +<p>This option has no effect if <samp>-fno-underscoring</samp> is +in effect. It is implied by the <samp>-ff2c</samp> option. +</p> +<p>Otherwise, with this option, an external name such as <code>MAX_COUNT</code> +is implemented as a reference to the link-time external symbol +<code>max_count__</code>, instead of <code>max_count_</code>. This is required +for compatibility with <code>g77</code> and <code>f2c</code>, and is implied +by use of the <samp>-ff2c</samp> option. +</p> +<a name="index-fcoarray"></a> +<a name="index-coarrays"></a> +</dd> +<dt><code>-fcoarray=<var><keyword></var></code></dt> +<dd> +<dl compact="compact"> +<dt>‘<samp>none</samp>’</dt> +<dd><p>Disable coarray support; using coarray declarations and image-control +statements will produce a compile-time error. (Default) +</p> +</dd> +<dt>‘<samp>single</samp>’</dt> +<dd><p>Single-image mode, i.e. <code>num_images()</code> is always one. +</p> +</dd> +<dt>‘<samp>lib</samp>’</dt> +<dd><p>Library-based coarray parallelization; a suitable GNU Fortran coarray +library needs to be linked. +</p></dd> +</dl> + + +<a name="index-fcheck"></a> +<a name="index-array_002c-bounds-checking"></a> +<a name="index-bit-intrinsics-checking"></a> +<a name="index-bounds-checking"></a> +<a name="index-pointer-checking"></a> +<a name="index-memory-checking"></a> +<a name="index-range-checking"></a> +<a name="index-subscript-checking"></a> +<a name="index-checking-subscripts"></a> +<a name="index-run_002dtime-checking"></a> +<a name="index-checking-array-temporaries"></a> +</dd> +<dt><code>-fcheck=<var><keyword></var></code></dt> +<dd> +<p>Enable the generation of run-time checks; the argument shall be +a comma-delimited list of the following keywords. Prefixing a check with +<samp>no-</samp> disables it if it was activated by a previous specification. +</p> +<dl compact="compact"> +<dt>‘<samp>all</samp>’</dt> +<dd><p>Enable all run-time test of <samp>-fcheck</samp>. +</p> +</dd> +<dt>‘<samp>array-temps</samp>’</dt> +<dd><p>Warns at run time when for passing an actual argument a temporary array +had to be generated. The information generated by this warning is +sometimes useful in optimization, in order to avoid such temporaries. +</p> +<p>Note: The warning is only printed once per location. +</p> +</dd> +<dt>‘<samp>bits</samp>’</dt> +<dd><p>Enable generation of run-time checks for invalid arguments to the bit +manipulation intrinsics. +</p> +</dd> +<dt>‘<samp>bounds</samp>’</dt> +<dd><p>Enable generation of run-time checks for array subscripts +and against the declared minimum and maximum values. It also +checks array indices for assumed and deferred +shape arrays against the actual allocated bounds and ensures that all string +lengths are equal for character array constructors without an explicit +typespec. +</p> +<p>Some checks require that <samp>-fcheck=bounds</samp> is set for +the compilation of the main program. +</p> +<p>Note: In the future this may also include other forms of checking, e.g., +checking substring references. +</p> +</dd> +<dt>‘<samp>do</samp>’</dt> +<dd><p>Enable generation of run-time checks for invalid modification of loop +iteration variables. +</p> +</dd> +<dt>‘<samp>mem</samp>’</dt> +<dd><p>Enable generation of run-time checks for memory allocation. +Note: This option does not affect explicit allocations using the +<code>ALLOCATE</code> statement, which will be always checked. +</p> +</dd> +<dt>‘<samp>pointer</samp>’</dt> +<dd><p>Enable generation of run-time checks for pointers and allocatables. +</p> +</dd> +<dt>‘<samp>recursion</samp>’</dt> +<dd><p>Enable generation of run-time checks for recursively called subroutines and +functions which are not marked as recursive. See also <samp>-frecursive</samp>. +Note: This check does not work for OpenMP programs and is disabled if used +together with <samp>-frecursive</samp> and <samp>-fopenmp</samp>. +</p></dd> +</dl> + +<p>Example: Assuming you have a file <samp>foo.f90</samp>, the command +</p><div class="smallexample"> +<pre class="smallexample"> gfortran -fcheck=all,no-array-temps foo.f90 +</pre></div> +<p>will compile the file with all checks enabled as specified above except +warnings for generated array temporaries. +</p> + +<a name="index-fbounds_002dcheck"></a> +</dd> +<dt><code>-fbounds-check</code></dt> +<dd><p>Deprecated alias for <samp>-fcheck=bounds</samp>. +</p> +<a name="index-tail_002dcall_002dworkaround"></a> +</dd> +<dt><code>-ftail-call-workaround</code></dt> +<dt><code>-ftail-call-workaround=<var>n</var></code></dt> +<dd><p>Some C interfaces to Fortran codes violate the gfortran ABI by +omitting the hidden character length arguments as described in +See <a href="Argument-passing-conventions.html#Argument-passing-conventions">Argument passing conventions</a>. This can lead to crashes +because pushing arguments for tail calls can overflow the stack. +</p> +<p>To provide a workaround for existing binary packages, this option +disables tail call optimization for gfortran procedures with character +arguments. With <samp>-ftail-call-workaround=2</samp> tail call optimization +is disabled in all gfortran procedures with character arguments, +with <samp>-ftail-call-workaround=1</samp> or equivalent +<samp>-ftail-call-workaround</samp> only in gfortran procedures with character +arguments that call implicitly prototyped procedures. +</p> +<p>Using this option can lead to problems including crashes due to +insufficient stack space. +</p> +<p>It is <em>very strongly</em> recommended to fix the code in question. +The <samp>-fc-prototypes-external</samp> option can be used to generate +prototypes which conform to gfortran’s ABI, for inclusion in the +source code. +</p> +<p>Support for this option will likely be withdrawn in a future release +of gfortran. +</p> +<p>The negative form, <samp>-fno-tail-call-workaround</samp> or equivalent +<samp>-ftail-call-workaround=0</samp>, can be used to disable this option. +</p> +<p>Default is currently <samp>-ftail-call-workaround</samp>, this will change +in future releases. +</p> +<a name="index-fcheck_002darray_002dtemporaries"></a> +</dd> +<dt><code>-fcheck-array-temporaries</code></dt> +<dd><p>Deprecated alias for <samp>-fcheck=array-temps</samp>. +</p> +<a name="index-fmax_002darray_002dconstructor"></a> +</dd> +<dt><code>-fmax-array-constructor=<var>n</var></code></dt> +<dd><p>This option can be used to increase the upper limit permitted in +array constructors. The code below requires this option to expand +the array at compile time. +</p> +<div class="smallexample"> +<pre class="smallexample">program test +implicit none +integer j +integer, parameter :: n = 100000 +integer, parameter :: i(n) = (/ (2*j, j = 1, n) /) +print '(10(I0,1X))', i +end program test +</pre></div> + +<p><em>Caution: This option can lead to long compile times and excessively +large object files.</em> +</p> +<p>The default value for <var>n</var> is 65535. +</p> + +<a name="index-fmax_002dstack_002dvar_002dsize"></a> +</dd> +<dt><code>-fmax-stack-var-size=<var>n</var></code></dt> +<dd><p>This option specifies the size in bytes of the largest array that will be put +on the stack; if the size is exceeded static memory is used (except in +procedures marked as RECURSIVE). Use the option <samp>-frecursive</samp> to +allow for recursive procedures which do not have a RECURSIVE attribute or +for parallel programs. Use <samp>-fno-automatic</samp> to never use the stack. +</p> +<p>This option currently only affects local arrays declared with constant +bounds, and may not apply to all character variables. +Future versions of GNU Fortran may improve this behavior. +</p> +<p>The default value for <var>n</var> is 65536. +</p> +<a name="index-fstack_002darrays"></a> +</dd> +<dt><code>-fstack-arrays</code></dt> +<dd><p>Adding this option will make the Fortran compiler put all arrays of +unknown size and array temporaries onto stack memory. If your program uses very +large local arrays it is possible that you will have to extend your runtime +limits for stack memory on some operating systems. This flag is enabled +by default at optimization level <samp>-Ofast</samp> unless +<samp>-fmax-stack-var-size</samp> is specified. +</p> +<a name="index-fpack_002dderived"></a> +<a name="index-structure-packing"></a> +</dd> +<dt><code>-fpack-derived</code></dt> +<dd><p>This option tells GNU Fortran to pack derived type members as closely as +possible. Code compiled with this option is likely to be incompatible +with code compiled without this option, and may execute slower. +</p> +<a name="index-frepack_002darrays"></a> +<a name="index-repacking-arrays"></a> +</dd> +<dt><code>-frepack-arrays</code></dt> +<dd><p>In some circumstances GNU Fortran may pass assumed shape array +sections via a descriptor describing a noncontiguous area of memory. +This option adds code to the function prologue to repack the data into +a contiguous block at runtime. +</p> +<p>This should result in faster accesses to the array. However it can introduce +significant overhead to the function call, especially when the passed data +is noncontiguous. +</p> +<a name="index-fshort_002denums"></a> +</dd> +<dt><code>-fshort-enums</code></dt> +<dd><p>This option is provided for interoperability with C code that was +compiled with the <samp>-fshort-enums</samp> option. It will make +GNU Fortran choose the smallest <code>INTEGER</code> kind a given +enumerator set will fit in, and give all its enumerators this kind. +</p> +<a name="index-finline_002darg_002dpacking"></a> +</dd> +<dt><code>-finline-arg-packing</code></dt> +<dd><p>When passing an assumed-shape argument of a procedure as actual +argument to an assumed-size or explicit size or as argument to a +procedure that does not have an explicit interface, the argument may +have to be packed, that is put into contiguous memory. An example is +the call to <code>foo</code> in +</p><div class="smallexample"> +<pre class="smallexample"> subroutine foo(a) + real, dimension(*) :: a + end subroutine foo + subroutine bar(b) + real, dimension(:) :: b + call foo(b) + end subroutine bar +</pre></div> + +<p>When <samp>-finline-arg-packing</samp> is in effect, this packing will be +performed by inline code. This allows for more optimization while +increasing code size. +</p> +<p><samp>-finline-arg-packing</samp> is implied by any of the <samp>-O</samp> options +except when optimizing for size via <samp>-Os</samp>. If the code +contains a very large number of argument that have to be packed, code +size and also compilation time may become excessive. If that is the +case, it may be better to disable this option. Instances of packing +can be found by using <samp>-Warray-temporaries</samp>. +</p> +<a name="index-fexternal_002dblas"></a> +</dd> +<dt><code>-fexternal-blas</code></dt> +<dd><p>This option will make <code>gfortran</code> generate calls to BLAS functions +for some matrix operations like <code>MATMUL</code>, instead of using our own +algorithms, if the size of the matrices involved is larger than a given +limit (see <samp>-fblas-matmul-limit</samp>). This may be profitable if an +optimized vendor BLAS library is available. The BLAS library will have +to be specified at link time. +</p> +<a name="index-fblas_002dmatmul_002dlimit"></a> +</dd> +<dt><code>-fblas-matmul-limit=<var>n</var></code></dt> +<dd><p>Only significant when <samp>-fexternal-blas</samp> is in effect. +Matrix multiplication of matrices with size larger than (or equal to) <var>n</var> +will be performed by calls to BLAS functions, while others will be +handled by <code>gfortran</code> internal algorithms. If the matrices +involved are not square, the size comparison is performed using the +geometric mean of the dimensions of the argument and result matrices. +</p> +<p>The default value for <var>n</var> is 30. +</p> +<a name="index-finline_002dmatmul_002dlimit"></a> +</dd> +<dt><code>-finline-matmul-limit=<var>n</var></code></dt> +<dd><p>When front-end optimization is active, some calls to the <code>MATMUL</code> +intrinsic function will be inlined. This may result in code size +increase if the size of the matrix cannot be determined at compile +time, as code for both cases is generated. Setting +<code>-finline-matmul-limit=0</code> will disable inlining in all cases. +Setting this option with a value of <var>n</var> will produce inline code +for matrices with size up to <var>n</var>. If the matrices involved are not +square, the size comparison is performed using the geometric mean of +the dimensions of the argument and result matrices. +</p> +<p>The default value for <var>n</var> is 30. The <code>-fblas-matmul-limit</code> +can be used to change this value. +</p> +<a name="index-frecursive"></a> +</dd> +<dt><code>-frecursive</code></dt> +<dd><p>Allow indirect recursion by forcing all local arrays to be allocated +on the stack. This flag cannot be used together with +<samp>-fmax-stack-var-size=</samp> or <samp>-fno-automatic</samp>. +</p> +<a name="index-finit_002dlocal_002dzero"></a> +<a name="index-finit_002dderived"></a> +<a name="index-finit_002dinteger"></a> +<a name="index-finit_002dreal"></a> +<a name="index-finit_002dlogical"></a> +<a name="index-finit_002dcharacter"></a> +</dd> +<dt><code>-finit-local-zero</code></dt> +<dt><code>-finit-derived</code></dt> +<dt><code>-finit-integer=<var>n</var></code></dt> +<dt><code>-finit-real=<var><zero|inf|-inf|nan|snan></var></code></dt> +<dt><code>-finit-logical=<var><true|false></var></code></dt> +<dt><code>-finit-character=<var>n</var></code></dt> +<dd><p>The <samp>-finit-local-zero</samp> option instructs the compiler to +initialize local <code>INTEGER</code>, <code>REAL</code>, and <code>COMPLEX</code> +variables to zero, <code>LOGICAL</code> variables to false, and +<code>CHARACTER</code> variables to a string of null bytes. Finer-grained +initialization options are provided by the +<samp>-finit-integer=<var>n</var></samp>, +<samp>-finit-real=<var><zero|inf|-inf|nan|snan></var></samp> (which also initializes +the real and imaginary parts of local <code>COMPLEX</code> variables), +<samp>-finit-logical=<var><true|false></var></samp>, and +<samp>-finit-character=<var>n</var></samp> (where <var>n</var> is an ASCII character +value) options. +</p> +<p>With <samp>-finit-derived</samp>, components of derived type variables will be +initialized according to these flags. Components whose type is not covered by +an explicit <samp>-finit-*</samp> flag will be treated as described above with +<samp>-finit-local-zero</samp>. +</p> +<p>These options do not initialize +</p><ul> +<li> objects with the POINTER attribute +</li><li> allocatable arrays +</li><li> variables that appear in an <code>EQUIVALENCE</code> statement. +</li></ul> +<p>(These limitations may be removed in future releases). +</p> +<p>Note that the <samp>-finit-real=nan</samp> option initializes <code>REAL</code> +and <code>COMPLEX</code> variables with a quiet NaN. For a signalling NaN +use <samp>-finit-real=snan</samp>; note, however, that compile-time +optimizations may convert them into quiet NaN and that trapping +needs to be enabled (e.g. via <samp>-ffpe-trap</samp>). +</p> +<p>The <samp>-finit-integer</samp> option will parse the value into an +integer of type <code>INTEGER(kind=C_LONG)</code> on the host. Said value +is then assigned to the integer variables in the Fortran code, which +might result in wraparound if the value is too large for the kind. +</p> +<p>Finally, note that enabling any of the <samp>-finit-*</samp> options will +silence warnings that would have been emitted by <samp>-Wuninitialized</samp> +for the affected local variables. +</p> +<a name="index-falign_002dcommons"></a> +<a name="index-alignment-of-COMMON-blocks-1"></a> +</dd> +<dt><code>-falign-commons</code></dt> +<dd><p>By default, <code>gfortran</code> enforces proper alignment of all variables in a +<code>COMMON</code> block by padding them as needed. On certain platforms this is mandatory, +on others it increases performance. If a <code>COMMON</code> block is not declared with +consistent data types everywhere, this padding can cause trouble, and +<samp>-fno-align-commons</samp> can be used to disable automatic alignment. The +same form of this option should be used for all files that share a <code>COMMON</code> block. +To avoid potential alignment issues in <code>COMMON</code> blocks, it is recommended to order +objects from largest to smallest. +</p> +<a name="index-fno_002dprotect_002dparens"></a> +<a name="index-re_002dassociation-of-parenthesized-expressions"></a> +</dd> +<dt><code>-fno-protect-parens</code></dt> +<dd><p>By default the parentheses in expression are honored for all optimization +levels such that the compiler does not do any re-association. Using +<samp>-fno-protect-parens</samp> allows the compiler to reorder <code>REAL</code> and +<code>COMPLEX</code> expressions to produce faster code. Note that for the re-association +optimization <samp>-fno-signed-zeros</samp> and <samp>-fno-trapping-math</samp> +need to be in effect. The parentheses protection is enabled by default, unless +<samp>-Ofast</samp> is given. +</p> +<a name="index-frealloc_002dlhs"></a> +<a name="index-Reallocate-the-LHS-in-assignments"></a> +</dd> +<dt><code>-frealloc-lhs</code></dt> +<dd><p>An allocatable left-hand side of an intrinsic assignment is automatically +(re)allocated if it is either unallocated or has a different shape. The +option is enabled by default except when <samp>-std=f95</samp> is given. See +also <samp>-Wrealloc-lhs</samp>. +</p> +<a name="index-faggressive_002dfunction_002delimination"></a> +<a name="index-Elimination-of-functions-with-identical-argument-lists"></a> +</dd> +<dt><code>-faggressive-function-elimination</code></dt> +<dd><p>Functions with identical argument lists are eliminated within +statements, regardless of whether these functions are marked +<code>PURE</code> or not. For example, in +</p><div class="smallexample"> +<pre class="smallexample"> a = f(b,c) + f(b,c) +</pre></div> +<p>there will only be a single call to <code>f</code>. This option only works +if <samp>-ffrontend-optimize</samp> is in effect. +</p> +<a name="index-frontend_002doptimize"></a> +<a name="index-Front_002dend-optimization"></a> +</dd> +<dt><code>-ffrontend-optimize</code></dt> +<dd><p>This option performs front-end optimization, based on manipulating +parts the Fortran parse tree. Enabled by default by any <samp>-O</samp> option +except <samp>-O0</samp> and <samp>-Og</samp>. Optimizations enabled by this option +include: +</p><ul> +<li> inlining calls to <code>MATMUL</code>, +</li><li> elimination of identical function calls within expressions, +</li><li> removing unnecessary calls to <code>TRIM</code> in comparisons and assignments, +</li><li> replacing <code>TRIM(a)</code> with <code>a(1:LEN_TRIM(a))</code> and +</li><li> short-circuiting of logical operators (<code>.AND.</code> and <code>.OR.</code>). +</li></ul> +<p>It can be deselected by specifying <samp>-fno-frontend-optimize</samp>. +</p> +<a name="index-frontend_002dloop_002dinterchange"></a> +<a name="index-loop-interchange_002c-Fortran"></a> +</dd> +<dt><code>-ffrontend-loop-interchange</code></dt> +<dd><p>Attempt to interchange loops in the Fortran front end where +profitable. Enabled by default by any <samp>-O</samp> option. +At the moment, this option only affects <code>FORALL</code> and +<code>DO CONCURRENT</code> statements with several forall triplets. +</p></dd> +</dl> + +<p>See <a href="http://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options">Options for Code Generation Conventions</a> in <cite>Using the GNU Compiler Collection (GCC)</cite>, for information on more options +offered by the GBE +shared by <code>gfortran</code>, <code>gcc</code>, and other GNU compilers. +</p> + +<hr> +<div class="header"> +<p> +Next: <a href="Interoperability-Options.html#Interoperability-Options" accesskey="n" rel="next">Interoperability Options</a>, Previous: <a href="Runtime-Options.html#Runtime-Options" accesskey="p" rel="previous">Runtime Options</a>, Up: <a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" accesskey="u" rel="up">Invoking GNU Fortran</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Commas-in-FORMAT-specifications.html b/share/doc/gfortran/Commas-in-FORMAT-specifications.html new file mode 100644 index 0000000..0eca268 --- /dev/null +++ b/share/doc/gfortran/Commas-in-FORMAT-specifications.html @@ -0,0 +1,99 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Commas in FORMAT specifications</title> + +<meta name="description" content="The GNU Fortran Compiler: Commas in FORMAT specifications"> +<meta name="keywords" content="The GNU Fortran Compiler: Commas in FORMAT specifications"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="Missing-period-in-FORMAT-specifications.html#Missing-period-in-FORMAT-specifications" rel="next" title="Missing period in FORMAT specifications"> +<link href="X-format-descriptor-without-count-field.html#X-format-descriptor-without-count-field" rel="previous" title="X format descriptor without count field"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Commas-in-FORMAT-specifications"></a> +<div class="header"> +<p> +Next: <a href="Missing-period-in-FORMAT-specifications.html#Missing-period-in-FORMAT-specifications" accesskey="n" rel="next">Missing period in FORMAT specifications</a>, Previous: <a href="X-format-descriptor-without-count-field.html#X-format-descriptor-without-count-field" accesskey="p" rel="previous">X format descriptor without count field</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> [<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> +</div> +<hr> +<a name="Commas-in-FORMAT-specifications-1"></a> +<h4 class="subsection">5.1.5 Commas in <code>FORMAT</code> specifications</h4> + +<p>To support legacy codes, GNU Fortran allows the comma separator +to be omitted immediately before and after character string edit +descriptors in <code>FORMAT</code> statements. A comma with no following format +decriptor is permited if the <samp>-fdec-blank-format-item</samp> is given on +the command line. This is considered non-conforming code and is +discouraged. +</p> +<div class="smallexample"> +<pre class="smallexample"> PRINT 10, 2, 3 +10 FORMAT ('FOO='I1' BAR='I2) + print 20, 5, 6 +20 FORMAT (I3, I3,) +</pre></div> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Compiler-Characteristics.html b/share/doc/gfortran/Compiler-Characteristics.html new file mode 100644 index 0000000..f96a068 --- /dev/null +++ b/share/doc/gfortran/Compiler-Characteristics.html @@ -0,0 +1,114 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Compiler Characteristics</title> + +<meta name="description" content="The GNU Fortran Compiler: Compiler Characteristics"> +<meta name="keywords" content="The GNU Fortran Compiler: Compiler Characteristics"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="index.html#Top" rel="up" title="Top"> +<link href="KIND-Type-Parameters.html#KIND-Type-Parameters" rel="next" title="KIND Type Parameters"> +<link href="GFORTRAN_005fUNFORMATTED_005fBUFFER_005fSIZE.html#GFORTRAN_005fUNFORMATTED_005fBUFFER_005fSIZE" rel="previous" title="GFORTRAN_UNFORMATTED_BUFFER_SIZE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Compiler-Characteristics"></a> +<div class="header"> +<p> +Next: <a href="Extensions.html#Extensions" accesskey="n" rel="next">Extensions</a>, Previous: <a href="Runtime.html#Runtime" accesskey="p" rel="previous">Runtime</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<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> +</div> +<hr> +<a name="Compiler-Characteristics-1"></a> +<h2 class="chapter">4 Compiler Characteristics</h2> + +<p>This chapter describes certain characteristics of the GNU Fortran +compiler, that are not specified by the Fortran standard, but which +might in some way or another become visible to the programmer. +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="KIND-Type-Parameters.html#KIND-Type-Parameters" accesskey="1">KIND Type Parameters</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Internal-representation-of-LOGICAL-variables.html#Internal-representation-of-LOGICAL-variables" accesskey="2">Internal representation of LOGICAL variables</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Evaluation-of-logical-expressions.html#Evaluation-of-logical-expressions" accesskey="3">Evaluation of logical expressions</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="MAX-and-MIN-intrinsics-with-REAL-NaN-arguments.html#MAX-and-MIN-intrinsics-with-REAL-NaN-arguments" accesskey="4">MAX and MIN intrinsics with REAL NaN arguments</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Thread_002dsafety-of-the-runtime-library.html#Thread_002dsafety-of-the-runtime-library" accesskey="5">Thread-safety of the runtime library</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Data-consistency-and-durability.html#Data-consistency-and-durability" accesskey="6">Data consistency and durability</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Files-opened-without-an-explicit-ACTION_003d-specifier.html#Files-opened-without-an-explicit-ACTION_003d-specifier" accesskey="7">Files opened without an explicit ACTION= specifier</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="File-operations-on-symbolic-links.html#File-operations-on-symbolic-links" accesskey="8">File operations on symbolic links</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="File-format-of-unformatted-sequential-files.html#File-format-of-unformatted-sequential-files" accesskey="9">File format of unformatted sequential files</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Asynchronous-I_002fO.html#Asynchronous-I_002fO">Asynchronous I/O</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Behavior-on-integer-overflow.html#Behavior-on-integer-overflow">Behavior on integer overflow</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Contributing.html b/share/doc/gfortran/Contributing.html new file mode 100644 index 0000000..7246ecf --- /dev/null +++ b/share/doc/gfortran/Contributing.html @@ -0,0 +1,109 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Contributing</title> + +<meta name="description" content="The GNU Fortran Compiler: Contributing"> +<meta name="keywords" content="The GNU Fortran Compiler: Contributing"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="index.html#Top" rel="up" title="Top"> +<link href="Contributors.html#Contributors" rel="next" title="Contributors"> +<link href="OpenACC-Module-OPENACC.html#OpenACC-Module-OPENACC" rel="previous" title="OpenACC Module OPENACC"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Contributing"></a> +<div class="header"> +<p> +Next: <a href="Copying.html#Copying" accesskey="n" rel="next">Copying</a>, Previous: <a href="Intrinsic-Modules.html#Intrinsic-Modules" accesskey="p" rel="previous">Intrinsic Modules</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<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> +</div> +<hr> +<a name="Contributing-1"></a> +<h2 class="unnumbered">Contributing</h2> +<a name="index-Contributing"></a> + +<p>Free software is only possible if people contribute to efforts +to create it. +We’re always in need of more people helping out with ideas +and comments, writing documentation and contributing code. +</p> +<p>If you want to contribute to GNU Fortran, +have a look at the long lists of projects you can take on. +Some of these projects are small, +some of them are large; +some are completely orthogonal to the rest of what is +happening on GNU Fortran, +but others are “mainstream” projects in need of enthusiastic hackers. +All of these projects are important! +We will eventually get around to the things here, +but they are also things doable by someone who is willing and able. +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="Contributors.html#Contributors" accesskey="1">Contributors</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Projects.html#Projects" accesskey="2">Projects</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Contributors.html b/share/doc/gfortran/Contributors.html new file mode 100644 index 0000000..503a1c5 --- /dev/null +++ b/share/doc/gfortran/Contributors.html @@ -0,0 +1,153 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Contributors</title> + +<meta name="description" content="The GNU Fortran Compiler: Contributors"> +<meta name="keywords" content="The GNU Fortran Compiler: Contributors"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Contributing.html#Contributing" rel="up" title="Contributing"> +<link href="Projects.html#Projects" rel="next" title="Projects"> +<link href="Contributing.html#Contributing" rel="previous" title="Contributing"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Contributors"></a> +<div class="header"> +<p> +Next: <a href="Projects.html#Projects" accesskey="n" rel="next">Projects</a>, Up: <a href="Contributing.html#Contributing" accesskey="u" rel="up">Contributing</a> [<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> +</div> +<hr> +<a name="Contributors-to-GNU-Fortran"></a> +<h3 class="section">Contributors to GNU Fortran</h3> +<a name="index-Contributors"></a> +<a name="index-Credits"></a> +<a name="index-Authors"></a> + +<p>Most of the parser was hand-crafted by <em>Andy Vaught</em>, who is +also the initiator of the whole project. Thanks Andy! +Most of the interface with GCC was written by <em>Paul Brook</em>. +</p> +<p>The following individuals have contributed code and/or +ideas and significant help to the GNU Fortran project +(in alphabetical order): +</p> +<ul class="no-bullet"> +<li>- Janne Blomqvist +</li><li>- Steven Bosscher +</li><li>- Paul Brook +</li><li>- Tobias Burnus +</li><li>- François-Xavier Coudert +</li><li>- Bud Davis +</li><li>- Jerry DeLisle +</li><li>- Erik Edelmann +</li><li>- Bernhard Fischer +</li><li>- Daniel Franke +</li><li>- Richard Guenther +</li><li>- Richard Henderson +</li><li>- Katherine Holcomb +</li><li>- Jakub Jelinek +</li><li>- Niels Kristian Bech Jensen +</li><li>- Steven Johnson +</li><li>- Steven G. Kargl +</li><li>- Thomas Koenig +</li><li>- Asher Langton +</li><li>- H. J. Lu +</li><li>- Toon Moene +</li><li>- Brooks Moses +</li><li>- Andrew Pinski +</li><li>- Tim Prince +</li><li>- Christopher D. Rickett +</li><li>- Richard Sandiford +</li><li>- Tobias Schlüter +</li><li>- Roger Sayle +</li><li>- Paul Thomas +</li><li>- Andy Vaught +</li><li>- Feng Wang +</li><li>- Janus Weil +</li><li>- Daniel Kraft +</li></ul> + +<p>The following people have contributed bug reports, +smaller or larger patches, +and much needed feedback and encouragement for the +GNU Fortran project: +</p> +<ul class="no-bullet"> +<li>- Bill Clodius +</li><li>- Dominique d’Humières +</li><li>- Kate Hedstrom +</li><li>- Erik Schnetter +</li><li>- Gerhard Steinmetz +</li><li>- Joost VandeVondele +</li></ul> + +<p>Many other individuals have helped debug, +test and improve the GNU Fortran compiler over the past few years, +and we welcome you to do the same! +If you already have done so, +and you would like to see your name listed in the +list above, please contact us. +</p> + + + + +</body> +</html> diff --git a/share/doc/gfortran/Copying.html b/share/doc/gfortran/Copying.html new file mode 100644 index 0000000..fcf436b --- /dev/null +++ b/share/doc/gfortran/Copying.html @@ -0,0 +1,795 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Copying</title> + +<meta name="description" content="The GNU Fortran Compiler: Copying"> +<meta name="keywords" content="The GNU Fortran Compiler: Copying"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="index.html#Top" rel="up" title="Top"> +<link href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" rel="next" title="GNU Free Documentation License"> +<link href="Projects.html#Projects" rel="previous" title="Projects"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Copying"></a> +<div class="header"> +<p> +Next: <a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" accesskey="n" rel="next">GNU Free Documentation License</a>, Previous: <a href="Contributing.html#Contributing" accesskey="p" rel="previous">Contributing</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<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> +</div> +<hr> +<a name="GNU-General-Public-License"></a> +<h2 class="unnumbered">GNU General Public License</h2> +<div align="center">Version 3, 29 June 2007 +</div> + +<div class="display"> +<pre class="display">Copyright © 2007 Free Software Foundation, Inc. <a href="https://www.fsf.org">https://www.fsf.org</a> + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. +</pre></div> + +<a name="Preamble"></a> +<h3 class="heading">Preamble</h3> + +<p>The GNU General Public License is a free, copyleft license for +software and other kinds of works. +</p> +<p>The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom +to share and change all versions of a program–to make sure it remains +free software for all its users. We, the Free Software Foundation, +use the GNU General Public License for most of our software; it +applies also to any other work released this way by its authors. You +can apply it to your programs, too. +</p> +<p>When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. +</p> +<p>To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you +have certain responsibilities if you distribute copies of the +software, or if you modify it: responsibilities to respect the freedom +of others. +</p> +<p>For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, +receive or can get the source code. And you must show them these +terms so they know their rights. +</p> +<p>Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. +</p> +<p>For the developers’ and authors’ protection, the GPL clearly explains +that there is no warranty for this free software. For both users’ and +authors’ sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. +</p> +<p>Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the +manufacturer can do so. This is fundamentally incompatible with the +aim of protecting users’ freedom to change the software. The +systematic pattern of such abuse occurs in the area of products for +individuals to use, which is precisely where it is most unacceptable. +Therefore, we have designed this version of the GPL to prohibit the +practice for those products. If such problems arise substantially in +other domains, we stand ready to extend this provision to those +domains in future versions of the GPL, as needed to protect the +freedom of users. +</p> +<p>Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish +to avoid the special danger that patents applied to a free program +could make it effectively proprietary. To prevent this, the GPL +assures that patents cannot be used to render the program non-free. +</p> +<p>The precise terms and conditions for copying, distribution and +modification follow. +</p> +<a name="TERMS-AND-CONDITIONS"></a> +<h3 class="heading">TERMS AND CONDITIONS</h3> + +<ol> +<li> Definitions. + +<p>“This License” refers to version 3 of the GNU General Public License. +</p> +<p>“Copyright” also means copyright-like laws that apply to other kinds +of works, such as semiconductor masks. +</p> +<p>“The Program” refers to any copyrightable work licensed under this +License. Each licensee is addressed as “you”. “Licensees” and +“recipients” may be individuals or organizations. +</p> +<p>To “modify” a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of +an exact copy. The resulting work is called a “modified version” of +the earlier work or a work “based on” the earlier work. +</p> +<p>A “covered work” means either the unmodified Program or a work based +on the Program. +</p> +<p>To “propagate” a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. +</p> +<p>To “convey” a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user +through a computer network, with no transfer of a copy, is not +conveying. +</p> +<p>An interactive user interface displays “Appropriate Legal Notices” to +the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. +</p> +</li><li> Source Code. + +<p>The “source code” for a work means the preferred form of the work for +making modifications to it. “Object code” means any non-source form +of a work. +</p> +<p>A “Standard Interface” means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. +</p> +<p>The “System Libraries” of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +“Major Component”, in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. +</p> +<p>The “Corresponding Source” for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work’s +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. +</p> +<p>The Corresponding Source need not include anything that users can +regenerate automatically from other parts of the Corresponding Source. +</p> +<p>The Corresponding Source for a work in source code form is that same +work. +</p> +</li><li> Basic Permissions. + +<p>All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. +</p> +<p>You may make, run and propagate covered works that you do not convey, +without conditions so long as your license otherwise remains in force. +You may convey covered works to others for the sole purpose of having +them make modifications exclusively for you, or provide you with +facilities for running those works, provided that you comply with the +terms of this License in conveying all material for which you do not +control copyright. Those thus making or running the covered works for +you must do so exclusively on your behalf, under your direction and +control, on terms that prohibit them from making any copies of your +copyrighted material outside their relationship with you. +</p> +<p>Conveying under any other circumstances is permitted solely under the +conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. +</p> +</li><li> Protecting Users’ Legal Rights From Anti-Circumvention Law. + +<p>No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. +</p> +<p>When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such +circumvention is effected by exercising rights under this License with +respect to the covered work, and you disclaim any intention to limit +operation or modification of the work as a means of enforcing, against +the work’s users, your or third parties’ legal rights to forbid +circumvention of technological measures. +</p> +</li><li> Conveying Verbatim Copies. + +<p>You may convey verbatim copies of the Program’s source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. +</p> +<p>You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. +</p> +</li><li> Conveying Modified Source Versions. + +<p>You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these +conditions: +</p> +<ol> +<li> The work must carry prominent notices stating that you modified it, +and giving a relevant date. + +</li><li> The work must carry prominent notices stating that it is released +under this License and any conditions added under section 7. This +requirement modifies the requirement in section 4 to “keep intact all +notices”. + +</li><li> You must license the entire work, as a whole, under this License to +anyone who comes into possession of a copy. This License will +therefore apply, along with any applicable section 7 additional terms, +to the whole of the work, and all its parts, regardless of how they +are packaged. This License gives no permission to license the work in +any other way, but it does not invalidate such permission if you have +separately received it. + +</li><li> If the work has interactive user interfaces, each must display +Appropriate Legal Notices; however, if the Program has interactive +interfaces that do not display Appropriate Legal Notices, your work +need not make them do so. +</li></ol> + +<p>A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +“aggregate” if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation’s users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. +</p> +</li><li> Conveying Non-Source Forms. + +<p>You may convey a covered work in object code form under the terms of +sections 4 and 5, provided that you also convey the machine-readable +Corresponding Source under the terms of this License, in one of these +ways: +</p> +<ol> +<li> Convey the object code in, or embodied in, a physical product +(including a physical distribution medium), accompanied by the +Corresponding Source fixed on a durable physical medium customarily +used for software interchange. + +</li><li> Convey the object code in, or embodied in, a physical product +(including a physical distribution medium), accompanied by a written +offer, valid for at least three years and valid for as long as you +offer spare parts or customer support for that product model, to give +anyone who possesses the object code either (1) a copy of the +Corresponding Source for all the software in the product that is +covered by this License, on a durable physical medium customarily used +for software interchange, for a price no more than your reasonable +cost of physically performing this conveying of source, or (2) access +to copy the Corresponding Source from a network server at no charge. + +</li><li> Convey individual copies of the object code with a copy of the written +offer to provide the Corresponding Source. This alternative is +allowed only occasionally and noncommercially, and only if you +received the object code with such an offer, in accord with subsection +6b. + +</li><li> Convey the object code by offering access from a designated place +(gratis or for a charge), and offer equivalent access to the +Corresponding Source in the same way through the same place at no +further charge. You need not require recipients to copy the +Corresponding Source along with the object code. If the place to copy +the object code is a network server, the Corresponding Source may be +on a different server (operated by you or a third party) that supports +equivalent copying facilities, provided you maintain clear directions +next to the object code saying where to find the Corresponding Source. +Regardless of what server hosts the Corresponding Source, you remain +obligated to ensure that it is available for as long as needed to +satisfy these requirements. + +</li><li> Convey the object code using peer-to-peer transmission, provided you +inform other peers where the object code and Corresponding Source of +the work are being offered to the general public at no charge under +subsection 6d. + +</li></ol> + +<p>A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. +</p> +<p>A “User Product” is either (1) a “consumer product”, which means any +tangible personal property which is normally used for personal, +family, or household purposes, or (2) anything designed or sold for +incorporation into a dwelling. In determining whether a product is a +consumer product, doubtful cases shall be resolved in favor of +coverage. For a particular product received by a particular user, +“normally used” refers to a typical or common use of that class of +product, regardless of the status of the particular user or of the way +in which the particular user actually uses, or expects or is expected +to use, the product. A product is a consumer product regardless of +whether the product has substantial commercial, industrial or +non-consumer uses, unless such uses represent the only significant +mode of use of the product. +</p> +<p>“Installation Information” for a User Product means any methods, +procedures, authorization keys, or other information required to +install and execute modified versions of a covered work in that User +Product from a modified version of its Corresponding Source. The +information must suffice to ensure that the continued functioning of +the modified object code is in no case prevented or interfered with +solely because modification has been made. +</p> +<p>If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). +</p> +<p>The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or +updates for a work that has been modified or installed by the +recipient, or for the User Product in which it has been modified or +installed. Access to a network may be denied when the modification +itself materially and adversely affects the operation of the network +or violates the rules and protocols for communication across the +network. +</p> +<p>Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. +</p> +</li><li> Additional Terms. + +<p>“Additional permissions” are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. +</p> +<p>When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. +</p> +<p>Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders +of that material) supplement the terms of this License with terms: +</p> +<ol> +<li> Disclaiming warranty or limiting liability differently from the terms +of sections 15 and 16 of this License; or + +</li><li> Requiring preservation of specified reasonable legal notices or author +attributions in that material or in the Appropriate Legal Notices +displayed by works containing it; or + +</li><li> Prohibiting misrepresentation of the origin of that material, or +requiring that modified versions of such material be marked in +reasonable ways as different from the original version; or + +</li><li> Limiting the use for publicity purposes of names of licensors or +authors of the material; or + +</li><li> Declining to grant rights under trademark law for use of some trade +names, trademarks, or service marks; or + +</li><li> Requiring indemnification of licensors and authors of that material by +anyone who conveys the material (or modified versions of it) with +contractual assumptions of liability to the recipient, for any +liability that these contractual assumptions directly impose on those +licensors and authors. +</li></ol> + +<p>All other non-permissive additional terms are considered “further +restrictions” within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. +</p> +<p>If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. +</p> +<p>Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; the +above requirements apply either way. +</p> +</li><li> Termination. + +<p>You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). +</p> +<p>However, if you cease all violation of this License, then your license +from a particular copyright holder is reinstated (a) provisionally, +unless and until the copyright holder explicitly and finally +terminates your license, and (b) permanently, if the copyright holder +fails to notify you of the violation by some reasonable means prior to +60 days after the cessation. +</p> +<p>Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. +</p> +<p>Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. +</p> +</li><li> Acceptance Not Required for Having Copies. + +<p>You are not required to accept this License in order to receive or run +a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. +</p> +</li><li> Automatic Licensing of Downstream Recipients. + +<p>Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. +</p> +<p>An “entity transaction” is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party’s predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. +</p> +<p>You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. +</p> +</li><li> Patents. + +<p>A “contributor” is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor’s “contributor version”. +</p> +<p>A contributor’s “essential patent claims” are all patent claims owned +or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, “control” includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. +</p> +<p>Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor’s essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. +</p> +<p>In the following three paragraphs, a “patent license” is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To “grant” such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. +</p> +<p>If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. “Knowingly relying” means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient’s use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. +</p> +<p>If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. +</p> +<p>A patent license is “discriminatory” if it does not include within the +scope of its coverage, prohibits the exercise of, or is conditioned on +the non-exercise of one or more of the rights that are specifically +granted under this License. You may not convey a covered work if you +are a party to an arrangement with a third party that is in the +business of distributing software, under which you make payment to the +third party based on the extent of your activity of conveying the +work, and under which the third party grants, to any of the parties +who would receive the covered work from you, a discriminatory patent +license (a) in connection with copies of the covered work conveyed by +you (or copies made from those copies), or (b) primarily for and in +connection with specific products or compilations that contain the +covered work, unless you entered into that arrangement, or that patent +license was granted, prior to 28 March 2007. +</p> +<p>Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. +</p> +</li><li> No Surrender of Others’ Freedom. + +<p>If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey +a covered work so as to satisfy simultaneously your obligations under +this License and any other pertinent obligations, then as a +consequence you may not convey it at all. For example, if you agree +to terms that obligate you to collect a royalty for further conveying +from those to whom you convey the Program, the only way you could +satisfy both those terms and this License would be to refrain entirely +from conveying the Program. +</p> +</li><li> Use with the GNU Affero General Public License. + +<p>Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. +</p> +</li><li> Revised Versions of this License. + +<p>The Free Software Foundation may publish revised and/or new versions +of the GNU General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. +</p> +<p>Each version is given a distinguishing version number. If the Program +specifies that a certain numbered version of the GNU General Public +License “or any later version” applies to it, you have the option of +following the terms and conditions either of that numbered version or +of any later version published by the Free Software Foundation. If +the Program does not specify a version number of the GNU General +Public License, you may choose any version ever published by the Free +Software Foundation. +</p> +<p>If the Program specifies that a proxy can decide which future versions +of the GNU General Public License can be used, that proxy’s public +statement of acceptance of a version permanently authorizes you to +choose that version for the Program. +</p> +<p>Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. +</p> +</li><li> Disclaimer of Warranty. + +<p>THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT +WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE +DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR +CORRECTION. +</p> +</li><li> Limitation of Liability. + +<p>IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR +CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT +NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR +LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM +TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER +PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +</p> +</li><li> Interpretation of Sections 15 and 16. + +<p>If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. +</p> +</li></ol> + +<a name="END-OF-TERMS-AND-CONDITIONS"></a> +<h3 class="heading">END OF TERMS AND CONDITIONS</h3> + +<a name="How-to-Apply-These-Terms-to-Your-New-Programs"></a> +<h3 class="heading">How to Apply These Terms to Your New Programs</h3> + +<p>If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these +terms. +</p> +<p>To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the “copyright” line and a pointer to where the full notice is found. +</p> +<div class="smallexample"> +<pre class="smallexample"><var>one line to give the program's name and a brief idea of what it does.</var> +Copyright (C) <var>year</var> <var>name of author</var> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or (at +your option) any later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <a href="https://www.gnu.org/licenses/">https://www.gnu.org/licenses/</a>. +</pre></div> + +<p>Also add information on how to contact you by electronic and paper mail. +</p> +<p>If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: +</p> +<div class="smallexample"> +<pre class="smallexample"><var>program</var> Copyright (C) <var>year</var> <var>name of author</var> +This program comes with ABSOLUTELY NO WARRANTY; for details type ‘<samp>show w</samp>’. +This is free software, and you are welcome to redistribute it +under certain conditions; type ‘<samp>show c</samp>’ for details. +</pre></div> + +<p>The hypothetical commands ‘<samp>show w</samp>’ and ‘<samp>show c</samp>’ should show +the appropriate parts of the General Public License. Of course, your +program’s commands might be different; for a GUI interface, you would +use an “about box”. +</p> +<p>You should also get your employer (if you work as a programmer) or school, +if any, to sign a “copyright disclaimer” for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +<a href="https://www.gnu.org/licenses/">https://www.gnu.org/licenses/</a>. +</p> +<p>The GNU General Public License does not permit incorporating your +program into proprietary programs. If your program is a subroutine +library, you may consider it more useful to permit linking proprietary +applications with the library. If this is what you want to do, use +the GNU Lesser General Public License instead of this License. But +first, please read <a href="https://www.gnu.org/licenses/why-not-lgpl.html">https://www.gnu.org/licenses/why-not-lgpl.html</a>. +</p> + + + +<hr> +<div class="header"> +<p> +Next: <a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" accesskey="n" rel="next">GNU Free Documentation License</a>, Previous: <a href="Contributing.html#Contributing" accesskey="p" rel="previous">Contributing</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Cray-pointers.html b/share/doc/gfortran/Cray-pointers.html new file mode 100644 index 0000000..34e1ecb --- /dev/null +++ b/share/doc/gfortran/Cray-pointers.html @@ -0,0 +1,216 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Cray pointers</title> + +<meta name="description" content="The GNU Fortran Compiler: Cray pointers"> +<meta name="keywords" content="The GNU Fortran Compiler: Cray pointers"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="CONVERT-specifier.html#CONVERT-specifier" rel="next" title="CONVERT specifier"> +<link href="Character-conversion.html#Character-conversion" rel="previous" title="Character conversion"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Cray-pointers"></a> +<div class="header"> +<p> +Next: <a href="CONVERT-specifier.html#CONVERT-specifier" accesskey="n" rel="next">CONVERT specifier</a>, Previous: <a href="Character-conversion.html#Character-conversion" accesskey="p" rel="previous">Character conversion</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> [<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> +</div> +<hr> +<a name="Cray-pointers-1"></a> +<h4 class="subsection">5.1.16 Cray pointers</h4> +<a name="index-pointer_002c-Cray"></a> + +<p>Cray pointers are part of a non-standard extension that provides a +C-like pointer in Fortran. This is accomplished through a pair of +variables: an integer "pointer" that holds a memory address, and a +"pointee" that is used to dereference the pointer. +</p> +<p>Pointer/pointee pairs are declared in statements of the form: +</p><div class="smallexample"> +<pre class="smallexample"> pointer ( <pointer> , <pointee> ) +</pre></div> +<p>or, +</p><div class="smallexample"> +<pre class="smallexample"> pointer ( <pointer1> , <pointee1> ), ( <pointer2> , <pointee2> ), ... +</pre></div> +<p>The pointer is an integer that is intended to hold a memory address. +The pointee may be an array or scalar. +If an assumed-size array is permitted within the scoping unit, a +pointee can be an assumed-size array. +That is, the last dimension may be left unspecified by using a <code>*</code> +in place of a value. A pointee cannot be an assumed shape array. +No space is allocated for the pointee. +</p> +<p>The pointee may have its type declared before or after the pointer +statement, and its array specification (if any) may be declared +before, during, or after the pointer statement. The pointer may be +declared as an integer prior to the pointer statement. However, some +machines have default integer sizes that are different than the size +of a pointer, and so the following code is not portable: +</p><div class="smallexample"> +<pre class="smallexample"> integer ipt + pointer (ipt, iarr) +</pre></div> +<p>If a pointer is declared with a kind that is too small, the compiler +will issue a warning; the resulting binary will probably not work +correctly, because the memory addresses stored in the pointers may be +truncated. It is safer to omit the first line of the above example; +if explicit declaration of ipt’s type is omitted, then the compiler +will ensure that ipt is an integer variable large enough to hold a +pointer. +</p> +<p>Pointer arithmetic is valid with Cray pointers, but it is not the same +as C pointer arithmetic. Cray pointers are just ordinary integers, so +the user is responsible for determining how many bytes to add to a +pointer in order to increment it. Consider the following example: +</p><div class="smallexample"> +<pre class="smallexample"> real target(10) + real pointee(10) + pointer (ipt, pointee) + ipt = loc (target) + ipt = ipt + 1 +</pre></div> +<p>The last statement does not set <code>ipt</code> to the address of +<code>target(1)</code>, as it would in C pointer arithmetic. Adding <code>1</code> +to <code>ipt</code> just adds one byte to the address stored in <code>ipt</code>. +</p> +<p>Any expression involving the pointee will be translated to use the +value stored in the pointer as the base address. +</p> +<p>To get the address of elements, this extension provides an intrinsic +function <code>LOC()</code>. The <code>LOC()</code> function is equivalent to the +<code>&</code> operator in C, except the address is cast to an integer type: +</p><div class="smallexample"> +<pre class="smallexample"> real ar(10) + pointer(ipt, arpte(10)) + real arpte + ipt = loc(ar) ! Makes arpte is an alias for ar + arpte(1) = 1.0 ! Sets ar(1) to 1.0 +</pre></div> +<p>The pointer can also be set by a call to the <code>MALLOC</code> intrinsic +(see <a href="MALLOC.html#MALLOC">MALLOC</a>). +</p> +<p>Cray pointees often are used to alias an existing variable. For +example: +</p><div class="smallexample"> +<pre class="smallexample"> integer target(10) + integer iarr(10) + pointer (ipt, iarr) + ipt = loc(target) +</pre></div> +<p>As long as <code>ipt</code> remains unchanged, <code>iarr</code> is now an alias for +<code>target</code>. The optimizer, however, will not detect this aliasing, so +it is unsafe to use <code>iarr</code> and <code>target</code> simultaneously. Using +a pointee in any way that violates the Fortran aliasing rules or +assumptions is illegal. It is the user’s responsibility to avoid doing +this; the compiler works under the assumption that no such aliasing +occurs. +</p> +<p>Cray pointers will work correctly when there is no aliasing (i.e., when +they are used to access a dynamically allocated block of memory), and +also in any routine where a pointee is used, but any variable with which +it shares storage is not used. Code that violates these rules may not +run as the user intends. This is not a bug in the optimizer; any code +that violates the aliasing rules is illegal. (Note that this is not +unique to GNU Fortran; any Fortran compiler that supports Cray pointers +will “incorrectly” optimize code with illegal aliasing.) +</p> +<p>There are a number of restrictions on the attributes that can be applied +to Cray pointers and pointees. Pointees may not have the +<code>ALLOCATABLE</code>, <code>INTENT</code>, <code>OPTIONAL</code>, <code>DUMMY</code>, +<code>TARGET</code>, <code>INTRINSIC</code>, or <code>POINTER</code> attributes. Pointers +may not have the <code>DIMENSION</code>, <code>POINTER</code>, <code>TARGET</code>, +<code>ALLOCATABLE</code>, <code>EXTERNAL</code>, or <code>INTRINSIC</code> attributes, nor +may they be function results. Pointees may not occur in more than one +pointer statement. A pointee cannot be a pointer. Pointees cannot occur +in equivalence, common, or data statements. +</p> +<p>A Cray pointer may also point to a function or a subroutine. For +example, the following excerpt is valid: +</p><div class="smallexample"> +<pre class="smallexample"> implicit none + external sub + pointer (subptr,subpte) + external subpte + subptr = loc(sub) + call subpte() + [...] + subroutine sub + [...] + end subroutine sub +</pre></div> + +<p>A pointer may be modified during the course of a program, and this +will change the location to which the pointee refers. However, when +pointees are passed as arguments, they are treated as ordinary +variables in the invoked function. Subsequent changes to the pointer +will not change the base address of the array that was passed. +</p> +<hr> +<div class="header"> +<p> +Next: <a href="CONVERT-specifier.html#CONVERT-specifier" accesskey="n" rel="next">CONVERT specifier</a>, Previous: <a href="Character-conversion.html#Character-conversion" accesskey="p" rel="previous">Character conversion</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> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/DATE_005fAND_005fTIME.html b/share/doc/gfortran/DATE_005fAND_005fTIME.html new file mode 100644 index 0000000..9e82241 --- /dev/null +++ b/share/doc/gfortran/DATE_005fAND_005fTIME.html @@ -0,0 +1,166 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: DATE_AND_TIME</title> + +<meta name="description" content="The GNU Fortran Compiler: DATE_AND_TIME"> +<meta name="keywords" content="The GNU Fortran Compiler: DATE_AND_TIME"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="DBLE.html#DBLE" rel="next" title="DBLE"> +<link href="CTIME.html#CTIME" rel="previous" title="CTIME"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="DATE_005fAND_005fTIME"></a> +<div class="header"> +<p> +Next: <a href="DBLE.html#DBLE" accesskey="n" rel="next">DBLE</a>, Previous: <a href="CTIME.html#CTIME" accesskey="p" rel="previous">CTIME</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="DATE_005fAND_005fTIME-_002d_002d_002d-Date-and-time-subroutine"></a> +<h3 class="section">8.82 <code>DATE_AND_TIME</code> — Date and time subroutine</h3> +<a name="index-DATE_005fAND_005fTIME"></a> +<a name="index-date_002c-current"></a> +<a name="index-current-date"></a> +<a name="index-time_002c-current"></a> +<a name="index-current-time"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>DATE_AND_TIME(DATE, TIME, ZONE, VALUES)</code> gets the corresponding date and +time information from the real-time system clock. <var>DATE</var> is +<code>INTENT(OUT)</code> and has form ccyymmdd. <var>TIME</var> is <code>INTENT(OUT)</code> and +has form hhmmss.sss. <var>ZONE</var> is <code>INTENT(OUT)</code> and has form (+-)hhmm, +representing the difference with respect to Coordinated Universal Time (UTC). +Unavailable time and date parameters return blanks. +</p> +<p><var>VALUES</var> is <code>INTENT(OUT)</code> and provides the following: +</p> +<table> +<tr><td width="15%"><code>VALUE(1)</code>:</td><td width="70%">The year</td></tr> +<tr><td width="15%"><code>VALUE(2)</code>:</td><td width="70%">The month</td></tr> +<tr><td width="15%"><code>VALUE(3)</code>:</td><td width="70%">The day of the month</td></tr> +<tr><td width="15%"><code>VALUE(4)</code>:</td><td width="70%">Time difference with UTC in minutes</td></tr> +<tr><td width="15%"><code>VALUE(5)</code>:</td><td width="70%">The hour of the day</td></tr> +<tr><td width="15%"><code>VALUE(6)</code>:</td><td width="70%">The minutes of the hour</td></tr> +<tr><td width="15%"><code>VALUE(7)</code>:</td><td width="70%">The seconds of the minute</td></tr> +<tr><td width="15%"><code>VALUE(8)</code>:</td><td width="70%">The milliseconds of the second</td></tr> +</table> + +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL DATE_AND_TIME([DATE, TIME, ZONE, VALUES])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>DATE</var></td><td width="70%">(Optional) The type shall be <code>CHARACTER(LEN=8)</code> +or larger, and of default kind.</td></tr> +<tr><td width="15%"><var>TIME</var></td><td width="70%">(Optional) The type shall be <code>CHARACTER(LEN=10)</code> +or larger, and of default kind.</td></tr> +<tr><td width="15%"><var>ZONE</var></td><td width="70%">(Optional) The type shall be <code>CHARACTER(LEN=5)</code> +or larger, and of default kind.</td></tr> +<tr><td width="15%"><var>VALUES</var></td><td width="70%">(Optional) The type shall be <code>INTEGER(8)</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>None +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_time_and_date + character(8) :: date + character(10) :: time + character(5) :: zone + integer,dimension(8) :: values + ! using keyword arguments + call date_and_time(date,time,zone,values) + call date_and_time(DATE=date,ZONE=zone) + call date_and_time(TIME=time) + call date_and_time(VALUES=values) + print '(a,2x,a,2x,a)', date, time, zone + print '(8i5)', values +end program test_time_and_date +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="CPU_005fTIME.html#CPU_005fTIME">CPU_TIME</a>, <br> +<a href="SYSTEM_005fCLOCK.html#SYSTEM_005fCLOCK">SYSTEM_CLOCK</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/DBLE.html b/share/doc/gfortran/DBLE.html new file mode 100644 index 0000000..db26dfe --- /dev/null +++ b/share/doc/gfortran/DBLE.html @@ -0,0 +1,132 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: DBLE</title> + +<meta name="description" content="The GNU Fortran Compiler: DBLE"> +<meta name="keywords" content="The GNU Fortran Compiler: DBLE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="DCMPLX.html#DCMPLX" rel="next" title="DCMPLX"> +<link href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME" rel="previous" title="DATE_AND_TIME"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="DBLE"></a> +<div class="header"> +<p> +Next: <a href="DCMPLX.html#DCMPLX" accesskey="n" rel="next">DCMPLX</a>, Previous: <a href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME" accesskey="p" rel="previous">DATE_AND_TIME</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="DBLE-_002d_002d_002d-Double-conversion-function"></a> +<h3 class="section">8.83 <code>DBLE</code> — Double conversion function</h3> +<a name="index-DBLE"></a> +<a name="index-conversion_002c-to-real"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>DBLE(A)</code> Converts <var>A</var> to double precision real type. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = DBLE(A)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>A</var></td><td width="70%">The type shall be <code>INTEGER</code>, <code>REAL</code>, +or <code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type double precision real. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_dble + real :: x = 2.18 + integer :: i = 5 + complex :: z = (2.3,1.14) + print *, dble(x), dble(i), dble(z) +end program test_dble +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="REAL.html#REAL">REAL</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/DCMPLX.html b/share/doc/gfortran/DCMPLX.html new file mode 100644 index 0000000..fb9b2b1 --- /dev/null +++ b/share/doc/gfortran/DCMPLX.html @@ -0,0 +1,137 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: DCMPLX</title> + +<meta name="description" content="The GNU Fortran Compiler: DCMPLX"> +<meta name="keywords" content="The GNU Fortran Compiler: DCMPLX"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="DIGITS.html#DIGITS" rel="next" title="DIGITS"> +<link href="DBLE.html#DBLE" rel="previous" title="DBLE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="DCMPLX"></a> +<div class="header"> +<p> +Next: <a href="DIGITS.html#DIGITS" accesskey="n" rel="next">DIGITS</a>, Previous: <a href="DBLE.html#DBLE" accesskey="p" rel="previous">DBLE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="DCMPLX-_002d_002d_002d-Double-complex-conversion-function"></a> +<h3 class="section">8.84 <code>DCMPLX</code> — Double complex conversion function</h3> +<a name="index-DCMPLX"></a> +<a name="index-complex-numbers_002c-conversion-to-2"></a> +<a name="index-conversion_002c-to-complex-2"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>DCMPLX(X [,Y])</code> returns a double complex number where <var>X</var> is +converted to the real component. If <var>Y</var> is present it is converted to the +imaginary component. If <var>Y</var> is not present then the imaginary component is +set to 0.0. If <var>X</var> is complex then <var>Y</var> must not be present. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = DCMPLX(X [, Y])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type may be <code>INTEGER</code>, <code>REAL</code>, +or <code>COMPLEX</code>.</td></tr> +<tr><td width="15%"><var>Y</var></td><td width="70%">(Optional if <var>X</var> is not <code>COMPLEX</code>.) May be +<code>INTEGER</code> or <code>REAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>COMPLEX(8)</code> +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_dcmplx + integer :: i = 42 + real :: x = 3.14 + complex :: z + z = cmplx(i, x) + print *, dcmplx(i) + print *, dcmplx(x) + print *, dcmplx(z) + print *, dcmplx(x,i) +end program test_dcmplx +</pre></div> +</dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/DIGITS.html b/share/doc/gfortran/DIGITS.html new file mode 100644 index 0000000..2e8434f --- /dev/null +++ b/share/doc/gfortran/DIGITS.html @@ -0,0 +1,131 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: DIGITS</title> + +<meta name="description" content="The GNU Fortran Compiler: DIGITS"> +<meta name="keywords" content="The GNU Fortran Compiler: DIGITS"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="DIM.html#DIM" rel="next" title="DIM"> +<link href="DCMPLX.html#DCMPLX" rel="previous" title="DCMPLX"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="DIGITS"></a> +<div class="header"> +<p> +Next: <a href="DIM.html#DIM" accesskey="n" rel="next">DIM</a>, Previous: <a href="DCMPLX.html#DCMPLX" accesskey="p" rel="previous">DCMPLX</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="DIGITS-_002d_002d_002d-Significant-binary-digits-function"></a> +<h3 class="section">8.85 <code>DIGITS</code> — Significant binary digits function</h3> +<a name="index-DIGITS"></a> +<a name="index-model-representation_002c-significant-digits"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>DIGITS(X)</code> returns the number of significant binary digits of the internal +model representation of <var>X</var>. For example, on a system using a 32-bit +floating point representation, a default real number would likely return 24. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = DIGITS(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type may be <code>INTEGER</code> or <code>REAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_digits + integer :: i = 12345 + real :: x = 3.143 + real(8) :: y = 2.33 + print *, digits(i) + print *, digits(x) + print *, digits(y) +end program test_digits +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/DIM.html b/share/doc/gfortran/DIM.html new file mode 100644 index 0000000..a700abf --- /dev/null +++ b/share/doc/gfortran/DIM.html @@ -0,0 +1,144 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: DIM</title> + +<meta name="description" content="The GNU Fortran Compiler: DIM"> +<meta name="keywords" content="The GNU Fortran Compiler: DIM"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="DOT_005fPRODUCT.html#DOT_005fPRODUCT" rel="next" title="DOT_PRODUCT"> +<link href="DIGITS.html#DIGITS" rel="previous" title="DIGITS"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="DIM"></a> +<div class="header"> +<p> +Next: <a href="DOT_005fPRODUCT.html#DOT_005fPRODUCT" accesskey="n" rel="next">DOT_PRODUCT</a>, Previous: <a href="DIGITS.html#DIGITS" accesskey="p" rel="previous">DIGITS</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="DIM-_002d_002d_002d-Positive-difference"></a> +<h3 class="section">8.86 <code>DIM</code> — Positive difference</h3> +<a name="index-DIM"></a> +<a name="index-IDIM"></a> +<a name="index-DDIM"></a> +<a name="index-positive-difference"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>DIM(X,Y)</code> returns the difference <code>X-Y</code> if the result is positive; +otherwise returns zero. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = DIM(X, Y)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>INTEGER</code> or <code>REAL</code></td></tr> +<tr><td width="15%"><var>Y</var></td><td width="70%">The type shall be the same type and kind as <var>X</var>. (As +a GNU extension, arguments of different kinds are permitted.)</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> or <code>REAL</code>. (As a GNU +extension, kind is the largest kind of the actual arguments.) +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_dim + integer :: i + real(8) :: x + i = dim(4, 15) + x = dim(4.345_8, 2.111_8) + print *, i + print *, x +end program test_dim +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="26%">Argument</th><th width="20%">Return type</th><th width="30%">Standard</th></tr></thead> +<tr><td width="20%"><code>DIM(X,Y)</code></td><td width="26%"><code>REAL(4) X, Y</code></td><td width="20%"><code>REAL(4)</code></td><td width="30%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>IDIM(X,Y)</code></td><td width="26%"><code>INTEGER(4) X, Y</code></td><td width="20%"><code>INTEGER(4)</code></td><td width="30%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>DDIM(X,Y)</code></td><td width="26%"><code>REAL(8) X, Y</code></td><td width="20%"><code>REAL(8)</code></td><td width="30%">Fortran 77 and later</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/DOT_005fPRODUCT.html b/share/doc/gfortran/DOT_005fPRODUCT.html new file mode 100644 index 0000000..30bfcea --- /dev/null +++ b/share/doc/gfortran/DOT_005fPRODUCT.html @@ -0,0 +1,142 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: DOT_PRODUCT</title> + +<meta name="description" content="The GNU Fortran Compiler: DOT_PRODUCT"> +<meta name="keywords" content="The GNU Fortran Compiler: DOT_PRODUCT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="DPROD.html#DPROD" rel="next" title="DPROD"> +<link href="DIM.html#DIM" rel="previous" title="DIM"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="DOT_005fPRODUCT"></a> +<div class="header"> +<p> +Next: <a href="DPROD.html#DPROD" accesskey="n" rel="next">DPROD</a>, Previous: <a href="DIM.html#DIM" accesskey="p" rel="previous">DIM</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="DOT_005fPRODUCT-_002d_002d_002d-Dot-product-function"></a> +<h3 class="section">8.87 <code>DOT_PRODUCT</code> — Dot product function</h3> +<a name="index-DOT_005fPRODUCT"></a> +<a name="index-dot-product"></a> +<a name="index-vector-product"></a> +<a name="index-product_002c-vector"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>DOT_PRODUCT(VECTOR_A, VECTOR_B)</code> computes the dot product multiplication +of two vectors <var>VECTOR_A</var> and <var>VECTOR_B</var>. The two vectors may be +either numeric or logical and must be arrays of rank one and of equal size. If +the vectors are <code>INTEGER</code> or <code>REAL</code>, the result is +<code>SUM(VECTOR_A*VECTOR_B)</code>. If the vectors are <code>COMPLEX</code>, the result +is <code>SUM(CONJG(VECTOR_A)*VECTOR_B)</code>. If the vectors are <code>LOGICAL</code>, +the result is <code>ANY(VECTOR_A .AND. VECTOR_B)</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = DOT_PRODUCT(VECTOR_A, VECTOR_B)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>VECTOR_A</var></td><td width="70%">The type shall be numeric or <code>LOGICAL</code>, rank 1.</td></tr> +<tr><td width="15%"><var>VECTOR_B</var></td><td width="70%">The type shall be numeric if <var>VECTOR_A</var> is of numeric type or <code>LOGICAL</code> if <var>VECTOR_A</var> is of type <code>LOGICAL</code>. <var>VECTOR_B</var> shall be a rank-one array.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>If the arguments are numeric, the return value is a scalar of numeric type, +<code>INTEGER</code>, <code>REAL</code>, or <code>COMPLEX</code>. If the arguments are +<code>LOGICAL</code>, the return value is <code>.TRUE.</code> or <code>.FALSE.</code>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_dot_prod + integer, dimension(3) :: a, b + a = (/ 1, 2, 3 /) + b = (/ 4, 5, 6 /) + print '(3i3)', a + print * + print '(3i3)', b + print * + print *, dot_product(a,b) +end program test_dot_prod +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/DPROD.html b/share/doc/gfortran/DPROD.html new file mode 100644 index 0000000..5d25d38 --- /dev/null +++ b/share/doc/gfortran/DPROD.html @@ -0,0 +1,136 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: DPROD</title> + +<meta name="description" content="The GNU Fortran Compiler: DPROD"> +<meta name="keywords" content="The GNU Fortran Compiler: DPROD"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="DREAL.html#DREAL" rel="next" title="DREAL"> +<link href="DOT_005fPRODUCT.html#DOT_005fPRODUCT" rel="previous" title="DOT_PRODUCT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="DPROD"></a> +<div class="header"> +<p> +Next: <a href="DREAL.html#DREAL" accesskey="n" rel="next">DREAL</a>, Previous: <a href="DOT_005fPRODUCT.html#DOT_005fPRODUCT" accesskey="p" rel="previous">DOT_PRODUCT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="DPROD-_002d_002d_002d-Double-product-function"></a> +<h3 class="section">8.88 <code>DPROD</code> — Double product function</h3> +<a name="index-DPROD"></a> +<a name="index-product_002c-double_002dprecision"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>DPROD(X,Y)</code> returns the product <code>X*Y</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = DPROD(X, Y)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code>.</td></tr> +<tr><td width="15%"><var>Y</var></td><td width="70%">The type shall be <code>REAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>REAL(8)</code>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_dprod + real :: x = 5.2 + real :: y = 2.3 + real(8) :: d + d = dprod(x,y) + print *, d +end program test_dprod +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>DPROD(X,Y)</code></td><td width="23%"><code>REAL(4) X, Y</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">Fortran 77 and later</td></tr> +</table> + +</dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/DREAL.html b/share/doc/gfortran/DREAL.html new file mode 100644 index 0000000..e02ab36 --- /dev/null +++ b/share/doc/gfortran/DREAL.html @@ -0,0 +1,130 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: DREAL</title> + +<meta name="description" content="The GNU Fortran Compiler: DREAL"> +<meta name="keywords" content="The GNU Fortran Compiler: DREAL"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="DSHIFTL.html#DSHIFTL" rel="next" title="DSHIFTL"> +<link href="DPROD.html#DPROD" rel="previous" title="DPROD"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="DREAL"></a> +<div class="header"> +<p> +Next: <a href="DSHIFTL.html#DSHIFTL" accesskey="n" rel="next">DSHIFTL</a>, Previous: <a href="DPROD.html#DPROD" accesskey="p" rel="previous">DPROD</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="DREAL-_002d_002d_002d-Double-real-part-function"></a> +<h3 class="section">8.89 <code>DREAL</code> — Double real part function</h3> +<a name="index-DREAL"></a> +<a name="index-complex-numbers_002c-real-part"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>DREAL(Z)</code> returns the real part of complex variable <var>Z</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = DREAL(A)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>A</var></td><td width="70%">The type shall be <code>COMPLEX(8)</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>REAL(8)</code>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_dreal + complex(8) :: z = (1.3_8,7.2_8) + print *, dreal(z) +end program test_dreal +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="AIMAG.html#AIMAG">AIMAG</a> +</p> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/DSHIFTL.html b/share/doc/gfortran/DSHIFTL.html new file mode 100644 index 0000000..6222fa3 --- /dev/null +++ b/share/doc/gfortran/DSHIFTL.html @@ -0,0 +1,133 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: DSHIFTL</title> + +<meta name="description" content="The GNU Fortran Compiler: DSHIFTL"> +<meta name="keywords" content="The GNU Fortran Compiler: DSHIFTL"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="DSHIFTR.html#DSHIFTR" rel="next" title="DSHIFTR"> +<link href="DREAL.html#DREAL" rel="previous" title="DREAL"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="DSHIFTL"></a> +<div class="header"> +<p> +Next: <a href="DSHIFTR.html#DSHIFTR" accesskey="n" rel="next">DSHIFTR</a>, Previous: <a href="DREAL.html#DREAL" accesskey="p" rel="previous">DREAL</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="DSHIFTL-_002d_002d_002d-Combined-left-shift"></a> +<h3 class="section">8.90 <code>DSHIFTL</code> — Combined left shift</h3> +<a name="index-DSHIFTL"></a> +<a name="index-left-shift_002c-combined"></a> +<a name="index-shift_002c-left"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>DSHIFTL(I, J, SHIFT)</code> combines bits of <var>I</var> and <var>J</var>. The +rightmost <var>SHIFT</var> bits of the result are the leftmost <var>SHIFT</var> +bits of <var>J</var>, and the remaining bits are the rightmost bits of +<var>I</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = DSHIFTL(I, J, SHIFT)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">Shall be of type <code>INTEGER</code> or a BOZ constant.</td></tr> +<tr><td width="15%"><var>J</var></td><td width="70%">Shall be of type <code>INTEGER</code> or a BOZ constant. +If both <var>I</var> and <var>J</var> have integer type, then they shall have +the same kind type parameter. <var>I</var> and <var>J</var> shall not both be +BOZ constants.</td></tr> +<tr><td width="15%"><var>SHIFT</var></td><td width="70%">Shall be of type <code>INTEGER</code>. It shall +be nonnegative. If <var>I</var> is not a BOZ constant, then <var>SHIFT</var> +shall be less than or equal to <code>BIT_SIZE(I)</code>; otherwise, +<var>SHIFT</var> shall be less than or equal to <code>BIT_SIZE(J)</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>If either <var>I</var> or <var>J</var> is a BOZ constant, it is first converted +as if by the intrinsic function <code>INT</code> to an integer type with the +kind type parameter of the other. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="DSHIFTR.html#DSHIFTR">DSHIFTR</a> +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/DSHIFTR.html b/share/doc/gfortran/DSHIFTR.html new file mode 100644 index 0000000..6d4257d --- /dev/null +++ b/share/doc/gfortran/DSHIFTR.html @@ -0,0 +1,133 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: DSHIFTR</title> + +<meta name="description" content="The GNU Fortran Compiler: DSHIFTR"> +<meta name="keywords" content="The GNU Fortran Compiler: DSHIFTR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="DTIME.html#DTIME" rel="next" title="DTIME"> +<link href="DSHIFTL.html#DSHIFTL" rel="previous" title="DSHIFTL"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="DSHIFTR"></a> +<div class="header"> +<p> +Next: <a href="DTIME.html#DTIME" accesskey="n" rel="next">DTIME</a>, Previous: <a href="DSHIFTL.html#DSHIFTL" accesskey="p" rel="previous">DSHIFTL</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="DSHIFTR-_002d_002d_002d-Combined-right-shift"></a> +<h3 class="section">8.91 <code>DSHIFTR</code> — Combined right shift</h3> +<a name="index-DSHIFTR"></a> +<a name="index-right-shift_002c-combined"></a> +<a name="index-shift_002c-right"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>DSHIFTR(I, J, SHIFT)</code> combines bits of <var>I</var> and <var>J</var>. The +leftmost <var>SHIFT</var> bits of the result are the rightmost <var>SHIFT</var> +bits of <var>I</var>, and the remaining bits are the leftmost bits of +<var>J</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = DSHIFTR(I, J, SHIFT)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">Shall be of type <code>INTEGER</code> or a BOZ constant.</td></tr> +<tr><td width="15%"><var>J</var></td><td width="70%">Shall be of type <code>INTEGER</code> or a BOZ constant. +If both <var>I</var> and <var>J</var> have integer type, then they shall have +the same kind type parameter. <var>I</var> and <var>J</var> shall not both be +BOZ constants.</td></tr> +<tr><td width="15%"><var>SHIFT</var></td><td width="70%">Shall be of type <code>INTEGER</code>. It shall +be nonnegative. If <var>I</var> is not a BOZ constant, then <var>SHIFT</var> +shall be less than or equal to <code>BIT_SIZE(I)</code>; otherwise, +<var>SHIFT</var> shall be less than or equal to <code>BIT_SIZE(J)</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>If either <var>I</var> or <var>J</var> is a BOZ constant, it is first converted +as if by the intrinsic function <code>INT</code> to an integer type with the +kind type parameter of the other. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="DSHIFTL.html#DSHIFTL">DSHIFTL</a> +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/DTIME.html b/share/doc/gfortran/DTIME.html new file mode 100644 index 0000000..07ff8a0 --- /dev/null +++ b/share/doc/gfortran/DTIME.html @@ -0,0 +1,183 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: DTIME</title> + +<meta name="description" content="The GNU Fortran Compiler: DTIME"> +<meta name="keywords" content="The GNU Fortran Compiler: DTIME"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="EOSHIFT.html#EOSHIFT" rel="next" title="EOSHIFT"> +<link href="DSHIFTR.html#DSHIFTR" rel="previous" title="DSHIFTR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="DTIME"></a> +<div class="header"> +<p> +Next: <a href="EOSHIFT.html#EOSHIFT" accesskey="n" rel="next">EOSHIFT</a>, Previous: <a href="DSHIFTR.html#DSHIFTR" accesskey="p" rel="previous">DSHIFTR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="DTIME-_002d_002d_002d-Execution-time-subroutine-_0028or-function_0029"></a> +<h3 class="section">8.92 <code>DTIME</code> — Execution time subroutine (or function)</h3> +<a name="index-DTIME"></a> +<a name="index-time_002c-elapsed-1"></a> +<a name="index-elapsed-time"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>DTIME(VALUES, TIME)</code> initially returns the number of seconds of runtime +since the start of the process’s execution in <var>TIME</var>. <var>VALUES</var> +returns the user and system components of this time in <code>VALUES(1)</code> and +<code>VALUES(2)</code> respectively. <var>TIME</var> is equal to <code>VALUES(1) + +VALUES(2)</code>. +</p> +<p>Subsequent invocations of <code>DTIME</code> return values accumulated since the +previous invocation. +</p> +<p>On some systems, the underlying timings are represented using types with +sufficiently small limits that overflows (wrap around) are possible, such as +32-bit types. Therefore, the values returned by this intrinsic might be, or +become, negative, or numerically less than previous values, during a single +run of the compiled program. +</p> +<p>Please note, that this implementation is thread safe if used within OpenMP +directives, i.e., its state will be consistent while called from multiple +threads. However, if <code>DTIME</code> is called from multiple threads, the result +is still the time since the last invocation. This may not give the intended +results. If possible, use <code>CPU_TIME</code> instead. +</p> +<p>This intrinsic is provided in both subroutine and function forms; however, +only one form can be used in any given program unit. +</p> +<p><var>VALUES</var> and <var>TIME</var> are <code>INTENT(OUT)</code> and provide the following: +</p> +<table> +<tr><td width="15%"><code>VALUES(1)</code>:</td><td width="70%">User time in seconds.</td></tr> +<tr><td width="15%"><code>VALUES(2)</code>:</td><td width="70%">System time in seconds.</td></tr> +<tr><td width="15%"><code>TIME</code>:</td><td width="70%">Run time since start in seconds.</td></tr> +</table> + +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL DTIME(VALUES, TIME)</code>.</td></tr> +<tr><td width="80%"><code>TIME = DTIME(VALUES)</code>, (not recommended).</td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>VALUES</var></td><td width="70%">The type shall be <code>REAL(4), DIMENSION(2)</code>.</td></tr> +<tr><td width="15%"><var>TIME</var></td><td width="70%">The type shall be <code>REAL(4)</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Elapsed time in seconds since the last invocation or since the start of program +execution if not called before. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_dtime + integer(8) :: i, j + real, dimension(2) :: tarray + real :: result + call dtime(tarray, result) + print *, result + print *, tarray(1) + print *, tarray(2) + do i=1,100000000 ! Just a delay + j = i * i - i + end do + call dtime(tarray, result) + print *, result + print *, tarray(1) + print *, tarray(2) +end program test_dtime +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="CPU_005fTIME.html#CPU_005fTIME">CPU_TIME</a> +</p> +</dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="EOSHIFT.html#EOSHIFT" accesskey="n" rel="next">EOSHIFT</a>, Previous: <a href="DSHIFTR.html#DSHIFTR" accesskey="p" rel="previous">DSHIFTR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Data-consistency-and-durability.html b/share/doc/gfortran/Data-consistency-and-durability.html new file mode 100644 index 0000000..91178e6 --- /dev/null +++ b/share/doc/gfortran/Data-consistency-and-durability.html @@ -0,0 +1,160 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Data consistency and durability</title> + +<meta name="description" content="The GNU Fortran Compiler: Data consistency and durability"> +<meta name="keywords" content="The GNU Fortran Compiler: Data consistency and durability"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Compiler-Characteristics.html#Compiler-Characteristics" rel="up" title="Compiler Characteristics"> +<link href="Files-opened-without-an-explicit-ACTION_003d-specifier.html#Files-opened-without-an-explicit-ACTION_003d-specifier" rel="next" title="Files opened without an explicit ACTION= specifier"> +<link href="Thread_002dsafety-of-the-runtime-library.html#Thread_002dsafety-of-the-runtime-library" rel="previous" title="Thread-safety of the runtime library"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Data-consistency-and-durability"></a> +<div class="header"> +<p> +Next: <a href="Files-opened-without-an-explicit-ACTION_003d-specifier.html#Files-opened-without-an-explicit-ACTION_003d-specifier" accesskey="n" rel="next">Files opened without an explicit ACTION= specifier</a>, Previous: <a href="Thread_002dsafety-of-the-runtime-library.html#Thread_002dsafety-of-the-runtime-library" accesskey="p" rel="previous">Thread-safety of the runtime library</a>, Up: <a href="Compiler-Characteristics.html#Compiler-Characteristics" accesskey="u" rel="up">Compiler Characteristics</a> [<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> +</div> +<hr> +<a name="Data-consistency-and-durability-1"></a> +<h3 class="section">4.6 Data consistency and durability</h3> +<a name="index-consistency_002c-durability"></a> + +<p>This section contains a brief overview of data and metadata +consistency and durability issues when doing I/O. +</p> +<p>With respect to durability, GNU Fortran makes no effort to ensure that +data is committed to stable storage. If this is required, the GNU +Fortran programmer can use the intrinsic <code>FNUM</code> to retrieve the +low level file descriptor corresponding to an open Fortran unit. Then, +using e.g. the <code>ISO_C_BINDING</code> feature, one can call the +underlying system call to flush dirty data to stable storage, such as +<code>fsync</code> on POSIX, <code>_commit</code> on MingW, or <code>fcntl(fd, +F_FULLSYNC, 0)</code> on Mac OS X. The following example shows how to call +fsync: +</p> +<div class="smallexample"> +<pre class="smallexample"> ! Declare the interface for POSIX fsync function + interface + function fsync (fd) bind(c,name="fsync") + use iso_c_binding, only: c_int + integer(c_int), value :: fd + integer(c_int) :: fsync + end function fsync + end interface + + ! Variable declaration + integer :: ret + + ! Opening unit 10 + open (10,file="foo") + + ! ... + ! Perform I/O on unit 10 + ! ... + + ! Flush and sync + flush(10) + ret = fsync(fnum(10)) + + ! Handle possible error + if (ret /= 0) stop "Error calling FSYNC" +</pre></div> + +<p>With respect to consistency, for regular files GNU Fortran uses +buffered I/O in order to improve performance. This buffer is flushed +automatically when full and in some other situations, e.g. when +closing a unit. It can also be explicitly flushed with the +<code>FLUSH</code> statement. Also, the buffering can be turned off with the +<code>GFORTRAN_UNBUFFERED_ALL</code> and +<code>GFORTRAN_UNBUFFERED_PRECONNECTED</code> environment variables. Special +files, such as terminals and pipes, are always unbuffered. Sometimes, +however, further things may need to be done in order to allow other +processes to see data that GNU Fortran has written, as follows. +</p> +<p>The Windows platform supports a relaxed metadata consistency model, +where file metadata is written to the directory lazily. This means +that, for instance, the <code>dir</code> command can show a stale size for a +file. One can force a directory metadata update by closing the unit, +or by calling <code>_commit</code> on the file descriptor. Note, though, +that <code>_commit</code> will force all dirty data to stable storage, which +is often a very slow operation. +</p> +<p>The Network File System (NFS) implements a relaxed consistency model +called open-to-close consistency. Closing a file forces dirty data and +metadata to be flushed to the server, and opening a file forces the +client to contact the server in order to revalidate cached +data. <code>fsync</code> will also force a flush of dirty data and metadata +to the server. Similar to <code>open</code> and <code>close</code>, acquiring and +releasing <code>fcntl</code> file locks, if the server supports them, will +also force cache validation and flushing dirty data and metadata. +</p> + +<hr> +<div class="header"> +<p> +Next: <a href="Files-opened-without-an-explicit-ACTION_003d-specifier.html#Files-opened-without-an-explicit-ACTION_003d-specifier" accesskey="n" rel="next">Files opened without an explicit ACTION= specifier</a>, Previous: <a href="Thread_002dsafety-of-the-runtime-library.html#Thread_002dsafety-of-the-runtime-library" accesskey="p" rel="previous">Thread-safety of the runtime library</a>, Up: <a href="Compiler-Characteristics.html#Compiler-Characteristics" accesskey="u" rel="up">Compiler Characteristics</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Debugging-Options.html b/share/doc/gfortran/Debugging-Options.html new file mode 100644 index 0000000..51ea8d4 --- /dev/null +++ b/share/doc/gfortran/Debugging-Options.html @@ -0,0 +1,212 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Debugging Options</title> + +<meta name="description" content="The GNU Fortran Compiler: Debugging Options"> +<meta name="keywords" content="The GNU Fortran Compiler: Debugging Options"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" rel="up" title="Invoking GNU Fortran"> +<link href="Directory-Options.html#Directory-Options" rel="next" title="Directory Options"> +<link href="Error-and-Warning-Options.html#Error-and-Warning-Options" rel="previous" title="Error and Warning Options"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Debugging-Options"></a> +<div class="header"> +<p> +Next: <a href="Directory-Options.html#Directory-Options" accesskey="n" rel="next">Directory Options</a>, Previous: <a href="Error-and-Warning-Options.html#Error-and-Warning-Options" accesskey="p" rel="previous">Error and Warning Options</a>, Up: <a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" accesskey="u" rel="up">Invoking GNU Fortran</a> [<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> +</div> +<hr> +<a name="Options-for-debugging-your-program-or-GNU-Fortran"></a> +<h3 class="section">2.5 Options for debugging your program or GNU Fortran</h3> +<a name="index-options_002c-debugging"></a> +<a name="index-debugging-information-options"></a> + +<p>GNU Fortran has various special options that are used for debugging +either your program or the GNU Fortran compiler. +</p> +<dl compact="compact"> +<dd><a name="index-fdump_002dfortran_002doriginal"></a> +</dd> +<dt><code>-fdump-fortran-original</code></dt> +<dd><p>Output the internal parse tree after translating the source program +into internal representation. This option is mostly useful for +debugging the GNU Fortran compiler itself. The output generated by +this option might change between releases. This option may also +generate internal compiler errors for features which have only +recently been added. +</p> +<a name="index-fdump_002dfortran_002doptimized"></a> +</dd> +<dt><code>-fdump-fortran-optimized</code></dt> +<dd><p>Output the parse tree after front-end optimization. Mostly useful for +debugging the GNU Fortran compiler itself. The output generated by +this option might change between releases. This option may also +generate internal compiler errors for features which have only +recently been added. +</p> +<a name="index-fdump_002dparse_002dtree"></a> +</dd> +<dt><code>-fdump-parse-tree</code></dt> +<dd><p>Output the internal parse tree after translating the source program +into internal representation. Mostly useful for debugging the GNU +Fortran compiler itself. The output generated by this option might +change between releases. This option may also generate internal +compiler errors for features which have only recently been added. This +option is deprecated; use <code>-fdump-fortran-original</code> instead. +</p> +<a name="index-fdebug_002daux_002dvars"></a> +</dd> +<dt><code>-fdebug-aux-vars</code></dt> +<dd><p>Renames internal variables created by the gfortran front end and makes +them accessible to a debugger. The name of the internal variables then +start with upper-case letters followed by an underscore. This option is +useful for debugging the compiler’s code generation together with +<code>-fdump-tree-original</code> and enabling debugging of the executable +program by using <code>-g</code> or <code>-ggdb3</code>. +</p> +<a name="index-fdump_002dfortran_002dglobal"></a> +</dd> +<dt><code>-fdump-fortran-global</code></dt> +<dd><p>Output a list of the global identifiers after translating into +middle-end representation. Mostly useful for debugging the GNU Fortran +compiler itself. The output generated by this option might change +between releases. This option may also generate internal compiler +errors for features which have only recently been added. +</p> +<a name="index-ffpe_002dtrap_003dlist"></a> +</dd> +<dt><code>-ffpe-trap=<var>list</var></code></dt> +<dd><p>Specify a list of floating point exception traps to enable. On most +systems, if a floating point exception occurs and the trap for that +exception is enabled, a SIGFPE signal will be sent and the program +being aborted, producing a core file useful for debugging. <var>list</var> +is a (possibly empty) comma-separated list of the following +exceptions: ‘<samp>invalid</samp>’ (invalid floating point operation, such as +<code>SQRT(-1.0)</code>), ‘<samp>zero</samp>’ (division by zero), ‘<samp>overflow</samp>’ +(overflow in a floating point operation), ‘<samp>underflow</samp>’ (underflow +in a floating point operation), ‘<samp>inexact</samp>’ (loss of precision +during operation), and ‘<samp>denormal</samp>’ (operation performed on a +denormal value). The first five exceptions correspond to the five +IEEE 754 exceptions, whereas the last one (‘<samp>denormal</samp>’) is not +part of the IEEE 754 standard but is available on some common +architectures such as x86. +</p> +<p>The first three exceptions (‘<samp>invalid</samp>’, ‘<samp>zero</samp>’, and +‘<samp>overflow</samp>’) often indicate serious errors, and unless the program +has provisions for dealing with these exceptions, enabling traps for +these three exceptions is probably a good idea. +</p> +<p>If the option is used more than once in the command line, the lists will +be joined: ’<code>ffpe-trap=</code><var>list1</var> <code>ffpe-trap=</code><var>list2</var>’ +is equivalent to <code>ffpe-trap=</code><var>list1</var>,<var>list2</var>. +</p> +<p>Note that once enabled an exception cannot be disabled (no negative form). +</p> +<p>Many, if not most, floating point operations incur loss of precision +due to rounding, and hence the <code>ffpe-trap=inexact</code> is likely to +be uninteresting in practice. +</p> +<p>By default no exception traps are enabled. +</p> +<a name="index-ffpe_002dsummary_003dlist"></a> +</dd> +<dt><code>-ffpe-summary=<var>list</var></code></dt> +<dd><p>Specify a list of floating-point exceptions, whose flag status is printed +to <code>ERROR_UNIT</code> when invoking <code>STOP</code> and <code>ERROR STOP</code>. +<var>list</var> can be either ‘<samp>none</samp>’, ‘<samp>all</samp>’ or a comma-separated list +of the following exceptions: ‘<samp>invalid</samp>’, ‘<samp>zero</samp>’, ‘<samp>overflow</samp>’, +‘<samp>underflow</samp>’, ‘<samp>inexact</samp>’ and ‘<samp>denormal</samp>’. (See +<samp>-ffpe-trap</samp> for a description of the exceptions.) +</p> +<p>If the option is used more than once in the command line, only the +last one will be used. +</p> +<p>By default, a summary for all exceptions but ‘<samp>inexact</samp>’ is shown. +</p> +<a name="index-fno_002dbacktrace"></a> +<a name="index-backtrace"></a> +<a name="index-trace"></a> +</dd> +<dt><code>-fno-backtrace</code></dt> +<dd><p>When a serious runtime error is encountered or a deadly signal is +emitted (segmentation fault, illegal instruction, bus error, +floating-point exception, and the other POSIX signals that have the +action ‘<samp>core</samp>’), the Fortran runtime library tries to output a +backtrace of the error. <code>-fno-backtrace</code> disables the backtrace +generation. This option only has influence for compilation of the +Fortran main program. +</p> +</dd> +</dl> + +<p>See <a href="http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#Debugging-Options">Options for Debugging Your Program or GCC</a> in <cite>Using the GNU Compiler Collection (GCC)</cite>, for more information on +debugging options. +</p> +<hr> +<div class="header"> +<p> +Next: <a href="Directory-Options.html#Directory-Options" accesskey="n" rel="next">Directory Options</a>, Previous: <a href="Error-and-Warning-Options.html#Error-and-Warning-Options" accesskey="p" rel="previous">Error and Warning Options</a>, Up: <a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" accesskey="u" rel="up">Invoking GNU Fortran</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Default-exponents.html b/share/doc/gfortran/Default-exponents.html new file mode 100644 index 0000000..ad6611e --- /dev/null +++ b/share/doc/gfortran/Default-exponents.html @@ -0,0 +1,90 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Default exponents</title> + +<meta name="description" content="The GNU Fortran Compiler: Default exponents"> +<meta name="keywords" content="The GNU Fortran Compiler: Default exponents"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran" rel="next" title="Extensions not implemented in GNU Fortran"> +<link href="Legacy-PARAMETER-statements.html#Legacy-PARAMETER-statements" rel="previous" title="Legacy PARAMETER statements"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Default-exponents"></a> +<div class="header"> +<p> +Previous: <a href="Legacy-PARAMETER-statements.html#Legacy-PARAMETER-statements" accesskey="p" rel="previous">Legacy PARAMETER statements</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> [<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> +</div> +<hr> +<a name="Default-exponents-1"></a> +<h4 class="subsection">5.1.34 Default exponents</h4> +<a name="index-exponent"></a> + +<p>For compatibility, GNU Fortran supports a default exponent of zero in real +constants with <samp>-fdec</samp>. For example, <code>9e</code> would be +interpreted as <code>9e0</code>, rather than an error. +</p> + + + + +</body> +</html> diff --git a/share/doc/gfortran/Default-widths-for-F_002c-G-and-I-format-descriptors.html b/share/doc/gfortran/Default-widths-for-F_002c-G-and-I-format-descriptors.html new file mode 100644 index 0000000..69af30a --- /dev/null +++ b/share/doc/gfortran/Default-widths-for-F_002c-G-and-I-format-descriptors.html @@ -0,0 +1,97 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Default widths for F, G and I format descriptors</title> + +<meta name="description" content="The GNU Fortran Compiler: Default widths for F, G and I format descriptors"> +<meta name="keywords" content="The GNU Fortran Compiler: Default widths for F, G and I format descriptors"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="I_002fO-item-lists.html#I_002fO-item-lists" rel="next" title="I/O item lists"> +<link href="Missing-period-in-FORMAT-specifications.html#Missing-period-in-FORMAT-specifications" rel="previous" title="Missing period in FORMAT specifications"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Default-widths-for-F_002c-G-and-I-format-descriptors"></a> +<div class="header"> +<p> +Next: <a href="I_002fO-item-lists.html#I_002fO-item-lists" accesskey="n" rel="next">I/O item lists</a>, Previous: <a href="Missing-period-in-FORMAT-specifications.html#Missing-period-in-FORMAT-specifications" accesskey="p" rel="previous">Missing period in FORMAT specifications</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> [<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> +</div> +<hr> +<a name="Default-widths-for-F_002c-G-and-I-format-descriptors-1"></a> +<h4 class="subsection">5.1.7 Default widths for <code>F</code>, <code>G</code> and <code>I</code> format descriptors</h4> + +<p>To support legacy codes, GNU Fortran allows width to be omitted from format +specifications if and only if <samp>-fdec-format-defaults</samp> is given on the +command line. Default widths will be used. This is considered non-conforming +code and is discouraged. +</p> +<div class="smallexample"> +<pre class="smallexample"> REAL :: value1 + INTEGER :: value2 + WRITE(*,10) value1, value1, value2 +10 FORMAT ('F, G, I') +</pre></div> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Derived-Types-and-struct.html b/share/doc/gfortran/Derived-Types-and-struct.html new file mode 100644 index 0000000..bc24239 --- /dev/null +++ b/share/doc/gfortran/Derived-Types-and-struct.html @@ -0,0 +1,124 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Derived Types and struct</title> + +<meta name="description" content="The GNU Fortran Compiler: Derived Types and struct"> +<meta name="keywords" content="The GNU Fortran Compiler: Derived Types and struct"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Interoperability-with-C.html#Interoperability-with-C" rel="up" title="Interoperability with C"> +<link href="Interoperable-Global-Variables.html#Interoperable-Global-Variables" rel="next" title="Interoperable Global Variables"> +<link href="Intrinsic-Types.html#Intrinsic-Types" rel="previous" title="Intrinsic Types"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Derived-Types-and-struct"></a> +<div class="header"> +<p> +Next: <a href="Interoperable-Global-Variables.html#Interoperable-Global-Variables" accesskey="n" rel="next">Interoperable Global Variables</a>, Previous: <a href="Intrinsic-Types.html#Intrinsic-Types" accesskey="p" rel="previous">Intrinsic Types</a>, Up: <a href="Interoperability-with-C.html#Interoperability-with-C" accesskey="u" rel="up">Interoperability with C</a> [<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> +</div> +<hr> +<a name="Derived-Types-and-struct-1"></a> +<h4 class="subsection">6.1.2 Derived Types and struct</h4> +<a name="index-C-derived-type-and-struct-interoperability"></a> +<a name="index-derived-type-interoperability-with-C"></a> +<a name="index-interoperability_002c-derived-type-and-struct"></a> + +<p>For compatibility of derived types with <code>struct</code>, use +the <code>BIND(C)</code> attribute in the type declaration. For instance, the +following type declaration +</p> +<div class="smallexample"> +<pre class="smallexample"> USE ISO_C_BINDING + TYPE, BIND(C) :: myType + INTEGER(C_INT) :: i1, i2 + INTEGER(C_SIGNED_CHAR) :: i3 + REAL(C_DOUBLE) :: d1 + COMPLEX(C_FLOAT_COMPLEX) :: c1 + CHARACTER(KIND=C_CHAR) :: str(5) + END TYPE +</pre></div> + +<p>matches the following <code>struct</code> declaration in C +</p> +<div class="smallexample"> +<pre class="smallexample"> struct { + int i1, i2; + /* Note: "char" might be signed or unsigned. */ + signed char i3; + double d1; + float _Complex c1; + char str[5]; + } myType; +</pre></div> + +<p>Derived types with the C binding attribute shall not have the <code>sequence</code> +attribute, type parameters, the <code>extends</code> attribute, nor type-bound +procedures. Every component must be of interoperable type and kind and may not +have the <code>pointer</code> or <code>allocatable</code> attribute. The names of the +components are irrelevant for interoperability. +</p> +<p>As there exist no direct Fortran equivalents, neither unions nor structs +with bit field or variable-length array members are interoperable. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/Directory-Options.html b/share/doc/gfortran/Directory-Options.html new file mode 100644 index 0000000..6010bcd --- /dev/null +++ b/share/doc/gfortran/Directory-Options.html @@ -0,0 +1,141 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Directory Options</title> + +<meta name="description" content="The GNU Fortran Compiler: Directory Options"> +<meta name="keywords" content="The GNU Fortran Compiler: Directory Options"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" rel="up" title="Invoking GNU Fortran"> +<link href="Link-Options.html#Link-Options" rel="next" title="Link Options"> +<link href="Debugging-Options.html#Debugging-Options" rel="previous" title="Debugging Options"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Directory-Options"></a> +<div class="header"> +<p> +Next: <a href="Link-Options.html#Link-Options" accesskey="n" rel="next">Link Options</a>, Previous: <a href="Debugging-Options.html#Debugging-Options" accesskey="p" rel="previous">Debugging Options</a>, Up: <a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" accesskey="u" rel="up">Invoking GNU Fortran</a> [<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> +</div> +<hr> +<a name="Options-for-directory-search"></a> +<h3 class="section">2.6 Options for directory search</h3> +<a name="index-directory_002c-options"></a> +<a name="index-options_002c-directory-search"></a> +<a name="index-search-path"></a> +<a name="index-INCLUDE-directive"></a> +<a name="index-directive_002c-INCLUDE"></a> +<p>These options affect how GNU Fortran searches +for files specified by the <code>INCLUDE</code> directive and where it searches +for previously compiled modules. +</p> +<p>It also affects the search paths used by <code>cpp</code> when used to preprocess +Fortran source. +</p> +<dl compact="compact"> +<dd><a name="index-Idir"></a> +<a name="index-directory_002c-search-paths-for-inclusion"></a> +<a name="index-inclusion_002c-directory-search-paths-for"></a> +<a name="index-search-paths_002c-for-included-files"></a> +<a name="index-paths_002c-search"></a> +<a name="index-module-search-path"></a> +</dd> +<dt><code>-I<var>dir</var></code></dt> +<dd><p>These affect interpretation of the <code>INCLUDE</code> directive +(as well as of the <code>#include</code> directive of the <code>cpp</code> +preprocessor). +</p> +<p>Also note that the general behavior of <samp>-I</samp> and +<code>INCLUDE</code> is pretty much the same as of <samp>-I</samp> with +<code>#include</code> in the <code>cpp</code> preprocessor, with regard to +looking for <samp>header.gcc</samp> files and other such things. +</p> +<p>This path is also used to search for <samp>.mod</samp> files when previously +compiled modules are required by a <code>USE</code> statement. +</p> +<p>See <a href="http://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html#Directory-Options">Options for Directory Search</a> in <cite>Using the GNU Compiler Collection (GCC)</cite>, for information on the +<samp>-I</samp> option. +</p> +<a name="index-Jdir"></a> +<a name="index-Mdir"></a> +<a name="index-paths_002c-search-1"></a> +<a name="index-module-search-path-1"></a> +</dd> +<dt><code>-J<var>dir</var></code></dt> +<dd><p>This option specifies where to put <samp>.mod</samp> files for compiled modules. +It is also added to the list of directories to searched by an <code>USE</code> +statement. +</p> +<p>The default is the current directory. +</p> +<a name="index-fintrinsic_002dmodules_002dpath-dir"></a> +<a name="index-paths_002c-search-2"></a> +<a name="index-module-search-path-2"></a> +</dd> +<dt><code>-fintrinsic-modules-path <var>dir</var></code></dt> +<dd><p>This option specifies the location of pre-compiled intrinsic modules, if +they are not in the default location expected by the compiler. +</p></dd> +</dl> + + + + +</body> +</html> diff --git a/share/doc/gfortran/ENCODE-and-DECODE-statements.html b/share/doc/gfortran/ENCODE-and-DECODE-statements.html new file mode 100644 index 0000000..717da29 --- /dev/null +++ b/share/doc/gfortran/ENCODE-and-DECODE-statements.html @@ -0,0 +1,131 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ENCODE and DECODE statements</title> + +<meta name="description" content="The GNU Fortran Compiler: ENCODE and DECODE statements"> +<meta name="keywords" content="The GNU Fortran Compiler: ENCODE and DECODE statements"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran" rel="up" title="Extensions not implemented in GNU Fortran"> +<link href="Variable-FORMAT-expressions.html#Variable-FORMAT-expressions" rel="next" title="Variable FORMAT expressions"> +<link href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran" rel="previous" title="Extensions not implemented in GNU Fortran"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ENCODE-and-DECODE-statements"></a> +<div class="header"> +<p> +Next: <a href="Variable-FORMAT-expressions.html#Variable-FORMAT-expressions" accesskey="n" rel="next">Variable FORMAT expressions</a>, Up: <a href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran" accesskey="u" rel="up">Extensions not implemented in GNU Fortran</a> [<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> +</div> +<hr> +<a name="ENCODE-and-DECODE-statements-1"></a> +<h4 class="subsection">5.2.1 <code>ENCODE</code> and <code>DECODE</code> statements</h4> +<a name="index-ENCODE"></a> +<a name="index-DECODE"></a> + +<p>GNU Fortran does not support the <code>ENCODE</code> and <code>DECODE</code> +statements. These statements are best replaced by <code>READ</code> and +<code>WRITE</code> statements involving internal files (<code>CHARACTER</code> +variables and arrays), which have been part of the Fortran standard since +Fortran 77. For example, replace a code fragment like +</p> +<div class="smallexample"> +<pre class="smallexample"> INTEGER*1 LINE(80) + REAL A, B, C +c ... Code that sets LINE + DECODE (80, 9000, LINE) A, B, C + 9000 FORMAT (1X, 3(F10.5)) +</pre></div> + +<p>with the following: +</p> +<div class="smallexample"> +<pre class="smallexample"> CHARACTER(LEN=80) LINE + REAL A, B, C +c ... Code that sets LINE + READ (UNIT=LINE, FMT=9000) A, B, C + 9000 FORMAT (1X, 3(F10.5)) +</pre></div> + +<p>Similarly, replace a code fragment like +</p> +<div class="smallexample"> +<pre class="smallexample"> INTEGER*1 LINE(80) + REAL A, B, C +c ... Code that sets A, B and C + ENCODE (80, 9000, LINE) A, B, C + 9000 FORMAT (1X, 'OUTPUT IS ', 3(F10.5)) +</pre></div> + +<p>with the following: +</p> +<div class="smallexample"> +<pre class="smallexample"> CHARACTER(LEN=80) LINE + REAL A, B, C +c ... Code that sets A, B and C + WRITE (UNIT=LINE, FMT=9000) A, B, C + 9000 FORMAT (1X, 'OUTPUT IS ', 3(F10.5)) +</pre></div> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/EOSHIFT.html b/share/doc/gfortran/EOSHIFT.html new file mode 100644 index 0000000..04d9549 --- /dev/null +++ b/share/doc/gfortran/EOSHIFT.html @@ -0,0 +1,158 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: EOSHIFT</title> + +<meta name="description" content="The GNU Fortran Compiler: EOSHIFT"> +<meta name="keywords" content="The GNU Fortran Compiler: EOSHIFT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="EPSILON.html#EPSILON" rel="next" title="EPSILON"> +<link href="DTIME.html#DTIME" rel="previous" title="DTIME"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="EOSHIFT"></a> +<div class="header"> +<p> +Next: <a href="EPSILON.html#EPSILON" accesskey="n" rel="next">EPSILON</a>, Previous: <a href="DTIME.html#DTIME" accesskey="p" rel="previous">DTIME</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="EOSHIFT-_002d_002d_002d-End_002doff-shift-elements-of-an-array"></a> +<h3 class="section">8.93 <code>EOSHIFT</code> — End-off shift elements of an array</h3> +<a name="index-EOSHIFT"></a> +<a name="index-array_002c-shift"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>EOSHIFT(ARRAY, SHIFT[, BOUNDARY, DIM])</code> performs an end-off shift on +elements of <var>ARRAY</var> along the dimension of <var>DIM</var>. If <var>DIM</var> is +omitted it is taken to be <code>1</code>. <var>DIM</var> is a scalar of type +<code>INTEGER</code> in the range of <em>1 \leq DIM \leq n)</em> where <em>n</em> is the +rank of <var>ARRAY</var>. If the rank of <var>ARRAY</var> is one, then all elements of +<var>ARRAY</var> are shifted by <var>SHIFT</var> places. If rank is greater than one, +then all complete rank one sections of <var>ARRAY</var> along the given dimension are +shifted. Elements shifted out one end of each rank one section are dropped. If +<var>BOUNDARY</var> is present then the corresponding value of from <var>BOUNDARY</var> +is copied back in the other end. If <var>BOUNDARY</var> is not present then the +following are copied in depending on the type of <var>ARRAY</var>. +</p> +<table> +<tr><td width="15%"><em>Array Type</em></td><td width="80%"><em>Boundary Value</em></td></tr> +<tr><td width="15%">Numeric</td><td width="80%">0 of the type and kind of <var>ARRAY</var>.</td></tr> +<tr><td width="15%">Logical</td><td width="80%"><code>.FALSE.</code>.</td></tr> +<tr><td width="15%">Character(<var>len</var>)</td><td width="80%"><var>len</var> blanks.</td></tr> +</table> + +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = EOSHIFT(ARRAY, SHIFT [, BOUNDARY, DIM])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ARRAY</var></td><td width="70%">May be any type, not scalar.</td></tr> +<tr><td width="15%"><var>SHIFT</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>BOUNDARY</var></td><td width="70%">Same type as <var>ARRAY</var>.</td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Returns an array of same type and rank as the <var>ARRAY</var> argument. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_eoshift + integer, dimension(3,3) :: a + a = reshape( (/ 1, 2, 3, 4, 5, 6, 7, 8, 9 /), (/ 3, 3 /)) + print '(3i3)', a(1,:) + print '(3i3)', a(2,:) + print '(3i3)', a(3,:) + a = EOSHIFT(a, SHIFT=(/1, 2, 1/), BOUNDARY=-5, DIM=2) + print * + print '(3i3)', a(1,:) + print '(3i3)', a(2,:) + print '(3i3)', a(3,:) +end program test_eoshift +</pre></div> +</dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="EPSILON.html#EPSILON" accesskey="n" rel="next">EPSILON</a>, Previous: <a href="DTIME.html#DTIME" accesskey="p" rel="previous">DTIME</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/EPSILON.html b/share/doc/gfortran/EPSILON.html new file mode 100644 index 0000000..5ef429b --- /dev/null +++ b/share/doc/gfortran/EPSILON.html @@ -0,0 +1,128 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: EPSILON</title> + +<meta name="description" content="The GNU Fortran Compiler: EPSILON"> +<meta name="keywords" content="The GNU Fortran Compiler: EPSILON"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ERF.html#ERF" rel="next" title="ERF"> +<link href="EOSHIFT.html#EOSHIFT" rel="previous" title="EOSHIFT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="EPSILON"></a> +<div class="header"> +<p> +Next: <a href="ERF.html#ERF" accesskey="n" rel="next">ERF</a>, Previous: <a href="EOSHIFT.html#EOSHIFT" accesskey="p" rel="previous">EOSHIFT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="EPSILON-_002d_002d_002d-Epsilon-function"></a> +<h3 class="section">8.94 <code>EPSILON</code> — Epsilon function</h3> +<a name="index-EPSILON"></a> +<a name="index-model-representation_002c-epsilon"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>EPSILON(X)</code> returns the smallest number <var>E</var> of the same kind +as <var>X</var> such that <em>1 + E > 1</em>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = EPSILON(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of same type as the argument. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_epsilon + real :: x = 3.143 + real(8) :: y = 2.33 + print *, EPSILON(x) + print *, EPSILON(y) +end program test_epsilon +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ERF.html b/share/doc/gfortran/ERF.html new file mode 100644 index 0000000..246c5e1 --- /dev/null +++ b/share/doc/gfortran/ERF.html @@ -0,0 +1,133 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ERF</title> + +<meta name="description" content="The GNU Fortran Compiler: ERF"> +<meta name="keywords" content="The GNU Fortran Compiler: ERF"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ERFC.html#ERFC" rel="next" title="ERFC"> +<link href="EPSILON.html#EPSILON" rel="previous" title="EPSILON"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ERF"></a> +<div class="header"> +<p> +Next: <a href="ERFC.html#ERFC" accesskey="n" rel="next">ERFC</a>, Previous: <a href="EPSILON.html#EPSILON" accesskey="p" rel="previous">EPSILON</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ERF-_002d_002d_002d-Error-function"></a> +<h3 class="section">8.95 <code>ERF</code> — Error function</h3> +<a name="index-ERF"></a> +<a name="index-error-function"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ERF(X)</code> computes the error function of <var>X</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ERF(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>REAL</code>, of the same kind as +<var>X</var> and lies in the range <em>-1 \leq erf (x) \leq 1 </em>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_erf + real(8) :: x = 0.17_8 + x = erf(x) +end program test_erf +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>DERF(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ERFC.html b/share/doc/gfortran/ERFC.html new file mode 100644 index 0000000..466db55 --- /dev/null +++ b/share/doc/gfortran/ERFC.html @@ -0,0 +1,133 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ERFC</title> + +<meta name="description" content="The GNU Fortran Compiler: ERFC"> +<meta name="keywords" content="The GNU Fortran Compiler: ERFC"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ERFC_005fSCALED.html#ERFC_005fSCALED" rel="next" title="ERFC_SCALED"> +<link href="ERF.html#ERF" rel="previous" title="ERF"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ERFC"></a> +<div class="header"> +<p> +Next: <a href="ERFC_005fSCALED.html#ERFC_005fSCALED" accesskey="n" rel="next">ERFC_SCALED</a>, Previous: <a href="ERF.html#ERF" accesskey="p" rel="previous">ERF</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ERFC-_002d_002d_002d-Error-function"></a> +<h3 class="section">8.96 <code>ERFC</code> — Error function</h3> +<a name="index-ERFC"></a> +<a name="index-error-function_002c-complementary"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ERFC(X)</code> computes the complementary error function of <var>X</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ERFC(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>REAL</code> and of the same kind as <var>X</var>. +It lies in the range <em>0 \leq erfc (x) \leq 2 </em>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_erfc + real(8) :: x = 0.17_8 + x = erfc(x) +end program test_erfc +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>DERFC(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ERFC_005fSCALED.html b/share/doc/gfortran/ERFC_005fSCALED.html new file mode 100644 index 0000000..f470d05 --- /dev/null +++ b/share/doc/gfortran/ERFC_005fSCALED.html @@ -0,0 +1,126 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ERFC_SCALED</title> + +<meta name="description" content="The GNU Fortran Compiler: ERFC_SCALED"> +<meta name="keywords" content="The GNU Fortran Compiler: ERFC_SCALED"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ETIME.html#ETIME" rel="next" title="ETIME"> +<link href="ERFC.html#ERFC" rel="previous" title="ERFC"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ERFC_005fSCALED"></a> +<div class="header"> +<p> +Next: <a href="ETIME.html#ETIME" accesskey="n" rel="next">ETIME</a>, Previous: <a href="ERFC.html#ERFC" accesskey="p" rel="previous">ERFC</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ERFC_005fSCALED-_002d_002d_002d-Error-function"></a> +<h3 class="section">8.97 <code>ERFC_SCALED</code> — Error function</h3> +<a name="index-ERFC_005fSCALED"></a> +<a name="index-error-function_002c-complementary_002c-exponentially_002dscaled"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ERFC_SCALED(X)</code> computes the exponentially-scaled complementary +error function of <var>X</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ERFC_SCALED(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>REAL</code> and of the same kind as <var>X</var>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_erfc_scaled + real(8) :: x = 0.17_8 + x = erfc_scaled(x) +end program test_erfc_scaled +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ETIME.html b/share/doc/gfortran/ETIME.html new file mode 100644 index 0000000..7a669d8 --- /dev/null +++ b/share/doc/gfortran/ETIME.html @@ -0,0 +1,171 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ETIME</title> + +<meta name="description" content="The GNU Fortran Compiler: ETIME"> +<meta name="keywords" content="The GNU Fortran Compiler: ETIME"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="EVENT_005fQUERY.html#EVENT_005fQUERY" rel="next" title="EVENT_QUERY"> +<link href="ERFC_005fSCALED.html#ERFC_005fSCALED" rel="previous" title="ERFC_SCALED"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ETIME"></a> +<div class="header"> +<p> +Next: <a href="EVENT_005fQUERY.html#EVENT_005fQUERY" accesskey="n" rel="next">EVENT_QUERY</a>, Previous: <a href="ERFC_005fSCALED.html#ERFC_005fSCALED" accesskey="p" rel="previous">ERFC_SCALED</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ETIME-_002d_002d_002d-Execution-time-subroutine-_0028or-function_0029"></a> +<h3 class="section">8.98 <code>ETIME</code> — Execution time subroutine (or function)</h3> +<a name="index-ETIME"></a> +<a name="index-time_002c-elapsed-2"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ETIME(VALUES, TIME)</code> returns the number of seconds of runtime +since the start of the process’s execution in <var>TIME</var>. <var>VALUES</var> +returns the user and system components of this time in <code>VALUES(1)</code> and +<code>VALUES(2)</code> respectively. <var>TIME</var> is equal to <code>VALUES(1) + VALUES(2)</code>. +</p> +<p>On some systems, the underlying timings are represented using types with +sufficiently small limits that overflows (wrap around) are possible, such as +32-bit types. Therefore, the values returned by this intrinsic might be, or +become, negative, or numerically less than previous values, during a single +run of the compiled program. +</p> +<p>This intrinsic is provided in both subroutine and function forms; however, +only one form can be used in any given program unit. +</p> +<p><var>VALUES</var> and <var>TIME</var> are <code>INTENT(OUT)</code> and provide the following: +</p> +<table> +<tr><td width="15%"><code>VALUES(1)</code>:</td><td width="70%">User time in seconds.</td></tr> +<tr><td width="15%"><code>VALUES(2)</code>:</td><td width="70%">System time in seconds.</td></tr> +<tr><td width="15%"><code>TIME</code>:</td><td width="70%">Run time since start in seconds.</td></tr> +</table> + +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL ETIME(VALUES, TIME)</code>.</td></tr> +<tr><td width="80%"><code>TIME = ETIME(VALUES)</code>, (not recommended).</td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>VALUES</var></td><td width="70%">The type shall be <code>REAL(4), DIMENSION(2)</code>.</td></tr> +<tr><td width="15%"><var>TIME</var></td><td width="70%">The type shall be <code>REAL(4)</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Elapsed time in seconds since the start of program execution. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_etime + integer(8) :: i, j + real, dimension(2) :: tarray + real :: result + call ETIME(tarray, result) + print *, result + print *, tarray(1) + print *, tarray(2) + do i=1,100000000 ! Just a delay + j = i * i - i + end do + call ETIME(tarray, result) + print *, result + print *, tarray(1) + print *, tarray(2) +end program test_etime +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="CPU_005fTIME.html#CPU_005fTIME">CPU_TIME</a> +</p> +</dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="EVENT_005fQUERY.html#EVENT_005fQUERY" accesskey="n" rel="next">EVENT_QUERY</a>, Previous: <a href="ERFC_005fSCALED.html#ERFC_005fSCALED" accesskey="p" rel="previous">ERFC_SCALED</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/EVENT_005fQUERY.html b/share/doc/gfortran/EVENT_005fQUERY.html new file mode 100644 index 0000000..3a7d8c8 --- /dev/null +++ b/share/doc/gfortran/EVENT_005fQUERY.html @@ -0,0 +1,138 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: EVENT_QUERY</title> + +<meta name="description" content="The GNU Fortran Compiler: EVENT_QUERY"> +<meta name="keywords" content="The GNU Fortran Compiler: EVENT_QUERY"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="EXECUTE_005fCOMMAND_005fLINE.html#EXECUTE_005fCOMMAND_005fLINE" rel="next" title="EXECUTE_COMMAND_LINE"> +<link href="ETIME.html#ETIME" rel="previous" title="ETIME"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="EVENT_005fQUERY"></a> +<div class="header"> +<p> +Next: <a href="EXECUTE_005fCOMMAND_005fLINE.html#EXECUTE_005fCOMMAND_005fLINE" accesskey="n" rel="next">EXECUTE_COMMAND_LINE</a>, Previous: <a href="ETIME.html#ETIME" accesskey="p" rel="previous">ETIME</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="EVENT_005fQUERY-_002d_002d_002d-Query-whether-a-coarray-event-has-occurred"></a> +<h3 class="section">8.99 <code>EVENT_QUERY</code> — Query whether a coarray event has occurred</h3> +<a name="index-EVENT_005fQUERY"></a> +<a name="index-Events_002c-EVENT_005fQUERY"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>EVENT_QUERY</code> assignes the number of events to <var>COUNT</var> which have been +posted to the <var>EVENT</var> variable and not yet been removed by calling +<code>EVENT WAIT</code>. When <var>STAT</var> is present and the invocation was successful, +it is assigned the value 0. If it is present and the invocation has failed, +it is assigned a positive value and <var>COUNT</var> is assigned the value <em>-1</em>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>TS 18508 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL EVENT_QUERY (EVENT, COUNT [, STAT])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>EVENT</var></td><td width="70%">(intent(IN)) Scalar of type <code>EVENT_TYPE</code>, +defined in <code>ISO_FORTRAN_ENV</code>; shall not be coindexed.</td></tr> +<tr><td width="15%"><var>COUNT</var></td><td width="70%">(intent(out))Scalar integer with at least the +precision of default integer.</td></tr> +<tr><td width="15%"><var>STAT</var></td><td width="70%">(optional) Scalar default-kind integer variable.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program atomic + use iso_fortran_env + implicit none + type(event_type) :: event_value_has_been_set[*] + integer :: cnt + if (this_image() == 1) then + call event_query (event_value_has_been_set, cnt) + if (cnt > 0) write(*,*) "Value has been set" + elseif (this_image() == 2) then + event post (event_value_has_been_set[1]) + end if +end program atomic +</pre></div> + +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/EXECUTE_005fCOMMAND_005fLINE.html b/share/doc/gfortran/EXECUTE_005fCOMMAND_005fLINE.html new file mode 100644 index 0000000..c2b24e3 --- /dev/null +++ b/share/doc/gfortran/EXECUTE_005fCOMMAND_005fLINE.html @@ -0,0 +1,178 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: EXECUTE_COMMAND_LINE</title> + +<meta name="description" content="The GNU Fortran Compiler: EXECUTE_COMMAND_LINE"> +<meta name="keywords" content="The GNU Fortran Compiler: EXECUTE_COMMAND_LINE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="EXIT.html#EXIT" rel="next" title="EXIT"> +<link href="EVENT_005fQUERY.html#EVENT_005fQUERY" rel="previous" title="EVENT_QUERY"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="EXECUTE_005fCOMMAND_005fLINE"></a> +<div class="header"> +<p> +Next: <a href="EXIT.html#EXIT" accesskey="n" rel="next">EXIT</a>, Previous: <a href="EVENT_005fQUERY.html#EVENT_005fQUERY" accesskey="p" rel="previous">EVENT_QUERY</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="EXECUTE_005fCOMMAND_005fLINE-_002d_002d_002d-Execute-a-shell-command"></a> +<h3 class="section">8.100 <code>EXECUTE_COMMAND_LINE</code> — Execute a shell command</h3> +<a name="index-EXECUTE_005fCOMMAND_005fLINE"></a> +<a name="index-system_002c-system-call"></a> +<a name="index-command-line"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>EXECUTE_COMMAND_LINE</code> runs a shell command, synchronously or +asynchronously. +</p> +<p>The <code>COMMAND</code> argument is passed to the shell and executed (The +shell is <code>sh</code> on Unix systems, and <code>cmd.exe</code> on Windows.). +If <code>WAIT</code> is present and has the value false, the execution of +the command is asynchronous if the system supports it; otherwise, the +command is executed synchronously using the C library’s <code>system</code> +call. +</p> +<p>The three last arguments allow the user to get status information. After +synchronous execution, <code>EXITSTAT</code> contains the integer exit code of +the command, as returned by <code>system</code>. <code>CMDSTAT</code> is set to zero +if the command line was executed (whatever its exit status was). +<code>CMDMSG</code> is assigned an error message if an error has occurred. +</p> +<p>Note that the <code>system</code> function need not be thread-safe. It is +the responsibility of the user to ensure that <code>system</code> is not +called concurrently. +</p> +<p>For asynchronous execution on supported targets, the POSIX +<code>posix_spawn</code> or <code>fork</code> functions are used. Also, a signal +handler for the <code>SIGCHLD</code> signal is installed. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL EXECUTE_COMMAND_LINE(COMMAND [, WAIT, EXITSTAT, CMDSTAT, CMDMSG ])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>COMMAND</var></td><td width="70%">Shall be a default <code>CHARACTER</code> scalar.</td></tr> +<tr><td width="15%"><var>WAIT</var></td><td width="70%">(Optional) Shall be a default <code>LOGICAL</code> scalar.</td></tr> +<tr><td width="15%"><var>EXITSTAT</var></td><td width="70%">(Optional) Shall be an <code>INTEGER</code> of the +default kind.</td></tr> +<tr><td width="15%"><var>CMDSTAT</var></td><td width="70%">(Optional) Shall be an <code>INTEGER</code> of the +default kind.</td></tr> +<tr><td width="15%"><var>CMDMSG</var></td><td width="70%">(Optional) Shall be an <code>CHARACTER</code> scalar of the +default kind.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_exec + integer :: i + + call execute_command_line ("external_prog.exe", exitstat=i) + print *, "Exit status of external_prog.exe was ", i + + call execute_command_line ("reindex_files.exe", wait=.false.) + print *, "Now reindexing files in the background" + +end program test_exec +</pre></div> + + +</dd> +<dt><em>Note</em>:</dt> +<dd> +<p>Because this intrinsic is implemented in terms of the <code>system</code> +function call, its behavior with respect to signaling is processor +dependent. In particular, on POSIX-compliant systems, the SIGINT and +SIGQUIT signals will be ignored, and the SIGCHLD will be blocked. As +such, if the parent process is terminated, the child process might not be +terminated alongside. +</p> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="SYSTEM.html#SYSTEM">SYSTEM</a> +</p></dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="EXIT.html#EXIT" accesskey="n" rel="next">EXIT</a>, Previous: <a href="EVENT_005fQUERY.html#EVENT_005fQUERY" accesskey="p" rel="previous">EVENT_QUERY</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/EXIT.html b/share/doc/gfortran/EXIT.html new file mode 100644 index 0000000..46ea556 --- /dev/null +++ b/share/doc/gfortran/EXIT.html @@ -0,0 +1,134 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: EXIT</title> + +<meta name="description" content="The GNU Fortran Compiler: EXIT"> +<meta name="keywords" content="The GNU Fortran Compiler: EXIT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="EXP.html#EXP" rel="next" title="EXP"> +<link href="EXECUTE_005fCOMMAND_005fLINE.html#EXECUTE_005fCOMMAND_005fLINE" rel="previous" title="EXECUTE_COMMAND_LINE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="EXIT"></a> +<div class="header"> +<p> +Next: <a href="EXP.html#EXP" accesskey="n" rel="next">EXP</a>, Previous: <a href="EXECUTE_005fCOMMAND_005fLINE.html#EXECUTE_005fCOMMAND_005fLINE" accesskey="p" rel="previous">EXECUTE_COMMAND_LINE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="EXIT-_002d_002d_002d-Exit-the-program-with-status_002e"></a> +<h3 class="section">8.101 <code>EXIT</code> — Exit the program with status.</h3> +<a name="index-EXIT"></a> +<a name="index-program-termination"></a> +<a name="index-terminate-program"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>EXIT</code> causes immediate termination of the program with status. If status +is omitted it returns the canonical <em>success</em> for the system. All Fortran +I/O units are closed. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL EXIT([STATUS])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">Shall be an <code>INTEGER</code> of the default kind.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p><code>STATUS</code> is passed to the parent process on exit. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_exit + integer :: STATUS = 0 + print *, 'This program is going to exit.' + call EXIT(STATUS) +end program test_exit +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ABORT.html#ABORT">ABORT</a>, <br> +<a href="KILL.html#KILL">KILL</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/EXP.html b/share/doc/gfortran/EXP.html new file mode 100644 index 0000000..508baf7 --- /dev/null +++ b/share/doc/gfortran/EXP.html @@ -0,0 +1,142 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: EXP</title> + +<meta name="description" content="The GNU Fortran Compiler: EXP"> +<meta name="keywords" content="The GNU Fortran Compiler: EXP"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="EXPONENT.html#EXPONENT" rel="next" title="EXPONENT"> +<link href="EXIT.html#EXIT" rel="previous" title="EXIT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="EXP"></a> +<div class="header"> +<p> +Next: <a href="EXPONENT.html#EXPONENT" accesskey="n" rel="next">EXPONENT</a>, Previous: <a href="EXIT.html#EXIT" accesskey="p" rel="previous">EXIT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="EXP-_002d_002d_002d-Exponential-function"></a> +<h3 class="section">8.102 <code>EXP</code> — Exponential function</h3> +<a name="index-EXP"></a> +<a name="index-DEXP"></a> +<a name="index-CEXP"></a> +<a name="index-ZEXP"></a> +<a name="index-CDEXP"></a> +<a name="index-exponential-function"></a> +<a name="index-logarithm-function_002c-inverse"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>EXP(X)</code> computes the base <em>e</em> exponential of <var>X</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later, has overloads that are GNU extensions +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = EXP(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code> or +<code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value has same type and kind as <var>X</var>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_exp + real :: x = 1.0 + x = exp(x) +end program test_exp +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>EXP(X)</code></td><td width="23%"><code>REAL(4) X</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>DEXP(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>CEXP(X)</code></td><td width="23%"><code>COMPLEX(4) X</code></td><td width="20%"><code>COMPLEX(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>ZEXP(X)</code></td><td width="23%"><code>COMPLEX(8) X</code></td><td width="20%"><code>COMPLEX(8)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>CDEXP(X)</code></td><td width="23%"><code>COMPLEX(8) X</code></td><td width="20%"><code>COMPLEX(8)</code></td><td width="33%">GNU extension</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/EXPONENT.html b/share/doc/gfortran/EXPONENT.html new file mode 100644 index 0000000..f0584ec --- /dev/null +++ b/share/doc/gfortran/EXPONENT.html @@ -0,0 +1,130 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: EXPONENT</title> + +<meta name="description" content="The GNU Fortran Compiler: EXPONENT"> +<meta name="keywords" content="The GNU Fortran Compiler: EXPONENT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="EXTENDS_005fTYPE_005fOF.html#EXTENDS_005fTYPE_005fOF" rel="next" title="EXTENDS_TYPE_OF"> +<link href="EXP.html#EXP" rel="previous" title="EXP"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="EXPONENT"></a> +<div class="header"> +<p> +Next: <a href="EXTENDS_005fTYPE_005fOF.html#EXTENDS_005fTYPE_005fOF" accesskey="n" rel="next">EXTENDS_TYPE_OF</a>, Previous: <a href="EXP.html#EXP" accesskey="p" rel="previous">EXP</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="EXPONENT-_002d_002d_002d-Exponent-function"></a> +<h3 class="section">8.103 <code>EXPONENT</code> — Exponent function</h3> +<a name="index-EXPONENT"></a> +<a name="index-real-number_002c-exponent"></a> +<a name="index-floating-point_002c-exponent"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>EXPONENT(X)</code> returns the value of the exponent part of <var>X</var>. If <var>X</var> +is zero the value returned is zero. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = EXPONENT(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type default <code>INTEGER</code>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_exponent + real :: x = 1.0 + integer :: i + i = exponent(x) + print *, i + print *, exponent(0.0) +end program test_exponent +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/EXTENDS_005fTYPE_005fOF.html b/share/doc/gfortran/EXTENDS_005fTYPE_005fOF.html new file mode 100644 index 0000000..d0408ce --- /dev/null +++ b/share/doc/gfortran/EXTENDS_005fTYPE_005fOF.html @@ -0,0 +1,124 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: EXTENDS_TYPE_OF</title> + +<meta name="description" content="The GNU Fortran Compiler: EXTENDS_TYPE_OF"> +<meta name="keywords" content="The GNU Fortran Compiler: EXTENDS_TYPE_OF"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="FDATE.html#FDATE" rel="next" title="FDATE"> +<link href="EXPONENT.html#EXPONENT" rel="previous" title="EXPONENT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="EXTENDS_005fTYPE_005fOF"></a> +<div class="header"> +<p> +Next: <a href="FDATE.html#FDATE" accesskey="n" rel="next">FDATE</a>, Previous: <a href="EXPONENT.html#EXPONENT" accesskey="p" rel="previous">EXPONENT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="EXTENDS_005fTYPE_005fOF-_002d_002d_002d-Query-dynamic-type-for-extension"></a> +<h3 class="section">8.104 <code>EXTENDS_TYPE_OF</code> — Query dynamic type for extension</h3> +<a name="index-EXTENDS_005fTYPE_005fOF"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Query dynamic type for extension. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = EXTENDS_TYPE_OF(A, MOLD)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>A</var></td><td width="70%">Shall be an object of extensible declared type or +unlimited polymorphic.</td></tr> +<tr><td width="15%"><var>MOLD</var></td><td width="70%">Shall be an object of extensible declared type or +unlimited polymorphic.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is a scalar of type default logical. It is true if and only if +the dynamic type of A is an extension type of the dynamic type of MOLD. +</p> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="SAME_005fTYPE_005fAS.html#SAME_005fTYPE_005fAS">SAME_TYPE_AS</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Environment-Variables.html b/share/doc/gfortran/Environment-Variables.html new file mode 100644 index 0000000..1004387 --- /dev/null +++ b/share/doc/gfortran/Environment-Variables.html @@ -0,0 +1,98 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Environment Variables</title> + +<meta name="description" content="The GNU Fortran Compiler: Environment Variables"> +<meta name="keywords" content="The GNU Fortran Compiler: Environment Variables"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" rel="up" title="Invoking GNU Fortran"> +<link href="Runtime.html#Runtime" rel="next" title="Runtime"> +<link href="Interoperability-Options.html#Interoperability-Options" rel="previous" title="Interoperability Options"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Environment-Variables"></a> +<div class="header"> +<p> +Previous: <a href="Interoperability-Options.html#Interoperability-Options" accesskey="p" rel="previous">Interoperability Options</a>, Up: <a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" accesskey="u" rel="up">Invoking GNU Fortran</a> [<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> +</div> +<hr> +<a name="Environment-variables-affecting-gfortran"></a> +<h3 class="section">2.11 Environment variables affecting <code>gfortran</code></h3> +<a name="index-environment-variable"></a> + + +<p>The <code>gfortran</code> compiler currently does not make use of any environment +variables to control its operation above and beyond those +that affect the operation of <code>gcc</code>. +</p> +<p>See <a href="http://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html#Environment-Variables">Environment Variables Affecting GCC</a> in <cite>Using the GNU Compiler Collection (GCC)</cite>, for information on environment +variables. +</p> +<p>See <a href="Runtime.html#Runtime">Runtime</a>, for environment variables that affect the +run-time behavior of programs compiled with GNU Fortran. +</p> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Error-and-Warning-Options.html b/share/doc/gfortran/Error-and-Warning-Options.html new file mode 100644 index 0000000..69d38d1 --- /dev/null +++ b/share/doc/gfortran/Error-and-Warning-Options.html @@ -0,0 +1,511 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Error and Warning Options</title> + +<meta name="description" content="The GNU Fortran Compiler: Error and Warning Options"> +<meta name="keywords" content="The GNU Fortran Compiler: Error and Warning Options"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" rel="up" title="Invoking GNU Fortran"> +<link href="Debugging-Options.html#Debugging-Options" rel="next" title="Debugging Options"> +<link href="Preprocessing-Options.html#Preprocessing-Options" rel="previous" title="Preprocessing Options"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Error-and-Warning-Options"></a> +<div class="header"> +<p> +Next: <a href="Debugging-Options.html#Debugging-Options" accesskey="n" rel="next">Debugging Options</a>, Previous: <a href="Preprocessing-Options.html#Preprocessing-Options" accesskey="p" rel="previous">Preprocessing Options</a>, Up: <a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" accesskey="u" rel="up">Invoking GNU Fortran</a> [<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> +</div> +<hr> +<a name="Options-to-request-or-suppress-errors-and-warnings"></a> +<h3 class="section">2.4 Options to request or suppress errors and warnings</h3> +<a name="index-options_002c-warnings"></a> +<a name="index-options_002c-errors"></a> +<a name="index-warnings_002c-suppressing"></a> +<a name="index-messages_002c-error"></a> +<a name="index-messages_002c-warning"></a> +<a name="index-suppressing-warnings"></a> + +<p>Errors are diagnostic messages that report that the GNU Fortran compiler +cannot compile the relevant piece of source code. The compiler will +continue to process the program in an attempt to report further errors +to aid in debugging, but will not produce any compiled output. +</p> +<p>Warnings are diagnostic messages that report constructions which +are not inherently erroneous but which are risky or suggest there is +likely to be a bug in the program. Unless <samp>-Werror</samp> is specified, +they do not prevent compilation of the program. +</p> +<p>You can request many specific warnings with options beginning <samp>-W</samp>, +for example <samp>-Wimplicit</samp> to request warnings on implicit +declarations. Each of these specific warning options also has a +negative form beginning <samp>-Wno-</samp> to turn off warnings; +for example, <samp>-Wno-implicit</samp>. This manual lists only one of the +two forms, whichever is not the default. +</p> +<p>These options control the amount and kinds of errors and warnings produced +by GNU Fortran: +</p> +<dl compact="compact"> +<dd><a name="index-fmax_002derrors_003dn"></a> +<a name="index-errors_002c-limiting"></a> +</dd> +<dt><code>-fmax-errors=<var>n</var></code></dt> +<dd><p>Limits the maximum number of error messages to <var>n</var>, at which point +GNU Fortran bails out rather than attempting to continue processing the +source code. If <var>n</var> is 0, there is no limit on the number of error +messages produced. +</p> +<a name="index-fsyntax_002donly"></a> +<a name="index-syntax-checking"></a> +</dd> +<dt><code>-fsyntax-only</code></dt> +<dd><p>Check the code for syntax errors, but do not actually compile it. This +will generate module files for each module present in the code, but no +other output file. +</p> +<a name="index-pedantic"></a> +<a name="index-Wpedantic"></a> +</dd> +<dt><code>-Wpedantic</code></dt> +<dt><code>-pedantic</code></dt> +<dd><p>Issue warnings for uses of extensions to Fortran. +<samp>-pedantic</samp> also applies to C-language constructs where they +occur in GNU Fortran source files, such as use of ‘<samp>\e</samp>’ in a +character constant within a directive like <code>#include</code>. +</p> +<p>Valid Fortran programs should compile properly with or without +this option. +However, without this option, certain GNU extensions and traditional +Fortran features are supported as well. +With this option, many of them are rejected. +</p> +<p>Some users try to use <samp>-pedantic</samp> to check programs for conformance. +They soon find that it does not do quite what they want—it finds some +nonstandard practices, but not all. +However, improvements to GNU Fortran in this area are welcome. +</p> +<p>This should be used in conjunction with <samp>-std=f95</samp>, +<samp>-std=f2003</samp>, <samp>-std=f2008</samp> or <samp>-std=f2018</samp>. +</p> +<a name="index-pedantic_002derrors"></a> +</dd> +<dt><code>-pedantic-errors</code></dt> +<dd><p>Like <samp>-pedantic</samp>, except that errors are produced rather than +warnings. +</p> +<a name="index-Wall"></a> +<a name="index-all-warnings"></a> +<a name="index-warnings_002c-all"></a> +</dd> +<dt><code>-Wall</code></dt> +<dd><p>Enables commonly used warning options pertaining to usage that +we recommend avoiding and that we believe are easy to avoid. +This currently includes <samp>-Waliasing</samp>, <samp>-Wampersand</samp>, +<samp>-Wconversion</samp>, <samp>-Wsurprising</samp>, <samp>-Wc-binding-type</samp>, +<samp>-Wintrinsics-std</samp>, <samp>-Wtabs</samp>, <samp>-Wintrinsic-shadow</samp>, +<samp>-Wline-truncation</samp>, <samp>-Wtarget-lifetime</samp>, +<samp>-Winteger-division</samp>, <samp>-Wreal-q-constant</samp>, <samp>-Wunused</samp> +and <samp>-Wundefined-do-loop</samp>. +</p> +<a name="index-Waliasing"></a> +<a name="index-aliasing"></a> +<a name="index-warnings_002c-aliasing"></a> +</dd> +<dt><code>-Waliasing</code></dt> +<dd><p>Warn about possible aliasing of dummy arguments. Specifically, it warns +if the same actual argument is associated with a dummy argument with +<code>INTENT(IN)</code> and a dummy argument with <code>INTENT(OUT)</code> in a call +with an explicit interface. +</p> +<p>The following example will trigger the warning. +</p><div class="smallexample"> +<pre class="smallexample"> interface + subroutine bar(a,b) + integer, intent(in) :: a + integer, intent(out) :: b + end subroutine + end interface + integer :: a + + call bar(a,a) +</pre></div> + +<a name="index-Wampersand"></a> +<a name="index-warnings_002c-ampersand"></a> +<a name="index-_0026"></a> +</dd> +<dt><code>-Wampersand</code></dt> +<dd><p>Warn about missing ampersand in continued character constants. The +warning is given with <samp>-Wampersand</samp>, <samp>-pedantic</samp>, +<samp>-std=f95</samp>, <samp>-std=f2003</samp>, <samp>-std=f2008</samp> and +<samp>-std=f2018</samp>. Note: With no ampersand given in a continued +character constant, GNU Fortran assumes continuation at the first +non-comment, non-whitespace character after the ampersand that +initiated the continuation. +</p> +<a name="index-Warray_002dtemporaries"></a> +<a name="index-warnings_002c-array-temporaries"></a> +</dd> +<dt><code>-Warray-temporaries</code></dt> +<dd><p>Warn about array temporaries generated by the compiler. The information +generated by this warning is sometimes useful in optimization, in order to +avoid such temporaries. +</p> +<a name="index-Wc_002dbinding_002dtype"></a> +<a name="index-warning_002c-C-binding-type"></a> +</dd> +<dt><code>-Wc-binding-type</code></dt> +<dd><p>Warn if the a variable might not be C interoperable. In particular, warn if +the variable has been declared using an intrinsic type with default kind +instead of using a kind parameter defined for C interoperability in the +intrinsic <code>ISO_C_Binding</code> module. This option is implied by +<samp>-Wall</samp>. +</p> +<a name="index-Wcharacter_002dtruncation"></a> +<a name="index-warnings_002c-character-truncation"></a> +</dd> +<dt><code>-Wcharacter-truncation</code></dt> +<dd><p>Warn when a character assignment will truncate the assigned string. +</p> +<a name="index-Wline_002dtruncation"></a> +<a name="index-warnings_002c-line-truncation"></a> +</dd> +<dt><code>-Wline-truncation</code></dt> +<dd><p>Warn when a source code line will be truncated. This option is +implied by <samp>-Wall</samp>. For free-form source code, the default is +<samp>-Werror=line-truncation</samp> such that truncations are reported as +error. +</p> +<a name="index-Wconversion"></a> +<a name="index-warnings_002c-conversion"></a> +<a name="index-conversion"></a> +</dd> +<dt><code>-Wconversion</code></dt> +<dd><p>Warn about implicit conversions that are likely to change the value of +the expression after conversion. Implied by <samp>-Wall</samp>. +</p> +<a name="index-Wconversion_002dextra"></a> +<a name="index-warnings_002c-conversion-1"></a> +<a name="index-conversion-1"></a> +</dd> +<dt><code>-Wconversion-extra</code></dt> +<dd><p>Warn about implicit conversions between different types and kinds. This +option does <em>not</em> imply <samp>-Wconversion</samp>. +</p> +<a name="index-Wextra"></a> +<a name="index-extra-warnings"></a> +<a name="index-warnings_002c-extra"></a> +</dd> +<dt><code>-Wextra</code></dt> +<dd><p>Enables some warning options for usages of language features which +may be problematic. This currently includes <samp>-Wcompare-reals</samp>, +<samp>-Wunused-parameter</samp> and <samp>-Wdo-subscript</samp>. +</p> +<a name="index-Wfrontend_002dloop_002dinterchange"></a> +<a name="index-warnings_002c-loop-interchange"></a> +<a name="index-loop-interchange_002c-warning"></a> +</dd> +<dt><code>-Wfrontend-loop-interchange</code></dt> +<dd><p>Warn when using <samp>-ffrontend-loop-interchange</samp> for performing loop +interchanges. +</p> +<a name="index-Wimplicit_002dinterface"></a> +<a name="index-warnings_002c-implicit-interface"></a> +</dd> +<dt><code>-Wimplicit-interface</code></dt> +<dd><p>Warn if a procedure is called without an explicit interface. +Note this only checks that an explicit interface is present. It does not +check that the declared interfaces are consistent across program units. +</p> +<a name="index-Wimplicit_002dprocedure"></a> +<a name="index-warnings_002c-implicit-procedure"></a> +</dd> +<dt><code>-Wimplicit-procedure</code></dt> +<dd><p>Warn if a procedure is called that has neither an explicit interface +nor has been declared as <code>EXTERNAL</code>. +</p> +<a name="index-Winteger_002ddivision"></a> +<a name="index-warnings_002c-integer-division"></a> +<a name="index-warnings_002c-division-of-integers"></a> +</dd> +<dt><code>-Winteger-division</code></dt> +<dd><p>Warn if a constant integer division truncates its result. +As an example, 3/5 evaluates to 0. +</p> +<a name="index-Wintrinsics_002dstd"></a> +<a name="index-warnings_002c-non_002dstandard-intrinsics"></a> +<a name="index-warnings_002c-intrinsics-of-other-standards"></a> +</dd> +<dt><code>-Wintrinsics-std</code></dt> +<dd><p>Warn if <code>gfortran</code> finds a procedure named like an intrinsic not +available in the currently selected standard (with <samp>-std</samp>) and treats +it as <code>EXTERNAL</code> procedure because of this. <samp>-fall-intrinsics</samp> can +be used to never trigger this behavior and always link to the intrinsic +regardless of the selected standard. +</p> +<a name="index-Woverwrite_002drecursive"></a> +<a name="index-warnings_002c-overwrite-recursive"></a> +</dd> +<dt><code>-Wno-overwrite-recursive</code></dt> +<dd><p>Do not warn when <samp>-fno-automatic</samp> is used with <samp>-frecursive</samp>. Recursion +will be broken if the relevant local variables do not have the attribute +<code>AUTOMATIC</code> explicitly declared. This option can be used to suppress the warning +when it is known that recursion is not broken. Useful for build environments that use +<samp>-Werror</samp>. +</p> +<a name="index-Wreal_002dq_002dconstant"></a> +<a name="index-warnings_002c-q-exponent_002dletter"></a> +</dd> +<dt><code>-Wreal-q-constant</code></dt> +<dd><p>Produce a warning if a real-literal-constant contains a <code>q</code> +exponent-letter. +</p> +<a name="index-Wsurprising"></a> +<a name="index-warnings_002c-suspicious-code"></a> +</dd> +<dt><code>-Wsurprising</code></dt> +<dd><p>Produce a warning when “suspicious” code constructs are encountered. +While technically legal these usually indicate that an error has been made. +</p> +<p>This currently produces a warning under the following circumstances: +</p> +<ul> +<li> An INTEGER SELECT construct has a CASE that can never be matched as its +lower value is greater than its upper value. + +</li><li> A LOGICAL SELECT construct has three CASE statements. + +</li><li> A TRANSFER specifies a source that is shorter than the destination. + +</li><li> The type of a function result is declared more than once with the same type. If +<samp>-pedantic</samp> or standard-conforming mode is enabled, this is an error. + +</li><li> A <code>CHARACTER</code> variable is declared with negative length. + +</li><li> With <samp>-fopenmp</samp>, for fixed-form source code, when an <code>omx</code> +vendor-extension sentinel is encountered. (The equivalent <code>ompx</code>, +used in free-form source code, is diagnosed by default.) +</li></ul> + +<a name="index-Wtabs"></a> +<a name="index-warnings_002c-tabs"></a> +<a name="index-tabulators"></a> +</dd> +<dt><code>-Wtabs</code></dt> +<dd><p>By default, tabs are accepted as whitespace, but tabs are not members +of the Fortran Character Set. For continuation lines, a tab followed +by a digit between 1 and 9 is supported. <samp>-Wtabs</samp> will cause a +warning to be issued if a tab is encountered. Note, <samp>-Wtabs</samp> is +active for <samp>-pedantic</samp>, <samp>-std=f95</samp>, <samp>-std=f2003</samp>, +<samp>-std=f2008</samp>, <samp>-std=f2018</samp> and +<samp>-Wall</samp>. +</p> +<a name="index-Wundefined_002ddo_002dloop"></a> +<a name="index-warnings_002c-undefined-do-loop"></a> +</dd> +<dt><code>-Wundefined-do-loop</code></dt> +<dd><p>Warn if a DO loop with step either 1 or -1 yields an underflow or an overflow +during iteration of an induction variable of the loop. +This option is implied by <samp>-Wall</samp>. +</p> +<a name="index-Wunderflow"></a> +<a name="index-warnings_002c-underflow"></a> +<a name="index-underflow"></a> +</dd> +<dt><code>-Wunderflow</code></dt> +<dd><p>Produce a warning when numerical constant expressions are +encountered, which yield an UNDERFLOW during compilation. Enabled by default. +</p> +<a name="index-Wintrinsic_002dshadow"></a> +<a name="index-warnings_002c-intrinsic"></a> +<a name="index-intrinsic"></a> +</dd> +<dt><code>-Wintrinsic-shadow</code></dt> +<dd><p>Warn if a user-defined procedure or module procedure has the same name as an +intrinsic; in this case, an explicit interface or <code>EXTERNAL</code> or +<code>INTRINSIC</code> declaration might be needed to get calls later resolved to +the desired intrinsic/procedure. This option is implied by <samp>-Wall</samp>. +</p> +<a name="index-Wuse_002dwithout_002donly"></a> +<a name="index-warnings_002c-use-statements"></a> +<a name="index-intrinsic-1"></a> +</dd> +<dt><code>-Wuse-without-only</code></dt> +<dd><p>Warn if a <code>USE</code> statement has no <code>ONLY</code> qualifier and +thus implicitly imports all public entities of the used module. +</p> +<a name="index-Wunused_002ddummy_002dargument"></a> +<a name="index-warnings_002c-unused-dummy-argument"></a> +<a name="index-unused-dummy-argument"></a> +<a name="index-dummy-argument_002c-unused"></a> +</dd> +<dt><code>-Wunused-dummy-argument</code></dt> +<dd><p>Warn about unused dummy arguments. This option is implied by <samp>-Wall</samp>. +</p> +<a name="index-Wunused_002dparameter"></a> +<a name="index-warnings_002c-unused-parameter"></a> +<a name="index-unused-parameter"></a> +</dd> +<dt><code>-Wunused-parameter</code></dt> +<dd><p>Contrary to <code>gcc</code>’s meaning of <samp>-Wunused-parameter</samp>, +<code>gfortran</code>’s implementation of this option does not warn +about unused dummy arguments (see <samp>-Wunused-dummy-argument</samp>), +but about unused <code>PARAMETER</code> values. <samp>-Wunused-parameter</samp> +is implied by <samp>-Wextra</samp> if also <samp>-Wunused</samp> or +<samp>-Wall</samp> is used. +</p> +<a name="index-Walign_002dcommons"></a> +<a name="index-warnings_002c-alignment-of-COMMON-blocks"></a> +<a name="index-alignment-of-COMMON-blocks"></a> +</dd> +<dt><code>-Walign-commons</code></dt> +<dd><p>By default, <code>gfortran</code> warns about any occasion of variables being +padded for proper alignment inside a <code>COMMON</code> block. This warning can be turned +off via <samp>-Wno-align-commons</samp>. See also <samp>-falign-commons</samp>. +</p> +<a name="index-Wfunction_002delimination"></a> +<a name="index-function-elimination"></a> +<a name="index-warnings_002c-function-elimination"></a> +</dd> +<dt><code>-Wfunction-elimination</code></dt> +<dd><p>Warn if any calls to impure functions are eliminated by the optimizations +enabled by the <samp>-ffrontend-optimize</samp> option. +This option is implied by <samp>-Wextra</samp>. +</p> +<a name="index-Wrealloc_002dlhs"></a> +<a name="index-Reallocate-the-LHS-in-assignments_002c-notification"></a> +</dd> +<dt><code>-Wrealloc-lhs</code></dt> +<dd><p>Warn when the compiler might insert code to for allocation or reallocation of +an allocatable array variable of intrinsic type in intrinsic assignments. In +hot loops, the Fortran 2003 reallocation feature may reduce the performance. +If the array is already allocated with the correct shape, consider using a +whole-array array-spec (e.g. <code>(:,:,:)</code>) for the variable on the left-hand +side to prevent the reallocation check. Note that in some cases the warning +is shown, even if the compiler will optimize reallocation checks away. For +instance, when the right-hand side contains the same variable multiplied by +a scalar. See also <samp>-frealloc-lhs</samp>. +</p> +<a name="index-Wrealloc_002dlhs_002dall"></a> +</dd> +<dt><code>-Wrealloc-lhs-all</code></dt> +<dd><p>Warn when the compiler inserts code to for allocation or reallocation of an +allocatable variable; this includes scalars and derived types. +</p> +<a name="index-Wcompare_002dreals"></a> +</dd> +<dt><code>-Wcompare-reals</code></dt> +<dd><p>Warn when comparing real or complex types for equality or inequality. +This option is implied by <samp>-Wextra</samp>. +</p> +<a name="index-Wtargt_002dlifetime"></a> +</dd> +<dt><code>-Wtarget-lifetime</code></dt> +<dd><p>Warn if the pointer in a pointer assignment might be longer than the its +target. This option is implied by <samp>-Wall</samp>. +</p> +<a name="index-Wzerotrip"></a> +</dd> +<dt><code>-Wzerotrip</code></dt> +<dd><p>Warn if a <code>DO</code> loop is known to execute zero times at compile +time. This option is implied by <samp>-Wall</samp>. +</p> +<a name="index-Wdo_002dsubscript"></a> +</dd> +<dt><code>-Wdo-subscript</code></dt> +<dd><p>Warn if an array subscript inside a DO loop could lead to an +out-of-bounds access even if the compiler cannot prove that the +statement is actually executed, in cases like +</p><div class="smallexample"> +<pre class="smallexample"> real a(3) + do i=1,4 + if (condition(i)) then + a(i) = 1.2 + end if + end do +</pre></div> +<p>This option is implied by <samp>-Wextra</samp>. +</p> +<a name="index-Werror"></a> +<a name="index-warnings_002c-to-errors"></a> +</dd> +<dt><code>-Werror</code></dt> +<dd><p>Turns all warnings into errors. +</p></dd> +</dl> + +<p>See <a href="http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#Warning-Options">Options to Request or Suppress Errors and +Warnings</a> in <cite>Using the GNU Compiler Collection (GCC)</cite>, for information on +more options offered by the GBE shared by <code>gfortran</code>, <code>gcc</code> +and other GNU compilers. +</p> +<p>Some of these have no effect when compiling programs written in Fortran. +</p> +<hr> +<div class="header"> +<p> +Next: <a href="Debugging-Options.html#Debugging-Options" accesskey="n" rel="next">Debugging Options</a>, Previous: <a href="Preprocessing-Options.html#Preprocessing-Options" accesskey="p" rel="previous">Preprocessing Options</a>, Up: <a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" accesskey="u" rel="up">Invoking GNU Fortran</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Evaluation-of-logical-expressions.html b/share/doc/gfortran/Evaluation-of-logical-expressions.html new file mode 100644 index 0000000..6132142 --- /dev/null +++ b/share/doc/gfortran/Evaluation-of-logical-expressions.html @@ -0,0 +1,94 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Evaluation of logical expressions</title> + +<meta name="description" content="The GNU Fortran Compiler: Evaluation of logical expressions"> +<meta name="keywords" content="The GNU Fortran Compiler: Evaluation of logical expressions"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Compiler-Characteristics.html#Compiler-Characteristics" rel="up" title="Compiler Characteristics"> +<link href="MAX-and-MIN-intrinsics-with-REAL-NaN-arguments.html#MAX-and-MIN-intrinsics-with-REAL-NaN-arguments" rel="next" title="MAX and MIN intrinsics with REAL NaN arguments"> +<link href="Internal-representation-of-LOGICAL-variables.html#Internal-representation-of-LOGICAL-variables" rel="previous" title="Internal representation of LOGICAL variables"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Evaluation-of-logical-expressions"></a> +<div class="header"> +<p> +Next: <a href="MAX-and-MIN-intrinsics-with-REAL-NaN-arguments.html#MAX-and-MIN-intrinsics-with-REAL-NaN-arguments" accesskey="n" rel="next">MAX and MIN intrinsics with REAL NaN arguments</a>, Previous: <a href="Internal-representation-of-LOGICAL-variables.html#Internal-representation-of-LOGICAL-variables" accesskey="p" rel="previous">Internal representation of LOGICAL variables</a>, Up: <a href="Compiler-Characteristics.html#Compiler-Characteristics" accesskey="u" rel="up">Compiler Characteristics</a> [<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> +</div> +<hr> +<a name="Evaluation-of-logical-expressions-1"></a> +<h3 class="section">4.3 Evaluation of logical expressions</h3> + +<p>The Fortran standard does not require the compiler to evaluate all parts of an +expression, if they do not contribute to the final result. For logical +expressions with <code>.AND.</code> or <code>.OR.</code> operators, in particular, GNU +Fortran will optimize out function calls (even to impure functions) if the +result of the expression can be established without them. However, since not +all compilers do that, and such an optimization can potentially modify the +program flow and subsequent results, GNU Fortran throws warnings for such +situations with the <samp>-Wfunction-elimination</samp> flag. +</p> + + + + +</body> +</html> diff --git a/share/doc/gfortran/Extended-I_002fO-specifiers.html b/share/doc/gfortran/Extended-I_002fO-specifiers.html new file mode 100644 index 0000000..33463b8 --- /dev/null +++ b/share/doc/gfortran/Extended-I_002fO-specifiers.html @@ -0,0 +1,179 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Extended I/O specifiers</title> + +<meta name="description" content="The GNU Fortran Compiler: Extended I/O specifiers"> +<meta name="keywords" content="The GNU Fortran Compiler: Extended I/O specifiers"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="Legacy-PARAMETER-statements.html#Legacy-PARAMETER-statements" rel="next" title="Legacy PARAMETER statements"> +<link href="Bitwise-logical-operators.html#Bitwise-logical-operators" rel="previous" title="Bitwise logical operators"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Extended-I_002fO-specifiers"></a> +<div class="header"> +<p> +Next: <a href="Legacy-PARAMETER-statements.html#Legacy-PARAMETER-statements" accesskey="n" rel="next">Legacy PARAMETER statements</a>, Previous: <a href="Bitwise-logical-operators.html#Bitwise-logical-operators" accesskey="p" rel="previous">Bitwise logical operators</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> [<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> +</div> +<hr> +<a name="Extended-I_002fO-specifiers-1"></a> +<h4 class="subsection">5.1.32 Extended I/O specifiers</h4> +<a name="index-CARRIAGECONTROL"></a> +<a name="index-READONLY"></a> +<a name="index-SHARE"></a> +<a name="index-SHARED"></a> +<a name="index-NOSHARED"></a> +<a name="index-I_002fO-specifiers"></a> + +<p>GNU Fortran supports the additional legacy I/O specifiers +<code>CARRIAGECONTROL</code>, <code>READONLY</code>, and <code>SHARE</code> with the +compile flag <samp>-fdec</samp>, for compatibility. +</p> +<dl compact="compact"> +<dt><code>CARRIAGECONTROL</code></dt> +<dd><p>The <code>CARRIAGECONTROL</code> specifier allows a user to control line +termination settings between output records for an I/O unit. The specifier has +no meaning for readonly files. When <code>CARRAIGECONTROL</code> is specified upon +opening a unit for formatted writing, the exact <code>CARRIAGECONTROL</code> setting +determines what characters to write between output records. The syntax is: +</p> +<div class="smallexample"> +<pre class="smallexample">OPEN(..., CARRIAGECONTROL=cc) +</pre></div> + +<p>Where <em>cc</em> is a character expression that evaluates to one of the +following values: +</p> +<table> +<tr><td width="20%"><code>'LIST'</code></td><td width="80%">One line feed between records (default)</td></tr> +<tr><td width="20%"><code>'FORTRAN'</code></td><td width="80%">Legacy interpretation of the first character (see below)</td></tr> +<tr><td width="20%"><code>'NONE'</code></td><td width="80%">No separator between records</td></tr> +</table> + +<p>With <code>CARRIAGECONTROL='FORTRAN'</code>, when a record is written, the first +character of the input record is not written, and instead determines the output +record separator as follows: +</p> +<table> +<thead><tr><th width="30%">Leading character</th><th width="30%">Meaning</th><th width="40%">Output separating character(s)</th></tr></thead> +<tr><td width="30%"><code>'+'</code></td><td width="30%">Overprinting</td><td width="40%">Carriage return only</td></tr> +<tr><td width="30%"><code>'-'</code></td><td width="30%">New line</td><td width="40%">Line feed and carriage return</td></tr> +<tr><td width="30%"><code>'0'</code></td><td width="30%">Skip line</td><td width="40%">Two line feeds and carriage return</td></tr> +<tr><td width="30%"><code>'1'</code></td><td width="30%">New page</td><td width="40%">Form feed and carriage return</td></tr> +<tr><td width="30%"><code>'$'</code></td><td width="30%">Prompting</td><td width="40%">Line feed (no carriage return)</td></tr> +<tr><td width="30%"><code>CHAR(0)</code></td><td width="30%">Overprinting (no advance)</td><td width="40%">None</td></tr> +</table> + +</dd> +<dt><code>READONLY</code></dt> +<dd><p>The <code>READONLY</code> specifier may be given upon opening a unit, and is +equivalent to specifying <code>ACTION='READ'</code>, except that the file may not be +deleted on close (i.e. <code>CLOSE</code> with <code>STATUS="DELETE"</code>). The syntax +is: +</p> +<div class="smallexample"> +<pre class="smallexample"><code>OPEN(..., READONLY)</code> +</pre></div> + +</dd> +<dt><code>SHARE</code></dt> +<dd><p>The <code>SHARE</code> specifier allows system-level locking on a unit upon opening +it for controlled access from multiple processes/threads. The <code>SHARE</code> +specifier has several forms: +</p> +<div class="smallexample"> +<pre class="smallexample">OPEN(..., SHARE=sh) +OPEN(..., SHARED) +OPEN(..., NOSHARED) +</pre></div> + +<p>Where <em>sh</em> in the first form is a character expression that evaluates to +a value as seen in the table below. The latter two forms are aliases +for particular values of <em>sh</em>: +</p> +<table> +<thead><tr><th width="30%">Explicit form</th><th width="30%">Short form</th><th width="40%">Meaning</th></tr></thead> +<tr><td width="30%"><code>SHARE='DENYRW'</code></td><td width="30%"><code>NOSHARED</code></td><td width="40%">Exclusive (write) lock</td></tr> +<tr><td width="30%"><code>SHARE='DENYNONE'</code></td><td width="30%"><code>SHARED</code></td><td width="40%">Shared (read) lock</td></tr> +</table> + +<p>In general only one process may hold an exclusive (write) lock for a given file +at a time, whereas many processes may hold shared (read) locks for the same +file. +</p> +<p>The behavior of locking may vary with your operating system. On POSIX systems, +locking is implemented with <code>fcntl</code>. Consult your corresponding operating +system’s manual pages for further details. Locking via <code>SHARE=</code> is not +supported on other systems. +</p> +</dd> +</dl> + +<hr> +<div class="header"> +<p> +Next: <a href="Legacy-PARAMETER-statements.html#Legacy-PARAMETER-statements" accesskey="n" rel="next">Legacy PARAMETER statements</a>, Previous: <a href="Bitwise-logical-operators.html#Bitwise-logical-operators" accesskey="p" rel="previous">Bitwise logical operators</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> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Extended-math-intrinsics.html b/share/doc/gfortran/Extended-math-intrinsics.html new file mode 100644 index 0000000..e374a9e --- /dev/null +++ b/share/doc/gfortran/Extended-math-intrinsics.html @@ -0,0 +1,117 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Extended math intrinsics</title> + +<meta name="description" content="The GNU Fortran Compiler: Extended math intrinsics"> +<meta name="keywords" content="The GNU Fortran Compiler: Extended math intrinsics"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="Form-feed-as-whitespace.html#Form-feed-as-whitespace" rel="next" title="Form feed as whitespace"> +<link href="AUTOMATIC-and-STATIC-attributes.html#AUTOMATIC-and-STATIC-attributes" rel="previous" title="AUTOMATIC and STATIC attributes"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Extended-math-intrinsics"></a> +<div class="header"> +<p> +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="previous">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> [<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> +</div> +<hr> +<a name="Extended-math-intrinsics-1"></a> +<h4 class="subsection">5.1.26 Extended math intrinsics</h4> +<a name="index-intrinsics_002c-math"></a> +<a name="index-intrinsics_002c-trigonometric-functions"></a> + +<p>GNU Fortran supports an extended list of mathematical intrinsics with the +compile flag <samp>-fdec-math</samp> for compatability with legacy code. +These intrinsics are described fully in <a href="Intrinsic-Procedures.html#Intrinsic-Procedures">Intrinsic Procedures</a> where it is +noted that they are extensions and should be avoided whenever possible. +</p> +<p>Specifically, <samp>-fdec-math</samp> enables the <a href="COTAN.html#COTAN">COTAN</a> intrinsic, and +trigonometric intrinsics which accept or produce values in degrees instead of +radians. Here is a summary of the new intrinsics: +</p> +<table> +<thead><tr><th width="50%">Radians</th><th width="50%">Degrees</th></tr></thead> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +</table> + +<p>* Enabled with <samp>-fdec-math</samp>. +</p> +<p>For advanced users, it may be important to know the implementation of these +functions. They are simply wrappers around the standard radian functions, which +have more accurate builtin versions. These functions convert their arguments +(or results) to degrees (or radians) by taking the value modulus 360 (or 2*pi) +and then multiplying it by a constant radian-to-degree (or degree-to-radian) +factor, as appropriate. The factor is computed at compile-time as 180/pi (or +pi/180). +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/Extensions-implemented-in-GNU-Fortran.html b/share/doc/gfortran/Extensions-implemented-in-GNU-Fortran.html new file mode 100644 index 0000000..94ccfd4 --- /dev/null +++ b/share/doc/gfortran/Extensions-implemented-in-GNU-Fortran.html @@ -0,0 +1,175 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Extensions implemented in GNU Fortran</title> + +<meta name="description" content="The GNU Fortran Compiler: Extensions implemented in GNU Fortran"> +<meta name="keywords" content="The GNU Fortran Compiler: Extensions implemented in GNU Fortran"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions.html#Extensions" rel="up" title="Extensions"> +<link href="Old_002dstyle-kind-specifications.html#Old_002dstyle-kind-specifications" rel="next" title="Old-style kind specifications"> +<link href="Extensions.html#Extensions" rel="previous" title="Extensions"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Extensions-implemented-in-GNU-Fortran"></a> +<div class="header"> +<p> +Next: <a href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran" accesskey="n" rel="next">Extensions not implemented in GNU Fortran</a>, Up: <a href="Extensions.html#Extensions" accesskey="u" rel="up">Extensions</a> [<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> +</div> +<hr> +<a name="Extensions-implemented-in-GNU-Fortran-1"></a> +<h3 class="section">5.1 Extensions implemented in GNU Fortran</h3> +<a name="index-extensions_002c-implemented"></a> + +<p>GNU Fortran implements a number of extensions over standard Fortran. +This chapter contains information on their syntax and meaning. There +are currently two categories of GNU Fortran extensions, those that +provide functionality beyond that provided by any standard, and those +that are supported by GNU Fortran purely for backward compatibility +with legacy compilers. By default, <samp>-std=gnu</samp> allows the +compiler to accept both types of extensions, but to warn about the use +of the latter. Specifying either <samp>-std=f95</samp>, +<samp>-std=f2003</samp>, <samp>-std=f2008</samp>, or <samp>-std=f2018</samp> +disables both types of extensions, and <samp>-std=legacy</samp> allows +both without warning. The special compile flag <samp>-fdec</samp> enables +additional compatibility extensions along with those enabled by +<samp>-std=legacy</samp>. +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="Old_002dstyle-kind-specifications.html#Old_002dstyle-kind-specifications" accesskey="1">Old-style kind specifications</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Old_002dstyle-variable-initialization.html#Old_002dstyle-variable-initialization" accesskey="2">Old-style variable initialization</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Extensions-to-namelist.html#Extensions-to-namelist" accesskey="3">Extensions to namelist</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="X-format-descriptor-without-count-field.html#X-format-descriptor-without-count-field" accesskey="4">X format descriptor without count field</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Commas-in-FORMAT-specifications.html#Commas-in-FORMAT-specifications" accesskey="5">Commas in FORMAT specifications</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Missing-period-in-FORMAT-specifications.html#Missing-period-in-FORMAT-specifications" accesskey="6">Missing period in FORMAT specifications</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Default-widths-for-F_002c-G-and-I-format-descriptors.html#Default-widths-for-F_002c-G-and-I-format-descriptors" accesskey="7">Default widths for F, G and I format descriptors</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="I_002fO-item-lists.html#I_002fO-item-lists" accesskey="8">I/O item lists</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Q-exponent_002dletter.html#Q-exponent_002dletter" accesskey="9"><code>Q</code> exponent-letter</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="BOZ-literal-constants.html#BOZ-literal-constants">BOZ literal constants</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Real-array-indices.html#Real-array-indices">Real array indices</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Unary-operators.html#Unary-operators">Unary operators</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Implicitly-convert-LOGICAL-and-INTEGER-values.html#Implicitly-convert-LOGICAL-and-INTEGER-values">Implicitly convert LOGICAL and INTEGER values</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Hollerith-constants-support.html#Hollerith-constants-support">Hollerith constants support</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Character-conversion.html#Character-conversion">Character conversion</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Cray-pointers.html#Cray-pointers">Cray pointers</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="CONVERT-specifier.html#CONVERT-specifier">CONVERT specifier</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="OpenMP.html#OpenMP">OpenMP</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="OpenACC.html#OpenACC">OpenACC</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Argument-list-functions.html#Argument-list-functions">Argument list functions</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Read_002fWrite-after-EOF-marker.html#Read_002fWrite-after-EOF-marker">Read/Write after EOF marker</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="STRUCTURE-and-RECORD.html#STRUCTURE-and-RECORD">STRUCTURE and RECORD</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="UNION-and-MAP.html#UNION-and-MAP">UNION and MAP</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Type-variants-for-integer-intrinsics.html#Type-variants-for-integer-intrinsics">Type variants for integer intrinsics</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="AUTOMATIC-and-STATIC-attributes.html#AUTOMATIC-and-STATIC-attributes">AUTOMATIC and STATIC attributes</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Extended-math-intrinsics.html#Extended-math-intrinsics">Extended math intrinsics</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Form-feed-as-whitespace.html#Form-feed-as-whitespace">Form feed as whitespace</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="TYPE-as-an-alias-for-PRINT.html#TYPE-as-an-alias-for-PRINT">TYPE as an alias for PRINT</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="_0025LOC-as-an-rvalue.html#g_t_0025LOC-as-an-rvalue">%LOC as an rvalue</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="_002eXOR_002e-operator.html#g_t_002eXOR_002e-operator">.XOR. operator</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Bitwise-logical-operators.html#Bitwise-logical-operators">Bitwise logical operators</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Extended-I_002fO-specifiers.html#Extended-I_002fO-specifiers">Extended I/O specifiers</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Legacy-PARAMETER-statements.html#Legacy-PARAMETER-statements">Legacy PARAMETER statements</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Default-exponents.html#Default-exponents">Default exponents</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + +<hr> +<div class="header"> +<p> +Next: <a href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran" accesskey="n" rel="next">Extensions not implemented in GNU Fortran</a>, Up: <a href="Extensions.html#Extensions" accesskey="u" rel="up">Extensions</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Extensions-not-implemented-in-GNU-Fortran.html b/share/doc/gfortran/Extensions-not-implemented-in-GNU-Fortran.html new file mode 100644 index 0000000..5e92bc7 --- /dev/null +++ b/share/doc/gfortran/Extensions-not-implemented-in-GNU-Fortran.html @@ -0,0 +1,110 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Extensions not implemented in GNU Fortran</title> + +<meta name="description" content="The GNU Fortran Compiler: Extensions not implemented in GNU Fortran"> +<meta name="keywords" content="The GNU Fortran Compiler: Extensions not implemented in GNU Fortran"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions.html#Extensions" rel="up" title="Extensions"> +<link href="ENCODE-and-DECODE-statements.html#ENCODE-and-DECODE-statements" rel="next" title="ENCODE and DECODE statements"> +<link href="Default-exponents.html#Default-exponents" rel="previous" title="Default exponents"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Extensions-not-implemented-in-GNU-Fortran"></a> +<div class="header"> +<p> +Previous: <a href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" accesskey="p" rel="previous">Extensions implemented in GNU Fortran</a>, Up: <a href="Extensions.html#Extensions" accesskey="u" rel="up">Extensions</a> [<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> +</div> +<hr> +<a name="Extensions-not-implemented-in-GNU-Fortran-1"></a> +<h3 class="section">5.2 Extensions not implemented in GNU Fortran</h3> +<a name="index-extensions_002c-not-implemented"></a> + +<p>The long history of the Fortran language, its wide use and broad +userbase, the large number of different compiler vendors and the lack of +some features crucial to users in the first standards have lead to the +existence of a number of important extensions to the language. While +some of the most useful or popular extensions are supported by the GNU +Fortran compiler, not all existing extensions are supported. This section +aims at listing these extensions and offering advice on how best make +code that uses them running with the GNU Fortran compiler. +</p> + +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="ENCODE-and-DECODE-statements.html#ENCODE-and-DECODE-statements" accesskey="1">ENCODE and DECODE statements</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Variable-FORMAT-expressions.html#Variable-FORMAT-expressions" accesskey="2">Variable FORMAT expressions</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Alternate-complex-function-syntax.html#Alternate-complex-function-syntax" accesskey="3">Alternate complex function syntax</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Volatile-COMMON-blocks.html#Volatile-COMMON-blocks" accesskey="4">Volatile COMMON blocks</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="OPEN_0028-_002e_002e_002e-NAME_003d_0029.html#OPEN_0028-_002e_002e_002e-NAME_003d_0029" accesskey="5">OPEN( ... NAME=)</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Q-edit-descriptor.html#Q-edit-descriptor" accesskey="6">Q edit descriptor</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + + + + +</body> +</html> diff --git a/share/doc/gfortran/Extensions-to-namelist.html b/share/doc/gfortran/Extensions-to-namelist.html new file mode 100644 index 0000000..9a2036a --- /dev/null +++ b/share/doc/gfortran/Extensions-to-namelist.html @@ -0,0 +1,161 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Extensions to namelist</title> + +<meta name="description" content="The GNU Fortran Compiler: Extensions to namelist"> +<meta name="keywords" content="The GNU Fortran Compiler: Extensions to namelist"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="X-format-descriptor-without-count-field.html#X-format-descriptor-without-count-field" rel="next" title="X format descriptor without count field"> +<link href="Old_002dstyle-variable-initialization.html#Old_002dstyle-variable-initialization" rel="previous" title="Old-style variable initialization"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Extensions-to-namelist"></a> +<div class="header"> +<p> +Next: <a href="X-format-descriptor-without-count-field.html#X-format-descriptor-without-count-field" accesskey="n" rel="next">X format descriptor without count field</a>, Previous: <a href="Old_002dstyle-variable-initialization.html#Old_002dstyle-variable-initialization" accesskey="p" rel="previous">Old-style variable initialization</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> [<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> +</div> +<hr> +<a name="Extensions-to-namelist-1"></a> +<h4 class="subsection">5.1.3 Extensions to namelist</h4> +<a name="index-Namelist"></a> + +<p>GNU Fortran fully supports the Fortran 95 standard for namelist I/O +including array qualifiers, substrings and fully qualified derived types. +The output from a namelist write is compatible with namelist read. The +output has all names in upper case and indentation to column 1 after the +namelist name. Two extensions are permitted: +</p> +<p>Old-style use of ‘<samp>$</samp>’ instead of ‘<samp>&</samp>’ +</p><div class="smallexample"> +<pre class="smallexample">$MYNML + X(:)%Y(2) = 1.0 2.0 3.0 + CH(1:4) = "abcd" +$END +</pre></div> + +<p>It should be noted that the default terminator is ‘<samp>/</samp>’ rather than +‘<samp>&END</samp>’. +</p> +<p>Querying of the namelist when inputting from stdin. After at least +one space, entering ‘<samp>?</samp>’ sends to stdout the namelist name and the names of +the variables in the namelist: +</p><div class="smallexample"> +<pre class="smallexample"> ? + +&mynml + x + x%y + ch +&end +</pre></div> + +<p>Entering ‘<samp>=?</samp>’ outputs the namelist to stdout, as if +<code>WRITE(*,NML = mynml)</code> had been called: +</p><div class="smallexample"> +<pre class="smallexample">=? + +&MYNML + X(1)%Y= 0.000000 , 1.000000 , 0.000000 , + X(2)%Y= 0.000000 , 2.000000 , 0.000000 , + X(3)%Y= 0.000000 , 3.000000 , 0.000000 , + CH=abcd, / +</pre></div> + +<p>To aid this dialog, when input is from stdin, errors send their +messages to stderr and execution continues, even if <code>IOSTAT</code> is set. +</p> +<p><code>PRINT</code> namelist is permitted. This causes an error if +<samp>-std=f95</samp> is used. +</p><div class="smallexample"> +<pre class="smallexample">PROGRAM test_print + REAL, dimension (4) :: x = (/1.0, 2.0, 3.0, 4.0/) + NAMELIST /mynml/ x + PRINT mynml +END PROGRAM test_print +</pre></div> + +<p>Expanded namelist reads are permitted. This causes an error if +<samp>-std=f95</samp> is used. In the following example, the first element +of the array will be given the value 0.00 and the two succeeding +elements will be given the values 1.00 and 2.00. +</p><div class="smallexample"> +<pre class="smallexample">&MYNML + X(1,1) = 0.00 , 1.00 , 2.00 +/ +</pre></div> + +<p>When writing a namelist, if no <code>DELIM=</code> is specified, by default a +double quote is used to delimit character strings. If -std=F95, F2003, +or F2008, etc, the delim status is set to ’none’. Defaulting to +quotes ensures that namelists with character strings can be subsequently +read back in accurately. +</p> +<hr> +<div class="header"> +<p> +Next: <a href="X-format-descriptor-without-count-field.html#X-format-descriptor-without-count-field" accesskey="n" rel="next">X format descriptor without count field</a>, Previous: <a href="Old_002dstyle-variable-initialization.html#Old_002dstyle-variable-initialization" accesskey="p" rel="previous">Old-style variable initialization</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> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Extensions.html b/share/doc/gfortran/Extensions.html new file mode 100644 index 0000000..2aa9a2d --- /dev/null +++ b/share/doc/gfortran/Extensions.html @@ -0,0 +1,100 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Extensions</title> + +<meta name="description" content="The GNU Fortran Compiler: Extensions"> +<meta name="keywords" content="The GNU Fortran Compiler: Extensions"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="index.html#Top" rel="up" title="Top"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="next" title="Extensions implemented in GNU Fortran"> +<link href="Behavior-on-integer-overflow.html#Behavior-on-integer-overflow" rel="previous" title="Behavior on integer overflow"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Extensions"></a> +<div class="header"> +<p> +Next: <a href="Mixed_002dLanguage-Programming.html#Mixed_002dLanguage-Programming" accesskey="n" rel="next">Mixed-Language Programming</a>, Previous: <a href="Compiler-Characteristics.html#Compiler-Characteristics" accesskey="p" rel="previous">Compiler Characteristics</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<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> +</div> +<hr> +<a name="Extensions-1"></a> +<h2 class="chapter">5 Extensions</h2> +<a name="index-extensions"></a> + +<p>The two sections below detail the extensions to standard Fortran that are +implemented in GNU Fortran, as well as some of the popular or +historically important extensions that are not (or not yet) implemented. +For the latter case, we explain the alternatives available to GNU Fortran +users, including replacement by standard-conforming code or GNU +extensions. +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" accesskey="1">Extensions implemented in GNU Fortran</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran" accesskey="2">Extensions not implemented in GNU Fortran</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/FDATE.html b/share/doc/gfortran/FDATE.html new file mode 100644 index 0000000..071f30c --- /dev/null +++ b/share/doc/gfortran/FDATE.html @@ -0,0 +1,150 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: FDATE</title> + +<meta name="description" content="The GNU Fortran Compiler: FDATE"> +<meta name="keywords" content="The GNU Fortran Compiler: FDATE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="FGET.html#FGET" rel="next" title="FGET"> +<link href="EXTENDS_005fTYPE_005fOF.html#EXTENDS_005fTYPE_005fOF" rel="previous" title="EXTENDS_TYPE_OF"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="FDATE"></a> +<div class="header"> +<p> +Next: <a href="FGET.html#FGET" accesskey="n" rel="next">FGET</a>, Previous: <a href="EXTENDS_005fTYPE_005fOF.html#EXTENDS_005fTYPE_005fOF" accesskey="p" rel="previous">EXTENDS_TYPE_OF</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="FDATE-_002d_002d_002d-Get-the-current-time-as-a-string"></a> +<h3 class="section">8.105 <code>FDATE</code> — Get the current time as a string</h3> +<a name="index-FDATE"></a> +<a name="index-time_002c-current-1"></a> +<a name="index-current-time-1"></a> +<a name="index-date_002c-current-1"></a> +<a name="index-current-date-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>FDATE(DATE)</code> returns the current date (using the same format as +<a href="CTIME.html#CTIME">CTIME</a>) in <var>DATE</var>. It is equivalent to <code>CALL CTIME(DATE, +TIME())</code>. +</p> +<p>This intrinsic is provided in both subroutine and function forms; however, +only one form can be used in any given program unit. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL FDATE(DATE)</code>.</td></tr> +<tr><td width="80%"><code>DATE = FDATE()</code>.</td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>DATE</var></td><td width="70%">The type shall be of type <code>CHARACTER</code> of the +default kind. It is an <code>INTENT(OUT)</code> argument. If the length of +this variable is too short for the date and time string to fit +completely, it will be blank on procedure return.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The current date and time as a string. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_fdate + integer(8) :: i, j + character(len=30) :: date + call fdate(date) + print *, 'Program started on ', date + do i = 1, 100000000 ! Just a delay + j = i * i - i + end do + call fdate(date) + print *, 'Program ended on ', date +end program test_fdate +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME">DATE_AND_TIME</a>, <br> +<a href="CTIME.html#CTIME">CTIME</a> +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/FGET.html b/share/doc/gfortran/FGET.html new file mode 100644 index 0000000..72c99a2 --- /dev/null +++ b/share/doc/gfortran/FGET.html @@ -0,0 +1,155 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: FGET</title> + +<meta name="description" content="The GNU Fortran Compiler: FGET"> +<meta name="keywords" content="The GNU Fortran Compiler: FGET"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="FGETC.html#FGETC" rel="next" title="FGETC"> +<link href="FDATE.html#FDATE" rel="previous" title="FDATE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="FGET"></a> +<div class="header"> +<p> +Next: <a href="FGETC.html#FGETC" accesskey="n" rel="next">FGETC</a>, Previous: <a href="FDATE.html#FDATE" accesskey="p" rel="previous">FDATE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="FGET-_002d_002d_002d-Read-a-single-character-in-stream-mode-from-stdin"></a> +<h3 class="section">8.106 <code>FGET</code> — Read a single character in stream mode from stdin</h3> +<a name="index-FGET"></a> +<a name="index-read-character_002c-stream-mode"></a> +<a name="index-stream-mode_002c-read-character"></a> +<a name="index-file-operation_002c-read-character"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Read a single character in stream mode from stdin by bypassing normal +formatted output. Stream I/O should not be mixed with normal record-oriented +(formatted or unformatted) I/O on the same unit; the results are unpredictable. +</p> +<p>This intrinsic is provided in both subroutine and function forms; however, +only one form can be used in any given program unit. +</p> +<p>Note that the <code>FGET</code> intrinsic is provided for backwards compatibility with +<code>g77</code>. GNU Fortran provides the Fortran 2003 Stream facility. +Programmers should consider the use of new stream IO feature in new code +for future portability. See also <a href="Fortran-2003-status.html#Fortran-2003-status">Fortran 2003 status</a>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL FGET(C [, STATUS])</code></td></tr> +<tr><td width="80%"><code>STATUS = FGET(C)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>C</var></td><td width="70%">The type shall be <code>CHARACTER</code> and of default +kind.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">(Optional) status flag of type <code>INTEGER</code>. +Returns 0 on success, -1 on end-of-file, and a system specific positive +error code otherwise.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_fget + INTEGER, PARAMETER :: strlen = 100 + INTEGER :: status, i = 1 + CHARACTER(len=strlen) :: str = "" + + WRITE (*,*) 'Enter text:' + DO + CALL fget(str(i:i), status) + if (status /= 0 .OR. i > strlen) exit + i = i + 1 + END DO + WRITE (*,*) TRIM(str) +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="FGETC.html#FGETC">FGETC</a>, <br> +<a href="FPUT.html#FPUT">FPUT</a>, <br> +<a href="FPUTC.html#FPUTC">FPUTC</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/FGETC.html b/share/doc/gfortran/FGETC.html new file mode 100644 index 0000000..f7afe34 --- /dev/null +++ b/share/doc/gfortran/FGETC.html @@ -0,0 +1,153 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: FGETC</title> + +<meta name="description" content="The GNU Fortran Compiler: FGETC"> +<meta name="keywords" content="The GNU Fortran Compiler: FGETC"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="FINDLOC.html#FINDLOC" rel="next" title="FINDLOC"> +<link href="FGET.html#FGET" rel="previous" title="FGET"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="FGETC"></a> +<div class="header"> +<p> +Next: <a href="FINDLOC.html#FINDLOC" accesskey="n" rel="next">FINDLOC</a>, Previous: <a href="FGET.html#FGET" accesskey="p" rel="previous">FGET</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="FGETC-_002d_002d_002d-Read-a-single-character-in-stream-mode"></a> +<h3 class="section">8.107 <code>FGETC</code> — Read a single character in stream mode</h3> +<a name="index-FGETC"></a> +<a name="index-read-character_002c-stream-mode-1"></a> +<a name="index-stream-mode_002c-read-character-1"></a> +<a name="index-file-operation_002c-read-character-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Read a single character in stream mode by bypassing normal formatted output. +Stream I/O should not be mixed with normal record-oriented (formatted or +unformatted) I/O on the same unit; the results are unpredictable. +</p> +<p>This intrinsic is provided in both subroutine and function forms; however, +only one form can be used in any given program unit. +</p> +<p>Note that the <code>FGET</code> intrinsic is provided for backwards compatibility +with <code>g77</code>. GNU Fortran provides the Fortran 2003 Stream facility. +Programmers should consider the use of new stream IO feature in new code +for future portability. See also <a href="Fortran-2003-status.html#Fortran-2003-status">Fortran 2003 status</a>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL FGETC(UNIT, C [, STATUS])</code></td></tr> +<tr><td width="80%"><code>STATUS = FGETC(UNIT, C)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>UNIT</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>C</var></td><td width="70%">The type shall be <code>CHARACTER</code> and of default +kind.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">(Optional) status flag of type <code>INTEGER</code>. +Returns 0 on success, -1 on end-of-file and a system specific positive +error code otherwise.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_fgetc + INTEGER :: fd = 42, status + CHARACTER :: c + + OPEN(UNIT=fd, FILE="/etc/passwd", ACTION="READ", STATUS = "OLD") + DO + CALL fgetc(fd, c, status) + IF (status /= 0) EXIT + call fput(c) + END DO + CLOSE(UNIT=fd) +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="FGET.html#FGET">FGET</a>, <br> +<a href="FPUT.html#FPUT">FPUT</a>, <br> +<a href="FPUTC.html#FPUTC">FPUTC</a> +</p></dd> +</dl> + + + + +</body> +</html> diff --git a/share/doc/gfortran/FINDLOC.html b/share/doc/gfortran/FINDLOC.html new file mode 100644 index 0000000..f9e279e --- /dev/null +++ b/share/doc/gfortran/FINDLOC.html @@ -0,0 +1,159 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: FINDLOC</title> + +<meta name="description" content="The GNU Fortran Compiler: FINDLOC"> +<meta name="keywords" content="The GNU Fortran Compiler: FINDLOC"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="FLOOR.html#FLOOR" rel="next" title="FLOOR"> +<link href="FGETC.html#FGETC" rel="previous" title="FGETC"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="FINDLOC"></a> +<div class="header"> +<p> +Next: <a href="FLOOR.html#FLOOR" accesskey="n" rel="next">FLOOR</a>, Previous: <a href="FGETC.html#FGETC" accesskey="p" rel="previous">FGETC</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="FINDLOC-_002d_002d_002d-Search-an-array-for-a-value"></a> +<h3 class="section">8.108 <code>FINDLOC</code> — Search an array for a value</h3> +<a name="index-FINDLOC"></a> +<a name="index-findloc"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Determines the location of the element in the array with the value +given in the <var>VALUE</var> argument, or, if the <var>DIM</var> argument is +supplied, determines the locations of the elements equal to the +<var>VALUE</var> argument element along each +row of the array in the <var>DIM</var> direction. If <var>MASK</var> is +present, only the elements for which <var>MASK</var> is <code>.TRUE.</code> are +considered. If more than one element in the array has the value +<var>VALUE</var>, the location returned is that of the first such element +in array element order if the <var>BACK</var> is not present or if it is +<code>.FALSE.</code>. If <var>BACK</var> is true, the location returned is that +of the last such element. If the array has zero size, or all of the +elements of <var>MASK</var> are <code>.FALSE.</code>, then the result is an array +of zeroes. Similarly, if <var>DIM</var> is supplied and all of the +elements of <var>MASK</var> along a given row are zero, the result value +for that row is zero. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later. +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>RESULT = FINDLOC(ARRAY, VALUE, DIM [, MASK] [,KIND] [,BACK])</code></td></tr> +<tr><td width="80%"><code>RESULT = FINDLOC(ARRAY, VALUE, [, MASK] [,KIND] [,BACK])</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ARRAY</var></td><td width="70%">Shall be an array of intrinsic type.</td></tr> +<tr><td width="15%"><var>VALUE</var></td><td width="70%">A scalar of intrinsic type which is in type +conformance with <var>ARRAY</var>.</td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">(Optional) Shall be a scalar of type +<code>INTEGER</code>, with a value between one and the rank of <var>ARRAY</var>, +inclusive. It may not be an optional dummy argument.</td></tr> +<tr><td width="15%"><var>MASK</var></td><td width="70%">(Optional) Shall be of type <code>LOGICAL</code>, +and conformable with <var>ARRAY</var>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +<tr><td width="15%"><var>BACK</var></td><td width="70%">(Optional) A scalar of type <code>LOGICAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>If <var>DIM</var> is absent, the result is a rank-one array with a length +equal to the rank of <var>ARRAY</var>. If <var>DIM</var> is present, the result +is an array with a rank one less than the rank of <var>ARRAY</var>, and a +size corresponding to the size of <var>ARRAY</var> with the <var>DIM</var> +dimension removed. If <var>DIM</var> is present and <var>ARRAY</var> has a rank +of one, the result is a scalar. If the optional argument <var>KIND</var> +is present, the result is an integer of kind <var>KIND</var>, otherwise it +is of default kind. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="MAXLOC.html#MAXLOC">MAXLOC</a>, <br> +<a href="MINLOC.html#MINLOC">MINLOC</a> +</p> +</dd> +</dl> + +<hr> +<div class="header"> +<p> +Next: <a href="FLOOR.html#FLOOR" accesskey="n" rel="next">FLOOR</a>, Previous: <a href="FGETC.html#FGETC" accesskey="p" rel="previous">FGETC</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/FLOOR.html b/share/doc/gfortran/FLOOR.html new file mode 100644 index 0000000..e59cdea --- /dev/null +++ b/share/doc/gfortran/FLOOR.html @@ -0,0 +1,136 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: FLOOR</title> + +<meta name="description" content="The GNU Fortran Compiler: FLOOR"> +<meta name="keywords" content="The GNU Fortran Compiler: FLOOR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="FLUSH.html#FLUSH" rel="next" title="FLUSH"> +<link href="FINDLOC.html#FINDLOC" rel="previous" title="FINDLOC"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="FLOOR"></a> +<div class="header"> +<p> +Next: <a href="FLUSH.html#FLUSH" accesskey="n" rel="next">FLUSH</a>, Previous: <a href="FINDLOC.html#FINDLOC" accesskey="p" rel="previous">FINDLOC</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="FLOOR-_002d_002d_002d-Integer-floor-function"></a> +<h3 class="section">8.109 <code>FLOOR</code> — Integer floor function</h3> +<a name="index-FLOOR"></a> +<a name="index-floor-1"></a> +<a name="index-rounding_002c-floor-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>FLOOR(A)</code> returns the greatest integer less than or equal to <var>A</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 95 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = FLOOR(A [, KIND])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>A</var></td><td width="70%">The type shall be <code>REAL</code>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER(KIND)</code> if <var>KIND</var> is present +and of default-kind <code>INTEGER</code> otherwise. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_floor + real :: x = 63.29 + real :: y = -63.59 + print *, floor(x) ! returns 63 + print *, floor(y) ! returns -64 +end program test_floor +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="CEILING.html#CEILING">CEILING</a>, <br> +<a href="NINT.html#NINT">NINT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/FLUSH.html b/share/doc/gfortran/FLUSH.html new file mode 100644 index 0000000..9396f48 --- /dev/null +++ b/share/doc/gfortran/FLUSH.html @@ -0,0 +1,157 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: FLUSH</title> + +<meta name="description" content="The GNU Fortran Compiler: FLUSH"> +<meta name="keywords" content="The GNU Fortran Compiler: FLUSH"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="FNUM.html#FNUM" rel="next" title="FNUM"> +<link href="FLOOR.html#FLOOR" rel="previous" title="FLOOR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="FLUSH"></a> +<div class="header"> +<p> +Next: <a href="FNUM.html#FNUM" accesskey="n" rel="next">FNUM</a>, Previous: <a href="FLOOR.html#FLOOR" accesskey="p" rel="previous">FLOOR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="FLUSH-_002d_002d_002d-Flush-I_002fO-unit_0028s_0029"></a> +<h3 class="section">8.110 <code>FLUSH</code> — Flush I/O unit(s)</h3> +<a name="index-FLUSH"></a> +<a name="index-file-operation_002c-flush"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Flushes Fortran unit(s) currently open for output. Without the optional +argument, all units are flushed, otherwise just the unit specified. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL FLUSH(UNIT)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>UNIT</var></td><td width="70%">(Optional) The type shall be <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Note</em>:</dt> +<dd><p>Beginning with the Fortran 2003 standard, there is a <code>FLUSH</code> +statement that should be preferred over the <code>FLUSH</code> intrinsic. +</p> +<p>The <code>FLUSH</code> intrinsic and the Fortran 2003 <code>FLUSH</code> statement +have identical effect: they flush the runtime library’s I/O buffer so +that the data becomes visible to other processes. This does not guarantee +that the data is committed to disk. +</p> +<p>On POSIX systems, you can request that all data is transferred to the +storage device by calling the <code>fsync</code> function, with the POSIX file +descriptor of the I/O unit as argument (retrieved with GNU intrinsic +<code>FNUM</code>). The following example shows how: +</p> +<div class="smallexample"> +<pre class="smallexample"> ! Declare the interface for POSIX fsync function + interface + function fsync (fd) bind(c,name="fsync") + use iso_c_binding, only: c_int + integer(c_int), value :: fd + integer(c_int) :: fsync + end function fsync + end interface + + ! Variable declaration + integer :: ret + + ! Opening unit 10 + open (10,file="foo") + + ! ... + ! Perform I/O on unit 10 + ! ... + + ! Flush and sync + flush(10) + ret = fsync(fnum(10)) + + ! Handle possible error + if (ret /= 0) stop "Error calling FSYNC" +</pre></div> + +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/FNUM.html b/share/doc/gfortran/FNUM.html new file mode 100644 index 0000000..c150a70 --- /dev/null +++ b/share/doc/gfortran/FNUM.html @@ -0,0 +1,129 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: FNUM</title> + +<meta name="description" content="The GNU Fortran Compiler: FNUM"> +<meta name="keywords" content="The GNU Fortran Compiler: FNUM"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="FPUT.html#FPUT" rel="next" title="FPUT"> +<link href="FLUSH.html#FLUSH" rel="previous" title="FLUSH"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="FNUM"></a> +<div class="header"> +<p> +Next: <a href="FPUT.html#FPUT" accesskey="n" rel="next">FPUT</a>, Previous: <a href="FLUSH.html#FLUSH" accesskey="p" rel="previous">FLUSH</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="FNUM-_002d_002d_002d-File-number-function"></a> +<h3 class="section">8.111 <code>FNUM</code> — File number function</h3> +<a name="index-FNUM"></a> +<a name="index-file-operation_002c-file-number"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>FNUM(UNIT)</code> returns the POSIX file descriptor number corresponding to the +open Fortran I/O unit <code>UNIT</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = FNUM(UNIT)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>UNIT</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_fnum + integer :: i + open (unit=10, status = "scratch") + i = fnum(10) + print *, i + close (10) +end program test_fnum +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/FPUT.html b/share/doc/gfortran/FPUT.html new file mode 100644 index 0000000..d46a339 --- /dev/null +++ b/share/doc/gfortran/FPUT.html @@ -0,0 +1,149 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: FPUT</title> + +<meta name="description" content="The GNU Fortran Compiler: FPUT"> +<meta name="keywords" content="The GNU Fortran Compiler: FPUT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="FPUTC.html#FPUTC" rel="next" title="FPUTC"> +<link href="FNUM.html#FNUM" rel="previous" title="FNUM"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="FPUT"></a> +<div class="header"> +<p> +Next: <a href="FPUTC.html#FPUTC" accesskey="n" rel="next">FPUTC</a>, Previous: <a href="FNUM.html#FNUM" accesskey="p" rel="previous">FNUM</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="FPUT-_002d_002d_002d-Write-a-single-character-in-stream-mode-to-stdout"></a> +<h3 class="section">8.112 <code>FPUT</code> — Write a single character in stream mode to stdout</h3> +<a name="index-FPUT"></a> +<a name="index-write-character_002c-stream-mode"></a> +<a name="index-stream-mode_002c-write-character"></a> +<a name="index-file-operation_002c-write-character"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Write a single character in stream mode to stdout by bypassing normal +formatted output. Stream I/O should not be mixed with normal record-oriented +(formatted or unformatted) I/O on the same unit; the results are unpredictable. +</p> +<p>This intrinsic is provided in both subroutine and function forms; however, +only one form can be used in any given program unit. +</p> +<p>Note that the <code>FGET</code> intrinsic is provided for backwards compatibility with +<code>g77</code>. GNU Fortran provides the Fortran 2003 Stream facility. +Programmers should consider the use of new stream IO feature in new code +for future portability. See also <a href="Fortran-2003-status.html#Fortran-2003-status">Fortran 2003 status</a>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL FPUT(C [, STATUS])</code></td></tr> +<tr><td width="80%"><code>STATUS = FPUT(C)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>C</var></td><td width="70%">The type shall be <code>CHARACTER</code> and of default +kind.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">(Optional) status flag of type <code>INTEGER</code>. +Returns 0 on success, -1 on end-of-file and a system specific positive +error code otherwise.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_fput + CHARACTER(len=10) :: str = "gfortran" + INTEGER :: i + DO i = 1, len_trim(str) + CALL fput(str(i:i)) + END DO +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="FPUTC.html#FPUTC">FPUTC</a>, <br> +<a href="FGET.html#FGET">FGET</a>, <br> +<a href="FGETC.html#FGETC">FGETC</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/FPUTC.html b/share/doc/gfortran/FPUTC.html new file mode 100644 index 0000000..cd33d57 --- /dev/null +++ b/share/doc/gfortran/FPUTC.html @@ -0,0 +1,153 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: FPUTC</title> + +<meta name="description" content="The GNU Fortran Compiler: FPUTC"> +<meta name="keywords" content="The GNU Fortran Compiler: FPUTC"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="FRACTION.html#FRACTION" rel="next" title="FRACTION"> +<link href="FPUT.html#FPUT" rel="previous" title="FPUT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="FPUTC"></a> +<div class="header"> +<p> +Next: <a href="FRACTION.html#FRACTION" accesskey="n" rel="next">FRACTION</a>, Previous: <a href="FPUT.html#FPUT" accesskey="p" rel="previous">FPUT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="FPUTC-_002d_002d_002d-Write-a-single-character-in-stream-mode"></a> +<h3 class="section">8.113 <code>FPUTC</code> — Write a single character in stream mode</h3> +<a name="index-FPUTC"></a> +<a name="index-write-character_002c-stream-mode-1"></a> +<a name="index-stream-mode_002c-write-character-1"></a> +<a name="index-file-operation_002c-write-character-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Write a single character in stream mode by bypassing normal formatted +output. Stream I/O should not be mixed with normal record-oriented +(formatted or unformatted) I/O on the same unit; the results are unpredictable. +</p> +<p>This intrinsic is provided in both subroutine and function forms; however, +only one form can be used in any given program unit. +</p> +<p>Note that the <code>FGET</code> intrinsic is provided for backwards compatibility with +<code>g77</code>. GNU Fortran provides the Fortran 2003 Stream facility. +Programmers should consider the use of new stream IO feature in new code +for future portability. See also <a href="Fortran-2003-status.html#Fortran-2003-status">Fortran 2003 status</a>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL FPUTC(UNIT, C [, STATUS])</code></td></tr> +<tr><td width="80%"><code>STATUS = FPUTC(UNIT, C)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>UNIT</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>C</var></td><td width="70%">The type shall be <code>CHARACTER</code> and of default +kind.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">(Optional) status flag of type <code>INTEGER</code>. +Returns 0 on success, -1 on end-of-file and a system specific positive +error code otherwise.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_fputc + CHARACTER(len=10) :: str = "gfortran" + INTEGER :: fd = 42, i + + OPEN(UNIT = fd, FILE = "out", ACTION = "WRITE", STATUS="NEW") + DO i = 1, len_trim(str) + CALL fputc(fd, str(i:i)) + END DO + CLOSE(fd) +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="FPUT.html#FPUT">FPUT</a>, <br> +<a href="FGET.html#FGET">FGET</a>, <br> +<a href="FGETC.html#FGETC">FGETC</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/FRACTION.html b/share/doc/gfortran/FRACTION.html new file mode 100644 index 0000000..d8021bf --- /dev/null +++ b/share/doc/gfortran/FRACTION.html @@ -0,0 +1,131 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: FRACTION</title> + +<meta name="description" content="The GNU Fortran Compiler: FRACTION"> +<meta name="keywords" content="The GNU Fortran Compiler: FRACTION"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="FREE.html#FREE" rel="next" title="FREE"> +<link href="FPUTC.html#FPUTC" rel="previous" title="FPUTC"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="FRACTION"></a> +<div class="header"> +<p> +Next: <a href="FREE.html#FREE" accesskey="n" rel="next">FREE</a>, Previous: <a href="FPUTC.html#FPUTC" accesskey="p" rel="previous">FPUTC</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="FRACTION-_002d_002d_002d-Fractional-part-of-the-model-representation"></a> +<h3 class="section">8.114 <code>FRACTION</code> — Fractional part of the model representation</h3> +<a name="index-FRACTION"></a> +<a name="index-real-number_002c-fraction"></a> +<a name="index-floating-point_002c-fraction"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>FRACTION(X)</code> returns the fractional part of the model +representation of <code>X</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>Y = FRACTION(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type of the argument shall be a <code>REAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of the same type and kind as the argument. +The fractional part of the model representation of <code>X</code> is returned; +it is <code>X * RADIX(X)**(-EXPONENT(X))</code>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_fraction + real :: x + x = 178.1387e-4 + print *, fraction(x), x * radix(x)**(-exponent(x)) +end program test_fraction +</pre></div> + +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/FREE.html b/share/doc/gfortran/FREE.html new file mode 100644 index 0000000..7231105 --- /dev/null +++ b/share/doc/gfortran/FREE.html @@ -0,0 +1,129 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: FREE</title> + +<meta name="description" content="The GNU Fortran Compiler: FREE"> +<meta name="keywords" content="The GNU Fortran Compiler: FREE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="FSEEK.html#FSEEK" rel="next" title="FSEEK"> +<link href="FRACTION.html#FRACTION" rel="previous" title="FRACTION"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="FREE"></a> +<div class="header"> +<p> +Next: <a href="FSEEK.html#FSEEK" accesskey="n" rel="next">FSEEK</a>, Previous: <a href="FRACTION.html#FRACTION" accesskey="p" rel="previous">FRACTION</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="FREE-_002d_002d_002d-Frees-memory"></a> +<h3 class="section">8.115 <code>FREE</code> — Frees memory</h3> +<a name="index-FREE"></a> +<a name="index-pointer_002c-cray"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Frees memory previously allocated by <code>MALLOC</code>. The <code>FREE</code> +intrinsic is an extension intended to be used with Cray pointers, and is +provided in GNU Fortran to allow user to compile legacy code. For +new code using Fortran 95 pointers, the memory de-allocation intrinsic is +<code>DEALLOCATE</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL FREE(PTR)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>PTR</var></td><td width="70%">The type shall be <code>INTEGER</code>. It represents the +location of the memory that should be de-allocated.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>None +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><p>See <code>MALLOC</code> for an example. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="MALLOC.html#MALLOC">MALLOC</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/FSEEK.html b/share/doc/gfortran/FSEEK.html new file mode 100644 index 0000000..d26d099 --- /dev/null +++ b/share/doc/gfortran/FSEEK.html @@ -0,0 +1,174 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: FSEEK</title> + +<meta name="description" content="The GNU Fortran Compiler: FSEEK"> +<meta name="keywords" content="The GNU Fortran Compiler: FSEEK"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="FSTAT.html#FSTAT" rel="next" title="FSTAT"> +<link href="FREE.html#FREE" rel="previous" title="FREE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="FSEEK"></a> +<div class="header"> +<p> +Next: <a href="FSTAT.html#FSTAT" accesskey="n" rel="next">FSTAT</a>, Previous: <a href="FREE.html#FREE" accesskey="p" rel="previous">FREE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="FSEEK-_002d_002d_002d-Low-level-file-positioning-subroutine"></a> +<h3 class="section">8.116 <code>FSEEK</code> — Low level file positioning subroutine</h3> +<a name="index-FSEEK"></a> +<a name="index-file-operation_002c-seek"></a> +<a name="index-file-operation_002c-position"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Moves <var>UNIT</var> to the specified <var>OFFSET</var>. If <var>WHENCE</var> +is set to 0, the <var>OFFSET</var> is taken as an absolute value <code>SEEK_SET</code>, +if set to 1, <var>OFFSET</var> is taken to be relative to the current position +<code>SEEK_CUR</code>, and if set to 2 relative to the end of the file <code>SEEK_END</code>. +On error, <var>STATUS</var> is set to a nonzero value. If <var>STATUS</var> the seek +fails silently. +</p> +<p>This intrinsic routine is not fully backwards compatible with <code>g77</code>. +In <code>g77</code>, the <code>FSEEK</code> takes a statement label instead of a +<var>STATUS</var> variable. If FSEEK is used in old code, change +</p><div class="smallexample"> +<pre class="smallexample"> CALL FSEEK(UNIT, OFFSET, WHENCE, *label) +</pre></div> +<p>to +</p><div class="smallexample"> +<pre class="smallexample"> INTEGER :: status + CALL FSEEK(UNIT, OFFSET, WHENCE, status) + IF (status /= 0) GOTO label +</pre></div> + +<p>Please note that GNU Fortran provides the Fortran 2003 Stream facility. +Programmers should consider the use of new stream IO feature in new code +for future portability. See also <a href="Fortran-2003-status.html#Fortran-2003-status">Fortran 2003 status</a>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL FSEEK(UNIT, OFFSET, WHENCE[, STATUS])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>UNIT</var></td><td width="70%">Shall be a scalar of type <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>OFFSET</var></td><td width="70%">Shall be a scalar of type <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>WHENCE</var></td><td width="70%">Shall be a scalar of type <code>INTEGER</code>. +Its value shall be either 0, 1 or 2.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">(Optional) shall be a scalar of type +<code>INTEGER(4)</code>.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_fseek + INTEGER, PARAMETER :: SEEK_SET = 0, SEEK_CUR = 1, SEEK_END = 2 + INTEGER :: fd, offset, ierr + + ierr = 0 + offset = 5 + fd = 10 + + OPEN(UNIT=fd, FILE="fseek.test") + CALL FSEEK(fd, offset, SEEK_SET, ierr) ! move to OFFSET + print *, FTELL(fd), ierr + + CALL FSEEK(fd, 0, SEEK_END, ierr) ! move to end + print *, FTELL(fd), ierr + + CALL FSEEK(fd, 0, SEEK_SET, ierr) ! move to beginning + print *, FTELL(fd), ierr + + CLOSE(UNIT=fd) +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="FTELL.html#FTELL">FTELL</a> +</p></dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="FSTAT.html#FSTAT" accesskey="n" rel="next">FSTAT</a>, Previous: <a href="FREE.html#FREE" accesskey="p" rel="previous">FREE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/FSTAT.html b/share/doc/gfortran/FSTAT.html new file mode 100644 index 0000000..6fd2d99 --- /dev/null +++ b/share/doc/gfortran/FSTAT.html @@ -0,0 +1,135 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: FSTAT</title> + +<meta name="description" content="The GNU Fortran Compiler: FSTAT"> +<meta name="keywords" content="The GNU Fortran Compiler: FSTAT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="FTELL.html#FTELL" rel="next" title="FTELL"> +<link href="FSEEK.html#FSEEK" rel="previous" title="FSEEK"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="FSTAT"></a> +<div class="header"> +<p> +Next: <a href="FTELL.html#FTELL" accesskey="n" rel="next">FTELL</a>, Previous: <a href="FSEEK.html#FSEEK" accesskey="p" rel="previous">FSEEK</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="FSTAT-_002d_002d_002d-Get-file-status"></a> +<h3 class="section">8.117 <code>FSTAT</code> — Get file status</h3> +<a name="index-FSTAT"></a> +<a name="index-file-system_002c-file-status"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>FSTAT</code> is identical to <a href="STAT.html#STAT">STAT</a>, except that information about an +already opened file is obtained. +</p> +<p>The elements in <code>VALUES</code> are the same as described by <a href="STAT.html#STAT">STAT</a>. +</p> +<p>This intrinsic is provided in both subroutine and function forms; however, +only one form can be used in any given program unit. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL FSTAT(UNIT, VALUES [, STATUS])</code></td></tr> +<tr><td width="80%"><code>STATUS = FSTAT(UNIT, VALUES)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>UNIT</var></td><td width="70%">An open I/O unit number of type <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>VALUES</var></td><td width="70%">The type shall be <code>INTEGER(4), DIMENSION(13)</code>.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">(Optional) status flag of type <code>INTEGER(4)</code>. Returns 0 +on success and a system specific error code otherwise.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><p>See <a href="STAT.html#STAT">STAT</a> for an example. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p>To stat a link: <br> +<a href="LSTAT.html#LSTAT">LSTAT</a> <br> +To stat a file: <br> +<a href="STAT.html#STAT">STAT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/FTELL.html b/share/doc/gfortran/FTELL.html new file mode 100644 index 0000000..696e385 --- /dev/null +++ b/share/doc/gfortran/FTELL.html @@ -0,0 +1,139 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: FTELL</title> + +<meta name="description" content="The GNU Fortran Compiler: FTELL"> +<meta name="keywords" content="The GNU Fortran Compiler: FTELL"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="GAMMA.html#GAMMA" rel="next" title="GAMMA"> +<link href="FSTAT.html#FSTAT" rel="previous" title="FSTAT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="FTELL"></a> +<div class="header"> +<p> +Next: <a href="GAMMA.html#GAMMA" accesskey="n" rel="next">GAMMA</a>, Previous: <a href="FSTAT.html#FSTAT" accesskey="p" rel="previous">FSTAT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="FTELL-_002d_002d_002d-Current-stream-position"></a> +<h3 class="section">8.118 <code>FTELL</code> — Current stream position</h3> +<a name="index-FTELL"></a> +<a name="index-file-operation_002c-position-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Retrieves the current position within an open file. +</p> +<p>This intrinsic is provided in both subroutine and function forms; however, +only one form can be used in any given program unit. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL FTELL(UNIT, OFFSET)</code></td></tr> +<tr><td width="80%"><code>OFFSET = FTELL(UNIT)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>OFFSET</var></td><td width="70%">Shall of type <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>UNIT</var></td><td width="70%">Shall of type <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>In either syntax, <var>OFFSET</var> is set to the current offset of unit +number <var>UNIT</var>, or to <em>-1</em> if the unit is not currently open. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_ftell + INTEGER :: i + OPEN(10, FILE="temp.dat") + CALL ftell(10,i) + WRITE(*,*) i +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="FSEEK.html#FSEEK">FSEEK</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/File-format-of-unformatted-sequential-files.html b/share/doc/gfortran/File-format-of-unformatted-sequential-files.html new file mode 100644 index 0000000..aacf5b1 --- /dev/null +++ b/share/doc/gfortran/File-format-of-unformatted-sequential-files.html @@ -0,0 +1,146 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: File format of unformatted sequential files</title> + +<meta name="description" content="The GNU Fortran Compiler: File format of unformatted sequential files"> +<meta name="keywords" content="The GNU Fortran Compiler: File format of unformatted sequential files"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Compiler-Characteristics.html#Compiler-Characteristics" rel="up" title="Compiler Characteristics"> +<link href="Asynchronous-I_002fO.html#Asynchronous-I_002fO" rel="next" title="Asynchronous I/O"> +<link href="File-operations-on-symbolic-links.html#File-operations-on-symbolic-links" rel="previous" title="File operations on symbolic links"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="File-format-of-unformatted-sequential-files"></a> +<div class="header"> +<p> +Next: <a href="Asynchronous-I_002fO.html#Asynchronous-I_002fO" accesskey="n" rel="next">Asynchronous I/O</a>, Previous: <a href="File-operations-on-symbolic-links.html#File-operations-on-symbolic-links" accesskey="p" rel="previous">File operations on symbolic links</a>, Up: <a href="Compiler-Characteristics.html#Compiler-Characteristics" accesskey="u" rel="up">Compiler Characteristics</a> [<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> +</div> +<hr> +<a name="File-format-of-unformatted-sequential-files-1"></a> +<h3 class="section">4.9 File format of unformatted sequential files</h3> +<a name="index-file_002c-unformatted-sequential"></a> +<a name="index-unformatted-sequential"></a> +<a name="index-sequential_002c-unformatted"></a> +<a name="index-record-marker"></a> +<a name="index-subrecord"></a> + +<p>Unformatted sequential files are stored as logical records using +record markers. Each logical record consists of one of more +subrecords. +</p> +<p>Each subrecord consists of a leading record marker, the data written +by the user program, and a trailing record marker. The record markers +are four-byte integers by default, and eight-byte integers if the +<samp>-fmax-subrecord-length=8</samp> option (which exists for backwards +compability only) is in effect. +</p> +<p>The representation of the record markers is that of unformatted files +given with the <samp>-fconvert</samp> option, the <a href="CONVERT-specifier.html#CONVERT-specifier">CONVERT specifier</a> +in an open statement or the <a href="GFORTRAN_005fCONVERT_005fUNIT.html#GFORTRAN_005fCONVERT_005fUNIT">GFORTRAN_CONVERT_UNIT</a> environment +variable. +</p> +<p>The maximum number of bytes of user data in a subrecord is 2147483639 +(2 GiB - 9) for a four-byte record marker. This limit can be lowered +with the <samp>-fmax-subrecord-length</samp> option, although this is +rarely useful. If the length of a logical record exceeds this limit, +the data is distributed among several subrecords. +</p> +<p>The absolute of the number stored in the record markers is the number +of bytes of user data in the corresponding subrecord. If the leading +record marker of a subrecord contains a negative number, another +subrecord follows the current one. If the trailing record marker +contains a negative number, then there is a preceding subrecord. +</p> +<p>In the most simple case, with only one subrecord per logical record, +both record markers contain the number of bytes of user data in the +record. +</p> +<p>The format for unformatted sequential data can be duplicated using +unformatted stream, as shown in the example program for an unformatted +record containing a single subrecord: +</p> +<div class="smallexample"> +<pre class="smallexample">program main + use iso_fortran_env, only: int32 + implicit none + integer(int32) :: i + real, dimension(10) :: a, b + call random_number(a) + open (10,file='test.dat',form='unformatted',access='stream') + inquire (iolength=i) a + write (10) i, a, i + close (10) + open (10,file='test.dat',form='unformatted') + read (10) b + if (all (a == b)) print *,'success!' +end program main +</pre></div> + +<hr> +<div class="header"> +<p> +Next: <a href="Asynchronous-I_002fO.html#Asynchronous-I_002fO" accesskey="n" rel="next">Asynchronous I/O</a>, Previous: <a href="File-operations-on-symbolic-links.html#File-operations-on-symbolic-links" accesskey="p" rel="previous">File operations on symbolic links</a>, Up: <a href="Compiler-Characteristics.html#Compiler-Characteristics" accesskey="u" rel="up">Compiler Characteristics</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/File-operations-on-symbolic-links.html b/share/doc/gfortran/File-operations-on-symbolic-links.html new file mode 100644 index 0000000..98f9beb --- /dev/null +++ b/share/doc/gfortran/File-operations-on-symbolic-links.html @@ -0,0 +1,105 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: File operations on symbolic links</title> + +<meta name="description" content="The GNU Fortran Compiler: File operations on symbolic links"> +<meta name="keywords" content="The GNU Fortran Compiler: File operations on symbolic links"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Compiler-Characteristics.html#Compiler-Characteristics" rel="up" title="Compiler Characteristics"> +<link href="File-format-of-unformatted-sequential-files.html#File-format-of-unformatted-sequential-files" rel="next" title="File format of unformatted sequential files"> +<link href="Files-opened-without-an-explicit-ACTION_003d-specifier.html#Files-opened-without-an-explicit-ACTION_003d-specifier" rel="previous" title="Files opened without an explicit ACTION= specifier"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="File-operations-on-symbolic-links"></a> +<div class="header"> +<p> +Next: <a href="File-format-of-unformatted-sequential-files.html#File-format-of-unformatted-sequential-files" accesskey="n" rel="next">File format of unformatted sequential files</a>, Previous: <a href="Files-opened-without-an-explicit-ACTION_003d-specifier.html#Files-opened-without-an-explicit-ACTION_003d-specifier" accesskey="p" rel="previous">Files opened without an explicit ACTION= specifier</a>, Up: <a href="Compiler-Characteristics.html#Compiler-Characteristics" accesskey="u" rel="up">Compiler Characteristics</a> [<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> +</div> +<hr> +<a name="File-operations-on-symbolic-links-1"></a> +<h3 class="section">4.8 File operations on symbolic links</h3> +<a name="index-file_002c-symbolic-link"></a> + +<p>This section documents the behavior of GNU Fortran for file operations on +symbolic links, on systems that support them. +</p> +<ul> +<li> Results of INQUIRE statements of the “inquire by file” form will +relate to the target of the symbolic link. For example, +<code>INQUIRE(FILE="foo",EXIST=ex)</code> will set <var>ex</var> to <var>.true.</var> if +<var>foo</var> is a symbolic link pointing to an existing file, and <var>.false.</var> +if <var>foo</var> points to an non-existing file (“dangling” symbolic link). + +</li><li> Using the <code>OPEN</code> statement with a <code>STATUS="NEW"</code> specifier +on a symbolic link will result in an error condition, whether the symbolic +link points to an existing target or is dangling. + +</li><li> If a symbolic link was connected, using the <code>CLOSE</code> statement +with a <code>STATUS="DELETE"</code> specifier will cause the symbolic link itself +to be deleted, not its target. + +</li></ul> + + + + +</body> +</html> diff --git a/share/doc/gfortran/Files-opened-without-an-explicit-ACTION_003d-specifier.html b/share/doc/gfortran/Files-opened-without-an-explicit-ACTION_003d-specifier.html new file mode 100644 index 0000000..49244cf --- /dev/null +++ b/share/doc/gfortran/Files-opened-without-an-explicit-ACTION_003d-specifier.html @@ -0,0 +1,97 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Files opened without an explicit ACTION= specifier</title> + +<meta name="description" content="The GNU Fortran Compiler: Files opened without an explicit ACTION= specifier"> +<meta name="keywords" content="The GNU Fortran Compiler: Files opened without an explicit ACTION= specifier"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Compiler-Characteristics.html#Compiler-Characteristics" rel="up" title="Compiler Characteristics"> +<link href="File-operations-on-symbolic-links.html#File-operations-on-symbolic-links" rel="next" title="File operations on symbolic links"> +<link href="Data-consistency-and-durability.html#Data-consistency-and-durability" rel="previous" title="Data consistency and durability"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Files-opened-without-an-explicit-ACTION_003d-specifier"></a> +<div class="header"> +<p> +Next: <a href="File-operations-on-symbolic-links.html#File-operations-on-symbolic-links" accesskey="n" rel="next">File operations on symbolic links</a>, Previous: <a href="Data-consistency-and-durability.html#Data-consistency-and-durability" accesskey="p" rel="previous">Data consistency and durability</a>, Up: <a href="Compiler-Characteristics.html#Compiler-Characteristics" accesskey="u" rel="up">Compiler Characteristics</a> [<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> +</div> +<hr> +<a name="Files-opened-without-an-explicit-ACTION_003d-specifier-1"></a> +<h3 class="section">4.7 Files opened without an explicit ACTION= specifier</h3> +<a name="index-open_002c-action"></a> + +<p>The Fortran standard says that if an <code>OPEN</code> statement is executed +without an explicit <code>ACTION=</code> specifier, the default value is +processor dependent. GNU Fortran behaves as follows: +</p> +<ol> +<li> Attempt to open the file with <code>ACTION='READWRITE'</code> +</li><li> If that fails, try to open with <code>ACTION='READ'</code> +</li><li> If that fails, try to open with <code>ACTION='WRITE'</code> +</li><li> If that fails, generate an error +</li></ol> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Form-feed-as-whitespace.html b/share/doc/gfortran/Form-feed-as-whitespace.html new file mode 100644 index 0000000..14d9d53 --- /dev/null +++ b/share/doc/gfortran/Form-feed-as-whitespace.html @@ -0,0 +1,91 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Form feed as whitespace</title> + +<meta name="description" content="The GNU Fortran Compiler: Form feed as whitespace"> +<meta name="keywords" content="The GNU Fortran Compiler: Form feed as whitespace"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="TYPE-as-an-alias-for-PRINT.html#TYPE-as-an-alias-for-PRINT" rel="next" title="TYPE as an alias for PRINT"> +<link href="Extended-math-intrinsics.html#Extended-math-intrinsics" rel="previous" title="Extended math intrinsics"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Form-feed-as-whitespace"></a> +<div class="header"> +<p> +Next: <a href="TYPE-as-an-alias-for-PRINT.html#TYPE-as-an-alias-for-PRINT" accesskey="n" rel="next">TYPE as an alias for PRINT</a>, Previous: <a href="Extended-math-intrinsics.html#Extended-math-intrinsics" accesskey="p" rel="previous">Extended math intrinsics</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> [<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> +</div> +<hr> +<a name="Form-feed-as-whitespace-1"></a> +<h4 class="subsection">5.1.27 Form feed as whitespace</h4> +<a name="index-form-feed-whitespace"></a> + +<p>Historically, legacy compilers allowed insertion of form feed characters (’\f’, +ASCII 0xC) at the beginning of lines for formatted output to line printers, +though the Fortran standard does not mention this. GNU Fortran supports the +interpretation of form feed characters in source as whitespace for +compatibility. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/Fortran-2003-status.html b/share/doc/gfortran/Fortran-2003-status.html new file mode 100644 index 0000000..2ece6d4 --- /dev/null +++ b/share/doc/gfortran/Fortran-2003-status.html @@ -0,0 +1,90 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Fortran 2003 status</title> + +<meta name="description" content="The GNU Fortran Compiler: Fortran 2003 status"> +<meta name="keywords" content="The GNU Fortran Compiler: Fortran 2003 status"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Standards.html#Standards" rel="up" title="Standards"> +<link href="Fortran-2008-status.html#Fortran-2008-status" rel="next" title="Fortran 2008 status"> +<link href="Fortran-95-status.html#Fortran-95-status" rel="previous" title="Fortran 95 status"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Fortran-2003-status"></a> +<div class="header"> +<p> +Next: <a href="Fortran-2008-status.html#Fortran-2008-status" accesskey="n" rel="next">Fortran 2008 status</a>, Previous: <a href="Fortran-95-status.html#Fortran-95-status" accesskey="p" rel="previous">Fortran 95 status</a>, Up: <a href="Standards.html#Standards" accesskey="u" rel="up">Standards</a> [<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> +</div> +<hr> +<a name="Fortran-2003-status-1"></a> +<h4 class="subsection">1.3.2 Fortran 2003 status</h4> + +<p>GNU Fortran implements the Fortran 2003 (ISO/IEC 1539-1:2004) standard +except for finalization support, which is incomplete. +See the +<a href="https://gcc.gnu.org/wiki/Fortran2003">wiki page</a> for a full list +of new features introduced by Fortran 2003 and their implementation status. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/Fortran-2008-status.html b/share/doc/gfortran/Fortran-2008-status.html new file mode 100644 index 0000000..5d63c30 --- /dev/null +++ b/share/doc/gfortran/Fortran-2008-status.html @@ -0,0 +1,98 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Fortran 2008 status</title> + +<meta name="description" content="The GNU Fortran Compiler: Fortran 2008 status"> +<meta name="keywords" content="The GNU Fortran Compiler: Fortran 2008 status"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Standards.html#Standards" rel="up" title="Standards"> +<link href="Fortran-2018-status.html#Fortran-2018-status" rel="next" title="Fortran 2018 status"> +<link href="Fortran-2003-status.html#Fortran-2003-status" rel="previous" title="Fortran 2003 status"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Fortran-2008-status"></a> +<div class="header"> +<p> +Next: <a href="Fortran-2018-status.html#Fortran-2018-status" accesskey="n" rel="next">Fortran 2018 status</a>, Previous: <a href="Fortran-2003-status.html#Fortran-2003-status" accesskey="p" rel="previous">Fortran 2003 status</a>, Up: <a href="Standards.html#Standards" accesskey="u" rel="up">Standards</a> [<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> +</div> +<hr> +<a name="Fortran-2008-status-1"></a> +<h4 class="subsection">1.3.3 Fortran 2008 status</h4> + +<p>The GNU Fortran compiler supports almost all features of Fortran 2008; +the <a href="https://gcc.gnu.org/wiki/Fortran2008Status">wiki</a> +has some information about the current implementation status. +In particular, the following are not yet supported: +</p> +<ul> +<li> <code>DO CONCURRENT</code> and <code>FORALL</code> do not recognize a +type-spec in the loop header. + +</li><li> The change to permit any constant expression in subscripts and +nested implied-do limits in a <code>DATA</code> statement has not been implemented. +</li></ul> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Fortran-2018-status.html b/share/doc/gfortran/Fortran-2018-status.html new file mode 100644 index 0000000..c4fd525 --- /dev/null +++ b/share/doc/gfortran/Fortran-2018-status.html @@ -0,0 +1,131 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Fortran 2018 status</title> + +<meta name="description" content="The GNU Fortran Compiler: Fortran 2018 status"> +<meta name="keywords" content="The GNU Fortran Compiler: Fortran 2018 status"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Standards.html#Standards" rel="up" title="Standards"> +<link href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" rel="next" title="Invoking GNU Fortran"> +<link href="Fortran-2008-status.html#Fortran-2008-status" rel="previous" title="Fortran 2008 status"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Fortran-2018-status"></a> +<div class="header"> +<p> +Previous: <a href="Fortran-2008-status.html#Fortran-2008-status" accesskey="p" rel="previous">Fortran 2008 status</a>, Up: <a href="Standards.html#Standards" accesskey="u" rel="up">Standards</a> [<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> +</div> +<hr> +<a name="Fortran-2018-status-1"></a> +<h4 class="subsection">1.3.4 Fortran 2018 status</h4> + +<p>Fortran 2018 (ISO/IEC 1539:2018) is the most recent version +of the Fortran language standard. GNU Fortran implements some of the +new features of this standard: +</p> +<ul> +<li> All Fortran 2018 features derived from ISO/IEC TS 29113:2012, +“Further Interoperability of Fortran with C”, are supported by GNU Fortran. +This includes assumed-type and assumed-rank objects and +the <code>SELECT RANK</code> construct as well as the parts relating to +<code>BIND(C)</code> functions. +See also <a href="Further-Interoperability-of-Fortran-with-C.html#Further-Interoperability-of-Fortran-with-C">Further Interoperability of Fortran with C</a>. + +</li><li> GNU Fortran supports a subset of features derived from ISO/IEC TS 18508:2015, +“Additional Parallel Features in Fortran”: + +<ul> +<li> The new atomic ADD, CAS, FETCH and ADD/OR/XOR, OR and XOR intrinsics. + +</li><li> The <code>CO_MIN</code> and <code>CO_MAX</code> and <code>SUM</code> reduction intrinsics, +and the <code>CO_BROADCAST</code> and <code>CO_REDUCE</code> intrinsic, except that those +do not support polymorphic types or types with allocatable, pointer or +polymorphic components. + +</li><li> Events (<code>EVENT POST</code>, <code>EVENT WAIT</code>, <code>EVENT_QUERY</code>). + +</li><li> Failed images (<code>FAIL IMAGE</code>, <code>IMAGE_STATUS</code>, +<code>FAILED_IMAGES</code>, <code>STOPPED_IMAGES</code>). + +</li></ul> + +</li><li> An <code>ERROR STOP</code> statement is permitted in a <code>PURE</code> +procedure. + +</li><li> GNU Fortran supports the <code>IMPLICIT NONE</code> statement with an +<code>implicit-none-spec-list</code>. + +</li><li> The behavior of the <code>INQUIRE</code> statement with the <code>RECL=</code> +specifier now conforms to Fortran 2018. + +</li></ul> + + + + + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Fortran-95-status.html b/share/doc/gfortran/Fortran-95-status.html new file mode 100644 index 0000000..92880c8 --- /dev/null +++ b/share/doc/gfortran/Fortran-95-status.html @@ -0,0 +1,103 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Fortran 95 status</title> + +<meta name="description" content="The GNU Fortran Compiler: Fortran 95 status"> +<meta name="keywords" content="The GNU Fortran Compiler: Fortran 95 status"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Standards.html#Standards" rel="up" title="Standards"> +<link href="Fortran-2003-status.html#Fortran-2003-status" rel="next" title="Fortran 2003 status"> +<link href="Standards.html#Standards" rel="previous" title="Standards"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Fortran-95-status"></a> +<div class="header"> +<p> +Next: <a href="Fortran-2003-status.html#Fortran-2003-status" accesskey="n" rel="next">Fortran 2003 status</a>, Up: <a href="Standards.html#Standards" accesskey="u" rel="up">Standards</a> [<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> +</div> +<hr> +<a name="Fortran-95-status-1"></a> +<h4 class="subsection">1.3.1 Fortran 95 status</h4> +<a name="index-Varying-length-strings"></a> +<a name="index-strings_002c-varying-length"></a> +<a name="index-conditional-compilation"></a> + +<p>The Fortran 95 standard specifies in Part 2 (ISO/IEC 1539-2:2000) +varying length character strings. While GNU Fortran currently does not +support such strings directly, there exist two Fortran implementations +for them, which work with GNU Fortran. One can be found at +<a href="http://user.astro.wisc.edu/~townsend/static.php?ref=iso-varying-string">http://user.astro.wisc.edu/~townsend/static.php?ref=iso-varying-string</a>. +</p> +<p>Deferred-length character strings of Fortran 2003 supports part of +the features of <code>ISO_VARYING_STRING</code> and should be considered as +replacement. (Namely, allocatable or pointers of the type +<code>character(len=:)</code>.) +</p> +<p>Part 3 of the Fortran 95 standard (ISO/IEC 1539-3:1998) defines +Conditional Compilation, which is not widely used and not directly +supported by the GNU Fortran compiler. You can use the program coco +to preprocess such files (<a href="http://www.daniellnagle.com/coco.html">http://www.daniellnagle.com/coco.html</a>). +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/Fortran-Dialect-Options.html b/share/doc/gfortran/Fortran-Dialect-Options.html new file mode 100644 index 0000000..82ea4cb --- /dev/null +++ b/share/doc/gfortran/Fortran-Dialect-Options.html @@ -0,0 +1,485 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Fortran Dialect Options</title> + +<meta name="description" content="The GNU Fortran Compiler: Fortran Dialect Options"> +<meta name="keywords" content="The GNU Fortran Compiler: Fortran Dialect Options"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" rel="up" title="Invoking GNU Fortran"> +<link href="Preprocessing-Options.html#Preprocessing-Options" rel="next" title="Preprocessing Options"> +<link href="Option-Summary.html#Option-Summary" rel="previous" title="Option Summary"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Fortran-Dialect-Options"></a> +<div class="header"> +<p> +Next: <a href="Preprocessing-Options.html#Preprocessing-Options" accesskey="n" rel="next">Preprocessing Options</a>, Previous: <a href="Option-Summary.html#Option-Summary" accesskey="p" rel="previous">Option Summary</a>, Up: <a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" accesskey="u" rel="up">Invoking GNU Fortran</a> [<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> +</div> +<hr> +<a name="Options-controlling-Fortran-dialect"></a> +<h3 class="section">2.2 Options controlling Fortran dialect</h3> +<a name="index-dialect-options"></a> +<a name="index-language_002c-dialect-options"></a> +<a name="index-options_002c-dialect"></a> + +<p>The following options control the details of the Fortran dialect +accepted by the compiler: +</p> +<dl compact="compact"> +<dd><a name="index-ffree_002dform"></a> +<a name="index-ffixed_002dform"></a> +<a name="index-options_002c-Fortran-dialect"></a> +<a name="index-file-format_002c-free"></a> +<a name="index-file-format_002c-fixed"></a> +</dd> +<dt><code>-ffree-form</code></dt> +<dt><code>-ffixed-form</code></dt> +<dd><p>Specify the layout used by the source file. The free form layout +was introduced in Fortran 90. Fixed form was traditionally used in +older Fortran programs. When neither option is specified, the source +form is determined by the file extension. +</p> +<a name="index-fall_002dintrinsics"></a> +</dd> +<dt><code>-fall-intrinsics</code></dt> +<dd><p>This option causes all intrinsic procedures (including the GNU-specific +extensions) to be accepted. This can be useful with <samp>-std=</samp> to +force standard-compliance but get access to the full range of intrinsics +available with <code>gfortran</code>. As a consequence, <samp>-Wintrinsics-std</samp> +will be ignored and no user-defined procedure with the same name as any +intrinsic will be called except when it is explicitly declared <code>EXTERNAL</code>. +</p> +<a name="index-fallow_002dargument_002dmismatch"></a> +</dd> +<dt><code>-fallow-argument-mismatch</code></dt> +<dd><p>Some code contains calls to external procedures with mismatches +between the calls and the procedure definition, or with mismatches +between different calls. Such code is non-conforming, and will usually +be flagged with an error. This options degrades the error to a +warning, which can only be disabled by disabling all warnings via +<samp>-w</samp>. Only a single occurrence per argument is flagged by this +warning. <samp>-fallow-argument-mismatch</samp> is implied by +<samp>-std=legacy</samp>. +</p> +<p>Using this option is <em>strongly</em> discouraged. It is possible to +provide standard-conforming code which allows different types of +arguments by using an explicit interface and <code>TYPE(*)</code>. +</p> +<a name="index-allow_002dinvalid_002dboz"></a> +</dd> +<dt><code>-fallow-invalid-boz</code></dt> +<dd><p>A BOZ literal constant can occur in a limited number of contexts in +standard conforming Fortran. This option degrades an error condition +to a warning, and allows a BOZ literal constant to appear where the +Fortran standard would otherwise prohibit its use. +</p> +<a name="index-fd_002dlines_002das_002dcode"></a> +<a name="index-fd_002dlines_002das_002dcomments"></a> +</dd> +<dt><code>-fd-lines-as-code</code></dt> +<dt><code>-fd-lines-as-comments</code></dt> +<dd><p>Enable special treatment for lines beginning with <code>d</code> or <code>D</code> +in fixed form sources. If the <samp>-fd-lines-as-code</samp> option is +given they are treated as if the first column contained a blank. If the +<samp>-fd-lines-as-comments</samp> option is given, they are treated as +comment lines. +</p> +<a name="index-fdec"></a> +</dd> +<dt><code>-fdec</code></dt> +<dd><p>DEC compatibility mode. Enables extensions and other features that mimic +the default behavior of older compilers (such as DEC). +These features are non-standard and should be avoided at all costs. +For details on GNU Fortran’s implementation of these extensions see the +full documentation. +</p> +<p>Other flags enabled by this switch are: +<samp>-fdollar-ok</samp> <samp>-fcray-pointer</samp> <samp>-fdec-char-conversions</samp> +<samp>-fdec-structure</samp> <samp>-fdec-intrinsic-ints</samp> <samp>-fdec-static</samp> +<samp>-fdec-math</samp> <samp>-fdec-include</samp> <samp>-fdec-blank-format-item</samp> +<samp>-fdec-format-defaults</samp> +</p> +<p>If <samp>-fd-lines-as-code</samp>/<samp>-fd-lines-as-comments</samp> are unset, then +<samp>-fdec</samp> also sets <samp>-fd-lines-as-comments</samp>. +</p> +<a name="index-fdec_002dchar_002dconversions"></a> +</dd> +<dt><code>-fdec-char-conversions</code></dt> +<dd><p>Enable the use of character literals in assignments and <code>DATA</code> statements +for non-character variables. +</p> +<a name="index-fdec_002dstructure"></a> +</dd> +<dt><code>-fdec-structure</code></dt> +<dd><p>Enable DEC <code>STRUCTURE</code> and <code>RECORD</code> as well as <code>UNION</code>, +<code>MAP</code>, and dot (’.’) as a member separator (in addition to ’%’). This is +provided for compatibility only; Fortran 90 derived types should be used +instead where possible. +</p> +<a name="index-fdec_002dintrinsic_002dints"></a> +</dd> +<dt><code>-fdec-intrinsic-ints</code></dt> +<dd><p>Enable B/I/J/K kind variants of existing integer functions (e.g. BIAND, IIAND, +JIAND, etc...). For a complete list of intrinsics see the full documentation. +</p> +<a name="index-fdec_002dmath"></a> +</dd> +<dt><code>-fdec-math</code></dt> +<dd><p>Enable legacy math intrinsics such as COTAN and degree-valued trigonometric +functions (e.g. TAND, ATAND, etc...) for compatability with older code. +</p> +<a name="index-fdec_002dstatic"></a> +</dd> +<dt><code>-fdec-static</code></dt> +<dd><p>Enable DEC-style STATIC and AUTOMATIC attributes to explicitly specify +the storage of variables and other objects. +</p> +<a name="index-fdec_002dinclude"></a> +</dd> +<dt><code>-fdec-include</code></dt> +<dd><p>Enable parsing of INCLUDE as a statement in addition to parsing it as +INCLUDE line. When parsed as INCLUDE statement, INCLUDE does not have to +be on a single line and can use line continuations. +</p> +<a name="index-fdec_002dformat_002ddefaults"></a> +</dd> +<dt><code>-fdec-format-defaults</code></dt> +<dd><p>Enable format specifiers F, G and I to be used without width specifiers, +default widths will be used instead. +</p> +<a name="index-fdec_002dblank_002dformat_002ditem"></a> +</dd> +<dt><code>-fdec-blank-format-item</code></dt> +<dd><p>Enable a blank format item at the end of a format specification i.e. nothing +following the final comma. +</p> +<a name="index-fdollar_002dok"></a> +<a name="index-_0024"></a> +<a name="index-symbol-names"></a> +<a name="index-character-set"></a> +</dd> +<dt><code>-fdollar-ok</code></dt> +<dd><p>Allow ‘<samp>$</samp>’ as a valid non-first character in a symbol name. Symbols +that start with ‘<samp>$</samp>’ are rejected since it is unclear which rules to +apply to implicit typing as different vendors implement different rules. +Using ‘<samp>$</samp>’ in <code>IMPLICIT</code> statements is also rejected. +</p> +<a name="index-backslash-1"></a> +<a name="index-backslash"></a> +<a name="index-escape-characters"></a> +</dd> +<dt><code>-fbackslash</code></dt> +<dd><p>Change the interpretation of backslashes in string literals from a single +backslash character to “C-style” escape characters. The following +combinations are expanded <code>\a</code>, <code>\b</code>, <code>\f</code>, <code>\n</code>, +<code>\r</code>, <code>\t</code>, <code>\v</code>, <code>\\</code>, and <code>\0</code> to the ASCII +characters alert, backspace, form feed, newline, carriage return, +horizontal tab, vertical tab, backslash, and NUL, respectively. +Additionally, <code>\x</code><var>nn</var>, <code>\u</code><var>nnnn</var> and +<code>\U</code><var>nnnnnnnn</var> (where each <var>n</var> is a hexadecimal digit) are +translated into the Unicode characters corresponding to the specified code +points. All other combinations of a character preceded by \ are +unexpanded. +</p> +<a name="index-fmodule_002dprivate"></a> +<a name="index-module-entities"></a> +<a name="index-private"></a> +</dd> +<dt><code>-fmodule-private</code></dt> +<dd><p>Set the default accessibility of module entities to <code>PRIVATE</code>. +Use-associated entities will not be accessible unless they are explicitly +declared as <code>PUBLIC</code>. +</p> +<a name="index-ffixed_002dline_002dlength_002dn"></a> +<a name="index-file-format_002c-fixed-1"></a> +</dd> +<dt><code>-ffixed-line-length-<var>n</var></code></dt> +<dd><p>Set column after which characters are ignored in typical fixed-form +lines in the source file, and, unless <code>-fno-pad-source</code>, through which +spaces are assumed (as if padded to that length) after the ends of short +fixed-form lines. +</p> +<p>Popular values for <var>n</var> include 72 (the +standard and the default), 80 (card image), and 132 (corresponding +to “extended-source” options in some popular compilers). +<var>n</var> may also be ‘<samp>none</samp>’, meaning that the entire line is meaningful +and that continued character constants never have implicit spaces appended +to them to fill out the line. +<samp>-ffixed-line-length-0</samp> means the same thing as +<samp>-ffixed-line-length-none</samp>. +</p> +<a name="index-fpad_002dsource"></a> +</dd> +<dt><code>-fno-pad-source</code></dt> +<dd><p>By default fixed-form lines have spaces assumed (as if padded to that length) +after the ends of short fixed-form lines. This is not done either if +<samp>-ffixed-line-length-0</samp>, <samp>-ffixed-line-length-none</samp> or +if <samp>-fno-pad-source</samp> option is used. With any of those options +continued character constants never have implicit spaces appended +to them to fill out the line. +</p> +<a name="index-ffree_002dline_002dlength_002dn"></a> +<a name="index-file-format_002c-free-1"></a> +</dd> +<dt><code>-ffree-line-length-<var>n</var></code></dt> +<dd><p>Set column after which characters are ignored in typical free-form +lines in the source file. The default value is 132. +<var>n</var> may be ‘<samp>none</samp>’, meaning that the entire line is meaningful. +<samp>-ffree-line-length-0</samp> means the same thing as +<samp>-ffree-line-length-none</samp>. +</p> +<a name="index-fmax_002didentifier_002dlength_003dn"></a> +</dd> +<dt><code>-fmax-identifier-length=<var>n</var></code></dt> +<dd><p>Specify the maximum allowed identifier length. Typical values are +31 (Fortran 95) and 63 (Fortran 2003 and later). +</p> +<a name="index-fimplicit_002dnone"></a> +</dd> +<dt><code>-fimplicit-none</code></dt> +<dd><p>Specify that no implicit typing is allowed, unless overridden by explicit +<code>IMPLICIT</code> statements. This is the equivalent of adding +<code>implicit none</code> to the start of every procedure. +</p> +<a name="index-fcray_002dpointer"></a> +</dd> +<dt><code>-fcray-pointer</code></dt> +<dd><p>Enable the Cray pointer extension, which provides C-like pointer +functionality. +</p> +<a name="index-fopenacc"></a> +<a name="index-OpenACC"></a> +</dd> +<dt><code>-fopenacc</code></dt> +<dd><p>Enable the OpenACC extensions. This includes OpenACC <code>!$acc</code> +directives in free form and <code>c$acc</code>, <code>*$acc</code> and +<code>!$acc</code> directives in fixed form, <code>!$</code> conditional +compilation sentinels in free form and <code>c$</code>, <code>*$</code> and +<code>!$</code> sentinels in fixed form, and when linking arranges for the +OpenACC runtime library to be linked in. +</p> +<a name="index-fopenmp"></a> +<a name="index-OpenMP"></a> +</dd> +<dt><code>-fopenmp</code></dt> +<dd><p>Enable the OpenMP extensions. This includes OpenMP <code>!$omp</code> directives +in free form +and <code>c$omp</code>, <code>*$omp</code> and <code>!$omp</code> directives in fixed form, +<code>!$</code> conditional compilation sentinels in free form +and <code>c$</code>, <code>*$</code> and <code>!$</code> sentinels in fixed form, +and when linking arranges for the OpenMP runtime library to be linked +in. The option <samp>-fopenmp</samp> implies <samp>-frecursive</samp>. +</p> +<a name="index-frange_002dcheck"></a> +</dd> +<dt><code>-fno-range-check</code></dt> +<dd><p>Disable range checking on results of simplification of constant +expressions during compilation. For example, GNU Fortran will give +an error at compile time when simplifying <code>a = 1. / 0</code>. +With this option, no error will be given and <code>a</code> will be assigned +the value <code>+Infinity</code>. If an expression evaluates to a value +outside of the relevant range of [<code>-HUGE()</code>:<code>HUGE()</code>], +then the expression will be replaced by <code>-Inf</code> or <code>+Inf</code> +as appropriate. +Similarly, <code>DATA i/Z'FFFFFFFF'/</code> will result in an integer overflow +on most systems, but with <samp>-fno-range-check</samp> the value will +“wrap around” and <code>i</code> will be initialized to <em>-1</em> instead. +</p> +<a name="index-fdefault_002dinteger_002d8"></a> +</dd> +<dt><code>-fdefault-integer-8</code></dt> +<dd><p>Set the default integer and logical types to an 8 byte wide type. This option +also affects the kind of integer constants like <code>42</code>. Unlike +<samp>-finteger-4-integer-8</samp>, it does not promote variables with explicit +kind declaration. +</p> +<a name="index-fdefault_002dreal_002d8"></a> +</dd> +<dt><code>-fdefault-real-8</code></dt> +<dd><p>Set the default real type to an 8 byte wide type. This option also affects +the kind of non-double real constants like <code>1.0</code>. This option promotes +the default width of <code>DOUBLE PRECISION</code> and double real constants +like <code>1.d0</code> to 16 bytes if possible. If <code>-fdefault-double-8</code> +is given along with <code>fdefault-real-8</code>, <code>DOUBLE PRECISION</code> +and double real constants are not promoted. Unlike <samp>-freal-4-real-8</samp>, +<code>fdefault-real-8</code> does not promote variables with explicit kind +declarations. +</p> +<a name="index-fdefault_002dreal_002d10"></a> +</dd> +<dt><code>-fdefault-real-10</code></dt> +<dd><p>Set the default real type to an 10 byte wide type. This option also affects +the kind of non-double real constants like <code>1.0</code>. This option promotes +the default width of <code>DOUBLE PRECISION</code> and double real constants +like <code>1.d0</code> to 16 bytes if possible. If <code>-fdefault-double-8</code> +is given along with <code>fdefault-real-10</code>, <code>DOUBLE PRECISION</code> +and double real constants are not promoted. Unlike <samp>-freal-4-real-10</samp>, +<code>fdefault-real-10</code> does not promote variables with explicit kind +declarations. +</p> +<a name="index-fdefault_002dreal_002d16"></a> +</dd> +<dt><code>-fdefault-real-16</code></dt> +<dd><p>Set the default real type to an 16 byte wide type. This option also affects +the kind of non-double real constants like <code>1.0</code>. This option promotes +the default width of <code>DOUBLE PRECISION</code> and double real constants +like <code>1.d0</code> to 16 bytes if possible. If <code>-fdefault-double-8</code> +is given along with <code>fdefault-real-16</code>, <code>DOUBLE PRECISION</code> +and double real constants are not promoted. Unlike <samp>-freal-4-real-16</samp>, +<code>fdefault-real-16</code> does not promote variables with explicit kind +declarations. +</p> +<a name="index-fdefault_002ddouble_002d8"></a> +</dd> +<dt><code>-fdefault-double-8</code></dt> +<dd><p>Set the <code>DOUBLE PRECISION</code> type and double real constants +like <code>1.d0</code> to an 8 byte wide type. Do nothing if this +is already the default. This option prevents <samp>-fdefault-real-8</samp>, +<samp>-fdefault-real-10</samp>, and <samp>-fdefault-real-16</samp>, +from promoting <code>DOUBLE PRECISION</code> and double real constants like +<code>1.d0</code> to 16 bytes. +</p> +<a name="index-finteger_002d4_002dinteger_002d8"></a> +</dd> +<dt><code>-finteger-4-integer-8</code></dt> +<dd><p>Promote all <code>INTEGER(KIND=4)</code> entities to an <code>INTEGER(KIND=8)</code> +entities. If <code>KIND=8</code> is unavailable, then an error will be issued. +This option should be used with care and may not be suitable for your codes. +Areas of possible concern include calls to external procedures, +alignment in <code>EQUIVALENCE</code> and/or <code>COMMON</code>, generic interfaces, +BOZ literal constant conversion, and I/O. Inspection of the intermediate +representation of the translated Fortran code, produced by +<samp>-fdump-tree-original</samp>, is suggested. +</p> +<a name="index-freal_002d4_002dreal_002d8"></a> +<a name="index-freal_002d4_002dreal_002d10"></a> +<a name="index-freal_002d4_002dreal_002d16"></a> +<a name="index-freal_002d8_002dreal_002d4"></a> +<a name="index-freal_002d8_002dreal_002d10"></a> +<a name="index-freal_002d8_002dreal_002d16"></a> +<a name="index-options_002c-real-kind-type-promotion"></a> +</dd> +<dt><code>-freal-4-real-8</code></dt> +<dt><code>-freal-4-real-10</code></dt> +<dt><code>-freal-4-real-16</code></dt> +<dt><code>-freal-8-real-4</code></dt> +<dt><code>-freal-8-real-10</code></dt> +<dt><code>-freal-8-real-16</code></dt> +<dd><p>Promote all <code>REAL(KIND=M)</code> entities to <code>REAL(KIND=N)</code> entities. +If <code>REAL(KIND=N)</code> is unavailable, then an error will be issued. +The <code>-freal-4-</code> flags also affect the default real kind and the +<code>-freal-8-</code> flags also the double-precision real kind. All other +real-kind types are unaffected by this option. The promotion is also +applied to real literal constants of default and double-precision kind +and a specified kind number of 4 or 8, respectively. +However, <code>-fdefault-real-8</code>, <code>-fdefault-real-10</code>, +<code>-fdefault-real-10</code>, and <code>-fdefault-double-8</code> take precedence +for the default and double-precision real kinds, both for real literal +constants and for declarations without a kind number. +Note that for <code>REAL(KIND=KIND(1.0))</code> the literal may get promoted and +then the result may get promoted again. +These options should be used with care and may not be suitable for your +codes. Areas of possible concern include calls to external procedures, +alignment in <code>EQUIVALENCE</code> and/or <code>COMMON</code>, generic interfaces, +BOZ literal constant conversion, and I/O and calls to intrinsic procedures +when passing a value to the <code>kind=</code> dummy argument. Inspection of the +intermediate representation of the translated Fortran code, produced by +<samp>-fdump-fortran-original</samp> or <samp>-fdump-tree-original</samp>, is suggested. +</p> +<a name="index-std_003dstd-option"></a> +</dd> +<dt><code>-std=<var>std</var></code></dt> +<dd><p>Specify the standard to which the program is expected to conform, +which may be one of ‘<samp>f95</samp>’, ‘<samp>f2003</samp>’, ‘<samp>f2008</samp>’, +‘<samp>f2018</samp>’, ‘<samp>gnu</samp>’, or ‘<samp>legacy</samp>’. The default value for +<var>std</var> is ‘<samp>gnu</samp>’, which specifies a superset of the latest +Fortran standard that includes all of the extensions supported by GNU +Fortran, although warnings will be given for obsolete extensions not +recommended for use in new code. The ‘<samp>legacy</samp>’ value is +equivalent but without the warnings for obsolete extensions, and may +be useful for old non-standard programs. The ‘<samp>f95</samp>’, +‘<samp>f2003</samp>’, ‘<samp>f2008</samp>’, and ‘<samp>f2018</samp>’ values specify strict +conformance to the Fortran 95, Fortran 2003, Fortran 2008 and Fortran +2018 standards, respectively; errors are given for all extensions +beyond the relevant language standard, and warnings are given for the +Fortran 77 features that are permitted but obsolescent in later +standards. The deprecated option ‘<samp>-std=f2008ts</samp>’ acts as an alias for +‘<samp>-std=f2018</samp>’. It is only present for backwards compatibility with +earlier gfortran versions and should not be used any more. +</p> +<a name="index-ftest_002dforall_002dtemp"></a> +</dd> +<dt><code>-ftest-forall-temp</code></dt> +<dd><p>Enhance test coverage by forcing most forall assignments to use temporary. +</p> +</dd> +</dl> + +<hr> +<div class="header"> +<p> +Next: <a href="Preprocessing-Options.html#Preprocessing-Options" accesskey="n" rel="next">Preprocessing Options</a>, Previous: <a href="Option-Summary.html#Option-Summary" accesskey="p" rel="previous">Option Summary</a>, Up: <a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" accesskey="u" rel="up">Invoking GNU Fortran</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Function-ABI-Documentation.html b/share/doc/gfortran/Function-ABI-Documentation.html new file mode 100644 index 0000000..632328d --- /dev/null +++ b/share/doc/gfortran/Function-ABI-Documentation.html @@ -0,0 +1,165 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Function ABI Documentation</title> + +<meta name="description" content="The GNU Fortran Compiler: Function ABI Documentation"> +<meta name="keywords" content="The GNU Fortran Compiler: Function ABI Documentation"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Coarray-Programming.html#Coarray-Programming" rel="up" title="Coarray Programming"> +<link href="_005fgfortran_005fcaf_005finit.html#g_t_005fgfortran_005fcaf_005finit" rel="next" title="_gfortran_caf_init"> +<link href="caf_005fteam_005ft.html#caf_005fteam_005ft" rel="previous" title="caf_team_t"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Function-ABI-Documentation"></a> +<div class="header"> +<p> +Previous: <a href="Type-and-enum-ABI-Documentation.html#Type-and-enum-ABI-Documentation" accesskey="p" rel="previous">Type and enum ABI Documentation</a>, Up: <a href="Coarray-Programming.html#Coarray-Programming" accesskey="u" rel="up">Coarray Programming</a> [<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> +</div> +<hr> +<a name="Function-ABI-Documentation-1"></a> +<h3 class="section">7.2 Function ABI Documentation</h3> + +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005finit.html#g_t_005fgfortran_005fcaf_005finit" accesskey="1">_gfortran_caf_init</a>:</td><td> </td><td align="left" valign="top">Initialiation function +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005ffinish.html#g_t_005fgfortran_005fcaf_005ffinish" accesskey="2">_gfortran_caf_finish</a>:</td><td> </td><td align="left" valign="top">Finalization function +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fthis_005fimage.html#g_t_005fgfortran_005fcaf_005fthis_005fimage" accesskey="3">_gfortran_caf_this_image</a>:</td><td> </td><td align="left" valign="top">Querying the image number +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fnum_005fimages.html#g_t_005fgfortran_005fcaf_005fnum_005fimages" accesskey="4">_gfortran_caf_num_images</a>:</td><td> </td><td align="left" valign="top">Querying the maximal number of images +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fimage_005fstatus.html#g_t_005fgfortran_005fcaf_005fimage_005fstatus" accesskey="5">_gfortran_caf_image_status </a>:</td><td> </td><td align="left" valign="top">Query the status of an image +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005ffailed_005fimages.html#g_t_005fgfortran_005fcaf_005ffailed_005fimages" accesskey="6">_gfortran_caf_failed_images </a>:</td><td> </td><td align="left" valign="top">Get an array of the indexes of the failed images +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fstopped_005fimages.html#g_t_005fgfortran_005fcaf_005fstopped_005fimages" accesskey="7">_gfortran_caf_stopped_images </a>:</td><td> </td><td align="left" valign="top">Get an array of the indexes of the stopped images +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fregister.html#g_t_005fgfortran_005fcaf_005fregister" accesskey="8">_gfortran_caf_register</a>:</td><td> </td><td align="left" valign="top">Registering coarrays +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fderegister.html#g_t_005fgfortran_005fcaf_005fderegister" accesskey="9">_gfortran_caf_deregister</a>:</td><td> </td><td align="left" valign="top">Deregistering coarrays +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fis_005fpresent.html#g_t_005fgfortran_005fcaf_005fis_005fpresent">_gfortran_caf_is_present</a>:</td><td> </td><td align="left" valign="top">Query whether an allocatable or pointer component in a derived type coarray is allocated +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fsend.html#g_t_005fgfortran_005fcaf_005fsend">_gfortran_caf_send</a>:</td><td> </td><td align="left" valign="top">Sending data from a local image to a remote image +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fget.html#g_t_005fgfortran_005fcaf_005fget">_gfortran_caf_get</a>:</td><td> </td><td align="left" valign="top">Getting data from a remote image +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fsendget.html#g_t_005fgfortran_005fcaf_005fsendget">_gfortran_caf_sendget</a>:</td><td> </td><td align="left" valign="top">Sending data between remote images +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fsend_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fsend_005fby_005fref">_gfortran_caf_send_by_ref</a>:</td><td> </td><td align="left" valign="top">Sending data from a local image to a remote image using enhanced references +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fget_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fget_005fby_005fref">_gfortran_caf_get_by_ref</a>:</td><td> </td><td align="left" valign="top">Getting data from a remote image using enhanced references +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fsendget_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fsendget_005fby_005fref">_gfortran_caf_sendget_by_ref</a>:</td><td> </td><td align="left" valign="top">Sending data between remote images using enhanced references +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005flock.html#g_t_005fgfortran_005fcaf_005flock">_gfortran_caf_lock</a>:</td><td> </td><td align="left" valign="top">Locking a lock variable +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005funlock.html#g_t_005fgfortran_005fcaf_005funlock">_gfortran_caf_unlock</a>:</td><td> </td><td align="left" valign="top">Unlocking a lock variable +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fevent_005fpost.html#g_t_005fgfortran_005fcaf_005fevent_005fpost">_gfortran_caf_event_post</a>:</td><td> </td><td align="left" valign="top">Post an event +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fevent_005fwait.html#g_t_005fgfortran_005fcaf_005fevent_005fwait">_gfortran_caf_event_wait</a>:</td><td> </td><td align="left" valign="top">Wait that an event occurred +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fevent_005fquery.html#g_t_005fgfortran_005fcaf_005fevent_005fquery">_gfortran_caf_event_query</a>:</td><td> </td><td align="left" valign="top">Query event count +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fsync_005fall.html#g_t_005fgfortran_005fcaf_005fsync_005fall">_gfortran_caf_sync_all</a>:</td><td> </td><td align="left" valign="top">All-image barrier +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fsync_005fimages.html#g_t_005fgfortran_005fcaf_005fsync_005fimages">_gfortran_caf_sync_images</a>:</td><td> </td><td align="left" valign="top">Barrier for selected images +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fsync_005fmemory.html#g_t_005fgfortran_005fcaf_005fsync_005fmemory">_gfortran_caf_sync_memory</a>:</td><td> </td><td align="left" valign="top">Wait for completion of segment-memory operations +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005ferror_005fstop.html#g_t_005fgfortran_005fcaf_005ferror_005fstop">_gfortran_caf_error_stop</a>:</td><td> </td><td align="left" valign="top">Error termination with exit code +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005ferror_005fstop_005fstr.html#g_t_005fgfortran_005fcaf_005ferror_005fstop_005fstr">_gfortran_caf_error_stop_str</a>:</td><td> </td><td align="left" valign="top">Error termination with string +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005ffail_005fimage.html#g_t_005fgfortran_005fcaf_005ffail_005fimage">_gfortran_caf_fail_image </a>:</td><td> </td><td align="left" valign="top">Mark the image failed and end its execution +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fatomic_005fdefine.html#g_t_005fgfortran_005fcaf_005fatomic_005fdefine">_gfortran_caf_atomic_define</a>:</td><td> </td><td align="left" valign="top">Atomic variable assignment +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fatomic_005fref.html#g_t_005fgfortran_005fcaf_005fatomic_005fref">_gfortran_caf_atomic_ref</a>:</td><td> </td><td align="left" valign="top">Atomic variable reference +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fatomic_005fcas.html#g_t_005fgfortran_005fcaf_005fatomic_005fcas">_gfortran_caf_atomic_cas</a>:</td><td> </td><td align="left" valign="top">Atomic compare and swap +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fatomic_005fop.html#g_t_005fgfortran_005fcaf_005fatomic_005fop">_gfortran_caf_atomic_op</a>:</td><td> </td><td align="left" valign="top">Atomic operation +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fco_005fbroadcast.html#g_t_005fgfortran_005fcaf_005fco_005fbroadcast">_gfortran_caf_co_broadcast</a>:</td><td> </td><td align="left" valign="top">Sending data to all images +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fco_005fmax.html#g_t_005fgfortran_005fcaf_005fco_005fmax">_gfortran_caf_co_max</a>:</td><td> </td><td align="left" valign="top">Collective maximum reduction +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fco_005fmin.html#g_t_005fgfortran_005fcaf_005fco_005fmin">_gfortran_caf_co_min</a>:</td><td> </td><td align="left" valign="top">Collective minimum reduction +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fco_005fsum.html#g_t_005fgfortran_005fcaf_005fco_005fsum">_gfortran_caf_co_sum</a>:</td><td> </td><td align="left" valign="top">Collective summing reduction +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fcaf_005fco_005freduce.html#g_t_005fgfortran_005fcaf_005fco_005freduce">_gfortran_caf_co_reduce</a>:</td><td> </td><td align="left" valign="top">Generic collective reduction +</td></tr> +</table> + + +<hr> +<div class="header"> +<p> +Previous: <a href="Type-and-enum-ABI-Documentation.html#Type-and-enum-ABI-Documentation" accesskey="p" rel="previous">Type and enum ABI Documentation</a>, Up: <a href="Coarray-Programming.html#Coarray-Programming" accesskey="u" rel="up">Coarray Programming</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Funding.html b/share/doc/gfortran/Funding.html new file mode 100644 index 0000000..1606b55 --- /dev/null +++ b/share/doc/gfortran/Funding.html @@ -0,0 +1,136 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Funding</title> + +<meta name="description" content="The GNU Fortran Compiler: Funding"> +<meta name="keywords" content="The GNU Fortran Compiler: Funding"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="index.html#Top" rel="up" title="Top"> +<link href="Option-Index.html#Option-Index" rel="next" title="Option Index"> +<link href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" rel="previous" title="GNU Free Documentation License"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Funding"></a> +<div class="header"> +<p> +Next: <a href="Option-Index.html#Option-Index" accesskey="n" rel="next">Option Index</a>, Previous: <a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" accesskey="p" rel="previous">GNU Free Documentation License</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<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> +</div> +<hr> +<a name="Funding-Free-Software"></a> +<h2 class="unnumbered">Funding Free Software</h2> + +<p>If you want to have more free software a few years from now, it makes +sense for you to help encourage people to contribute funds for its +development. The most effective approach known is to encourage +commercial redistributors to donate. +</p> +<p>Users of free software systems can boost the pace of development by +encouraging for-a-fee distributors to donate part of their selling price +to free software developers—the Free Software Foundation, and others. +</p> +<p>The way to convince distributors to do this is to demand it and expect +it from them. So when you compare distributors, judge them partly by +how much they give to free software development. Show distributors +they must compete to be the one who gives the most. +</p> +<p>To make this approach work, you must insist on numbers that you can +compare, such as, “We will donate ten dollars to the Frobnitz project +for each disk sold.” Don’t be satisfied with a vague promise, such as +“A portion of the profits are donated,” since it doesn’t give a basis +for comparison. +</p> +<p>Even a precise fraction “of the profits from this disk” is not very +meaningful, since creative accounting and unrelated business decisions +can greatly alter what fraction of the sales price counts as profit. +If the price you pay is $50, ten percent of the profit is probably +less than a dollar; it might be a few cents, or nothing at all. +</p> +<p>Some redistributors do development work themselves. This is useful too; +but to keep everyone honest, you need to inquire how much they do, and +what kind. Some kinds of development make much more long-term +difference than others. For example, maintaining a separate version of +a program contributes very little; maintaining the standard version of a +program for the whole community contributes much. Easy new ports +contribute little, since someone else would surely do them; difficult +ports such as adding a new CPU to the GNU Compiler Collection contribute more; +major new features or packages contribute the most. +</p> +<p>By establishing the idea that supporting further development is “the +proper thing to do” when distributing free software for a fee, we can +assure a steady flow of resources into making more free software. +</p> +<div class="display"> +<pre class="display">Copyright © 1994 Free Software Foundation, Inc. +Verbatim copying and redistribution of this section is permitted +without royalty; alteration is not permitted. +</pre></div> + + +<hr> +<div class="header"> +<p> +Next: <a href="Option-Index.html#Option-Index" accesskey="n" rel="next">Option Index</a>, Previous: <a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" accesskey="p" rel="previous">GNU Free Documentation License</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Further-Interoperability-of-Fortran-with-C.html b/share/doc/gfortran/Further-Interoperability-of-Fortran-with-C.html new file mode 100644 index 0000000..2d4e6d2 --- /dev/null +++ b/share/doc/gfortran/Further-Interoperability-of-Fortran-with-C.html @@ -0,0 +1,109 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Further Interoperability of Fortran with C</title> + +<meta name="description" content="The GNU Fortran Compiler: Further Interoperability of Fortran with C"> +<meta name="keywords" content="The GNU Fortran Compiler: Further Interoperability of Fortran with C"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Interoperability-with-C.html#Interoperability-with-C" rel="up" title="Interoperability with C"> +<link href="GNU-Fortran-Compiler-Directives.html#GNU-Fortran-Compiler-Directives" rel="next" title="GNU Fortran Compiler Directives"> +<link href="Working-with-C-Pointers.html#Working-with-C-Pointers" rel="previous" title="Working with C Pointers"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Further-Interoperability-of-Fortran-with-C"></a> +<div class="header"> +<p> +Previous: <a href="Working-with-C-Pointers.html#Working-with-C-Pointers" accesskey="p" rel="previous">Working with C Pointers</a>, Up: <a href="Interoperability-with-C.html#Interoperability-with-C" accesskey="u" rel="up">Interoperability with C</a> [<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> +</div> +<hr> +<a name="Further-Interoperability-of-Fortran-with-C-1"></a> +<h4 class="subsection">6.1.6 Further Interoperability of Fortran with C</h4> +<a name="index-Further-Interoperability-of-Fortran-with-C"></a> +<a name="index-TS-29113"></a> +<a name="index-array-descriptor"></a> +<a name="index-dope-vector"></a> +<a name="index-assumed_002dtype"></a> +<a name="index-assumed_002drank"></a> + +<p>GNU Fortran implements the Technical Specification ISO/IEC TS +29113:2012, which extends the interoperability support of Fortran 2003 +and Fortran 2008 and is now part of the 2018 Fortran standard. +Besides removing some restrictions and constraints, the Technical +Specification adds assumed-type (<code>TYPE(*)</code>) and assumed-rank +(<code>DIMENSION(..)</code>) variables and allows for interoperability of +assumed-shape, assumed-rank, and deferred-shape arrays, as well as +allocatables and pointers. Objects of these types are passed to +<code>BIND(C)</code> functions as descriptors with a standard interface, +declared in the header file <code><ISO_Fortran_binding.h></code>. +</p> +<p>Note: Currently, GNU Fortran does not use internally the array descriptor +(dope vector) as specified in the Technical Specification, but uses +an array descriptor with different fields in functions without the +<code>BIND(C)</code> attribute. Arguments to functions marked <code>BIND(C)</code> +are converted to the specified form. If you need to access GNU Fortran’s +internal array descriptor, you can use the Chasm Language Interoperability +Tools, <a href="http://chasm-interop.sourceforge.net/">http://chasm-interop.sourceforge.net/</a>. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/GAMMA.html b/share/doc/gfortran/GAMMA.html new file mode 100644 index 0000000..b2d7f88 --- /dev/null +++ b/share/doc/gfortran/GAMMA.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GAMMA</title> + +<meta name="description" content="The GNU Fortran Compiler: GAMMA"> +<meta name="keywords" content="The GNU Fortran Compiler: GAMMA"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="GERROR.html#GERROR" rel="next" title="GERROR"> +<link href="FTELL.html#FTELL" rel="previous" title="FTELL"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GAMMA"></a> +<div class="header"> +<p> +Next: <a href="GERROR.html#GERROR" accesskey="n" rel="next">GERROR</a>, Previous: <a href="FTELL.html#FTELL" accesskey="p" rel="previous">FTELL</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="GAMMA-_002d_002d_002d-Gamma-function"></a> +<h3 class="section">8.119 <code>GAMMA</code> — Gamma function</h3> +<a name="index-GAMMA"></a> +<a name="index-DGAMMA"></a> +<a name="index-Gamma-function"></a> +<a name="index-Factorial-function"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>GAMMA(X)</code> computes Gamma (<em>\Gamma</em>) of <var>X</var>. For positive, +integer values of <var>X</var> the Gamma function simplifies to the factorial +function <em>\Gamma(x)=(x-1)!</em>. +</p> + +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>X = GAMMA(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">Shall be of type <code>REAL</code> and neither zero +nor a negative integer.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>REAL</code> of the same kind as <var>X</var>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_gamma + real :: x = 1.0 + x = gamma(x) ! returns 1.0 +end program test_gamma +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>DGAMMA(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Logarithm of the Gamma function: <br> +<a href="LOG_005fGAMMA.html#LOG_005fGAMMA">LOG_GAMMA</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/GERROR.html b/share/doc/gfortran/GERROR.html new file mode 100644 index 0000000..8810896 --- /dev/null +++ b/share/doc/gfortran/GERROR.html @@ -0,0 +1,128 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GERROR</title> + +<meta name="description" content="The GNU Fortran Compiler: GERROR"> +<meta name="keywords" content="The GNU Fortran Compiler: GERROR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="GETARG.html#GETARG" rel="next" title="GETARG"> +<link href="GAMMA.html#GAMMA" rel="previous" title="GAMMA"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GERROR"></a> +<div class="header"> +<p> +Next: <a href="GETARG.html#GETARG" accesskey="n" rel="next">GETARG</a>, Previous: <a href="GAMMA.html#GAMMA" accesskey="p" rel="previous">GAMMA</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="GERROR-_002d_002d_002d-Get-last-system-error-message"></a> +<h3 class="section">8.120 <code>GERROR</code> — Get last system error message</h3> +<a name="index-GERROR"></a> +<a name="index-system_002c-error-handling"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the system error message corresponding to the last system error. +This resembles the functionality of <code>strerror(3)</code> in C. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL GERROR(RESULT)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>RESULT</var></td><td width="70%">Shall be of type <code>CHARACTER</code> and of default kind.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_gerror + CHARACTER(len=100) :: msg + CALL gerror(msg) + WRITE(*,*) msg +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="IERRNO.html#IERRNO">IERRNO</a>, <br> +<a href="PERROR.html#PERROR">PERROR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/GETARG.html b/share/doc/gfortran/GETARG.html new file mode 100644 index 0000000..09d2ef8 --- /dev/null +++ b/share/doc/gfortran/GETARG.html @@ -0,0 +1,154 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GETARG</title> + +<meta name="description" content="The GNU Fortran Compiler: GETARG"> +<meta name="keywords" content="The GNU Fortran Compiler: GETARG"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="GET_005fCOMMAND.html#GET_005fCOMMAND" rel="next" title="GET_COMMAND"> +<link href="GERROR.html#GERROR" rel="previous" title="GERROR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GETARG"></a> +<div class="header"> +<p> +Next: <a href="GET_005fCOMMAND.html#GET_005fCOMMAND" accesskey="n" rel="next">GET_COMMAND</a>, Previous: <a href="GERROR.html#GERROR" accesskey="p" rel="previous">GERROR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="GETARG-_002d_002d_002d-Get-command-line-arguments"></a> +<h3 class="section">8.121 <code>GETARG</code> — Get command line arguments</h3> +<a name="index-GETARG"></a> +<a name="index-command_002dline-arguments-1"></a> +<a name="index-arguments_002c-to-program-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Retrieve the <var>POS</var>-th argument that was passed on the +command line when the containing program was invoked. +</p> +<p>This intrinsic routine is provided for backwards compatibility with +GNU Fortran 77. In new code, programmers should consider the use of +the <a href="GET_005fCOMMAND_005fARGUMENT.html#GET_005fCOMMAND_005fARGUMENT">GET_COMMAND_ARGUMENT</a> intrinsic defined by the Fortran 2003 +standard. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL GETARG(POS, VALUE)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>POS</var></td><td width="70%">Shall be of type <code>INTEGER</code> and not wider than +the default integer kind; <em><var>POS</var> \geq 0</em></td></tr> +<tr><td width="15%"><var>VALUE</var></td><td width="70%">Shall be of type <code>CHARACTER</code> and of default +kind.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>After <code>GETARG</code> returns, the <var>VALUE</var> argument holds the +<var>POS</var>th command line argument. If <var>VALUE</var> cannot hold the +argument, it is truncated to fit the length of <var>VALUE</var>. If there are +less than <var>POS</var> arguments specified at the command line, <var>VALUE</var> +will be filled with blanks. If <em><var>POS</var> = 0</em>, <var>VALUE</var> is set +to the name of the program (on systems that support this feature). +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_getarg + INTEGER :: i + CHARACTER(len=32) :: arg + + DO i = 1, iargc() + CALL getarg(i, arg) + WRITE (*,*) arg + END DO +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>GNU Fortran 77 compatibility function: <br> +<a href="IARGC.html#IARGC">IARGC</a> <br> +Fortran 2003 functions and subroutines: <br> +<a href="GET_005fCOMMAND.html#GET_005fCOMMAND">GET_COMMAND</a>, <br> +<a href="GET_005fCOMMAND_005fARGUMENT.html#GET_005fCOMMAND_005fARGUMENT">GET_COMMAND_ARGUMENT</a>, <br> +<a href="COMMAND_005fARGUMENT_005fCOUNT.html#COMMAND_005fARGUMENT_005fCOUNT">COMMAND_ARGUMENT_COUNT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/GETCWD.html b/share/doc/gfortran/GETCWD.html new file mode 100644 index 0000000..94e9d83 --- /dev/null +++ b/share/doc/gfortran/GETCWD.html @@ -0,0 +1,134 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GETCWD</title> + +<meta name="description" content="The GNU Fortran Compiler: GETCWD"> +<meta name="keywords" content="The GNU Fortran Compiler: GETCWD"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="GETENV.html#GETENV" rel="next" title="GETENV"> +<link href="GET_005fCOMMAND_005fARGUMENT.html#GET_005fCOMMAND_005fARGUMENT" rel="previous" title="GET_COMMAND_ARGUMENT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GETCWD"></a> +<div class="header"> +<p> +Next: <a href="GETENV.html#GETENV" accesskey="n" rel="next">GETENV</a>, Previous: <a href="GET_005fCOMMAND_005fARGUMENT.html#GET_005fCOMMAND_005fARGUMENT" accesskey="p" rel="previous">GET_COMMAND_ARGUMENT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="GETCWD-_002d_002d_002d-Get-current-working-directory"></a> +<h3 class="section">8.124 <code>GETCWD</code> — Get current working directory</h3> +<a name="index-GETCWD"></a> +<a name="index-system_002c-working-directory-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Get current working directory. +</p> +<p>This intrinsic is provided in both subroutine and function forms; however, +only one form can be used in any given program unit. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL GETCWD(C [, STATUS])</code></td></tr> +<tr><td width="80%"><code>STATUS = GETCWD(C)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>C</var></td><td width="70%">The type shall be <code>CHARACTER</code> and of default kind.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">(Optional) status flag. Returns 0 on success, +a system specific and nonzero error code otherwise.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_getcwd + CHARACTER(len=255) :: cwd + CALL getcwd(cwd) + WRITE(*,*) TRIM(cwd) +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="CHDIR.html#CHDIR">CHDIR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/GETENV.html b/share/doc/gfortran/GETENV.html new file mode 100644 index 0000000..5d26171 --- /dev/null +++ b/share/doc/gfortran/GETENV.html @@ -0,0 +1,142 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GETENV</title> + +<meta name="description" content="The GNU Fortran Compiler: GETENV"> +<meta name="keywords" content="The GNU Fortran Compiler: GETENV"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="GET_005fENVIRONMENT_005fVARIABLE.html#GET_005fENVIRONMENT_005fVARIABLE" rel="next" title="GET_ENVIRONMENT_VARIABLE"> +<link href="GETCWD.html#GETCWD" rel="previous" title="GETCWD"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GETENV"></a> +<div class="header"> +<p> +Next: <a href="GET_005fENVIRONMENT_005fVARIABLE.html#GET_005fENVIRONMENT_005fVARIABLE" accesskey="n" rel="next">GET_ENVIRONMENT_VARIABLE</a>, Previous: <a href="GETCWD.html#GETCWD" accesskey="p" rel="previous">GETCWD</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="GETENV-_002d_002d_002d-Get-an-environmental-variable"></a> +<h3 class="section">8.125 <code>GETENV</code> — Get an environmental variable</h3> +<a name="index-GETENV"></a> +<a name="index-environment-variable-2"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Get the <var>VALUE</var> of the environmental variable <var>NAME</var>. +</p> +<p>This intrinsic routine is provided for backwards compatibility with +GNU Fortran 77. In new code, programmers should consider the use of +the <a href="GET_005fENVIRONMENT_005fVARIABLE.html#GET_005fENVIRONMENT_005fVARIABLE">GET_ENVIRONMENT_VARIABLE</a> intrinsic defined by the Fortran +2003 standard. +</p> +<p>Note that <code>GETENV</code> need not be thread-safe. It is the +responsibility of the user to ensure that the environment is not being +updated concurrently with a call to the <code>GETENV</code> intrinsic. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL GETENV(NAME, VALUE)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>NAME</var></td><td width="70%">Shall be of type <code>CHARACTER</code> and of default kind.</td></tr> +<tr><td width="15%"><var>VALUE</var></td><td width="70%">Shall be of type <code>CHARACTER</code> and of default kind.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Stores the value of <var>NAME</var> in <var>VALUE</var>. If <var>VALUE</var> is +not large enough to hold the data, it is truncated. If <var>NAME</var> +is not set, <var>VALUE</var> will be filled with blanks. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_getenv + CHARACTER(len=255) :: homedir + CALL getenv("HOME", homedir) + WRITE (*,*) TRIM(homedir) +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="GET_005fENVIRONMENT_005fVARIABLE.html#GET_005fENVIRONMENT_005fVARIABLE">GET_ENVIRONMENT_VARIABLE</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/GETGID.html b/share/doc/gfortran/GETGID.html new file mode 100644 index 0000000..b84f5e6 --- /dev/null +++ b/share/doc/gfortran/GETGID.html @@ -0,0 +1,121 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GETGID</title> + +<meta name="description" content="The GNU Fortran Compiler: GETGID"> +<meta name="keywords" content="The GNU Fortran Compiler: GETGID"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="GETLOG.html#GETLOG" rel="next" title="GETLOG"> +<link href="GET_005fENVIRONMENT_005fVARIABLE.html#GET_005fENVIRONMENT_005fVARIABLE" rel="previous" title="GET_ENVIRONMENT_VARIABLE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GETGID"></a> +<div class="header"> +<p> +Next: <a href="GETLOG.html#GETLOG" accesskey="n" rel="next">GETLOG</a>, Previous: <a href="GET_005fENVIRONMENT_005fVARIABLE.html#GET_005fENVIRONMENT_005fVARIABLE" accesskey="p" rel="previous">GET_ENVIRONMENT_VARIABLE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="GETGID-_002d_002d_002d-Group-ID-function"></a> +<h3 class="section">8.127 <code>GETGID</code> — Group ID function</h3> +<a name="index-GETGID"></a> +<a name="index-system_002c-group-ID"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the numerical group ID of the current process. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = GETGID()</code> +</p> +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value of <code>GETGID</code> is an <code>INTEGER</code> of the default +kind. +</p> + +</dd> +<dt><em>Example</em>:</dt> +<dd><p>See <code>GETPID</code> for an example. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="GETPID.html#GETPID">GETPID</a>, <br> +<a href="GETUID.html#GETUID">GETUID</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/GETLOG.html b/share/doc/gfortran/GETLOG.html new file mode 100644 index 0000000..4584f11 --- /dev/null +++ b/share/doc/gfortran/GETLOG.html @@ -0,0 +1,134 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GETLOG</title> + +<meta name="description" content="The GNU Fortran Compiler: GETLOG"> +<meta name="keywords" content="The GNU Fortran Compiler: GETLOG"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="GETPID.html#GETPID" rel="next" title="GETPID"> +<link href="GETGID.html#GETGID" rel="previous" title="GETGID"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GETLOG"></a> +<div class="header"> +<p> +Next: <a href="GETPID.html#GETPID" accesskey="n" rel="next">GETPID</a>, Previous: <a href="GETGID.html#GETGID" accesskey="p" rel="previous">GETGID</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="GETLOG-_002d_002d_002d-Get-login-name"></a> +<h3 class="section">8.128 <code>GETLOG</code> — Get login name</h3> +<a name="index-GETLOG"></a> +<a name="index-system_002c-login-name"></a> +<a name="index-login-name"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Gets the username under which the program is running. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL GETLOG(C)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>C</var></td><td width="70%">Shall be of type <code>CHARACTER</code> and of default kind.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Stores the current user name in <var>C</var>. (On systems where POSIX +functions <code>geteuid</code> and <code>getpwuid</code> are not available, and +the <code>getlogin</code> function is not implemented either, this will +return a blank string.) +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM TEST_GETLOG + CHARACTER(32) :: login + CALL GETLOG(login) + WRITE(*,*) login +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="GETUID.html#GETUID">GETUID</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/GETPID.html b/share/doc/gfortran/GETPID.html new file mode 100644 index 0000000..1a60ee1 --- /dev/null +++ b/share/doc/gfortran/GETPID.html @@ -0,0 +1,128 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GETPID</title> + +<meta name="description" content="The GNU Fortran Compiler: GETPID"> +<meta name="keywords" content="The GNU Fortran Compiler: GETPID"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="GETUID.html#GETUID" rel="next" title="GETUID"> +<link href="GETLOG.html#GETLOG" rel="previous" title="GETLOG"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GETPID"></a> +<div class="header"> +<p> +Next: <a href="GETUID.html#GETUID" accesskey="n" rel="next">GETUID</a>, Previous: <a href="GETLOG.html#GETLOG" accesskey="p" rel="previous">GETLOG</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="GETPID-_002d_002d_002d-Process-ID-function"></a> +<h3 class="section">8.129 <code>GETPID</code> — Process ID function</h3> +<a name="index-GETPID"></a> +<a name="index-system_002c-process-ID"></a> +<a name="index-process-ID"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the numerical process identifier of the current process. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = GETPID()</code> +</p> +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value of <code>GETPID</code> is an <code>INTEGER</code> of the default +kind. +</p> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program info + print *, "The current process ID is ", getpid() + print *, "Your numerical user ID is ", getuid() + print *, "Your numerical group ID is ", getgid() +end program info +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="GETGID.html#GETGID">GETGID</a>, <br> +<a href="GETUID.html#GETUID">GETUID</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/GETUID.html b/share/doc/gfortran/GETUID.html new file mode 100644 index 0000000..3244420 --- /dev/null +++ b/share/doc/gfortran/GETUID.html @@ -0,0 +1,122 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GETUID</title> + +<meta name="description" content="The GNU Fortran Compiler: GETUID"> +<meta name="keywords" content="The GNU Fortran Compiler: GETUID"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="GMTIME.html#GMTIME" rel="next" title="GMTIME"> +<link href="GETPID.html#GETPID" rel="previous" title="GETPID"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GETUID"></a> +<div class="header"> +<p> +Next: <a href="GMTIME.html#GMTIME" accesskey="n" rel="next">GMTIME</a>, Previous: <a href="GETPID.html#GETPID" accesskey="p" rel="previous">GETPID</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="GETUID-_002d_002d_002d-User-ID-function"></a> +<h3 class="section">8.130 <code>GETUID</code> — User ID function</h3> +<a name="index-GETUID"></a> +<a name="index-system_002c-user-ID"></a> +<a name="index-user-id"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the numerical user ID of the current process. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = GETUID()</code> +</p> +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value of <code>GETUID</code> is an <code>INTEGER</code> of the default +kind. +</p> + +</dd> +<dt><em>Example</em>:</dt> +<dd><p>See <code>GETPID</code> for an example. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="GETPID.html#GETPID">GETPID</a>, <br> +<a href="GETLOG.html#GETLOG">GETLOG</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/GET_005fCOMMAND.html b/share/doc/gfortran/GET_005fCOMMAND.html new file mode 100644 index 0000000..4d20953 --- /dev/null +++ b/share/doc/gfortran/GET_005fCOMMAND.html @@ -0,0 +1,141 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GET_COMMAND</title> + +<meta name="description" content="The GNU Fortran Compiler: GET_COMMAND"> +<meta name="keywords" content="The GNU Fortran Compiler: GET_COMMAND"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="GET_005fCOMMAND_005fARGUMENT.html#GET_005fCOMMAND_005fARGUMENT" rel="next" title="GET_COMMAND_ARGUMENT"> +<link href="GETARG.html#GETARG" rel="previous" title="GETARG"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GET_005fCOMMAND"></a> +<div class="header"> +<p> +Next: <a href="GET_005fCOMMAND_005fARGUMENT.html#GET_005fCOMMAND_005fARGUMENT" accesskey="n" rel="next">GET_COMMAND_ARGUMENT</a>, Previous: <a href="GETARG.html#GETARG" accesskey="p" rel="previous">GETARG</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="GET_005fCOMMAND-_002d_002d_002d-Get-the-entire-command-line"></a> +<h3 class="section">8.122 <code>GET_COMMAND</code> — Get the entire command line</h3> +<a name="index-GET_005fCOMMAND"></a> +<a name="index-command_002dline-arguments-2"></a> +<a name="index-arguments_002c-to-program-2"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Retrieve the entire command line that was used to invoke the program. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL GET_COMMAND([COMMAND, LENGTH, STATUS])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>COMMAND</var></td><td width="70%">(Optional) shall be of type <code>CHARACTER</code> and +of default kind.</td></tr> +<tr><td width="15%"><var>LENGTH</var></td><td width="70%">(Optional) Shall be of type <code>INTEGER</code> and of +default kind.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">(Optional) Shall be of type <code>INTEGER</code> and of +default kind.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>If <var>COMMAND</var> is present, stores the entire command line that was used +to invoke the program in <var>COMMAND</var>. If <var>LENGTH</var> is present, it is +assigned the length of the command line. If <var>STATUS</var> is present, it +is assigned 0 upon success of the command, -1 if <var>COMMAND</var> is too +short to store the command line, or a positive value in case of an error. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_get_command + CHARACTER(len=255) :: cmd + CALL get_command(cmd) + WRITE (*,*) TRIM(cmd) +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="GET_005fCOMMAND_005fARGUMENT.html#GET_005fCOMMAND_005fARGUMENT">GET_COMMAND_ARGUMENT</a>, <br> +<a href="COMMAND_005fARGUMENT_005fCOUNT.html#COMMAND_005fARGUMENT_005fCOUNT">COMMAND_ARGUMENT_COUNT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/GET_005fCOMMAND_005fARGUMENT.html b/share/doc/gfortran/GET_005fCOMMAND_005fARGUMENT.html new file mode 100644 index 0000000..0d6dec3 --- /dev/null +++ b/share/doc/gfortran/GET_005fCOMMAND_005fARGUMENT.html @@ -0,0 +1,157 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GET_COMMAND_ARGUMENT</title> + +<meta name="description" content="The GNU Fortran Compiler: GET_COMMAND_ARGUMENT"> +<meta name="keywords" content="The GNU Fortran Compiler: GET_COMMAND_ARGUMENT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="GETCWD.html#GETCWD" rel="next" title="GETCWD"> +<link href="GET_005fCOMMAND.html#GET_005fCOMMAND" rel="previous" title="GET_COMMAND"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GET_005fCOMMAND_005fARGUMENT"></a> +<div class="header"> +<p> +Next: <a href="GETCWD.html#GETCWD" accesskey="n" rel="next">GETCWD</a>, Previous: <a href="GET_005fCOMMAND.html#GET_005fCOMMAND" accesskey="p" rel="previous">GET_COMMAND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="GET_005fCOMMAND_005fARGUMENT-_002d_002d_002d-Get-command-line-arguments"></a> +<h3 class="section">8.123 <code>GET_COMMAND_ARGUMENT</code> — Get command line arguments</h3> +<a name="index-GET_005fCOMMAND_005fARGUMENT"></a> +<a name="index-command_002dline-arguments-3"></a> +<a name="index-arguments_002c-to-program-3"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Retrieve the <var>NUMBER</var>-th argument that was passed on the +command line when the containing program was invoked. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL GET_COMMAND_ARGUMENT(NUMBER [, VALUE, LENGTH, STATUS])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>NUMBER</var></td><td width="70%">Shall be a scalar of type <code>INTEGER</code> and of +default kind, <em><var>NUMBER</var> \geq 0</em></td></tr> +<tr><td width="15%"><var>VALUE</var></td><td width="70%">(Optional) Shall be a scalar of type <code>CHARACTER</code> +and of default kind.</td></tr> +<tr><td width="15%"><var>LENGTH</var></td><td width="70%">(Optional) Shall be a scalar of type <code>INTEGER</code> +and of default kind.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">(Optional) Shall be a scalar of type <code>INTEGER</code> +and of default kind.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>After <code>GET_COMMAND_ARGUMENT</code> returns, the <var>VALUE</var> argument holds the +<var>NUMBER</var>-th command line argument. If <var>VALUE</var> cannot hold the argument, it is +truncated to fit the length of <var>VALUE</var>. If there are less than <var>NUMBER</var> +arguments specified at the command line, <var>VALUE</var> will be filled with blanks. +If <em><var>NUMBER</var> = 0</em>, <var>VALUE</var> is set to the name of the program (on +systems that support this feature). The <var>LENGTH</var> argument contains the +length of the <var>NUMBER</var>-th command line argument. If the argument retrieval +fails, <var>STATUS</var> is a positive number; if <var>VALUE</var> contains a truncated +command line argument, <var>STATUS</var> is -1; and otherwise the <var>STATUS</var> is +zero. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_get_command_argument + INTEGER :: i + CHARACTER(len=32) :: arg + + i = 0 + DO + CALL get_command_argument(i, arg) + IF (LEN_TRIM(arg) == 0) EXIT + + WRITE (*,*) TRIM(arg) + i = i+1 + END DO +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="GET_005fCOMMAND.html#GET_005fCOMMAND">GET_COMMAND</a>, <br> +<a href="COMMAND_005fARGUMENT_005fCOUNT.html#COMMAND_005fARGUMENT_005fCOUNT">COMMAND_ARGUMENT_COUNT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/GET_005fENVIRONMENT_005fVARIABLE.html b/share/doc/gfortran/GET_005fENVIRONMENT_005fVARIABLE.html new file mode 100644 index 0000000..899c815 --- /dev/null +++ b/share/doc/gfortran/GET_005fENVIRONMENT_005fVARIABLE.html @@ -0,0 +1,155 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GET_ENVIRONMENT_VARIABLE</title> + +<meta name="description" content="The GNU Fortran Compiler: GET_ENVIRONMENT_VARIABLE"> +<meta name="keywords" content="The GNU Fortran Compiler: GET_ENVIRONMENT_VARIABLE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="GETGID.html#GETGID" rel="next" title="GETGID"> +<link href="GETENV.html#GETENV" rel="previous" title="GETENV"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GET_005fENVIRONMENT_005fVARIABLE"></a> +<div class="header"> +<p> +Next: <a href="GETGID.html#GETGID" accesskey="n" rel="next">GETGID</a>, Previous: <a href="GETENV.html#GETENV" accesskey="p" rel="previous">GETENV</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="GET_005fENVIRONMENT_005fVARIABLE-_002d_002d_002d-Get-an-environmental-variable"></a> +<h3 class="section">8.126 <code>GET_ENVIRONMENT_VARIABLE</code> — Get an environmental variable</h3> +<a name="index-GET_005fENVIRONMENT_005fVARIABLE"></a> +<a name="index-environment-variable-3"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Get the <var>VALUE</var> of the environmental variable <var>NAME</var>. +</p> +<p>Note that <code>GET_ENVIRONMENT_VARIABLE</code> need not be thread-safe. It +is the responsibility of the user to ensure that the environment is +not being updated concurrently with a call to the +<code>GET_ENVIRONMENT_VARIABLE</code> intrinsic. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL GET_ENVIRONMENT_VARIABLE(NAME[, VALUE, LENGTH, STATUS, TRIM_NAME)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>NAME</var></td><td width="70%">Shall be a scalar of type <code>CHARACTER</code> +and of default kind.</td></tr> +<tr><td width="15%"><var>VALUE</var></td><td width="70%">(Optional) Shall be a scalar of type <code>CHARACTER</code> +and of default kind.</td></tr> +<tr><td width="15%"><var>LENGTH</var></td><td width="70%">(Optional) Shall be a scalar of type <code>INTEGER</code> +and of default kind.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">(Optional) Shall be a scalar of type <code>INTEGER</code> +and of default kind.</td></tr> +<tr><td width="15%"><var>TRIM_NAME</var></td><td width="70%">(Optional) Shall be a scalar of type <code>LOGICAL</code> +and of default kind.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Stores the value of <var>NAME</var> in <var>VALUE</var>. If <var>VALUE</var> is +not large enough to hold the data, it is truncated. If <var>NAME</var> +is not set, <var>VALUE</var> will be filled with blanks. Argument <var>LENGTH</var> +contains the length needed for storing the environment variable <var>NAME</var> +or zero if it is not present. <var>STATUS</var> is -1 if <var>VALUE</var> is present +but too short for the environment variable; it is 1 if the environment +variable does not exist and 2 if the processor does not support environment +variables; in all other cases <var>STATUS</var> is zero. If <var>TRIM_NAME</var> is +present with the value <code>.FALSE.</code>, the trailing blanks in <var>NAME</var> +are significant; otherwise they are not part of the environment variable +name. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_getenv + CHARACTER(len=255) :: homedir + CALL get_environment_variable("HOME", homedir) + WRITE (*,*) TRIM(homedir) +END PROGRAM +</pre></div> +</dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="GETGID.html#GETGID" accesskey="n" rel="next">GETGID</a>, Previous: <a href="GETENV.html#GETENV" accesskey="p" rel="previous">GETENV</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/GFORTRAN_005fCONVERT_005fUNIT.html b/share/doc/gfortran/GFORTRAN_005fCONVERT_005fUNIT.html new file mode 100644 index 0000000..7b109fc --- /dev/null +++ b/share/doc/gfortran/GFORTRAN_005fCONVERT_005fUNIT.html @@ -0,0 +1,166 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GFORTRAN_CONVERT_UNIT</title> + +<meta name="description" content="The GNU Fortran Compiler: GFORTRAN_CONVERT_UNIT"> +<meta name="keywords" content="The GNU Fortran Compiler: GFORTRAN_CONVERT_UNIT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Runtime.html#Runtime" rel="up" title="Runtime"> +<link href="GFORTRAN_005fERROR_005fBACKTRACE.html#GFORTRAN_005fERROR_005fBACKTRACE" rel="next" title="GFORTRAN_ERROR_BACKTRACE"> +<link href="GFORTRAN_005fLIST_005fSEPARATOR.html#GFORTRAN_005fLIST_005fSEPARATOR" rel="previous" title="GFORTRAN_LIST_SEPARATOR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GFORTRAN_005fCONVERT_005fUNIT"></a> +<div class="header"> +<p> +Next: <a href="GFORTRAN_005fERROR_005fBACKTRACE.html#GFORTRAN_005fERROR_005fBACKTRACE" accesskey="n" rel="next">GFORTRAN_ERROR_BACKTRACE</a>, Previous: <a href="GFORTRAN_005fLIST_005fSEPARATOR.html#GFORTRAN_005fLIST_005fSEPARATOR" accesskey="p" rel="previous">GFORTRAN_LIST_SEPARATOR</a>, Up: <a href="Runtime.html#Runtime" accesskey="u" rel="up">Runtime</a> [<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> +</div> +<hr> +<a name="GFORTRAN_005fCONVERT_005fUNIT_002d_002d_002dSet-conversion-for-unformatted-I_002fO"></a> +<h3 class="section">3.10 <code>GFORTRAN_CONVERT_UNIT</code>—Set conversion for unformatted I/O</h3> + +<p>By setting the <code>GFORTRAN_CONVERT_UNIT</code> variable, it is possible +to change the representation of data for unformatted files. +The syntax for the <code>GFORTRAN_CONVERT_UNIT</code> variable for +most systems is: +</p><div class="smallexample"> +<pre class="smallexample">GFORTRAN_CONVERT_UNIT: mode | mode ';' exception | exception ; +mode: 'native' | 'swap' | 'big_endian' | 'little_endian' ; +exception: mode ':' unit_list | unit_list ; +unit_list: unit_spec | unit_list unit_spec ; +unit_spec: INTEGER | INTEGER '-' INTEGER ; +</pre></div> +<p>The variable consists of an optional default mode, followed by +a list of optional exceptions, which are separated by semicolons +from the preceding default and each other. Each exception consists +of a format and a comma-separated list of units. Valid values for +the modes are the same as for the <code>CONVERT</code> specifier: +</p> +<ul class="no-bullet"> +<li><!-- /@w --> <code>NATIVE</code> Use the native format. This is the default. +</li><li><!-- /@w --> <code>SWAP</code> Swap between little- and big-endian. +</li><li><!-- /@w --> <code>LITTLE_ENDIAN</code> Use the little-endian format +for unformatted files. +</li><li><!-- /@w --> <code>BIG_ENDIAN</code> Use the big-endian format for unformatted files. +</li></ul> +<p>For POWER systems which support <samp>-mabi=ieeelongdouble</samp>, +there are additional options, which can be combined with the +others with commas. Those are +</p><ul class="no-bullet"> +<li><!-- /@w --> <code>R16_IEEE</code> Use IEEE 128-bit format for <code>REAL(KIND=16)</code>. +</li><li><!-- /@w --> <code>R16_IBM</code> Use IBM <code>long double</code> format for +<code>REAL(KIND=16)</code>. +</li></ul> +<p>A missing mode for an exception is taken to mean <code>BIG_ENDIAN</code>. +Examples of values for <code>GFORTRAN_CONVERT_UNIT</code> are: +</p><ul class="no-bullet"> +<li><!-- /@w --> <code>'big_endian'</code> Do all unformatted I/O in big_endian mode. +</li><li><!-- /@w --> <code>'little_endian;native:10-20,25'</code> Do all unformatted I/O +in little_endian mode, except for units 10 to 20 and 25, which are in +native format. +</li><li><!-- /@w --> <code>'10-20'</code> Units 10 to 20 are big-endian, the rest is native. +</li><li><!-- /@w --> <code>'big_endian,r16_ibm'</code> Do all unformatted I/O in big-endian +mode and use IBM long double for output of <code>REAL(KIND=16)</code> values. +</li></ul> + +<p>Setting the environment variables should be done on the command +line or via the <code>export</code> +command for <code>sh</code>-compatible shells and via <code>setenv</code> +for <code>csh</code>-compatible shells. +</p> +<p>Example for <code>sh</code>: +</p><div class="smallexample"> +<pre class="smallexample">$ gfortran foo.f90 +$ GFORTRAN_CONVERT_UNIT='big_endian;native:10-20' ./a.out +</pre></div> + +<p>Example code for <code>csh</code>: +</p><div class="smallexample"> +<pre class="smallexample">% gfortran foo.f90 +% setenv GFORTRAN_CONVERT_UNIT 'big_endian;native:10-20' +% ./a.out +</pre></div> + +<p>Using anything but the native representation for unformatted data +carries a significant speed overhead. If speed in this area matters +to you, it is best if you use this only for data that needs to be +portable. +</p> +<p>See <a href="CONVERT-specifier.html#CONVERT-specifier">CONVERT specifier</a>, for an alternative way to specify the +data representation for unformatted files. See <a href="Runtime-Options.html#Runtime-Options">Runtime Options</a>, for +setting a default data representation for the whole program. The +<code>CONVERT</code> specifier overrides the <samp>-fconvert</samp> compile options. +</p> +<p><em>Note that the values specified via the GFORTRAN_CONVERT_UNIT +environment variable will override the CONVERT specifier in the +open statement</em>. This is to give control over data formats to +users who do not have the source code of their program available. +</p> +<hr> +<div class="header"> +<p> +Next: <a href="GFORTRAN_005fERROR_005fBACKTRACE.html#GFORTRAN_005fERROR_005fBACKTRACE" accesskey="n" rel="next">GFORTRAN_ERROR_BACKTRACE</a>, Previous: <a href="GFORTRAN_005fLIST_005fSEPARATOR.html#GFORTRAN_005fLIST_005fSEPARATOR" accesskey="p" rel="previous">GFORTRAN_LIST_SEPARATOR</a>, Up: <a href="Runtime.html#Runtime" accesskey="u" rel="up">Runtime</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/GFORTRAN_005fERROR_005fBACKTRACE.html b/share/doc/gfortran/GFORTRAN_005fERROR_005fBACKTRACE.html new file mode 100644 index 0000000..a418619 --- /dev/null +++ b/share/doc/gfortran/GFORTRAN_005fERROR_005fBACKTRACE.html @@ -0,0 +1,91 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GFORTRAN_ERROR_BACKTRACE</title> + +<meta name="description" content="The GNU Fortran Compiler: GFORTRAN_ERROR_BACKTRACE"> +<meta name="keywords" content="The GNU Fortran Compiler: GFORTRAN_ERROR_BACKTRACE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Runtime.html#Runtime" rel="up" title="Runtime"> +<link href="GFORTRAN_005fFORMATTED_005fBUFFER_005fSIZE.html#GFORTRAN_005fFORMATTED_005fBUFFER_005fSIZE" rel="next" title="GFORTRAN_FORMATTED_BUFFER_SIZE"> +<link href="GFORTRAN_005fCONVERT_005fUNIT.html#GFORTRAN_005fCONVERT_005fUNIT" rel="previous" title="GFORTRAN_CONVERT_UNIT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GFORTRAN_005fERROR_005fBACKTRACE"></a> +<div class="header"> +<p> +Next: <a href="GFORTRAN_005fFORMATTED_005fBUFFER_005fSIZE.html#GFORTRAN_005fFORMATTED_005fBUFFER_005fSIZE" accesskey="n" rel="next">GFORTRAN_FORMATTED_BUFFER_SIZE</a>, Previous: <a href="GFORTRAN_005fCONVERT_005fUNIT.html#GFORTRAN_005fCONVERT_005fUNIT" accesskey="p" rel="previous">GFORTRAN_CONVERT_UNIT</a>, Up: <a href="Runtime.html#Runtime" accesskey="u" rel="up">Runtime</a> [<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> +</div> +<hr> +<a name="GFORTRAN_005fERROR_005fBACKTRACE_002d_002d_002dShow-backtrace-on-run_002dtime-errors"></a> +<h3 class="section">3.11 <code>GFORTRAN_ERROR_BACKTRACE</code>—Show backtrace on run-time errors</h3> + +<p>If the <code>GFORTRAN_ERROR_BACKTRACE</code> variable is set to ‘<samp>y</samp>’, +‘<samp>Y</samp>’ or ‘<samp>1</samp>’ (only the first letter is relevant) then a +backtrace is printed when a serious run-time error occurs. To disable +the backtracing, set the variable to ‘<samp>n</samp>’, ‘<samp>N</samp>’, ‘<samp>0</samp>’. +Default is to print a backtrace unless the <samp>-fno-backtrace</samp> +compile option was used. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/GFORTRAN_005fFORMATTED_005fBUFFER_005fSIZE.html b/share/doc/gfortran/GFORTRAN_005fFORMATTED_005fBUFFER_005fSIZE.html new file mode 100644 index 0000000..a9d3836 --- /dev/null +++ b/share/doc/gfortran/GFORTRAN_005fFORMATTED_005fBUFFER_005fSIZE.html @@ -0,0 +1,88 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GFORTRAN_FORMATTED_BUFFER_SIZE</title> + +<meta name="description" content="The GNU Fortran Compiler: GFORTRAN_FORMATTED_BUFFER_SIZE"> +<meta name="keywords" content="The GNU Fortran Compiler: GFORTRAN_FORMATTED_BUFFER_SIZE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Runtime.html#Runtime" rel="up" title="Runtime"> +<link href="GFORTRAN_005fUNFORMATTED_005fBUFFER_005fSIZE.html#GFORTRAN_005fUNFORMATTED_005fBUFFER_005fSIZE" rel="next" title="GFORTRAN_UNFORMATTED_BUFFER_SIZE"> +<link href="GFORTRAN_005fERROR_005fBACKTRACE.html#GFORTRAN_005fERROR_005fBACKTRACE" rel="previous" title="GFORTRAN_ERROR_BACKTRACE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GFORTRAN_005fFORMATTED_005fBUFFER_005fSIZE"></a> +<div class="header"> +<p> +Next: <a href="GFORTRAN_005fUNFORMATTED_005fBUFFER_005fSIZE.html#GFORTRAN_005fUNFORMATTED_005fBUFFER_005fSIZE" accesskey="n" rel="next">GFORTRAN_UNFORMATTED_BUFFER_SIZE</a>, Previous: <a href="GFORTRAN_005fERROR_005fBACKTRACE.html#GFORTRAN_005fERROR_005fBACKTRACE" accesskey="p" rel="previous">GFORTRAN_ERROR_BACKTRACE</a>, Up: <a href="Runtime.html#Runtime" accesskey="u" rel="up">Runtime</a> [<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> +</div> +<hr> +<a name="GFORTRAN_005fFORMATTED_005fBUFFER_005fSIZE_002d_002d_002dSet-buffer-size-for-formatted-I_002fO"></a> +<h3 class="section">3.12 <code>GFORTRAN_FORMATTED_BUFFER_SIZE</code>—Set buffer size for formatted I/O</h3> + +<p>The <code>GFORTRAN_FORMATTED_BUFFER_SIZE</code> environment variable +specifies buffer size in bytes to be used for formatted output. +The default value is 8192. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/GFORTRAN_005fLIST_005fSEPARATOR.html b/share/doc/gfortran/GFORTRAN_005fLIST_005fSEPARATOR.html new file mode 100644 index 0000000..c47a9af --- /dev/null +++ b/share/doc/gfortran/GFORTRAN_005fLIST_005fSEPARATOR.html @@ -0,0 +1,94 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GFORTRAN_LIST_SEPARATOR</title> + +<meta name="description" content="The GNU Fortran Compiler: GFORTRAN_LIST_SEPARATOR"> +<meta name="keywords" content="The GNU Fortran Compiler: GFORTRAN_LIST_SEPARATOR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Runtime.html#Runtime" rel="up" title="Runtime"> +<link href="GFORTRAN_005fCONVERT_005fUNIT.html#GFORTRAN_005fCONVERT_005fUNIT" rel="next" title="GFORTRAN_CONVERT_UNIT"> +<link href="GFORTRAN_005fOPTIONAL_005fPLUS.html#GFORTRAN_005fOPTIONAL_005fPLUS" rel="previous" title="GFORTRAN_OPTIONAL_PLUS"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GFORTRAN_005fLIST_005fSEPARATOR"></a> +<div class="header"> +<p> +Next: <a href="GFORTRAN_005fCONVERT_005fUNIT.html#GFORTRAN_005fCONVERT_005fUNIT" accesskey="n" rel="next">GFORTRAN_CONVERT_UNIT</a>, Previous: <a href="GFORTRAN_005fOPTIONAL_005fPLUS.html#GFORTRAN_005fOPTIONAL_005fPLUS" accesskey="p" rel="previous">GFORTRAN_OPTIONAL_PLUS</a>, Up: <a href="Runtime.html#Runtime" accesskey="u" rel="up">Runtime</a> [<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> +</div> +<hr> +<a name="GFORTRAN_005fLIST_005fSEPARATOR_002d_002d_002dSeparator-for-list-output"></a> +<h3 class="section">3.9 <code>GFORTRAN_LIST_SEPARATOR</code>—Separator for list output</h3> + +<p>This environment variable specifies the separator when writing +list-directed output. It may contain any number of spaces and +at most one comma. If you specify this on the command line, +be sure to quote spaces, as in +</p><div class="smallexample"> +<pre class="smallexample">$ GFORTRAN_LIST_SEPARATOR=' , ' ./a.out +</pre></div> +<p>when <code>a.out</code> is the compiled Fortran program that you want to run. +Default is a single space. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/GFORTRAN_005fOPTIONAL_005fPLUS.html b/share/doc/gfortran/GFORTRAN_005fOPTIONAL_005fPLUS.html new file mode 100644 index 0000000..53781c6 --- /dev/null +++ b/share/doc/gfortran/GFORTRAN_005fOPTIONAL_005fPLUS.html @@ -0,0 +1,90 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GFORTRAN_OPTIONAL_PLUS</title> + +<meta name="description" content="The GNU Fortran Compiler: GFORTRAN_OPTIONAL_PLUS"> +<meta name="keywords" content="The GNU Fortran Compiler: GFORTRAN_OPTIONAL_PLUS"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Runtime.html#Runtime" rel="up" title="Runtime"> +<link href="GFORTRAN_005fLIST_005fSEPARATOR.html#GFORTRAN_005fLIST_005fSEPARATOR" rel="next" title="GFORTRAN_LIST_SEPARATOR"> +<link href="GFORTRAN_005fSHOW_005fLOCUS.html#GFORTRAN_005fSHOW_005fLOCUS" rel="previous" title="GFORTRAN_SHOW_LOCUS"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GFORTRAN_005fOPTIONAL_005fPLUS"></a> +<div class="header"> +<p> +Next: <a href="GFORTRAN_005fLIST_005fSEPARATOR.html#GFORTRAN_005fLIST_005fSEPARATOR" accesskey="n" rel="next">GFORTRAN_LIST_SEPARATOR</a>, Previous: <a href="GFORTRAN_005fSHOW_005fLOCUS.html#GFORTRAN_005fSHOW_005fLOCUS" accesskey="p" rel="previous">GFORTRAN_SHOW_LOCUS</a>, Up: <a href="Runtime.html#Runtime" accesskey="u" rel="up">Runtime</a> [<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> +</div> +<hr> +<a name="GFORTRAN_005fOPTIONAL_005fPLUS_002d_002d_002dPrint-leading-_002b-where-permitted"></a> +<h3 class="section">3.8 <code>GFORTRAN_OPTIONAL_PLUS</code>—Print leading + where permitted</h3> + +<p>If the first letter is ‘<samp>y</samp>’, ‘<samp>Y</samp>’ or ‘<samp>1</samp>’, +a plus sign is printed +where permitted by the Fortran standard. If the first letter +is ‘<samp>n</samp>’, ‘<samp>N</samp>’ or ‘<samp>0</samp>’, a plus sign is not printed +in most cases. Default is not to print plus signs. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/GFORTRAN_005fSHOW_005fLOCUS.html b/share/doc/gfortran/GFORTRAN_005fSHOW_005fLOCUS.html new file mode 100644 index 0000000..a74ec2d --- /dev/null +++ b/share/doc/gfortran/GFORTRAN_005fSHOW_005fLOCUS.html @@ -0,0 +1,89 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GFORTRAN_SHOW_LOCUS</title> + +<meta name="description" content="The GNU Fortran Compiler: GFORTRAN_SHOW_LOCUS"> +<meta name="keywords" content="The GNU Fortran Compiler: GFORTRAN_SHOW_LOCUS"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Runtime.html#Runtime" rel="up" title="Runtime"> +<link href="GFORTRAN_005fOPTIONAL_005fPLUS.html#GFORTRAN_005fOPTIONAL_005fPLUS" rel="next" title="GFORTRAN_OPTIONAL_PLUS"> +<link href="GFORTRAN_005fUNBUFFERED_005fPRECONNECTED.html#GFORTRAN_005fUNBUFFERED_005fPRECONNECTED" rel="previous" title="GFORTRAN_UNBUFFERED_PRECONNECTED"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GFORTRAN_005fSHOW_005fLOCUS"></a> +<div class="header"> +<p> +Next: <a href="GFORTRAN_005fOPTIONAL_005fPLUS.html#GFORTRAN_005fOPTIONAL_005fPLUS" accesskey="n" rel="next">GFORTRAN_OPTIONAL_PLUS</a>, Previous: <a href="GFORTRAN_005fUNBUFFERED_005fPRECONNECTED.html#GFORTRAN_005fUNBUFFERED_005fPRECONNECTED" accesskey="p" rel="previous">GFORTRAN_UNBUFFERED_PRECONNECTED</a>, Up: <a href="Runtime.html#Runtime" accesskey="u" rel="up">Runtime</a> [<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> +</div> +<hr> +<a name="GFORTRAN_005fSHOW_005fLOCUS_002d_002d_002dShow-location-for-runtime-errors"></a> +<h3 class="section">3.7 <code>GFORTRAN_SHOW_LOCUS</code>—Show location for runtime errors</h3> + +<p>If the first letter is ‘<samp>y</samp>’, ‘<samp>Y</samp>’ or ‘<samp>1</samp>’, filename and +line numbers for runtime errors are printed. If the first letter is +‘<samp>n</samp>’, ‘<samp>N</samp>’ or ‘<samp>0</samp>’, do not print filename and line numbers +for runtime errors. The default is to print the location. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/GFORTRAN_005fSTDERR_005fUNIT.html b/share/doc/gfortran/GFORTRAN_005fSTDERR_005fUNIT.html new file mode 100644 index 0000000..e586c09 --- /dev/null +++ b/share/doc/gfortran/GFORTRAN_005fSTDERR_005fUNIT.html @@ -0,0 +1,88 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GFORTRAN_STDERR_UNIT</title> + +<meta name="description" content="The GNU Fortran Compiler: GFORTRAN_STDERR_UNIT"> +<meta name="keywords" content="The GNU Fortran Compiler: GFORTRAN_STDERR_UNIT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Runtime.html#Runtime" rel="up" title="Runtime"> +<link href="GFORTRAN_005fUNBUFFERED_005fALL.html#GFORTRAN_005fUNBUFFERED_005fALL" rel="next" title="GFORTRAN_UNBUFFERED_ALL"> +<link href="GFORTRAN_005fSTDOUT_005fUNIT.html#GFORTRAN_005fSTDOUT_005fUNIT" rel="previous" title="GFORTRAN_STDOUT_UNIT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GFORTRAN_005fSTDERR_005fUNIT"></a> +<div class="header"> +<p> +Next: <a href="GFORTRAN_005fUNBUFFERED_005fALL.html#GFORTRAN_005fUNBUFFERED_005fALL" accesskey="n" rel="next">GFORTRAN_UNBUFFERED_ALL</a>, Previous: <a href="GFORTRAN_005fSTDOUT_005fUNIT.html#GFORTRAN_005fSTDOUT_005fUNIT" accesskey="p" rel="previous">GFORTRAN_STDOUT_UNIT</a>, Up: <a href="Runtime.html#Runtime" accesskey="u" rel="up">Runtime</a> [<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> +</div> +<hr> +<a name="GFORTRAN_005fSTDERR_005fUNIT_002d_002d_002dUnit-number-for-standard-error"></a> +<h3 class="section">3.4 <code>GFORTRAN_STDERR_UNIT</code>—Unit number for standard error</h3> + +<p>This environment variable can be used to select the unit number +preconnected to standard error. This must be a positive integer. +The default value is 0. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/GFORTRAN_005fSTDIN_005fUNIT.html b/share/doc/gfortran/GFORTRAN_005fSTDIN_005fUNIT.html new file mode 100644 index 0000000..c8d42a1 --- /dev/null +++ b/share/doc/gfortran/GFORTRAN_005fSTDIN_005fUNIT.html @@ -0,0 +1,88 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GFORTRAN_STDIN_UNIT</title> + +<meta name="description" content="The GNU Fortran Compiler: GFORTRAN_STDIN_UNIT"> +<meta name="keywords" content="The GNU Fortran Compiler: GFORTRAN_STDIN_UNIT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Runtime.html#Runtime" rel="up" title="Runtime"> +<link href="GFORTRAN_005fSTDOUT_005fUNIT.html#GFORTRAN_005fSTDOUT_005fUNIT" rel="next" title="GFORTRAN_STDOUT_UNIT"> +<link href="TMPDIR.html#TMPDIR" rel="previous" title="TMPDIR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GFORTRAN_005fSTDIN_005fUNIT"></a> +<div class="header"> +<p> +Next: <a href="GFORTRAN_005fSTDOUT_005fUNIT.html#GFORTRAN_005fSTDOUT_005fUNIT" accesskey="n" rel="next">GFORTRAN_STDOUT_UNIT</a>, Previous: <a href="TMPDIR.html#TMPDIR" accesskey="p" rel="previous">TMPDIR</a>, Up: <a href="Runtime.html#Runtime" accesskey="u" rel="up">Runtime</a> [<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> +</div> +<hr> +<a name="GFORTRAN_005fSTDIN_005fUNIT_002d_002d_002dUnit-number-for-standard-input"></a> +<h3 class="section">3.2 <code>GFORTRAN_STDIN_UNIT</code>—Unit number for standard input</h3> + +<p>This environment variable can be used to select the unit number +preconnected to standard input. This must be a positive integer. +The default value is 5. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/GFORTRAN_005fSTDOUT_005fUNIT.html b/share/doc/gfortran/GFORTRAN_005fSTDOUT_005fUNIT.html new file mode 100644 index 0000000..cab11d1 --- /dev/null +++ b/share/doc/gfortran/GFORTRAN_005fSTDOUT_005fUNIT.html @@ -0,0 +1,88 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GFORTRAN_STDOUT_UNIT</title> + +<meta name="description" content="The GNU Fortran Compiler: GFORTRAN_STDOUT_UNIT"> +<meta name="keywords" content="The GNU Fortran Compiler: GFORTRAN_STDOUT_UNIT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Runtime.html#Runtime" rel="up" title="Runtime"> +<link href="GFORTRAN_005fSTDERR_005fUNIT.html#GFORTRAN_005fSTDERR_005fUNIT" rel="next" title="GFORTRAN_STDERR_UNIT"> +<link href="GFORTRAN_005fSTDIN_005fUNIT.html#GFORTRAN_005fSTDIN_005fUNIT" rel="previous" title="GFORTRAN_STDIN_UNIT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GFORTRAN_005fSTDOUT_005fUNIT"></a> +<div class="header"> +<p> +Next: <a href="GFORTRAN_005fSTDERR_005fUNIT.html#GFORTRAN_005fSTDERR_005fUNIT" accesskey="n" rel="next">GFORTRAN_STDERR_UNIT</a>, Previous: <a href="GFORTRAN_005fSTDIN_005fUNIT.html#GFORTRAN_005fSTDIN_005fUNIT" accesskey="p" rel="previous">GFORTRAN_STDIN_UNIT</a>, Up: <a href="Runtime.html#Runtime" accesskey="u" rel="up">Runtime</a> [<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> +</div> +<hr> +<a name="GFORTRAN_005fSTDOUT_005fUNIT_002d_002d_002dUnit-number-for-standard-output"></a> +<h3 class="section">3.3 <code>GFORTRAN_STDOUT_UNIT</code>—Unit number for standard output</h3> + +<p>This environment variable can be used to select the unit number +preconnected to standard output. This must be a positive integer. +The default value is 6. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/GFORTRAN_005fUNBUFFERED_005fALL.html b/share/doc/gfortran/GFORTRAN_005fUNBUFFERED_005fALL.html new file mode 100644 index 0000000..3c8deba --- /dev/null +++ b/share/doc/gfortran/GFORTRAN_005fUNBUFFERED_005fALL.html @@ -0,0 +1,90 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GFORTRAN_UNBUFFERED_ALL</title> + +<meta name="description" content="The GNU Fortran Compiler: GFORTRAN_UNBUFFERED_ALL"> +<meta name="keywords" content="The GNU Fortran Compiler: GFORTRAN_UNBUFFERED_ALL"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Runtime.html#Runtime" rel="up" title="Runtime"> +<link href="GFORTRAN_005fUNBUFFERED_005fPRECONNECTED.html#GFORTRAN_005fUNBUFFERED_005fPRECONNECTED" rel="next" title="GFORTRAN_UNBUFFERED_PRECONNECTED"> +<link href="GFORTRAN_005fSTDERR_005fUNIT.html#GFORTRAN_005fSTDERR_005fUNIT" rel="previous" title="GFORTRAN_STDERR_UNIT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GFORTRAN_005fUNBUFFERED_005fALL"></a> +<div class="header"> +<p> +Next: <a href="GFORTRAN_005fUNBUFFERED_005fPRECONNECTED.html#GFORTRAN_005fUNBUFFERED_005fPRECONNECTED" accesskey="n" rel="next">GFORTRAN_UNBUFFERED_PRECONNECTED</a>, Previous: <a href="GFORTRAN_005fSTDERR_005fUNIT.html#GFORTRAN_005fSTDERR_005fUNIT" accesskey="p" rel="previous">GFORTRAN_STDERR_UNIT</a>, Up: <a href="Runtime.html#Runtime" accesskey="u" rel="up">Runtime</a> [<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> +</div> +<hr> +<a name="GFORTRAN_005fUNBUFFERED_005fALL_002d_002d_002dDo-not-buffer-I_002fO-on-all-units"></a> +<h3 class="section">3.5 <code>GFORTRAN_UNBUFFERED_ALL</code>—Do not buffer I/O on all units</h3> + +<p>This environment variable controls whether all I/O is unbuffered. If +the first letter is ‘<samp>y</samp>’, ‘<samp>Y</samp>’ or ‘<samp>1</samp>’, all I/O is +unbuffered. This will slow down small sequential reads and writes. If +the first letter is ‘<samp>n</samp>’, ‘<samp>N</samp>’ or ‘<samp>0</samp>’, I/O is buffered. +This is the default. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/GFORTRAN_005fUNBUFFERED_005fPRECONNECTED.html b/share/doc/gfortran/GFORTRAN_005fUNBUFFERED_005fPRECONNECTED.html new file mode 100644 index 0000000..aa40b42 --- /dev/null +++ b/share/doc/gfortran/GFORTRAN_005fUNBUFFERED_005fPRECONNECTED.html @@ -0,0 +1,90 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GFORTRAN_UNBUFFERED_PRECONNECTED</title> + +<meta name="description" content="The GNU Fortran Compiler: GFORTRAN_UNBUFFERED_PRECONNECTED"> +<meta name="keywords" content="The GNU Fortran Compiler: GFORTRAN_UNBUFFERED_PRECONNECTED"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Runtime.html#Runtime" rel="up" title="Runtime"> +<link href="GFORTRAN_005fSHOW_005fLOCUS.html#GFORTRAN_005fSHOW_005fLOCUS" rel="next" title="GFORTRAN_SHOW_LOCUS"> +<link href="GFORTRAN_005fUNBUFFERED_005fALL.html#GFORTRAN_005fUNBUFFERED_005fALL" rel="previous" title="GFORTRAN_UNBUFFERED_ALL"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GFORTRAN_005fUNBUFFERED_005fPRECONNECTED"></a> +<div class="header"> +<p> +Next: <a href="GFORTRAN_005fSHOW_005fLOCUS.html#GFORTRAN_005fSHOW_005fLOCUS" accesskey="n" rel="next">GFORTRAN_SHOW_LOCUS</a>, Previous: <a href="GFORTRAN_005fUNBUFFERED_005fALL.html#GFORTRAN_005fUNBUFFERED_005fALL" accesskey="p" rel="previous">GFORTRAN_UNBUFFERED_ALL</a>, Up: <a href="Runtime.html#Runtime" accesskey="u" rel="up">Runtime</a> [<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> +</div> +<hr> +<a name="GFORTRAN_005fUNBUFFERED_005fPRECONNECTED_002d_002d_002dDo-not-buffer-I_002fO-on-preconnected-units"></a> +<h3 class="section">3.6 <code>GFORTRAN_UNBUFFERED_PRECONNECTED</code>—Do not buffer I/O on preconnected units</h3> + +<p>The environment variable named <code>GFORTRAN_UNBUFFERED_PRECONNECTED</code> controls +whether I/O on a preconnected unit (i.e. STDOUT or STDERR) is unbuffered. If +the first letter is ‘<samp>y</samp>’, ‘<samp>Y</samp>’ or ‘<samp>1</samp>’, I/O is unbuffered. This +will slow down small sequential reads and writes. If the first letter +is ‘<samp>n</samp>’, ‘<samp>N</samp>’ or ‘<samp>0</samp>’, I/O is buffered. This is the default. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/GFORTRAN_005fUNFORMATTED_005fBUFFER_005fSIZE.html b/share/doc/gfortran/GFORTRAN_005fUNFORMATTED_005fBUFFER_005fSIZE.html new file mode 100644 index 0000000..8dc4298 --- /dev/null +++ b/share/doc/gfortran/GFORTRAN_005fUNFORMATTED_005fBUFFER_005fSIZE.html @@ -0,0 +1,93 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GFORTRAN_UNFORMATTED_BUFFER_SIZE</title> + +<meta name="description" content="The GNU Fortran Compiler: GFORTRAN_UNFORMATTED_BUFFER_SIZE"> +<meta name="keywords" content="The GNU Fortran Compiler: GFORTRAN_UNFORMATTED_BUFFER_SIZE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Runtime.html#Runtime" rel="up" title="Runtime"> +<link href="Compiler-Characteristics.html#Compiler-Characteristics" rel="next" title="Compiler Characteristics"> +<link href="GFORTRAN_005fFORMATTED_005fBUFFER_005fSIZE.html#GFORTRAN_005fFORMATTED_005fBUFFER_005fSIZE" rel="previous" title="GFORTRAN_FORMATTED_BUFFER_SIZE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GFORTRAN_005fUNFORMATTED_005fBUFFER_005fSIZE"></a> +<div class="header"> +<p> +Previous: <a href="GFORTRAN_005fFORMATTED_005fBUFFER_005fSIZE.html#GFORTRAN_005fFORMATTED_005fBUFFER_005fSIZE" accesskey="p" rel="previous">GFORTRAN_FORMATTED_BUFFER_SIZE</a>, Up: <a href="Runtime.html#Runtime" accesskey="u" rel="up">Runtime</a> [<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> +</div> +<hr> +<a name="GFORTRAN_005fUNFORMATTED_005fBUFFER_005fSIZE_002d_002d_002dSet-buffer-size-for-unformatted-I_002fO"></a> +<h3 class="section">3.13 <code>GFORTRAN_UNFORMATTED_BUFFER_SIZE</code>—Set buffer size for unformatted I/O</h3> + +<p>The <code>GFORTRAN_UNFORMATTED_BUFFER_SIZE</code> environment variable +specifies buffer size in bytes to be used for unformatted output. +The default value is 131072. +</p> + + + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/GMTIME.html b/share/doc/gfortran/GMTIME.html new file mode 100644 index 0000000..f802952 --- /dev/null +++ b/share/doc/gfortran/GMTIME.html @@ -0,0 +1,148 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GMTIME</title> + +<meta name="description" content="The GNU Fortran Compiler: GMTIME"> +<meta name="keywords" content="The GNU Fortran Compiler: GMTIME"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="HOSTNM.html#HOSTNM" rel="next" title="HOSTNM"> +<link href="GETUID.html#GETUID" rel="previous" title="GETUID"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GMTIME"></a> +<div class="header"> +<p> +Next: <a href="HOSTNM.html#HOSTNM" accesskey="n" rel="next">HOSTNM</a>, Previous: <a href="GETUID.html#GETUID" accesskey="p" rel="previous">GETUID</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="GMTIME-_002d_002d_002d-Convert-time-to-GMT-info"></a> +<h3 class="section">8.131 <code>GMTIME</code> — Convert time to GMT info</h3> +<a name="index-GMTIME"></a> +<a name="index-time_002c-conversion-to-GMT-info"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Given a system time value <var>TIME</var> (as provided by the <a href="TIME.html#TIME">TIME</a> +intrinsic), fills <var>VALUES</var> with values extracted from it appropriate +to the UTC time zone (Universal Coordinated Time, also known in some +countries as GMT, Greenwich Mean Time), using <code>gmtime(3)</code>. +</p> +<p>This intrinsic routine is provided for backwards compatibility with +GNU Fortran 77. In new code, programmers should consider the use of +the <a href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME">DATE_AND_TIME</a> intrinsic defined by the Fortran 95 +standard. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL GMTIME(TIME, VALUES)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>TIME</var></td><td width="70%">An <code>INTEGER</code> scalar expression +corresponding to a system time, with <code>INTENT(IN)</code>.</td></tr> +<tr><td width="15%"><var>VALUES</var></td><td width="70%">A default <code>INTEGER</code> array with 9 elements, +with <code>INTENT(OUT)</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The elements of <var>VALUES</var> are assigned as follows: +</p><ol> +<li> Seconds after the minute, range 0–59 or 0–61 to allow for leap +seconds +</li><li> Minutes after the hour, range 0–59 +</li><li> Hours past midnight, range 0–23 +</li><li> Day of month, range 1–31 +</li><li> Number of months since January, range 0–11 +</li><li> Years since 1900 +</li><li> Number of days since Sunday, range 0–6 +</li><li> Days since January 1, range 0–365 +</li><li> Daylight savings indicator: positive if daylight savings is in +effect, zero if not, and negative if the information is not available. +</li></ol> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME">DATE_AND_TIME</a>, <br> +<a href="CTIME.html#CTIME">CTIME</a>, <br> +<a href="LTIME.html#LTIME">LTIME</a>, <br> +<a href="TIME.html#TIME">TIME</a>, <br> +<a href="TIME8.html#TIME8">TIME8</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/GNU-Fortran-Compiler-Directives.html b/share/doc/gfortran/GNU-Fortran-Compiler-Directives.html new file mode 100644 index 0000000..57dd605 --- /dev/null +++ b/share/doc/gfortran/GNU-Fortran-Compiler-Directives.html @@ -0,0 +1,99 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GNU Fortran Compiler Directives</title> + +<meta name="description" content="The GNU Fortran Compiler: GNU Fortran Compiler Directives"> +<meta name="keywords" content="The GNU Fortran Compiler: GNU Fortran Compiler Directives"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Mixed_002dLanguage-Programming.html#Mixed_002dLanguage-Programming" rel="up" title="Mixed-Language Programming"> +<link href="ATTRIBUTES-directive.html#ATTRIBUTES-directive" rel="next" title="ATTRIBUTES directive"> +<link href="Further-Interoperability-of-Fortran-with-C.html#Further-Interoperability-of-Fortran-with-C" rel="previous" title="Further Interoperability of Fortran with C"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GNU-Fortran-Compiler-Directives"></a> +<div class="header"> +<p> +Next: <a href="Non_002dFortran-Main-Program.html#Non_002dFortran-Main-Program" accesskey="n" rel="next">Non-Fortran Main Program</a>, Previous: <a href="Interoperability-with-C.html#Interoperability-with-C" accesskey="p" rel="previous">Interoperability with C</a>, Up: <a href="Mixed_002dLanguage-Programming.html#Mixed_002dLanguage-Programming" accesskey="u" rel="up">Mixed-Language Programming</a> [<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> +</div> +<hr> +<a name="GNU-Fortran-Compiler-Directives-1"></a> +<h3 class="section">6.2 GNU Fortran Compiler Directives</h3> + +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="ATTRIBUTES-directive.html#ATTRIBUTES-directive" accesskey="1">ATTRIBUTES directive</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="UNROLL-directive.html#UNROLL-directive" accesskey="2">UNROLL directive</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="BUILTIN-directive.html#BUILTIN-directive" accesskey="3">BUILTIN directive</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="IVDEP-directive.html#IVDEP-directive" accesskey="4">IVDEP directive</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="VECTOR-directive.html#VECTOR-directive" accesskey="5">VECTOR directive</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="NOVECTOR-directive.html#NOVECTOR-directive" accesskey="6">NOVECTOR directive</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + + + + +</body> +</html> diff --git a/share/doc/gfortran/GNU-Fortran-and-GCC.html b/share/doc/gfortran/GNU-Fortran-and-GCC.html new file mode 100644 index 0000000..c31a898 --- /dev/null +++ b/share/doc/gfortran/GNU-Fortran-and-GCC.html @@ -0,0 +1,129 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GNU Fortran and GCC</title> + +<meta name="description" content="The GNU Fortran Compiler: GNU Fortran and GCC"> +<meta name="keywords" content="The GNU Fortran Compiler: GNU Fortran and GCC"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Introduction.html#Introduction" rel="up" title="Introduction"> +<link href="Standards.html#Standards" rel="next" title="Standards"> +<link href="About-GNU-Fortran.html#About-GNU-Fortran" rel="previous" title="About GNU Fortran"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GNU-Fortran-and-GCC"></a> +<div class="header"> +<p> +Next: <a href="Standards.html#Standards" accesskey="n" rel="next">Standards</a>, Previous: <a href="About-GNU-Fortran.html#About-GNU-Fortran" accesskey="p" rel="previous">About GNU Fortran</a>, Up: <a href="Introduction.html#Introduction" accesskey="u" rel="up">Introduction</a> [<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> +</div> +<hr> +<a name="GNU-Fortran-and-GCC-1"></a> +<h3 class="section">1.2 GNU Fortran and GCC</h3> +<a name="index-GNU-Compiler-Collection"></a> +<a name="index-GCC"></a> + +<p>GNU Fortran is a part of GCC, the <em>GNU Compiler Collection</em>. GCC +consists of a collection of front ends for various languages, which +translate the source code into a language-independent form called +<em>GENERIC</em>. This is then processed by a common middle end which +provides optimization, and then passed to one of a collection of back +ends which generate code for different computer architectures and +operating systems. +</p> +<p>Functionally, this is implemented with a driver program (<code>gcc</code>) +which provides the command-line interface for the compiler. It calls +the relevant compiler front-end program (e.g., <code>f951</code> for +Fortran) for each file in the source code, and then calls the assembler +and linker as appropriate to produce the compiled output. In a copy of +GCC that has been compiled with Fortran language support enabled, +<code>gcc</code> recognizes files with <samp>.f</samp>, <samp>.for</samp>, <samp>.ftn</samp>, +<samp>.f90</samp>, <samp>.f95</samp>, <samp>.f03</samp> and <samp>.f08</samp> extensions as +Fortran source code, and compiles it accordingly. A <code>gfortran</code> +driver program is also provided, which is identical to <code>gcc</code> +except that it automatically links the Fortran runtime libraries into the +compiled program. +</p> +<p>Source files with <samp>.f</samp>, <samp>.for</samp>, <samp>.fpp</samp>, <samp>.ftn</samp>, <samp>.F</samp>, +<samp>.FOR</samp>, <samp>.FPP</samp>, and <samp>.FTN</samp> extensions are treated as fixed form. +Source files with <samp>.f90</samp>, <samp>.f95</samp>, <samp>.f03</samp>, <samp>.f08</samp>, +<samp>.F90</samp>, <samp>.F95</samp>, <samp>.F03</samp> and <samp>.F08</samp> extensions are +treated as free form. The capitalized versions of either form are run +through preprocessing. Source files with the lower case <samp>.fpp</samp> +extension are also run through preprocessing. +</p> +<p>This manual specifically documents the Fortran front end, which handles +the programming language’s syntax and semantics. The aspects of GCC +that relate to the optimization passes and the back-end code generation +are documented in the GCC manual; see +<a href="http://gcc.gnu.org/onlinedocs/gcc/index.html#Top">Introduction</a> in <cite>Using the GNU Compiler Collection (GCC)</cite>. +The two manuals together provide a complete reference for the GNU +Fortran compiler. +</p> + +<hr> +<div class="header"> +<p> +Next: <a href="Standards.html#Standards" accesskey="n" rel="next">Standards</a>, Previous: <a href="About-GNU-Fortran.html#About-GNU-Fortran" accesskey="p" rel="previous">About GNU Fortran</a>, Up: <a href="Introduction.html#Introduction" accesskey="u" rel="up">Introduction</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/GNU-Free-Documentation-License.html b/share/doc/gfortran/GNU-Free-Documentation-License.html new file mode 100644 index 0000000..8db90d3 --- /dev/null +++ b/share/doc/gfortran/GNU-Free-Documentation-License.html @@ -0,0 +1,562 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: GNU Free Documentation License</title> + +<meta name="description" content="The GNU Fortran Compiler: GNU Free Documentation License"> +<meta name="keywords" content="The GNU Fortran Compiler: GNU Free Documentation License"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="index.html#Top" rel="up" title="Top"> +<link href="Funding.html#Funding" rel="next" title="Funding"> +<link href="Copying.html#Copying" rel="previous" title="Copying"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="GNU-Free-Documentation-License"></a> +<div class="header"> +<p> +Next: <a href="Funding.html#Funding" accesskey="n" rel="next">Funding</a>, Previous: <a href="Copying.html#Copying" accesskey="p" rel="previous">Copying</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<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> +</div> +<hr> +<a name="GNU-Free-Documentation-License-1"></a> +<h2 class="unnumbered">GNU Free Documentation License</h2> + +<a name="index-FDL_002c-GNU-Free-Documentation-License"></a> +<div align="center">Version 1.3, 3 November 2008 +</div> +<div class="display"> +<pre class="display">Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. +<a href="https://www.fsf.org">https://www.fsf.org</a> + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. +</pre></div> + +<ol> +<li> PREAMBLE + +<p>The purpose of this License is to make a manual, textbook, or other +functional and useful document <em>free</em> in the sense of freedom: to +assure everyone the effective freedom to copy and redistribute it, +with or without modifying it, either commercially or noncommercially. +Secondarily, this License preserves for the author and publisher a way +to get credit for their work, while not being considered responsible +for modifications made by others. +</p> +<p>This License is a kind of “copyleft”, which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. +</p> +<p>We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. +</p> +</li><li> APPLICABILITY AND DEFINITIONS + +<p>This License applies to any manual or other work, in any medium, that +contains a notice placed by the copyright holder saying it can be +distributed under the terms of this License. Such a notice grants a +world-wide, royalty-free license, unlimited in duration, to use that +work under the conditions stated herein. The “Document”, below, +refers to any such manual or work. Any member of the public is a +licensee, and is addressed as “you”. You accept the license if you +copy, modify or distribute the work in a way requiring permission +under copyright law. +</p> +<p>A “Modified Version” of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. +</p> +<p>A “Secondary Section” is a named appendix or a front-matter section +of the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document’s overall +subject (or to related matters) and contains nothing that could fall +directly within that overall subject. (Thus, if the Document is in +part a textbook of mathematics, a Secondary Section may not explain +any mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. +</p> +<p>The “Invariant Sections” are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. If a +section does not fit the above definition of Secondary then it is not +allowed to be designated as Invariant. The Document may contain zero +Invariant Sections. If the Document does not identify any Invariant +Sections then there are none. +</p> +<p>The “Cover Texts” are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. A Front-Cover Text may +be at most 5 words, and a Back-Cover Text may be at most 25 words. +</p> +<p>A “Transparent” copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, that is suitable for revising the document +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup, or absence of markup, has been arranged to thwart +or discourage subsequent modification by readers is not Transparent. +An image format is not Transparent if used for any substantial amount +of text. A copy that is not “Transparent” is called “Opaque”. +</p> +<p>Examples of suitable formats for Transparent copies include plain +<small>ASCII</small> without markup, Texinfo input format, LaTeX input +format, <acronym>SGML</acronym> or <acronym>XML</acronym> using a publicly available +<acronym>DTD</acronym>, and standard-conforming simple <acronym>HTML</acronym>, +PostScript or <acronym>PDF</acronym> designed for human modification. Examples +of transparent image formats include <acronym>PNG</acronym>, <acronym>XCF</acronym> and +<acronym>JPG</acronym>. Opaque formats include proprietary formats that can be +read and edited only by proprietary word processors, <acronym>SGML</acronym> or +<acronym>XML</acronym> for which the <acronym>DTD</acronym> and/or processing tools are +not generally available, and the machine-generated <acronym>HTML</acronym>, +PostScript or <acronym>PDF</acronym> produced by some word processors for +output purposes only. +</p> +<p>The “Title Page” means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, “Title Page” means +the text near the most prominent appearance of the work’s title, +preceding the beginning of the body of the text. +</p> +<p>The “publisher” means any person or entity that distributes copies +of the Document to the public. +</p> +<p>A section “Entitled XYZ” means a named subunit of the Document whose +title either is precisely XYZ or contains XYZ in parentheses following +text that translates XYZ in another language. (Here XYZ stands for a +specific section name mentioned below, such as “Acknowledgements”, +“Dedications”, “Endorsements”, or “History”.) To “Preserve the Title” +of such a section when you modify the Document means that it remains a +section “Entitled XYZ” according to this definition. +</p> +<p>The Document may include Warranty Disclaimers next to the notice which +states that this License applies to the Document. These Warranty +Disclaimers are considered to be included by reference in this +License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and has +no effect on the meaning of this License. +</p> +</li><li> VERBATIM COPYING + +<p>You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no other +conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. +</p> +<p>You may also lend copies, under the same conditions stated above, and +you may publicly display copies. +</p> +</li><li> COPYING IN QUANTITY + +<p>If you publish printed copies (or copies in media that commonly have +printed covers) of the Document, numbering more than 100, and the +Document’s license notice requires Cover Texts, you must enclose the +copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. +</p> +<p>If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. +</p> +<p>If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a computer-network location from which the general network-using +public has access to download using public-standard network protocols +a complete Transparent copy of the Document, free of added material. +If you use the latter option, you must take reasonably prudent steps, +when you begin distribution of Opaque copies in quantity, to ensure +that this Transparent copy will remain thus accessible at the stated +location until at least one year after the last time you distribute an +Opaque copy (directly or through your agents or retailers) of that +edition to the public. +</p> +<p>It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to give +them a chance to provide you with an updated version of the Document. +</p> +</li><li> MODIFICATIONS + +<p>You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: +</p> +<ol> +<li> Use in the Title Page (and on the covers, if any) a title distinct +from that of the Document, and from those of previous versions +(which should, if there were any, be listed in the History section +of the Document). You may use the same title as a previous version +if the original publisher of that version gives permission. + +</li><li> List on the Title Page, as authors, one or more persons or entities +responsible for authorship of the modifications in the Modified +Version, together with at least five of the principal authors of the +Document (all of its principal authors, if it has fewer than five), +unless they release you from this requirement. + +</li><li> State on the Title page the name of the publisher of the +Modified Version, as the publisher. + +</li><li> Preserve all the copyright notices of the Document. + +</li><li> Add an appropriate copyright notice for your modifications +adjacent to the other copyright notices. + +</li><li> Include, immediately after the copyright notices, a license notice +giving the public permission to use the Modified Version under the +terms of this License, in the form shown in the Addendum below. + +</li><li> Preserve in that license notice the full lists of Invariant Sections +and required Cover Texts given in the Document’s license notice. + +</li><li> Include an unaltered copy of this License. + +</li><li> Preserve the section Entitled “History”, Preserve its Title, and add +to it an item stating at least the title, year, new authors, and +publisher of the Modified Version as given on the Title Page. If +there is no section Entitled “History” in the Document, create one +stating the title, year, authors, and publisher of the Document as +given on its Title Page, then add an item describing the Modified +Version as stated in the previous sentence. + +</li><li> Preserve the network location, if any, given in the Document for +public access to a Transparent copy of the Document, and likewise +the network locations given in the Document for previous versions +it was based on. These may be placed in the “History” section. +You may omit a network location for a work that was published at +least four years before the Document itself, or if the original +publisher of the version it refers to gives permission. + +</li><li> For any section Entitled “Acknowledgements” or “Dedications”, Preserve +the Title of the section, and preserve in the section all the +substance and tone of each of the contributor acknowledgements and/or +dedications given therein. + +</li><li> Preserve all the Invariant Sections of the Document, +unaltered in their text and in their titles. Section numbers +or the equivalent are not considered part of the section titles. + +</li><li> Delete any section Entitled “Endorsements”. Such a section +may not be included in the Modified Version. + +</li><li> Do not retitle any existing section to be Entitled “Endorsements” or +to conflict in title with any Invariant Section. + +</li><li> Preserve any Warranty Disclaimers. +</li></ol> + +<p>If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version’s license notice. +These titles must be distinct from any other section titles. +</p> +<p>You may add a section Entitled “Endorsements”, provided it contains +nothing but endorsements of your Modified Version by various +parties—for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. +</p> +<p>You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. +</p> +<p>The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. +</p> +</li><li> COMBINING DOCUMENTS + +<p>You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice, and that you preserve all their Warranty Disclaimers. +</p> +<p>The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. +</p> +<p>In the combination, you must combine any sections Entitled “History” +in the various original documents, forming one section Entitled +“History”; likewise combine any sections Entitled “Acknowledgements”, +and any sections Entitled “Dedications”. You must delete all +sections Entitled “Endorsements.” +</p> +</li><li> COLLECTIONS OF DOCUMENTS + +<p>You may make a collection consisting of the Document and other documents +released under this License, and replace the individual copies of this +License in the various documents with a single copy that is included in +the collection, provided that you follow the rules of this License for +verbatim copying of each of the documents in all other respects. +</p> +<p>You may extract a single document from such a collection, and distribute +it individually under this License, provided you insert a copy of this +License into the extracted document, and follow this License in all +other respects regarding verbatim copying of that document. +</p> +</li><li> AGGREGATION WITH INDEPENDENT WORKS + +<p>A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, is called an “aggregate” if the copyright +resulting from the compilation is not used to limit the legal rights +of the compilation’s users beyond what the individual works permit. +When the Document is included in an aggregate, this License does not +apply to the other works in the aggregate which are not themselves +derivative works of the Document. +</p> +<p>If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one half of +the entire aggregate, the Document’s Cover Texts may be placed on +covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic form. +Otherwise they must appear on printed covers that bracket the whole +aggregate. +</p> +</li><li> TRANSLATION + +<p>Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License, and all the license notices in the +Document, and any Warranty Disclaimers, provided that you also include +the original English version of this License and the original versions +of those notices and disclaimers. In case of a disagreement between +the translation and the original version of this License or a notice +or disclaimer, the original version will prevail. +</p> +<p>If a section in the Document is Entitled “Acknowledgements”, +“Dedications”, or “History”, the requirement (section 4) to Preserve +its Title (section 1) will typically require changing the actual +title. +</p> +</li><li> TERMINATION + +<p>You may not copy, modify, sublicense, or distribute the Document +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense, or distribute it is void, and +will automatically terminate your rights under this License. +</p> +<p>However, if you cease all violation of this License, then your license +from a particular copyright holder is reinstated (a) provisionally, +unless and until the copyright holder explicitly and finally +terminates your license, and (b) permanently, if the copyright holder +fails to notify you of the violation by some reasonable means prior to +60 days after the cessation. +</p> +<p>Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. +</p> +<p>Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, receipt of a copy of some or all of the same material does +not give you any rights to use it. +</p> +</li><li> FUTURE REVISIONS OF THIS LICENSE + +<p>The Free Software Foundation may publish new, revised versions +of the GNU Free Documentation License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. See +<a href="https://www.gnu.org/copyleft/">https://www.gnu.org/copyleft/</a>. +</p> +<p>Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License “or any later version” applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. If the Document +specifies that a proxy can decide which future versions of this +License can be used, that proxy’s public statement of acceptance of a +version permanently authorizes you to choose that version for the +Document. +</p> +</li><li> RELICENSING + +<p>“Massive Multiauthor Collaboration Site” (or “MMC Site”) means any +World Wide Web server that publishes copyrightable works and also +provides prominent facilities for anybody to edit those works. A +public wiki that anybody can edit is an example of such a server. A +“Massive Multiauthor Collaboration” (or “MMC”) contained in the +site means any set of copyrightable works thus published on the MMC +site. +</p> +<p>“CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0 +license published by Creative Commons Corporation, a not-for-profit +corporation with a principal place of business in San Francisco, +California, as well as future copyleft versions of that license +published by that same organization. +</p> +<p>“Incorporate” means to publish or republish a Document, in whole or +in part, as part of another Document. +</p> +<p>An MMC is “eligible for relicensing” if it is licensed under this +License, and if all works that were first published under this License +somewhere other than this MMC, and subsequently incorporated in whole +or in part into the MMC, (1) had no cover texts or invariant sections, +and (2) were thus incorporated prior to November 1, 2008. +</p> +<p>The operator of an MMC Site may republish an MMC contained in the site +under CC-BY-SA on the same site at any time before August 1, 2009, +provided the MMC is eligible for relicensing. +</p> +</li></ol> + +<a name="ADDENDUM_003a-How-to-use-this-License-for-your-documents"></a> +<h3 class="unnumberedsec">ADDENDUM: How to use this License for your documents</h3> + +<p>To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: +</p> +<div class="smallexample"> +<pre class="smallexample"> Copyright (C) <var>year</var> <var>your name</var>. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.3 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover + Texts. A copy of the license is included in the section entitled ``GNU + Free Documentation License''. +</pre></div> + +<p>If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +replace the “with...Texts.” line with this: +</p> +<div class="smallexample"> +<pre class="smallexample"> with the Invariant Sections being <var>list their titles</var>, with + the Front-Cover Texts being <var>list</var>, and with the Back-Cover Texts + being <var>list</var>. +</pre></div> + +<p>If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. +</p> +<p>If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, +to permit their use in free software. +</p> + + + + + +<hr> +<div class="header"> +<p> +Next: <a href="Funding.html#Funding" accesskey="n" rel="next">Funding</a>, Previous: <a href="Copying.html#Copying" accesskey="p" rel="previous">Copying</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/HOSTNM.html b/share/doc/gfortran/HOSTNM.html new file mode 100644 index 0000000..29b0d81 --- /dev/null +++ b/share/doc/gfortran/HOSTNM.html @@ -0,0 +1,126 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: HOSTNM</title> + +<meta name="description" content="The GNU Fortran Compiler: HOSTNM"> +<meta name="keywords" content="The GNU Fortran Compiler: HOSTNM"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="HUGE.html#HUGE" rel="next" title="HUGE"> +<link href="GMTIME.html#GMTIME" rel="previous" title="GMTIME"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="HOSTNM"></a> +<div class="header"> +<p> +Next: <a href="HUGE.html#HUGE" accesskey="n" rel="next">HUGE</a>, Previous: <a href="GMTIME.html#GMTIME" accesskey="p" rel="previous">GMTIME</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="HOSTNM-_002d_002d_002d-Get-system-host-name"></a> +<h3 class="section">8.132 <code>HOSTNM</code> — Get system host name</h3> +<a name="index-HOSTNM"></a> +<a name="index-system_002c-host-name"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Retrieves the host name of the system on which the program is running. +</p> +<p>This intrinsic is provided in both subroutine and function forms; however, +only one form can be used in any given program unit. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL HOSTNM(C [, STATUS])</code></td></tr> +<tr><td width="80%"><code>STATUS = HOSTNM(NAME)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>C</var></td><td width="70%">Shall of type <code>CHARACTER</code> and of default kind.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">(Optional) status flag of type <code>INTEGER</code>. +Returns 0 on success, or a system specific error code otherwise.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>In either syntax, <var>NAME</var> is set to the current hostname if it can +be obtained, or to a blank string otherwise. +</p> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/HUGE.html b/share/doc/gfortran/HUGE.html new file mode 100644 index 0000000..e076563 --- /dev/null +++ b/share/doc/gfortran/HUGE.html @@ -0,0 +1,127 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: HUGE</title> + +<meta name="description" content="The GNU Fortran Compiler: HUGE"> +<meta name="keywords" content="The GNU Fortran Compiler: HUGE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="HYPOT.html#HYPOT" rel="next" title="HYPOT"> +<link href="HOSTNM.html#HOSTNM" rel="previous" title="HOSTNM"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="HUGE"></a> +<div class="header"> +<p> +Next: <a href="HYPOT.html#HYPOT" accesskey="n" rel="next">HYPOT</a>, Previous: <a href="HOSTNM.html#HOSTNM" accesskey="p" rel="previous">HOSTNM</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="HUGE-_002d_002d_002d-Largest-number-of-a-kind"></a> +<h3 class="section">8.133 <code>HUGE</code> — Largest number of a kind</h3> +<a name="index-HUGE"></a> +<a name="index-limits_002c-largest-number"></a> +<a name="index-model-representation_002c-largest-number"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>HUGE(X)</code> returns the largest number that is not an infinity in +the model of the type of <code>X</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = HUGE(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">Shall be of type <code>REAL</code> or <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of the same type and kind as <var>X</var> +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_huge_tiny + print *, huge(0), huge(0.0), huge(0.0d0) + print *, tiny(0.0), tiny(0.0d0) +end program test_huge_tiny +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/HYPOT.html b/share/doc/gfortran/HYPOT.html new file mode 100644 index 0000000..e5c0158 --- /dev/null +++ b/share/doc/gfortran/HYPOT.html @@ -0,0 +1,128 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: HYPOT</title> + +<meta name="description" content="The GNU Fortran Compiler: HYPOT"> +<meta name="keywords" content="The GNU Fortran Compiler: HYPOT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="IACHAR.html#IACHAR" rel="next" title="IACHAR"> +<link href="HUGE.html#HUGE" rel="previous" title="HUGE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="HYPOT"></a> +<div class="header"> +<p> +Next: <a href="IACHAR.html#IACHAR" accesskey="n" rel="next">IACHAR</a>, Previous: <a href="HUGE.html#HUGE" accesskey="p" rel="previous">HUGE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="HYPOT-_002d_002d_002d-Euclidean-distance-function"></a> +<h3 class="section">8.134 <code>HYPOT</code> — Euclidean distance function</h3> +<a name="index-HYPOT"></a> +<a name="index-Euclidean-distance"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>HYPOT(X,Y)</code> is the Euclidean distance function. It is equal to +<em>\sqrt{X^2 + Y^2}</em>, without undue underflow or overflow. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = HYPOT(X, Y)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code>.</td></tr> +<tr><td width="15%"><var>Y</var></td><td width="70%">The type and kind type parameter shall be the same as +<var>X</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value has the same type and kind type parameter as <var>X</var>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_hypot + real(4) :: x = 1.e0_4, y = 0.5e0_4 + x = hypot(x,y) +end program test_hypot +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Hollerith-constants-support.html b/share/doc/gfortran/Hollerith-constants-support.html new file mode 100644 index 0000000..68cdf1d --- /dev/null +++ b/share/doc/gfortran/Hollerith-constants-support.html @@ -0,0 +1,142 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Hollerith constants support</title> + +<meta name="description" content="The GNU Fortran Compiler: Hollerith constants support"> +<meta name="keywords" content="The GNU Fortran Compiler: Hollerith constants support"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="Character-conversion.html#Character-conversion" rel="next" title="Character conversion"> +<link href="Implicitly-convert-LOGICAL-and-INTEGER-values.html#Implicitly-convert-LOGICAL-and-INTEGER-values" rel="previous" title="Implicitly convert LOGICAL and INTEGER values"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Hollerith-constants-support"></a> +<div class="header"> +<p> +Next: <a href="Character-conversion.html#Character-conversion" accesskey="n" rel="next">Character conversion</a>, Previous: <a href="Implicitly-convert-LOGICAL-and-INTEGER-values.html#Implicitly-convert-LOGICAL-and-INTEGER-values" accesskey="p" rel="previous">Implicitly convert LOGICAL and INTEGER values</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> [<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> +</div> +<hr> +<a name="Hollerith-constants-support-1"></a> +<h4 class="subsection">5.1.14 Hollerith constants support</h4> +<a name="index-Hollerith-constants"></a> + +<p>GNU Fortran supports Hollerith constants in assignments, <code>DATA</code> +statements, function and subroutine arguments. A Hollerith constant is +written as a string of characters preceded by an integer constant +indicating the character count, and the letter <code>H</code> or +<code>h</code>, and stored in bytewise fashion in a numeric (<code>INTEGER</code>, +<code>REAL</code>, or <code>COMPLEX</code>), <code>LOGICAL</code> or <code>CHARACTER</code> variable. +The constant will be padded with spaces or truncated to fit the size of +the variable in which it is stored. +</p> +<p>Examples of valid uses of Hollerith constants: +</p><div class="smallexample"> +<pre class="smallexample"> complex*16 x(2) + data x /16Habcdefghijklmnop, 16Hqrstuvwxyz012345/ + x(1) = 16HABCDEFGHIJKLMNOP + call foo (4h abc) +</pre></div> + +<p>Examples of Hollerith constants: +</p><div class="smallexample"> +<pre class="smallexample"> integer*4 a + a = 0H ! Invalid, at least one character is needed. + a = 4HAB12 ! Valid + a = 8H12345678 ! Valid, but the Hollerith constant will be truncated. + a = 3Hxyz ! Valid, but the Hollerith constant will be padded. +</pre></div> + +<p>In general, Hollerith constants were used to provide a rudimentary +facility for handling character strings in early Fortran compilers, +prior to the introduction of <code>CHARACTER</code> variables in Fortran 77; +in those cases, the standard-compliant equivalent is to convert the +program to use proper character strings. On occasion, there may be a +case where the intent is specifically to initialize a numeric variable +with a given byte sequence. In these cases, the same result can be +obtained by using the <code>TRANSFER</code> statement, as in this example. +</p><div class="smallexample"> +<pre class="smallexample"> integer(kind=4) :: a + a = transfer ("abcd", a) ! equivalent to: a = 4Habcd +</pre></div> + +<p>The use of the <samp>-fdec</samp> option extends support of Hollerith constants +to comparisons: +</p><div class="smallexample"> +<pre class="smallexample"> integer*4 a + a = 4hABCD + if (a .ne. 4habcd) then + write(*,*) "no match" + end if +</pre></div> + +<p>Supported types are numeric (<code>INTEGER</code>, <code>REAL</code>, or <code>COMPLEX</code>), +and <code>CHARACTER</code>. +</p> +<hr> +<div class="header"> +<p> +Next: <a href="Character-conversion.html#Character-conversion" accesskey="n" rel="next">Character conversion</a>, Previous: <a href="Implicitly-convert-LOGICAL-and-INTEGER-values.html#Implicitly-convert-LOGICAL-and-INTEGER-values" accesskey="p" rel="previous">Implicitly convert LOGICAL and INTEGER values</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> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/IACHAR.html b/share/doc/gfortran/IACHAR.html new file mode 100644 index 0000000..a73e0d3 --- /dev/null +++ b/share/doc/gfortran/IACHAR.html @@ -0,0 +1,142 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: IACHAR</title> + +<meta name="description" content="The GNU Fortran Compiler: IACHAR"> +<meta name="keywords" content="The GNU Fortran Compiler: IACHAR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="IALL.html#IALL" rel="next" title="IALL"> +<link href="HYPOT.html#HYPOT" rel="previous" title="HYPOT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="IACHAR"></a> +<div class="header"> +<p> +Next: <a href="IALL.html#IALL" accesskey="n" rel="next">IALL</a>, Previous: <a href="HYPOT.html#HYPOT" accesskey="p" rel="previous">HYPOT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="IACHAR-_002d_002d_002d-Code-in-ASCII-collating-sequence"></a> +<h3 class="section">8.135 <code>IACHAR</code> — Code in <acronym>ASCII</acronym> collating sequence</h3> +<a name="index-IACHAR"></a> +<a name="index-ASCII-collating-sequence-1"></a> +<a name="index-collating-sequence_002c-ASCII-1"></a> +<a name="index-conversion_002c-to-integer-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>IACHAR(C)</code> returns the code for the <acronym>ASCII</acronym> character +in the first character position of <code>C</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 95 and later, with <var>KIND</var> argument Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = IACHAR(C [, KIND])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>C</var></td><td width="70%">Shall be a scalar <code>CHARACTER</code>, with <code>INTENT(IN)</code></td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of kind <var>KIND</var>. If +<var>KIND</var> is absent, the return value is of default integer kind. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_iachar + integer i + i = iachar(' ') +end program test_iachar +</pre></div> + +</dd> +<dt><em>Note</em>:</dt> +<dd><p>See <a href="ICHAR.html#ICHAR">ICHAR</a> for a discussion of converting between numerical values +and formatted string representations. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ACHAR.html#ACHAR">ACHAR</a>, <br> +<a href="CHAR.html#CHAR">CHAR</a>, <br> +<a href="ICHAR.html#ICHAR">ICHAR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/IALL.html b/share/doc/gfortran/IALL.html new file mode 100644 index 0000000..e7c711d --- /dev/null +++ b/share/doc/gfortran/IALL.html @@ -0,0 +1,151 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: IALL</title> + +<meta name="description" content="The GNU Fortran Compiler: IALL"> +<meta name="keywords" content="The GNU Fortran Compiler: IALL"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="IAND.html#IAND" rel="next" title="IAND"> +<link href="IACHAR.html#IACHAR" rel="previous" title="IACHAR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="IALL"></a> +<div class="header"> +<p> +Next: <a href="IAND.html#IAND" accesskey="n" rel="next">IAND</a>, Previous: <a href="IACHAR.html#IACHAR" accesskey="p" rel="previous">IACHAR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="IALL-_002d_002d_002d-Bitwise-AND-of-array-elements"></a> +<h3 class="section">8.136 <code>IALL</code> — Bitwise AND of array elements</h3> +<a name="index-IALL"></a> +<a name="index-array_002c-AND"></a> +<a name="index-bits_002c-AND-of-array-elements"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Reduces with bitwise AND the elements of <var>ARRAY</var> along dimension <var>DIM</var> +if the corresponding element in <var>MASK</var> is <code>TRUE</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>RESULT = IALL(ARRAY[, MASK])</code></td></tr> +<tr><td width="80%"><code>RESULT = IALL(ARRAY, DIM[, MASK])</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ARRAY</var></td><td width="70%">Shall be an array of type <code>INTEGER</code></td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">(Optional) shall be a scalar of type +<code>INTEGER</code> with a value in the range from 1 to n, where n +equals the rank of <var>ARRAY</var>.</td></tr> +<tr><td width="15%"><var>MASK</var></td><td width="70%">(Optional) shall be of type <code>LOGICAL</code> +and either be a scalar or an array of the same shape as <var>ARRAY</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The result is of the same type as <var>ARRAY</var>. +</p> +<p>If <var>DIM</var> is absent, a scalar with the bitwise ALL of all elements in +<var>ARRAY</var> is returned. Otherwise, an array of rank n-1, where n equals +the rank of <var>ARRAY</var>, and a shape similar to that of <var>ARRAY</var> with +dimension <var>DIM</var> dropped is returned. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_iall + INTEGER(1) :: a(2) + + a(1) = b'00100100' + a(2) = b'01101010' + + ! prints 00100000 + PRINT '(b8.8)', IALL(a) +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="IANY.html#IANY">IANY</a>, <br> +<a href="IPARITY.html#IPARITY">IPARITY</a>, <br> +<a href="IAND.html#IAND">IAND</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/IAND.html b/share/doc/gfortran/IAND.html new file mode 100644 index 0000000..419021c --- /dev/null +++ b/share/doc/gfortran/IAND.html @@ -0,0 +1,157 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: IAND</title> + +<meta name="description" content="The GNU Fortran Compiler: IAND"> +<meta name="keywords" content="The GNU Fortran Compiler: IAND"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="IANY.html#IANY" rel="next" title="IANY"> +<link href="IALL.html#IALL" rel="previous" title="IALL"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="IAND"></a> +<div class="header"> +<p> +Next: <a href="IANY.html#IANY" accesskey="n" rel="next">IANY</a>, Previous: <a href="IALL.html#IALL" accesskey="p" rel="previous">IALL</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="IAND-_002d_002d_002d-Bitwise-logical-and"></a> +<h3 class="section">8.137 <code>IAND</code> — Bitwise logical and</h3> +<a name="index-IAND"></a> +<a name="index-BIAND"></a> +<a name="index-IIAND"></a> +<a name="index-JIAND"></a> +<a name="index-KIAND"></a> +<a name="index-bitwise-logical-and-1"></a> +<a name="index-logical-and_002c-bitwise-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Bitwise logical <code>AND</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later, with boz-literal-constant Fortran 2008 and later, has overloads that are GNU extensions +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = IAND(I, J)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">The type shall be <code>INTEGER</code> or a boz-literal-constant.</td></tr> +<tr><td width="15%"><var>J</var></td><td width="70%">The type shall be <code>INTEGER</code> with the same +kind type parameter as <var>I</var> or a boz-literal-constant. +<var>I</var> and <var>J</var> shall not both be boz-literal-constants.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return type is <code>INTEGER</code> with the kind type parameter of the +arguments. +A boz-literal-constant is converted to an <code>INTEGER</code> with the kind +type parameter of the other argument as-if a call to <a href="INT.html#INT">INT</a> occurred. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_iand + INTEGER :: a, b + DATA a / Z'F' /, b / Z'3' / + WRITE (*,*) IAND(a, b) +END PROGRAM +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>IAND(A)</code></td><td width="23%"><code>INTEGER A</code></td><td width="20%"><code>INTEGER</code></td><td width="33%">Fortran 90 and later</td></tr> +<tr><td width="20%"><code>BIAND(A)</code></td><td width="23%"><code>INTEGER(1) A</code></td><td width="20%"><code>INTEGER(1)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>IIAND(A)</code></td><td width="23%"><code>INTEGER(2) A</code></td><td width="20%"><code>INTEGER(2)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>JIAND(A)</code></td><td width="23%"><code>INTEGER(4) A</code></td><td width="20%"><code>INTEGER(4)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>KIAND(A)</code></td><td width="23%"><code>INTEGER(8) A</code></td><td width="20%"><code>INTEGER(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="IOR.html#IOR">IOR</a>, <br> +<a href="IEOR.html#IEOR">IEOR</a>, <br> +<a href="IBITS.html#IBITS">IBITS</a>, <br> +<a href="IBSET.html#IBSET">IBSET</a>, <br> +<a href="IBCLR.html#IBCLR">IBCLR</a>, <br> +<a href="NOT.html#NOT">NOT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/IANY.html b/share/doc/gfortran/IANY.html new file mode 100644 index 0000000..4f6fa7a --- /dev/null +++ b/share/doc/gfortran/IANY.html @@ -0,0 +1,151 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: IANY</title> + +<meta name="description" content="The GNU Fortran Compiler: IANY"> +<meta name="keywords" content="The GNU Fortran Compiler: IANY"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="IARGC.html#IARGC" rel="next" title="IARGC"> +<link href="IAND.html#IAND" rel="previous" title="IAND"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="IANY"></a> +<div class="header"> +<p> +Next: <a href="IARGC.html#IARGC" accesskey="n" rel="next">IARGC</a>, Previous: <a href="IAND.html#IAND" accesskey="p" rel="previous">IAND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="IANY-_002d_002d_002d-Bitwise-OR-of-array-elements"></a> +<h3 class="section">8.138 <code>IANY</code> — Bitwise OR of array elements</h3> +<a name="index-IANY"></a> +<a name="index-array_002c-OR"></a> +<a name="index-bits_002c-OR-of-array-elements"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Reduces with bitwise OR (inclusive or) the elements of <var>ARRAY</var> along +dimension <var>DIM</var> if the corresponding element in <var>MASK</var> is <code>TRUE</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>RESULT = IANY(ARRAY[, MASK])</code></td></tr> +<tr><td width="80%"><code>RESULT = IANY(ARRAY, DIM[, MASK])</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ARRAY</var></td><td width="70%">Shall be an array of type <code>INTEGER</code></td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">(Optional) shall be a scalar of type +<code>INTEGER</code> with a value in the range from 1 to n, where n +equals the rank of <var>ARRAY</var>.</td></tr> +<tr><td width="15%"><var>MASK</var></td><td width="70%">(Optional) shall be of type <code>LOGICAL</code> +and either be a scalar or an array of the same shape as <var>ARRAY</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The result is of the same type as <var>ARRAY</var>. +</p> +<p>If <var>DIM</var> is absent, a scalar with the bitwise OR of all elements in +<var>ARRAY</var> is returned. Otherwise, an array of rank n-1, where n equals +the rank of <var>ARRAY</var>, and a shape similar to that of <var>ARRAY</var> with +dimension <var>DIM</var> dropped is returned. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_iany + INTEGER(1) :: a(2) + + a(1) = b'00100100' + a(2) = b'01101010' + + ! prints 01101110 + PRINT '(b8.8)', IANY(a) +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="IPARITY.html#IPARITY">IPARITY</a>, <br> +<a href="IALL.html#IALL">IALL</a>, <br> +<a href="IOR.html#IOR">IOR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/IARGC.html b/share/doc/gfortran/IARGC.html new file mode 100644 index 0000000..bdf2e12 --- /dev/null +++ b/share/doc/gfortran/IARGC.html @@ -0,0 +1,135 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: IARGC</title> + +<meta name="description" content="The GNU Fortran Compiler: IARGC"> +<meta name="keywords" content="The GNU Fortran Compiler: IARGC"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="IBCLR.html#IBCLR" rel="next" title="IBCLR"> +<link href="IANY.html#IANY" rel="previous" title="IANY"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="IARGC"></a> +<div class="header"> +<p> +Next: <a href="IBCLR.html#IBCLR" accesskey="n" rel="next">IBCLR</a>, Previous: <a href="IANY.html#IANY" accesskey="p" rel="previous">IANY</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="IARGC-_002d_002d_002d-Get-the-number-of-command-line-arguments"></a> +<h3 class="section">8.139 <code>IARGC</code> — Get the number of command line arguments</h3> +<a name="index-IARGC"></a> +<a name="index-command_002dline-arguments-4"></a> +<a name="index-command_002dline-arguments_002c-number-of-1"></a> +<a name="index-arguments_002c-to-program-4"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>IARGC</code> returns the number of arguments passed on the +command line when the containing program was invoked. +</p> +<p>This intrinsic routine is provided for backwards compatibility with +GNU Fortran 77. In new code, programmers should consider the use of +the <a href="COMMAND_005fARGUMENT_005fCOUNT.html#COMMAND_005fARGUMENT_005fCOUNT">COMMAND_ARGUMENT_COUNT</a> intrinsic defined by the Fortran 2003 +standard. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = IARGC()</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><p>None +</p> +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The number of command line arguments, type <code>INTEGER(4)</code>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><p>See <a href="GETARG.html#GETARG">GETARG</a> +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p>GNU Fortran 77 compatibility subroutine: <br> +<a href="GETARG.html#GETARG">GETARG</a> <br> +Fortran 2003 functions and subroutines: <br> +<a href="GET_005fCOMMAND.html#GET_005fCOMMAND">GET_COMMAND</a>, <br> +<a href="GET_005fCOMMAND_005fARGUMENT.html#GET_005fCOMMAND_005fARGUMENT">GET_COMMAND_ARGUMENT</a>, <br> +<a href="COMMAND_005fARGUMENT_005fCOUNT.html#COMMAND_005fARGUMENT_005fCOUNT">COMMAND_ARGUMENT_COUNT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/IBCLR.html b/share/doc/gfortran/IBCLR.html new file mode 100644 index 0000000..d11835f --- /dev/null +++ b/share/doc/gfortran/IBCLR.html @@ -0,0 +1,144 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: IBCLR</title> + +<meta name="description" content="The GNU Fortran Compiler: IBCLR"> +<meta name="keywords" content="The GNU Fortran Compiler: IBCLR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="IBITS.html#IBITS" rel="next" title="IBITS"> +<link href="IARGC.html#IARGC" rel="previous" title="IARGC"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="IBCLR"></a> +<div class="header"> +<p> +Next: <a href="IBITS.html#IBITS" accesskey="n" rel="next">IBITS</a>, Previous: <a href="IARGC.html#IARGC" accesskey="p" rel="previous">IARGC</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="IBCLR-_002d_002d_002d-Clear-bit"></a> +<h3 class="section">8.140 <code>IBCLR</code> — Clear bit</h3> +<a name="index-IBCLR"></a> +<a name="index-BBCLR"></a> +<a name="index-IIBCLR"></a> +<a name="index-JIBCLR"></a> +<a name="index-KIBCLR"></a> +<a name="index-bits_002c-unset"></a> +<a name="index-bits_002c-clear"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>IBCLR</code> returns the value of <var>I</var> with the bit at position +<var>POS</var> set to zero. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later, has overloads that are GNU extensions +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = IBCLR(I, POS)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>POS</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of the same kind as +<var>I</var>. +</p> +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>IBCLR(A)</code></td><td width="23%"><code>INTEGER A</code></td><td width="20%"><code>INTEGER</code></td><td width="33%">Fortran 90 and later</td></tr> +<tr><td width="20%"><code>BBCLR(A)</code></td><td width="23%"><code>INTEGER(1) A</code></td><td width="20%"><code>INTEGER(1)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>IIBCLR(A)</code></td><td width="23%"><code>INTEGER(2) A</code></td><td width="20%"><code>INTEGER(2)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>JIBCLR(A)</code></td><td width="23%"><code>INTEGER(4) A</code></td><td width="20%"><code>INTEGER(4)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>KIBCLR(A)</code></td><td width="23%"><code>INTEGER(8) A</code></td><td width="20%"><code>INTEGER(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="IBITS.html#IBITS">IBITS</a>, <br> +<a href="IBSET.html#IBSET">IBSET</a>, <br> +<a href="IAND.html#IAND">IAND</a>, <br> +<a href="IOR.html#IOR">IOR</a>, <br> +<a href="IEOR.html#IEOR">IEOR</a>, <br> +<a href="MVBITS.html#MVBITS">MVBITS</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/IBITS.html b/share/doc/gfortran/IBITS.html new file mode 100644 index 0000000..2507cb3 --- /dev/null +++ b/share/doc/gfortran/IBITS.html @@ -0,0 +1,148 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: IBITS</title> + +<meta name="description" content="The GNU Fortran Compiler: IBITS"> +<meta name="keywords" content="The GNU Fortran Compiler: IBITS"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="IBSET.html#IBSET" rel="next" title="IBSET"> +<link href="IBCLR.html#IBCLR" rel="previous" title="IBCLR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="IBITS"></a> +<div class="header"> +<p> +Next: <a href="IBSET.html#IBSET" accesskey="n" rel="next">IBSET</a>, Previous: <a href="IBCLR.html#IBCLR" accesskey="p" rel="previous">IBCLR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="IBITS-_002d_002d_002d-Bit-extraction"></a> +<h3 class="section">8.141 <code>IBITS</code> — Bit extraction</h3> +<a name="index-IBITS"></a> +<a name="index-BBITS"></a> +<a name="index-IIBITS"></a> +<a name="index-JIBITS"></a> +<a name="index-KIBITS"></a> +<a name="index-bits_002c-get"></a> +<a name="index-bits_002c-extract"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>IBITS</code> extracts a field of length <var>LEN</var> from <var>I</var>, +starting from bit position <var>POS</var> and extending left for <var>LEN</var> +bits. The result is right-justified and the remaining bits are +zeroed. The value of <code>POS+LEN</code> must be less than or equal to the +value <code>BIT_SIZE(I)</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later, has overloads that are GNU extensions +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = IBITS(I, POS, LEN)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>POS</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>LEN</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of the same kind as +<var>I</var>. +</p> +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>IBITS(A)</code></td><td width="23%"><code>INTEGER A</code></td><td width="20%"><code>INTEGER</code></td><td width="33%">Fortran 90 and later</td></tr> +<tr><td width="20%"><code>BBITS(A)</code></td><td width="23%"><code>INTEGER(1) A</code></td><td width="20%"><code>INTEGER(1)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>IIBITS(A)</code></td><td width="23%"><code>INTEGER(2) A</code></td><td width="20%"><code>INTEGER(2)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>JIBITS(A)</code></td><td width="23%"><code>INTEGER(4) A</code></td><td width="20%"><code>INTEGER(4)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>KIBITS(A)</code></td><td width="23%"><code>INTEGER(8) A</code></td><td width="20%"><code>INTEGER(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="BIT_005fSIZE.html#BIT_005fSIZE">BIT_SIZE</a>, <br> +<a href="IBCLR.html#IBCLR">IBCLR</a>, <br> +<a href="IBSET.html#IBSET">IBSET</a>, <br> +<a href="IAND.html#IAND">IAND</a>, <br> +<a href="IOR.html#IOR">IOR</a>, <br> +<a href="IEOR.html#IEOR">IEOR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/IBSET.html b/share/doc/gfortran/IBSET.html new file mode 100644 index 0000000..0ddce5e --- /dev/null +++ b/share/doc/gfortran/IBSET.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: IBSET</title> + +<meta name="description" content="The GNU Fortran Compiler: IBSET"> +<meta name="keywords" content="The GNU Fortran Compiler: IBSET"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ICHAR.html#ICHAR" rel="next" title="ICHAR"> +<link href="IBITS.html#IBITS" rel="previous" title="IBITS"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="IBSET"></a> +<div class="header"> +<p> +Next: <a href="ICHAR.html#ICHAR" accesskey="n" rel="next">ICHAR</a>, Previous: <a href="IBITS.html#IBITS" accesskey="p" rel="previous">IBITS</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="IBSET-_002d_002d_002d-Set-bit"></a> +<h3 class="section">8.142 <code>IBSET</code> — Set bit</h3> +<a name="index-IBSET"></a> +<a name="index-BBSET"></a> +<a name="index-IIBSET"></a> +<a name="index-JIBSET"></a> +<a name="index-KIBSET"></a> +<a name="index-bits_002c-set"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>IBSET</code> returns the value of <var>I</var> with the bit at position +<var>POS</var> set to one. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later, has overloads that are GNU extensions +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = IBSET(I, POS)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>POS</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of the same kind as +<var>I</var>. +</p> +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>IBSET(A)</code></td><td width="23%"><code>INTEGER A</code></td><td width="20%"><code>INTEGER</code></td><td width="33%">Fortran 90 and later</td></tr> +<tr><td width="20%"><code>BBSET(A)</code></td><td width="23%"><code>INTEGER(1) A</code></td><td width="20%"><code>INTEGER(1)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>IIBSET(A)</code></td><td width="23%"><code>INTEGER(2) A</code></td><td width="20%"><code>INTEGER(2)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>JIBSET(A)</code></td><td width="23%"><code>INTEGER(4) A</code></td><td width="20%"><code>INTEGER(4)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>KIBSET(A)</code></td><td width="23%"><code>INTEGER(8) A</code></td><td width="20%"><code>INTEGER(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="IBCLR.html#IBCLR">IBCLR</a>, <br> +<a href="IBITS.html#IBITS">IBITS</a>, <br> +<a href="IAND.html#IAND">IAND</a>, <br> +<a href="IOR.html#IOR">IOR</a>, <br> +<a href="IEOR.html#IEOR">IEOR</a>, <br> +<a href="MVBITS.html#MVBITS">MVBITS</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ICHAR.html b/share/doc/gfortran/ICHAR.html new file mode 100644 index 0000000..d83537d --- /dev/null +++ b/share/doc/gfortran/ICHAR.html @@ -0,0 +1,173 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ICHAR</title> + +<meta name="description" content="The GNU Fortran Compiler: ICHAR"> +<meta name="keywords" content="The GNU Fortran Compiler: ICHAR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="IDATE.html#IDATE" rel="next" title="IDATE"> +<link href="IBSET.html#IBSET" rel="previous" title="IBSET"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ICHAR"></a> +<div class="header"> +<p> +Next: <a href="IDATE.html#IDATE" accesskey="n" rel="next">IDATE</a>, Previous: <a href="IBSET.html#IBSET" accesskey="p" rel="previous">IBSET</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ICHAR-_002d_002d_002d-Character_002dto_002dinteger-conversion-function"></a> +<h3 class="section">8.143 <code>ICHAR</code> — Character-to-integer conversion function</h3> +<a name="index-ICHAR"></a> +<a name="index-conversion_002c-to-integer-2"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ICHAR(C)</code> returns the code for the character in the first character +position of <code>C</code> in the system’s native character set. +The correspondence between characters and their codes is not necessarily +the same across different GNU Fortran implementations. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later, with <var>KIND</var> argument Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ICHAR(C [, KIND])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>C</var></td><td width="70%">Shall be a scalar <code>CHARACTER</code>, with <code>INTENT(IN)</code></td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of kind <var>KIND</var>. If +<var>KIND</var> is absent, the return value is of default integer kind. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_ichar + integer i + i = ichar(' ') +end program test_ichar +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>ICHAR(C)</code></td><td width="23%"><code>CHARACTER C</code></td><td width="20%"><code>INTEGER(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +</table> + +</dd> +<dt><em>Note</em>:</dt> +<dd><p>No intrinsic exists to convert between a numeric value and a formatted +character string representation – for instance, given the +<code>CHARACTER</code> value <code>'154'</code>, obtaining an <code>INTEGER</code> or +<code>REAL</code> value with the value 154, or vice versa. Instead, this +functionality is provided by internal-file I/O, as in the following +example: +</p><div class="smallexample"> +<pre class="smallexample">program read_val + integer value + character(len=10) string, string2 + string = '154' + + ! Convert a string to a numeric value + read (string,'(I10)') value + print *, value + + ! Convert a value to a formatted string + write (string2,'(I10)') value + print *, string2 +end program read_val +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ACHAR.html#ACHAR">ACHAR</a>, <br> +<a href="CHAR.html#CHAR">CHAR</a>, <br> +<a href="IACHAR.html#IACHAR">IACHAR</a> +</p></dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="IDATE.html#IDATE" accesskey="n" rel="next">IDATE</a>, Previous: <a href="IBSET.html#IBSET" accesskey="p" rel="previous">IBSET</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/IDATE.html b/share/doc/gfortran/IDATE.html new file mode 100644 index 0000000..9f7778b --- /dev/null +++ b/share/doc/gfortran/IDATE.html @@ -0,0 +1,141 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: IDATE</title> + +<meta name="description" content="The GNU Fortran Compiler: IDATE"> +<meta name="keywords" content="The GNU Fortran Compiler: IDATE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="IEOR.html#IEOR" rel="next" title="IEOR"> +<link href="ICHAR.html#ICHAR" rel="previous" title="ICHAR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="IDATE"></a> +<div class="header"> +<p> +Next: <a href="IEOR.html#IEOR" accesskey="n" rel="next">IEOR</a>, Previous: <a href="ICHAR.html#ICHAR" accesskey="p" rel="previous">ICHAR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="IDATE-_002d_002d_002d-Get-current-local-time-subroutine-_0028day_002fmonth_002fyear_0029"></a> +<h3 class="section">8.144 <code>IDATE</code> — Get current local time subroutine (day/month/year)</h3> +<a name="index-IDATE"></a> +<a name="index-date_002c-current-2"></a> +<a name="index-current-date-2"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>IDATE(VALUES)</code> Fills <var>VALUES</var> with the numerical values at the +current local time. The day (in the range 1-31), month (in the range 1-12), +and year appear in elements 1, 2, and 3 of <var>VALUES</var>, respectively. +The year has four significant digits. +</p> +<p>This intrinsic routine is provided for backwards compatibility with +GNU Fortran 77. In new code, programmers should consider the use of +the <a href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME">DATE_AND_TIME</a> intrinsic defined by the Fortran 95 +standard. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL IDATE(VALUES)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>VALUES</var></td><td width="70%">The type shall be <code>INTEGER, DIMENSION(3)</code> and +the kind shall be the default integer kind.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Does not return anything. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_idate + integer, dimension(3) :: tarray + call idate(tarray) + print *, tarray(1) + print *, tarray(2) + print *, tarray(3) +end program test_idate +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME">DATE_AND_TIME</a> +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/IEEE-modules.html b/share/doc/gfortran/IEEE-modules.html new file mode 100644 index 0000000..fca8b56 --- /dev/null +++ b/share/doc/gfortran/IEEE-modules.html @@ -0,0 +1,110 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: IEEE modules</title> + +<meta name="description" content="The GNU Fortran Compiler: IEEE modules"> +<meta name="keywords" content="The GNU Fortran Compiler: IEEE modules"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Modules.html#Intrinsic-Modules" rel="up" title="Intrinsic Modules"> +<link href="OpenMP-Modules-OMP_005fLIB-and-OMP_005fLIB_005fKINDS.html#OpenMP-Modules-OMP_005fLIB-and-OMP_005fLIB_005fKINDS" rel="next" title="OpenMP Modules OMP_LIB and OMP_LIB_KINDS"> +<link href="ISO_005fC_005fBINDING.html#ISO_005fC_005fBINDING" rel="previous" title="ISO_C_BINDING"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="IEEE-modules"></a> +<div class="header"> +<p> +Next: <a href="OpenMP-Modules-OMP_005fLIB-and-OMP_005fLIB_005fKINDS.html#OpenMP-Modules-OMP_005fLIB-and-OMP_005fLIB_005fKINDS" accesskey="n" rel="next">OpenMP Modules OMP_LIB and OMP_LIB_KINDS</a>, Previous: <a href="ISO_005fC_005fBINDING.html#ISO_005fC_005fBINDING" accesskey="p" rel="previous">ISO_C_BINDING</a>, Up: <a href="Intrinsic-Modules.html#Intrinsic-Modules" accesskey="u" rel="up">Intrinsic Modules</a> [<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> +</div> +<hr> +<a name="IEEE-modules_003a-IEEE_005fEXCEPTIONS_002c-IEEE_005fARITHMETIC_002c-and-IEEE_005fFEATURES"></a> +<h3 class="section">9.3 IEEE modules: <code>IEEE_EXCEPTIONS</code>, <code>IEEE_ARITHMETIC</code>, and <code>IEEE_FEATURES</code></h3> +<dl compact="compact"> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2003 and later +</p></dd> +</dl> + +<p>The <code>IEEE_EXCEPTIONS</code>, <code>IEEE_ARITHMETIC</code>, and <code>IEEE_FEATURES</code> +intrinsic modules provide support for exceptions and IEEE arithmetic, as +defined in Fortran 2003 and later standards, and the IEC 60559:1989 standard +(<em>Binary floating-point arithmetic for microprocessor systems</em>). These +modules are only provided on the following supported platforms: +</p> +<ul> +<li> i386 and x86_64 processors +</li><li> platforms which use the GNU C Library (glibc) +</li><li> platforms with support for SysV/386 routines for floating point +interface (including Solaris and BSDs) +</li><li> platforms with the AIX OS +</li></ul> + +<p>For full compliance with the Fortran standards, code using the +<code>IEEE_EXCEPTIONS</code> or <code>IEEE_ARITHMETIC</code> modules should be compiled +with the following options: <code>-fno-unsafe-math-optimizations +-frounding-math -fsignaling-nans</code>. +</p> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/IEOR.html b/share/doc/gfortran/IEOR.html new file mode 100644 index 0000000..1b63632 --- /dev/null +++ b/share/doc/gfortran/IEOR.html @@ -0,0 +1,148 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: IEOR</title> + +<meta name="description" content="The GNU Fortran Compiler: IEOR"> +<meta name="keywords" content="The GNU Fortran Compiler: IEOR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="IERRNO.html#IERRNO" rel="next" title="IERRNO"> +<link href="IDATE.html#IDATE" rel="previous" title="IDATE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="IEOR"></a> +<div class="header"> +<p> +Next: <a href="IERRNO.html#IERRNO" accesskey="n" rel="next">IERRNO</a>, Previous: <a href="IDATE.html#IDATE" accesskey="p" rel="previous">IDATE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="IEOR-_002d_002d_002d-Bitwise-logical-exclusive-or"></a> +<h3 class="section">8.145 <code>IEOR</code> — Bitwise logical exclusive or</h3> +<a name="index-IEOR"></a> +<a name="index-BIEOR"></a> +<a name="index-IIEOR"></a> +<a name="index-JIEOR"></a> +<a name="index-KIEOR"></a> +<a name="index-bitwise-logical-exclusive-or"></a> +<a name="index-logical-exclusive-or_002c-bitwise"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>IEOR</code> returns the bitwise Boolean exclusive-OR of <var>I</var> and +<var>J</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later, with boz-literal-constant Fortran 2008 and later, has overloads that are GNU extensions +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = IEOR(I, J)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">The type shall be <code>INTEGER</code> or a boz-literal-constant.</td></tr> +<tr><td width="15%"><var>J</var></td><td width="70%">The type shall be <code>INTEGER</code> with the same +kind type parameter as <var>I</var> or a boz-literal-constant. +<var>I</var> and <var>J</var> shall not both be boz-literal-constants.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return type is <code>INTEGER</code> with the kind type parameter of the +arguments. +A boz-literal-constant is converted to an <code>INTEGER</code> with the kind +type parameter of the other argument as-if a call to <a href="INT.html#INT">INT</a> occurred. +</p> +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>IEOR(A)</code></td><td width="23%"><code>INTEGER A</code></td><td width="20%"><code>INTEGER</code></td><td width="33%">Fortran 90 and later</td></tr> +<tr><td width="20%"><code>BIEOR(A)</code></td><td width="23%"><code>INTEGER(1) A</code></td><td width="20%"><code>INTEGER(1)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>IIEOR(A)</code></td><td width="23%"><code>INTEGER(2) A</code></td><td width="20%"><code>INTEGER(2)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>JIEOR(A)</code></td><td width="23%"><code>INTEGER(4) A</code></td><td width="20%"><code>INTEGER(4)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>KIEOR(A)</code></td><td width="23%"><code>INTEGER(8) A</code></td><td width="20%"><code>INTEGER(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="IOR.html#IOR">IOR</a>, <br> +<a href="IAND.html#IAND">IAND</a>, <br> +<a href="IBITS.html#IBITS">IBITS</a>, <br> +<a href="IBSET.html#IBSET">IBSET</a>, <br> +<a href="IBCLR.html#IBCLR">IBCLR</a>, <br> +<a href="NOT.html#NOT">NOT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/IERRNO.html b/share/doc/gfortran/IERRNO.html new file mode 100644 index 0000000..f43cc36 --- /dev/null +++ b/share/doc/gfortran/IERRNO.html @@ -0,0 +1,120 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: IERRNO</title> + +<meta name="description" content="The GNU Fortran Compiler: IERRNO"> +<meta name="keywords" content="The GNU Fortran Compiler: IERRNO"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="IMAGE_005fINDEX.html#IMAGE_005fINDEX" rel="next" title="IMAGE_INDEX"> +<link href="IEOR.html#IEOR" rel="previous" title="IEOR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="IERRNO"></a> +<div class="header"> +<p> +Next: <a href="IMAGE_005fINDEX.html#IMAGE_005fINDEX" accesskey="n" rel="next">IMAGE_INDEX</a>, Previous: <a href="IEOR.html#IEOR" accesskey="p" rel="previous">IEOR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="IERRNO-_002d_002d_002d-Get-the-last-system-error-number"></a> +<h3 class="section">8.146 <code>IERRNO</code> — Get the last system error number</h3> +<a name="index-IERRNO"></a> +<a name="index-system_002c-error-handling-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the last system error number, as given by the C <code>errno</code> +variable. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = IERRNO()</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><p>None +</p> +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of the default integer +kind. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="PERROR.html#PERROR">PERROR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/IMAGE_005fINDEX.html b/share/doc/gfortran/IMAGE_005fINDEX.html new file mode 100644 index 0000000..b1f681f --- /dev/null +++ b/share/doc/gfortran/IMAGE_005fINDEX.html @@ -0,0 +1,134 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: IMAGE_INDEX</title> + +<meta name="description" content="The GNU Fortran Compiler: IMAGE_INDEX"> +<meta name="keywords" content="The GNU Fortran Compiler: IMAGE_INDEX"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="INDEX-intrinsic.html#INDEX-intrinsic" rel="next" title="INDEX intrinsic"> +<link href="IERRNO.html#IERRNO" rel="previous" title="IERRNO"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="IMAGE_005fINDEX"></a> +<div class="header"> +<p> +Next: <a href="INDEX-intrinsic.html#INDEX-intrinsic" accesskey="n" rel="next">INDEX intrinsic</a>, Previous: <a href="IERRNO.html#IERRNO" accesskey="p" rel="previous">IERRNO</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="IMAGE_005fINDEX-_002d_002d_002d-Function-that-converts-a-cosubscript-to-an-image-index"></a> +<h3 class="section">8.147 <code>IMAGE_INDEX</code> — Function that converts a cosubscript to an image index</h3> +<a name="index-IMAGE_005fINDEX"></a> +<a name="index-coarray_002c-IMAGE_005fINDEX"></a> +<a name="index-images_002c-cosubscript-to-image-index-conversion"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the image index belonging to a cosubscript. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = IMAGE_INDEX(COARRAY, SUB)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>COARRAY</var></td><td width="70%">Coarray of any type.</td></tr> +<tr><td width="15%"><var>SUB</var></td><td width="70%">default integer rank-1 array of a size equal to +the corank of <var>COARRAY</var>.</td></tr> +</table> + + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Scalar default integer with the value of the image index which corresponds +to the cosubscripts. For invalid cosubscripts the result is zero. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">INTEGER :: array[2,-1:4,8,*] +! Writes 28 (or 0 if there are fewer than 28 images) +WRITE (*,*) IMAGE_INDEX (array, [2,0,3,1]) +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="THIS_005fIMAGE.html#THIS_005fIMAGE">THIS_IMAGE</a>, <br> +<a href="NUM_005fIMAGES.html#NUM_005fIMAGES">NUM_IMAGES</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/INDEX-intrinsic.html b/share/doc/gfortran/INDEX-intrinsic.html new file mode 100644 index 0000000..122475e --- /dev/null +++ b/share/doc/gfortran/INDEX-intrinsic.html @@ -0,0 +1,141 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: INDEX intrinsic</title> + +<meta name="description" content="The GNU Fortran Compiler: INDEX intrinsic"> +<meta name="keywords" content="The GNU Fortran Compiler: INDEX intrinsic"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="INT.html#INT" rel="next" title="INT"> +<link href="IMAGE_005fINDEX.html#IMAGE_005fINDEX" rel="previous" title="IMAGE_INDEX"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="INDEX-intrinsic"></a> +<div class="header"> +<p> +Next: <a href="INT.html#INT" accesskey="n" rel="next">INT</a>, Previous: <a href="IMAGE_005fINDEX.html#IMAGE_005fINDEX" accesskey="p" rel="previous">IMAGE_INDEX</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="INDEX-_002d_002d_002d-Position-of-a-substring-within-a-string"></a> +<h3 class="section">8.148 <code>INDEX</code> — Position of a substring within a string</h3> +<a name="index-INDEX"></a> +<a name="index-substring-position"></a> +<a name="index-string_002c-find-substring"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the position of the start of the first occurrence of string +<var>SUBSTRING</var> as a substring in <var>STRING</var>, counting from one. If +<var>SUBSTRING</var> is not present in <var>STRING</var>, zero is returned. If +the <var>BACK</var> argument is present and true, the return value is the +start of the last occurrence rather than the first. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later, with <var>KIND</var> argument Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = INDEX(STRING, SUBSTRING [, BACK [, KIND]])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>STRING</var></td><td width="70%">Shall be a scalar <code>CHARACTER</code>, with +<code>INTENT(IN)</code></td></tr> +<tr><td width="15%"><var>SUBSTRING</var></td><td width="70%">Shall be a scalar <code>CHARACTER</code>, with +<code>INTENT(IN)</code></td></tr> +<tr><td width="15%"><var>BACK</var></td><td width="70%">(Optional) Shall be a scalar <code>LOGICAL</code>, with +<code>INTENT(IN)</code></td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of kind <var>KIND</var>. If +<var>KIND</var> is absent, the return value is of default integer kind. +</p> +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="35%">Name</th><th width="15%">Argument</th><th width="17%">Return type</th><th width="30%">Standard</th></tr></thead> +<tr><td width="35%"><code>INDEX(STRING,SUBSTRING)</code></td><td width="15%"><code>CHARACTER</code></td><td width="17%"><code>INTEGER(4)</code></td><td width="30%">Fortran 77 and later</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="SCAN.html#SCAN">SCAN</a>, <br> +<a href="VERIFY.html#VERIFY">VERIFY</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/INT.html b/share/doc/gfortran/INT.html new file mode 100644 index 0000000..61df0ad --- /dev/null +++ b/share/doc/gfortran/INT.html @@ -0,0 +1,157 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: INT</title> + +<meta name="description" content="The GNU Fortran Compiler: INT"> +<meta name="keywords" content="The GNU Fortran Compiler: INT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="INT2.html#INT2" rel="next" title="INT2"> +<link href="INDEX-intrinsic.html#INDEX-intrinsic" rel="previous" title="INDEX intrinsic"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="INT"></a> +<div class="header"> +<p> +Next: <a href="INT2.html#INT2" accesskey="n" rel="next">INT2</a>, Previous: <a href="INDEX-intrinsic.html#INDEX-intrinsic" accesskey="p" rel="previous">INDEX intrinsic</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="INT-_002d_002d_002d-Convert-to-integer-type"></a> +<h3 class="section">8.149 <code>INT</code> — Convert to integer type</h3> +<a name="index-INT"></a> +<a name="index-IFIX"></a> +<a name="index-IDINT"></a> +<a name="index-conversion_002c-to-integer-3"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Convert to integer type +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later, with boz-literal-constant Fortran 2008 and later. +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = INT(A [, KIND))</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>A</var></td><td width="70%">Shall be of type <code>INTEGER</code>, +<code>REAL</code>, or <code>COMPLEX</code> or a boz-literal-constant.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>These functions return a <code>INTEGER</code> variable or array under +the following rules: +</p> +<dl compact="compact"> +<dt>(A)</dt> +<dd><p>If <var>A</var> is of type <code>INTEGER</code>, <code>INT(A) = A</code> +</p></dd> +<dt>(B)</dt> +<dd><p>If <var>A</var> is of type <code>REAL</code> and <em>|A| < 1</em>, <code>INT(A)</code> +equals <code>0</code>. If <em>|A| \geq 1</em>, then <code>INT(A)</code> is the integer +whose magnitude is the largest integer that does not exceed the magnitude +of <var>A</var> and whose sign is the same as the sign of <var>A</var>. +</p></dd> +<dt>(C)</dt> +<dd><p>If <var>A</var> is of type <code>COMPLEX</code>, rule B is applied to the real part of <var>A</var>. +</p></dd> +</dl> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_int + integer :: i = 42 + complex :: z = (-3.7, 1.0) + print *, int(i) + print *, int(z), int(z,8) +end program +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>INT(A)</code></td><td width="23%"><code>REAL(4) A</code></td><td width="20%"><code>INTEGER</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>IFIX(A)</code></td><td width="23%"><code>REAL(4) A</code></td><td width="20%"><code>INTEGER</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>IDINT(A)</code></td><td width="23%"><code>REAL(8) A</code></td><td width="20%"><code>INTEGER</code></td><td width="33%">Fortran 77 and later</td></tr> +</table> + +</dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/INT2.html b/share/doc/gfortran/INT2.html new file mode 100644 index 0000000..93b8964 --- /dev/null +++ b/share/doc/gfortran/INT2.html @@ -0,0 +1,124 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: INT2</title> + +<meta name="description" content="The GNU Fortran Compiler: INT2"> +<meta name="keywords" content="The GNU Fortran Compiler: INT2"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="INT8.html#INT8" rel="next" title="INT8"> +<link href="INT.html#INT" rel="previous" title="INT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="INT2"></a> +<div class="header"> +<p> +Next: <a href="INT8.html#INT8" accesskey="n" rel="next">INT8</a>, Previous: <a href="INT.html#INT" accesskey="p" rel="previous">INT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="INT2-_002d_002d_002d-Convert-to-16_002dbit-integer-type"></a> +<h3 class="section">8.150 <code>INT2</code> — Convert to 16-bit integer type</h3> +<a name="index-INT2"></a> +<a name="index-conversion_002c-to-integer-4"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Convert to a <code>KIND=2</code> integer type. This is equivalent to the +standard <code>INT</code> intrinsic with an optional argument of +<code>KIND=2</code>, and is only included for backwards compatibility. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = INT2(A)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>A</var></td><td width="70%">Shall be of type <code>INTEGER</code>, +<code>REAL</code>, or <code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is a <code>INTEGER(2)</code> variable. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="INT.html#INT">INT</a>, <br> +<a href="INT8.html#INT8">INT8</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/INT8.html b/share/doc/gfortran/INT8.html new file mode 100644 index 0000000..101f038 --- /dev/null +++ b/share/doc/gfortran/INT8.html @@ -0,0 +1,124 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: INT8</title> + +<meta name="description" content="The GNU Fortran Compiler: INT8"> +<meta name="keywords" content="The GNU Fortran Compiler: INT8"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="IOR.html#IOR" rel="next" title="IOR"> +<link href="INT2.html#INT2" rel="previous" title="INT2"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="INT8"></a> +<div class="header"> +<p> +Next: <a href="IOR.html#IOR" accesskey="n" rel="next">IOR</a>, Previous: <a href="INT2.html#INT2" accesskey="p" rel="previous">INT2</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="INT8-_002d_002d_002d-Convert-to-64_002dbit-integer-type"></a> +<h3 class="section">8.151 <code>INT8</code> — Convert to 64-bit integer type</h3> +<a name="index-INT8"></a> +<a name="index-conversion_002c-to-integer-5"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Convert to a <code>KIND=8</code> integer type. This is equivalent to the +standard <code>INT</code> intrinsic with an optional argument of +<code>KIND=8</code>, and is only included for backwards compatibility. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = INT8(A)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>A</var></td><td width="70%">Shall be of type <code>INTEGER</code>, +<code>REAL</code>, or <code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is a <code>INTEGER(8)</code> variable. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="INT.html#INT">INT</a>, <br> +<a href="INT2.html#INT2">INT2</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/IOR.html b/share/doc/gfortran/IOR.html new file mode 100644 index 0000000..ea57094 --- /dev/null +++ b/share/doc/gfortran/IOR.html @@ -0,0 +1,148 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: IOR</title> + +<meta name="description" content="The GNU Fortran Compiler: IOR"> +<meta name="keywords" content="The GNU Fortran Compiler: IOR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="IPARITY.html#IPARITY" rel="next" title="IPARITY"> +<link href="INT8.html#INT8" rel="previous" title="INT8"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="IOR"></a> +<div class="header"> +<p> +Next: <a href="IPARITY.html#IPARITY" accesskey="n" rel="next">IPARITY</a>, Previous: <a href="INT8.html#INT8" accesskey="p" rel="previous">INT8</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="IOR-_002d_002d_002d-Bitwise-logical-or"></a> +<h3 class="section">8.152 <code>IOR</code> — Bitwise logical or</h3> +<a name="index-IOR"></a> +<a name="index-BIOR"></a> +<a name="index-IIOR"></a> +<a name="index-JIOR"></a> +<a name="index-KIOR"></a> +<a name="index-bitwise-logical-or"></a> +<a name="index-logical-or_002c-bitwise"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>IOR</code> returns the bitwise Boolean inclusive-OR of <var>I</var> and +<var>J</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later, with boz-literal-constant Fortran 2008 and later, has overloads that are GNU extensions +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = IOR(I, J)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">The type shall be <code>INTEGER</code> or a boz-literal-constant.</td></tr> +<tr><td width="15%"><var>J</var></td><td width="70%">The type shall be <code>INTEGER</code> with the same +kind type parameter as <var>I</var> or a boz-literal-constant. +<var>I</var> and <var>J</var> shall not both be boz-literal-constants.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return type is <code>INTEGER</code> with the kind type parameter of the +arguments. +A boz-literal-constant is converted to an <code>INTEGER</code> with the kind +type parameter of the other argument as-if a call to <a href="INT.html#INT">INT</a> occurred. +</p> +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>IOR(A)</code></td><td width="23%"><code>INTEGER A</code></td><td width="20%"><code>INTEGER</code></td><td width="33%">Fortran 90 and later</td></tr> +<tr><td width="20%"><code>BIOR(A)</code></td><td width="23%"><code>INTEGER(1) A</code></td><td width="20%"><code>INTEGER(1)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>IIOR(A)</code></td><td width="23%"><code>INTEGER(2) A</code></td><td width="20%"><code>INTEGER(2)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>JIOR(A)</code></td><td width="23%"><code>INTEGER(4) A</code></td><td width="20%"><code>INTEGER(4)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>KIOR(A)</code></td><td width="23%"><code>INTEGER(8) A</code></td><td width="20%"><code>INTEGER(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="IEOR.html#IEOR">IEOR</a>, <br> +<a href="IAND.html#IAND">IAND</a>, <br> +<a href="IBITS.html#IBITS">IBITS</a>, <br> +<a href="IBSET.html#IBSET">IBSET</a>, <br> +<a href="IBCLR.html#IBCLR">IBCLR</a>, <br> +<a href="NOT.html#NOT">NOT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/IPARITY.html b/share/doc/gfortran/IPARITY.html new file mode 100644 index 0000000..1015909 --- /dev/null +++ b/share/doc/gfortran/IPARITY.html @@ -0,0 +1,153 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: IPARITY</title> + +<meta name="description" content="The GNU Fortran Compiler: IPARITY"> +<meta name="keywords" content="The GNU Fortran Compiler: IPARITY"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="IRAND.html#IRAND" rel="next" title="IRAND"> +<link href="IOR.html#IOR" rel="previous" title="IOR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="IPARITY"></a> +<div class="header"> +<p> +Next: <a href="IRAND.html#IRAND" accesskey="n" rel="next">IRAND</a>, Previous: <a href="IOR.html#IOR" accesskey="p" rel="previous">IOR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="IPARITY-_002d_002d_002d-Bitwise-XOR-of-array-elements"></a> +<h3 class="section">8.153 <code>IPARITY</code> — Bitwise XOR of array elements</h3> +<a name="index-IPARITY"></a> +<a name="index-array_002c-parity"></a> +<a name="index-array_002c-XOR"></a> +<a name="index-bits_002c-XOR-of-array-elements"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Reduces with bitwise XOR (exclusive or) the elements of <var>ARRAY</var> along +dimension <var>DIM</var> if the corresponding element in <var>MASK</var> is <code>TRUE</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>RESULT = IPARITY(ARRAY[, MASK])</code></td></tr> +<tr><td width="80%"><code>RESULT = IPARITY(ARRAY, DIM[, MASK])</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ARRAY</var></td><td width="70%">Shall be an array of type <code>INTEGER</code></td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">(Optional) shall be a scalar of type +<code>INTEGER</code> with a value in the range from 1 to n, where n +equals the rank of <var>ARRAY</var>.</td></tr> +<tr><td width="15%"><var>MASK</var></td><td width="70%">(Optional) shall be of type <code>LOGICAL</code> +and either be a scalar or an array of the same shape as <var>ARRAY</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The result is of the same type as <var>ARRAY</var>. +</p> +<p>If <var>DIM</var> is absent, a scalar with the bitwise XOR of all elements in +<var>ARRAY</var> is returned. Otherwise, an array of rank n-1, where n equals +the rank of <var>ARRAY</var>, and a shape similar to that of <var>ARRAY</var> with +dimension <var>DIM</var> dropped is returned. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_iparity + INTEGER(1) :: a(2) + + a(1) = int(b'00100100', 1) + a(2) = int(b'01101010', 1) + + ! prints 01001110 + PRINT '(b8.8)', IPARITY(a) +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="IANY.html#IANY">IANY</a>, <br> +<a href="IALL.html#IALL">IALL</a>, <br> +<a href="IEOR.html#IEOR">IEOR</a>, <br> +<a href="PARITY.html#PARITY">PARITY</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/IRAND.html b/share/doc/gfortran/IRAND.html new file mode 100644 index 0000000..b199630 --- /dev/null +++ b/share/doc/gfortran/IRAND.html @@ -0,0 +1,139 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: IRAND</title> + +<meta name="description" content="The GNU Fortran Compiler: IRAND"> +<meta name="keywords" content="The GNU Fortran Compiler: IRAND"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="IS_005fCONTIGUOUS.html#IS_005fCONTIGUOUS" rel="next" title="IS_CONTIGUOUS"> +<link href="IPARITY.html#IPARITY" rel="previous" title="IPARITY"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="IRAND"></a> +<div class="header"> +<p> +Next: <a href="IS_005fCONTIGUOUS.html#IS_005fCONTIGUOUS" accesskey="n" rel="next">IS_CONTIGUOUS</a>, Previous: <a href="IPARITY.html#IPARITY" accesskey="p" rel="previous">IPARITY</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="IRAND-_002d_002d_002d-Integer-pseudo_002drandom-number"></a> +<h3 class="section">8.154 <code>IRAND</code> — Integer pseudo-random number</h3> +<a name="index-IRAND"></a> +<a name="index-random-number-generation"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>IRAND(FLAG)</code> returns a pseudo-random number from a uniform +distribution between 0 and a system-dependent limit (which is in most +cases 2147483647). If <var>FLAG</var> is 0, the next number +in the current sequence is returned; if <var>FLAG</var> is 1, the generator +is restarted by <code>CALL SRAND(0)</code>; if <var>FLAG</var> has any other value, +it is used as a new seed with <code>SRAND</code>. +</p> +<p>This intrinsic routine is provided for backwards compatibility with +GNU Fortran 77. It implements a simple modulo generator as provided +by <code>g77</code>. For new code, one should consider the use of +<a href="RANDOM_005fNUMBER.html#RANDOM_005fNUMBER">RANDOM_NUMBER</a> as it implements a superior algorithm. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = IRAND(I)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">Shall be a scalar <code>INTEGER</code> of kind 4.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of <code>INTEGER(kind=4)</code> type. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_irand + integer,parameter :: seed = 86456 + + call srand(seed) + print *, irand(), irand(), irand(), irand() + print *, irand(seed), irand(), irand(), irand() +end program test_irand +</pre></div> + +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ISATTY.html b/share/doc/gfortran/ISATTY.html new file mode 100644 index 0000000..688bdbd --- /dev/null +++ b/share/doc/gfortran/ISATTY.html @@ -0,0 +1,131 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ISATTY</title> + +<meta name="description" content="The GNU Fortran Compiler: ISATTY"> +<meta name="keywords" content="The GNU Fortran Compiler: ISATTY"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ISHFT.html#ISHFT" rel="next" title="ISHFT"> +<link href="IS_005fIOSTAT_005fEOR.html#IS_005fIOSTAT_005fEOR" rel="previous" title="IS_IOSTAT_EOR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ISATTY"></a> +<div class="header"> +<p> +Next: <a href="ISHFT.html#ISHFT" accesskey="n" rel="next">ISHFT</a>, Previous: <a href="IS_005fIOSTAT_005fEOR.html#IS_005fIOSTAT_005fEOR" accesskey="p" rel="previous">IS_IOSTAT_EOR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ISATTY-_002d_002d_002d-Whether-a-unit-is-a-terminal-device"></a> +<h3 class="section">8.158 <code>ISATTY</code> — Whether a unit is a terminal device</h3> +<a name="index-ISATTY"></a> +<a name="index-system_002c-terminal"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Determine whether a unit is connected to a terminal device. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ISATTY(UNIT)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>UNIT</var></td><td width="70%">Shall be a scalar <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Returns <code>.TRUE.</code> if the <var>UNIT</var> is connected to a terminal +device, <code>.FALSE.</code> otherwise. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_isatty + INTEGER(kind=1) :: unit + DO unit = 1, 10 + write(*,*) isatty(unit=unit) + END DO +END PROGRAM +</pre></div> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="TTYNAM.html#TTYNAM">TTYNAM</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ISHFT.html b/share/doc/gfortran/ISHFT.html new file mode 100644 index 0000000..214669f --- /dev/null +++ b/share/doc/gfortran/ISHFT.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ISHFT</title> + +<meta name="description" content="The GNU Fortran Compiler: ISHFT"> +<meta name="keywords" content="The GNU Fortran Compiler: ISHFT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ISHFTC.html#ISHFTC" rel="next" title="ISHFTC"> +<link href="ISATTY.html#ISATTY" rel="previous" title="ISATTY"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ISHFT"></a> +<div class="header"> +<p> +Next: <a href="ISHFTC.html#ISHFTC" accesskey="n" rel="next">ISHFTC</a>, Previous: <a href="ISATTY.html#ISATTY" accesskey="p" rel="previous">ISATTY</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ISHFT-_002d_002d_002d-Shift-bits"></a> +<h3 class="section">8.159 <code>ISHFT</code> — Shift bits</h3> +<a name="index-ISHFT"></a> +<a name="index-BSHFT"></a> +<a name="index-IISHFT"></a> +<a name="index-JISHFT"></a> +<a name="index-KISHFT"></a> +<a name="index-bits_002c-shift"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ISHFT</code> returns a value corresponding to <var>I</var> with all of the +bits shifted <var>SHIFT</var> places. A value of <var>SHIFT</var> greater than +zero corresponds to a left shift, a value of zero corresponds to no +shift, and a value less than zero corresponds to a right shift. If the +absolute value of <var>SHIFT</var> is greater than <code>BIT_SIZE(I)</code>, the +value is undefined. Bits shifted out from the left end or right end are +lost; zeros are shifted in from the opposite end. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later, has overloads that are GNU extensions +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ISHFT(I, SHIFT)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>SHIFT</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of the same kind as +<var>I</var>. +</p> +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>ISHFT(A)</code></td><td width="23%"><code>INTEGER A</code></td><td width="20%"><code>INTEGER</code></td><td width="33%">Fortran 90 and later</td></tr> +<tr><td width="20%"><code>BSHFT(A)</code></td><td width="23%"><code>INTEGER(1) A</code></td><td width="20%"><code>INTEGER(1)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>IISHFT(A)</code></td><td width="23%"><code>INTEGER(2) A</code></td><td width="20%"><code>INTEGER(2)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>JISHFT(A)</code></td><td width="23%"><code>INTEGER(4) A</code></td><td width="20%"><code>INTEGER(4)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>KISHFT(A)</code></td><td width="23%"><code>INTEGER(8) A</code></td><td width="20%"><code>INTEGER(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ISHFTC.html#ISHFTC">ISHFTC</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ISHFTC.html b/share/doc/gfortran/ISHFTC.html new file mode 100644 index 0000000..9bb4395 --- /dev/null +++ b/share/doc/gfortran/ISHFTC.html @@ -0,0 +1,147 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ISHFTC</title> + +<meta name="description" content="The GNU Fortran Compiler: ISHFTC"> +<meta name="keywords" content="The GNU Fortran Compiler: ISHFTC"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ISNAN.html#ISNAN" rel="next" title="ISNAN"> +<link href="ISHFT.html#ISHFT" rel="previous" title="ISHFT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ISHFTC"></a> +<div class="header"> +<p> +Next: <a href="ISNAN.html#ISNAN" accesskey="n" rel="next">ISNAN</a>, Previous: <a href="ISHFT.html#ISHFT" accesskey="p" rel="previous">ISHFT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ISHFTC-_002d_002d_002d-Shift-bits-circularly"></a> +<h3 class="section">8.160 <code>ISHFTC</code> — Shift bits circularly</h3> +<a name="index-ISHFTC"></a> +<a name="index-BSHFTC"></a> +<a name="index-IISHFTC"></a> +<a name="index-JISHFTC"></a> +<a name="index-KISHFTC"></a> +<a name="index-bits_002c-shift-circular"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ISHFTC</code> returns a value corresponding to <var>I</var> with the +rightmost <var>SIZE</var> bits shifted circularly <var>SHIFT</var> places; that +is, bits shifted out one end are shifted into the opposite end. A value +of <var>SHIFT</var> greater than zero corresponds to a left shift, a value of +zero corresponds to no shift, and a value less than zero corresponds to +a right shift. The absolute value of <var>SHIFT</var> must be less than +<var>SIZE</var>. If the <var>SIZE</var> argument is omitted, it is taken to be +equivalent to <code>BIT_SIZE(I)</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later, has overloads that are GNU extensions +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = ISHFTC(I, SHIFT [, SIZE])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>SHIFT</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>SIZE</var></td><td width="70%">(Optional) The type shall be <code>INTEGER</code>; +the value must be greater than zero and less than or equal to +<code>BIT_SIZE(I)</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of the same kind as +<var>I</var>. +</p> +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>ISHFTC(A)</code></td><td width="23%"><code>INTEGER A</code></td><td width="20%"><code>INTEGER</code></td><td width="33%">Fortran 90 and later</td></tr> +<tr><td width="20%"><code>BSHFTC(A)</code></td><td width="23%"><code>INTEGER(1) A</code></td><td width="20%"><code>INTEGER(1)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>IISHFTC(A)</code></td><td width="23%"><code>INTEGER(2) A</code></td><td width="20%"><code>INTEGER(2)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>JISHFTC(A)</code></td><td width="23%"><code>INTEGER(4) A</code></td><td width="20%"><code>INTEGER(4)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>KISHFTC(A)</code></td><td width="23%"><code>INTEGER(8) A</code></td><td width="20%"><code>INTEGER(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ISHFT.html#ISHFT">ISHFT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ISNAN.html b/share/doc/gfortran/ISNAN.html new file mode 100644 index 0000000..f76e51f --- /dev/null +++ b/share/doc/gfortran/ISNAN.html @@ -0,0 +1,129 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ISNAN</title> + +<meta name="description" content="The GNU Fortran Compiler: ISNAN"> +<meta name="keywords" content="The GNU Fortran Compiler: ISNAN"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ITIME.html#ITIME" rel="next" title="ITIME"> +<link href="ISHFTC.html#ISHFTC" rel="previous" title="ISHFTC"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ISNAN"></a> +<div class="header"> +<p> +Next: <a href="ITIME.html#ITIME" accesskey="n" rel="next">ITIME</a>, Previous: <a href="ISHFTC.html#ISHFTC" accesskey="p" rel="previous">ISHFTC</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ISNAN-_002d_002d_002d-Test-for-a-NaN"></a> +<h3 class="section">8.161 <code>ISNAN</code> — Test for a NaN</h3> +<a name="index-ISNAN"></a> +<a name="index-IEEE_002c-ISNAN"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ISNAN</code> tests whether a floating-point value is an IEEE +Not-a-Number (NaN). +</p></dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>ISNAN(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">Variable of the type <code>REAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Returns a default-kind <code>LOGICAL</code>. The returned value is <code>TRUE</code> +if <var>X</var> is a NaN and <code>FALSE</code> otherwise. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_nan + implicit none + real :: x + x = -1.0 + x = sqrt(x) + if (isnan(x)) stop '"x" is a NaN' +end program test_nan +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ISO_005fC_005fBINDING.html b/share/doc/gfortran/ISO_005fC_005fBINDING.html new file mode 100644 index 0000000..afb251a --- /dev/null +++ b/share/doc/gfortran/ISO_005fC_005fBINDING.html @@ -0,0 +1,182 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ISO_C_BINDING</title> + +<meta name="description" content="The GNU Fortran Compiler: ISO_C_BINDING"> +<meta name="keywords" content="The GNU Fortran Compiler: ISO_C_BINDING"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Modules.html#Intrinsic-Modules" rel="up" title="Intrinsic Modules"> +<link href="IEEE-modules.html#IEEE-modules" rel="next" title="IEEE modules"> +<link href="ISO_005fFORTRAN_005fENV.html#ISO_005fFORTRAN_005fENV" rel="previous" title="ISO_FORTRAN_ENV"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ISO_005fC_005fBINDING"></a> +<div class="header"> +<p> +Next: <a href="IEEE-modules.html#IEEE-modules" accesskey="n" rel="next">IEEE modules</a>, Previous: <a href="ISO_005fFORTRAN_005fENV.html#ISO_005fFORTRAN_005fENV" accesskey="p" rel="previous">ISO_FORTRAN_ENV</a>, Up: <a href="Intrinsic-Modules.html#Intrinsic-Modules" accesskey="u" rel="up">Intrinsic Modules</a> [<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> +</div> +<hr> +<a name="ISO_005fC_005fBINDING-1"></a> +<h3 class="section">9.2 <code>ISO_C_BINDING</code></h3> +<dl compact="compact"> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2003 and later, GNU extensions +</p></dd> +</dl> + +<p>The following intrinsic procedures are provided by the module; their +definition can be found in the section Intrinsic Procedures of this +manual. +</p> +<dl compact="compact"> +<dt><code>C_ASSOCIATED</code></dt> +<dt><code>C_F_POINTER</code></dt> +<dt><code>C_F_PROCPOINTER</code></dt> +<dt><code>C_FUNLOC</code></dt> +<dt><code>C_LOC</code></dt> +<dt><code>C_SIZEOF</code></dt> +</dl> + +<p>The <code>ISO_C_BINDING</code> module provides the following named constants of +type default integer, which can be used as KIND type parameters. +</p> +<p>In addition to the integer named constants required by the Fortran 2003 +standard and <code>C_PTRDIFF_T</code> of TS 29113, GNU Fortran provides as an +extension named constants for the 128-bit integer types supported by the +C compiler: <code>C_INT128_T, C_INT_LEAST128_T, C_INT_FAST128_T</code>. +Furthermore, if <code>_Float128</code> is supported in C, the named constants +<code>C_FLOAT128</code> and <code>C_FLOAT128_COMPLEX</code> are defined. +</p> +<table> +<thead><tr><th width="19%">Fortran Type</th><th width="32%">Named constant</th><th width="34%">C type</th><th width="15%">Extension</th></tr></thead> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_INT</code></td><td width="34%"><code>int</code></td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_SHORT</code></td><td width="34%"><code>short int</code></td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_LONG</code></td><td width="34%"><code>long int</code></td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_LONG_LONG</code></td><td width="34%"><code>long long int</code></td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_SIGNED_CHAR</code></td><td width="34%"><code>signed char</code>/<code>unsigned char</code></td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_SIZE_T</code></td><td width="34%"><code>size_t</code></td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_INT8_T</code></td><td width="34%"><code>int8_t</code></td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_INT16_T</code></td><td width="34%"><code>int16_t</code></td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_INT32_T</code></td><td width="34%"><code>int32_t</code></td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_INT64_T</code></td><td width="34%"><code>int64_t</code></td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_INT128_T</code></td><td width="34%"><code>int128_t</code></td><td width="15%">Ext.</td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_INT_LEAST8_T</code></td><td width="34%"><code>int_least8_t</code></td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_INT_LEAST16_T</code></td><td width="34%"><code>int_least16_t</code></td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_INT_LEAST32_T</code></td><td width="34%"><code>int_least32_t</code></td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_INT_LEAST64_T</code></td><td width="34%"><code>int_least64_t</code></td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_INT_LEAST128_T</code></td><td width="34%"><code>int_least128_t</code></td><td width="15%">Ext.</td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_INT_FAST8_T</code></td><td width="34%"><code>int_fast8_t</code></td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_INT_FAST16_T</code></td><td width="34%"><code>int_fast16_t</code></td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_INT_FAST32_T</code></td><td width="34%"><code>int_fast32_t</code></td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_INT_FAST64_T</code></td><td width="34%"><code>int_fast64_t</code></td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_INT_FAST128_T</code></td><td width="34%"><code>int_fast128_t</code></td><td width="15%">Ext.</td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_INTMAX_T</code></td><td width="34%"><code>intmax_t</code></td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_INTPTR_T</code></td><td width="34%"><code>intptr_t</code></td></tr> +<tr><td width="19%"><code>INTEGER</code></td><td width="32%"><code>C_PTRDIFF_T</code></td><td width="34%"><code>ptrdiff_t</code></td><td width="15%">TS 29113</td></tr> +<tr><td width="19%"><code>REAL</code></td><td width="32%"><code>C_FLOAT</code></td><td width="34%"><code>float</code></td></tr> +<tr><td width="19%"><code>REAL</code></td><td width="32%"><code>C_DOUBLE</code></td><td width="34%"><code>double</code></td></tr> +<tr><td width="19%"><code>REAL</code></td><td width="32%"><code>C_LONG_DOUBLE</code></td><td width="34%"><code>long double</code></td></tr> +<tr><td width="19%"><code>REAL</code></td><td width="32%"><code>C_FLOAT128</code></td><td width="34%"><code>_Float128</code></td><td width="15%">Ext.</td></tr> +<tr><td width="19%"><code>COMPLEX</code></td><td width="32%"><code>C_FLOAT_COMPLEX</code></td><td width="34%"><code>float _Complex</code></td></tr> +<tr><td width="19%"><code>COMPLEX</code></td><td width="32%"><code>C_DOUBLE_COMPLEX</code></td><td width="34%"><code>double _Complex</code></td></tr> +<tr><td width="19%"><code>COMPLEX</code></td><td width="32%"><code>C_LONG_DOUBLE_COMPLEX</code></td><td width="34%"><code>long double _Complex</code></td></tr> +<tr><td width="19%"><code>COMPLEX</code></td><td width="32%"><code>C_FLOAT128_COMPLEX</code></td><td width="34%"><code>_Float128 _Complex</code></td><td width="15%">Ext.</td></tr> +<tr><td width="19%"><code>LOGICAL</code></td><td width="32%"><code>C_BOOL</code></td><td width="34%"><code>_Bool</code></td></tr> +<tr><td width="19%"><code>CHARACTER</code></td><td width="32%"><code>C_CHAR</code></td><td width="34%"><code>char</code></td></tr> +</table> + +<p>Additionally, the following parameters of type <code>CHARACTER(KIND=C_CHAR)</code> +are defined. +</p> +<table> +<thead><tr><th width="20%">Name</th><th width="45%">C definition</th><th width="15%">Value</th></tr></thead> +<tr><td width="20%"><code>C_NULL_CHAR</code></td><td width="45%">null character</td><td width="15%"><code>'\0'</code></td></tr> +<tr><td width="20%"><code>C_ALERT</code></td><td width="45%">alert</td><td width="15%"><code>'\a'</code></td></tr> +<tr><td width="20%"><code>C_BACKSPACE</code></td><td width="45%">backspace</td><td width="15%"><code>'\b'</code></td></tr> +<tr><td width="20%"><code>C_FORM_FEED</code></td><td width="45%">form feed</td><td width="15%"><code>'\f'</code></td></tr> +<tr><td width="20%"><code>C_NEW_LINE</code></td><td width="45%">new line</td><td width="15%"><code>'\n'</code></td></tr> +<tr><td width="20%"><code>C_CARRIAGE_RETURN</code></td><td width="45%">carriage return</td><td width="15%"><code>'\r'</code></td></tr> +<tr><td width="20%"><code>C_HORIZONTAL_TAB</code></td><td width="45%">horizontal tab</td><td width="15%"><code>'\t'</code></td></tr> +<tr><td width="20%"><code>C_VERTICAL_TAB</code></td><td width="45%">vertical tab</td><td width="15%"><code>'\v'</code></td></tr> +</table> + +<p>Moreover, the following two named constants are defined: +</p> +<table> +<thead><tr><th width="20%">Name</th><th width="80%">Type</th></tr></thead> +<tr><td width="20%"><code>C_NULL_PTR</code></td><td width="80%"><code>C_PTR</code></td></tr> +<tr><td width="20%"><code>C_NULL_FUNPTR</code></td><td width="80%"><code>C_FUNPTR</code></td></tr> +</table> + +<p>Both are equivalent to the value <code>NULL</code> in C. +</p> + + +<hr> +<div class="header"> +<p> +Next: <a href="IEEE-modules.html#IEEE-modules" accesskey="n" rel="next">IEEE modules</a>, Previous: <a href="ISO_005fFORTRAN_005fENV.html#ISO_005fFORTRAN_005fENV" accesskey="p" rel="previous">ISO_FORTRAN_ENV</a>, Up: <a href="Intrinsic-Modules.html#Intrinsic-Modules" accesskey="u" rel="up">Intrinsic Modules</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/ISO_005fFORTRAN_005fENV.html b/share/doc/gfortran/ISO_005fFORTRAN_005fENV.html new file mode 100644 index 0000000..b3b22f3 --- /dev/null +++ b/share/doc/gfortran/ISO_005fFORTRAN_005fENV.html @@ -0,0 +1,228 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ISO_FORTRAN_ENV</title> + +<meta name="description" content="The GNU Fortran Compiler: ISO_FORTRAN_ENV"> +<meta name="keywords" content="The GNU Fortran Compiler: ISO_FORTRAN_ENV"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Modules.html#Intrinsic-Modules" rel="up" title="Intrinsic Modules"> +<link href="ISO_005fC_005fBINDING.html#ISO_005fC_005fBINDING" rel="next" title="ISO_C_BINDING"> +<link href="Intrinsic-Modules.html#Intrinsic-Modules" rel="previous" title="Intrinsic Modules"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ISO_005fFORTRAN_005fENV"></a> +<div class="header"> +<p> +Next: <a href="ISO_005fC_005fBINDING.html#ISO_005fC_005fBINDING" accesskey="n" rel="next">ISO_C_BINDING</a>, Up: <a href="Intrinsic-Modules.html#Intrinsic-Modules" accesskey="u" rel="up">Intrinsic Modules</a> [<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> +</div> +<hr> +<a name="ISO_005fFORTRAN_005fENV-1"></a> +<h3 class="section">9.1 <code>ISO_FORTRAN_ENV</code></h3> +<dl compact="compact"> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2003 and later, except when otherwise noted +</p></dd> +</dl> + +<p>The <code>ISO_FORTRAN_ENV</code> module provides the following scalar default-integer +named constants: +</p> +<dl compact="compact"> +<dt><code>ATOMIC_INT_KIND</code>:</dt> +<dd><p>Default-kind integer constant to be used as kind parameter when defining +integer variables used in atomic operations. (Fortran 2008 or later.) +</p> +</dd> +<dt><code>ATOMIC_LOGICAL_KIND</code>:</dt> +<dd><p>Default-kind integer constant to be used as kind parameter when defining +logical variables used in atomic operations. (Fortran 2008 or later.) +</p> +</dd> +<dt><code>CHARACTER_KINDS</code>:</dt> +<dd><p>Default-kind integer constant array of rank one containing the supported kind +parameters of the <code>CHARACTER</code> type. (Fortran 2008 or later.) +</p> +</dd> +<dt><code>CHARACTER_STORAGE_SIZE</code>:</dt> +<dd><p>Size in bits of the character storage unit. +</p> +</dd> +<dt><code>ERROR_UNIT</code>:</dt> +<dd><p>Identifies the preconnected unit used for error reporting. +</p> +</dd> +<dt><code>FILE_STORAGE_SIZE</code>:</dt> +<dd><p>Size in bits of the file-storage unit. +</p> +</dd> +<dt><code>INPUT_UNIT</code>:</dt> +<dd><p>Identifies the preconnected unit identified by the asterisk +(<code>*</code>) in <code>READ</code> statement. +</p> +</dd> +<dt><code>INT8</code>, <code>INT16</code>, <code>INT32</code>, <code>INT64</code>:</dt> +<dd><p>Kind type parameters to specify an INTEGER type with a storage +size of 16, 32, and 64 bits. It is negative if a target platform +does not support the particular kind. (Fortran 2008 or later.) +</p> +</dd> +<dt><code>INTEGER_KINDS</code>:</dt> +<dd><p>Default-kind integer constant array of rank one containing the supported kind +parameters of the <code>INTEGER</code> type. (Fortran 2008 or later.) +</p> +</dd> +<dt><code>IOSTAT_END</code>:</dt> +<dd><p>The value assigned to the variable passed to the <code>IOSTAT=</code> specifier of +an input/output statement if an end-of-file condition occurred. +</p> +</dd> +<dt><code>IOSTAT_EOR</code>:</dt> +<dd><p>The value assigned to the variable passed to the <code>IOSTAT=</code> specifier of +an input/output statement if an end-of-record condition occurred. +</p> +</dd> +<dt><code>IOSTAT_INQUIRE_INTERNAL_UNIT</code>:</dt> +<dd><p>Scalar default-integer constant, used by <code>INQUIRE</code> for the +<code>IOSTAT=</code> specifier to denote an that a unit number identifies an +internal unit. (Fortran 2008 or later.) +</p> +</dd> +<dt><code>NUMERIC_STORAGE_SIZE</code>:</dt> +<dd><p>The size in bits of the numeric storage unit. +</p> +</dd> +<dt><code>LOGICAL_KINDS</code>:</dt> +<dd><p>Default-kind integer constant array of rank one containing the supported kind +parameters of the <code>LOGICAL</code> type. (Fortran 2008 or later.) +</p> +</dd> +<dt><code>OUTPUT_UNIT</code>:</dt> +<dd><p>Identifies the preconnected unit identified by the asterisk +(<code>*</code>) in <code>WRITE</code> statement. +</p> +</dd> +<dt><code>REAL32</code>, <code>REAL64</code>, <code>REAL128</code>:</dt> +<dd><p>Kind type parameters to specify a REAL type with a storage +size of 32, 64, and 128 bits. It is negative if a target platform +does not support the particular kind. (Fortran 2008 or later.) +</p> +</dd> +<dt><code>REAL_KINDS</code>:</dt> +<dd><p>Default-kind integer constant array of rank one containing the supported kind +parameters of the <code>REAL</code> type. (Fortran 2008 or later.) +</p> +</dd> +<dt><code>STAT_LOCKED</code>:</dt> +<dd><p>Scalar default-integer constant used as STAT= return value by <code>LOCK</code> to +denote that the lock variable is locked by the executing image. (Fortran 2008 +or later.) +</p> +</dd> +<dt><code>STAT_LOCKED_OTHER_IMAGE</code>:</dt> +<dd><p>Scalar default-integer constant used as STAT= return value by <code>UNLOCK</code> to +denote that the lock variable is locked by another image. (Fortran 2008 or +later.) +</p> +</dd> +<dt><code>STAT_STOPPED_IMAGE</code>:</dt> +<dd><p>Positive, scalar default-integer constant used as STAT= return value if the +argument in the statement requires synchronisation with an image, which has +initiated the termination of the execution. (Fortran 2008 or later.) +</p> +</dd> +<dt><code>STAT_FAILED_IMAGE</code>:</dt> +<dd><p>Positive, scalar default-integer constant used as STAT= return value if the +argument in the statement requires communication with an image, which has +is in the failed state. (TS 18508 or later.) +</p> +</dd> +<dt><code>STAT_UNLOCKED</code>:</dt> +<dd><p>Scalar default-integer constant used as STAT= return value by <code>UNLOCK</code> to +denote that the lock variable is unlocked. (Fortran 2008 or later.) +</p></dd> +</dl> + +<p>The module provides the following derived type: +</p> +<dl compact="compact"> +<dt><code>LOCK_TYPE</code>:</dt> +<dd><p>Derived type with private components to be use with the <code>LOCK</code> and +<code>UNLOCK</code> statement. A variable of its type has to be always declared +as coarray and may not appear in a variable-definition context. +(Fortran 2008 or later.) +</p></dd> +</dl> + +<p>The module also provides the following intrinsic procedures: +<a href="COMPILER_005fOPTIONS.html#COMPILER_005fOPTIONS">COMPILER_OPTIONS</a> and <a href="COMPILER_005fVERSION.html#COMPILER_005fVERSION">COMPILER_VERSION</a>. +</p> + + +<hr> +<div class="header"> +<p> +Next: <a href="ISO_005fC_005fBINDING.html#ISO_005fC_005fBINDING" accesskey="n" rel="next">ISO_C_BINDING</a>, Up: <a href="Intrinsic-Modules.html#Intrinsic-Modules" accesskey="u" rel="up">Intrinsic Modules</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/IS_005fCONTIGUOUS.html b/share/doc/gfortran/IS_005fCONTIGUOUS.html new file mode 100644 index 0000000..e259662 --- /dev/null +++ b/share/doc/gfortran/IS_005fCONTIGUOUS.html @@ -0,0 +1,137 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: IS_CONTIGUOUS</title> + +<meta name="description" content="The GNU Fortran Compiler: IS_CONTIGUOUS"> +<meta name="keywords" content="The GNU Fortran Compiler: IS_CONTIGUOUS"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="IS_005fIOSTAT_005fEND.html#IS_005fIOSTAT_005fEND" rel="next" title="IS_IOSTAT_END"> +<link href="IRAND.html#IRAND" rel="previous" title="IRAND"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="IS_005fCONTIGUOUS"></a> +<div class="header"> +<p> +Next: <a href="IS_005fIOSTAT_005fEND.html#IS_005fIOSTAT_005fEND" accesskey="n" rel="next">IS_IOSTAT_END</a>, Previous: <a href="IRAND.html#IRAND" accesskey="p" rel="previous">IRAND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="IS_005fCONTIGUOUS-_002d_002d_002d-Test-whether-an-array-is-contiguous"></a> +<h3 class="section">8.155 <code>IS_CONTIGUOUS</code> — Test whether an array is contiguous</h3> +<a name="index-IS_005fIOSTAT_005fEOR"></a> +<a name="index-array_002c-contiguity"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>IS_CONTIGUOUS</code> tests whether an array is contiguous. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = IS_CONTIGUOUS(ARRAY)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ARRAY</var></td><td width="70%">Shall be an array of any type.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Returns a <code>LOGICAL</code> of the default kind, which <code>.TRUE.</code> if +<var>ARRAY</var> is contiguous and false otherwise. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test + integer :: a(10) + a = [1,2,3,4,5,6,7,8,9,10] + call sub (a) ! every element, is contiguous + call sub (a(::2)) ! every other element, is noncontiguous +contains + subroutine sub (x) + integer :: x(:) + if (is_contiguous (x)) then + write (*,*) 'X is contiguous' + else + write (*,*) 'X is not contiguous' + end if + end subroutine sub +end program test +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/IS_005fIOSTAT_005fEND.html b/share/doc/gfortran/IS_005fIOSTAT_005fEND.html new file mode 100644 index 0000000..156b660 --- /dev/null +++ b/share/doc/gfortran/IS_005fIOSTAT_005fEND.html @@ -0,0 +1,133 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: IS_IOSTAT_END</title> + +<meta name="description" content="The GNU Fortran Compiler: IS_IOSTAT_END"> +<meta name="keywords" content="The GNU Fortran Compiler: IS_IOSTAT_END"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="IS_005fIOSTAT_005fEOR.html#IS_005fIOSTAT_005fEOR" rel="next" title="IS_IOSTAT_EOR"> +<link href="IS_005fCONTIGUOUS.html#IS_005fCONTIGUOUS" rel="previous" title="IS_CONTIGUOUS"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="IS_005fIOSTAT_005fEND"></a> +<div class="header"> +<p> +Next: <a href="IS_005fIOSTAT_005fEOR.html#IS_005fIOSTAT_005fEOR" accesskey="n" rel="next">IS_IOSTAT_EOR</a>, Previous: <a href="IS_005fCONTIGUOUS.html#IS_005fCONTIGUOUS" accesskey="p" rel="previous">IS_CONTIGUOUS</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="IS_005fIOSTAT_005fEND-_002d_002d_002d-Test-for-end_002dof_002dfile-value"></a> +<h3 class="section">8.156 <code>IS_IOSTAT_END</code> — Test for end-of-file value</h3> +<a name="index-IS_005fIOSTAT_005fEND"></a> +<a name="index-IOSTAT_002c-end-of-file"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>IS_IOSTAT_END</code> tests whether an variable has the value of the I/O +status “end of file”. The function is equivalent to comparing the variable +with the <code>IOSTAT_END</code> parameter of the intrinsic module +<code>ISO_FORTRAN_ENV</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = IS_IOSTAT_END(I)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">Shall be of the type <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Returns a <code>LOGICAL</code> of the default kind, which <code>.TRUE.</code> if +<var>I</var> has the value which indicates an end of file condition for +<code>IOSTAT=</code> specifiers, and is <code>.FALSE.</code> otherwise. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM iostat + IMPLICIT NONE + INTEGER :: stat, i + OPEN(88, FILE='test.dat') + READ(88, *, IOSTAT=stat) i + IF(IS_IOSTAT_END(stat)) STOP 'END OF FILE' +END PROGRAM +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/IS_005fIOSTAT_005fEOR.html b/share/doc/gfortran/IS_005fIOSTAT_005fEOR.html new file mode 100644 index 0000000..adcc87f --- /dev/null +++ b/share/doc/gfortran/IS_005fIOSTAT_005fEOR.html @@ -0,0 +1,132 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: IS_IOSTAT_EOR</title> + +<meta name="description" content="The GNU Fortran Compiler: IS_IOSTAT_EOR"> +<meta name="keywords" content="The GNU Fortran Compiler: IS_IOSTAT_EOR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ISATTY.html#ISATTY" rel="next" title="ISATTY"> +<link href="IS_005fIOSTAT_005fEND.html#IS_005fIOSTAT_005fEND" rel="previous" title="IS_IOSTAT_END"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="IS_005fIOSTAT_005fEOR"></a> +<div class="header"> +<p> +Next: <a href="ISATTY.html#ISATTY" accesskey="n" rel="next">ISATTY</a>, Previous: <a href="IS_005fIOSTAT_005fEND.html#IS_005fIOSTAT_005fEND" accesskey="p" rel="previous">IS_IOSTAT_END</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="IS_005fIOSTAT_005fEOR-_002d_002d_002d-Test-for-end_002dof_002drecord-value"></a> +<h3 class="section">8.157 <code>IS_IOSTAT_EOR</code> — Test for end-of-record value</h3> +<a name="index-IS_005fIOSTAT_005fEOR-1"></a> +<a name="index-IOSTAT_002c-end-of-record"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>IS_IOSTAT_EOR</code> tests whether an variable has the value of the I/O +status “end of record”. The function is equivalent to comparing the +variable with the <code>IOSTAT_EOR</code> parameter of the intrinsic module +<code>ISO_FORTRAN_ENV</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = IS_IOSTAT_EOR(I)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">Shall be of the type <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Returns a <code>LOGICAL</code> of the default kind, which <code>.TRUE.</code> if +<var>I</var> has the value which indicates an end of file condition for +<code>IOSTAT=</code> specifiers, and is <code>.FALSE.</code> otherwise. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM iostat + IMPLICIT NONE + INTEGER :: stat, i(50) + OPEN(88, FILE='test.dat', FORM='UNFORMATTED') + READ(88, IOSTAT=stat) i + IF(IS_IOSTAT_EOR(stat)) STOP 'END OF RECORD' +END PROGRAM +</pre></div> +</dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/ITIME.html b/share/doc/gfortran/ITIME.html new file mode 100644 index 0000000..9eabe3c --- /dev/null +++ b/share/doc/gfortran/ITIME.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: ITIME</title> + +<meta name="description" content="The GNU Fortran Compiler: ITIME"> +<meta name="keywords" content="The GNU Fortran Compiler: ITIME"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="KILL.html#KILL" rel="next" title="KILL"> +<link href="ISNAN.html#ISNAN" rel="previous" title="ISNAN"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="ITIME"></a> +<div class="header"> +<p> +Next: <a href="KILL.html#KILL" accesskey="n" rel="next">KILL</a>, Previous: <a href="ISNAN.html#ISNAN" accesskey="p" rel="previous">ISNAN</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="ITIME-_002d_002d_002d-Get-current-local-time-subroutine-_0028hour_002fminutes_002fseconds_0029"></a> +<h3 class="section">8.162 <code>ITIME</code> — Get current local time subroutine (hour/minutes/seconds)</h3> +<a name="index-ITIME"></a> +<a name="index-time_002c-current-2"></a> +<a name="index-current-time-2"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>ITIME(VALUES)</code> Fills <var>VALUES</var> with the numerical values at the +current local time. The hour (in the range 1-24), minute (in the range 1-60), +and seconds (in the range 1-60) appear in elements 1, 2, and 3 of <var>VALUES</var>, +respectively. +</p> +<p>This intrinsic routine is provided for backwards compatibility with +GNU Fortran 77. In new code, programmers should consider the use of +the <a href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME">DATE_AND_TIME</a> intrinsic defined by the Fortran 95 +standard. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL ITIME(VALUES)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>VALUES</var></td><td width="70%">The type shall be <code>INTEGER, DIMENSION(3)</code> +and the kind shall be the default integer kind.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Does not return anything. +</p> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_itime + integer, dimension(3) :: tarray + call itime(tarray) + print *, tarray(1) + print *, tarray(2) + print *, tarray(3) +end program test_itime +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME">DATE_AND_TIME</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/IVDEP-directive.html b/share/doc/gfortran/IVDEP-directive.html new file mode 100644 index 0000000..4ebdfbe --- /dev/null +++ b/share/doc/gfortran/IVDEP-directive.html @@ -0,0 +1,102 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: IVDEP directive</title> + +<meta name="description" content="The GNU Fortran Compiler: IVDEP directive"> +<meta name="keywords" content="The GNU Fortran Compiler: IVDEP directive"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="GNU-Fortran-Compiler-Directives.html#GNU-Fortran-Compiler-Directives" rel="up" title="GNU Fortran Compiler Directives"> +<link href="VECTOR-directive.html#VECTOR-directive" rel="next" title="VECTOR directive"> +<link href="BUILTIN-directive.html#BUILTIN-directive" rel="previous" title="BUILTIN directive"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="IVDEP-directive"></a> +<div class="header"> +<p> +Next: <a href="VECTOR-directive.html#VECTOR-directive" accesskey="n" rel="next">VECTOR directive</a>, Previous: <a href="BUILTIN-directive.html#BUILTIN-directive" accesskey="p" rel="previous">BUILTIN directive</a>, Up: <a href="GNU-Fortran-Compiler-Directives.html#GNU-Fortran-Compiler-Directives" accesskey="u" rel="up">GNU Fortran Compiler Directives</a> [<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> +</div> +<hr> +<a name="IVDEP-directive-1"></a> +<h4 class="subsection">6.2.4 IVDEP directive</h4> + +<p>The syntax of the directive is +</p> +<p><code>!GCC$ ivdep</code> +</p> +<p>This directive tells the compiler to ignore vector dependencies in the +following loop. It must be placed immediately before a <code>DO</code> loop +and applies only to the loop that follows. +</p> +<p>Sometimes the compiler may not have sufficient information to decide +whether a particular loop is vectorizable due to potential +dependencies between iterations. The purpose of the directive is to +tell the compiler that vectorization is safe. +</p> +<p>This directive is intended for annotation of existing code. For new +code it is recommended to consider OpenMP SIMD directives as potential +alternative. +</p> + + + + +</body> +</html> diff --git a/share/doc/gfortran/I_002fO-item-lists.html b/share/doc/gfortran/I_002fO-item-lists.html new file mode 100644 index 0000000..c9b2261 --- /dev/null +++ b/share/doc/gfortran/I_002fO-item-lists.html @@ -0,0 +1,89 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: I/O item lists</title> + +<meta name="description" content="The GNU Fortran Compiler: I/O item lists"> +<meta name="keywords" content="The GNU Fortran Compiler: I/O item lists"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="Q-exponent_002dletter.html#Q-exponent_002dletter" rel="next" title="Q exponent-letter"> +<link href="Default-widths-for-F_002c-G-and-I-format-descriptors.html#Default-widths-for-F_002c-G-and-I-format-descriptors" rel="previous" title="Default widths for F, G and I format descriptors"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="I_002fO-item-lists"></a> +<div class="header"> +<p> +Next: <a href="Q-exponent_002dletter.html#Q-exponent_002dletter" accesskey="n" rel="next"><code>Q</code> exponent-letter</a>, Previous: <a href="Default-widths-for-F_002c-G-and-I-format-descriptors.html#Default-widths-for-F_002c-G-and-I-format-descriptors" accesskey="p" rel="previous">Default widths for F, G and I format descriptors</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> [<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> +</div> +<hr> +<a name="I_002fO-item-lists-1"></a> +<h4 class="subsection">5.1.8 I/O item lists</h4> +<a name="index-I_002fO-item-lists"></a> + +<p>To support legacy codes, GNU Fortran allows the input item list +of the <code>READ</code> statement, and the output item lists of the +<code>WRITE</code> and <code>PRINT</code> statements, to start with a comma. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/Implicitly-convert-LOGICAL-and-INTEGER-values.html b/share/doc/gfortran/Implicitly-convert-LOGICAL-and-INTEGER-values.html new file mode 100644 index 0000000..e05a755 --- /dev/null +++ b/share/doc/gfortran/Implicitly-convert-LOGICAL-and-INTEGER-values.html @@ -0,0 +1,107 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Implicitly convert LOGICAL and INTEGER values</title> + +<meta name="description" content="The GNU Fortran Compiler: Implicitly convert LOGICAL and INTEGER values"> +<meta name="keywords" content="The GNU Fortran Compiler: Implicitly convert LOGICAL and INTEGER values"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="Hollerith-constants-support.html#Hollerith-constants-support" rel="next" title="Hollerith constants support"> +<link href="Unary-operators.html#Unary-operators" rel="previous" title="Unary operators"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Implicitly-convert-LOGICAL-and-INTEGER-values"></a> +<div class="header"> +<p> +Next: <a href="Hollerith-constants-support.html#Hollerith-constants-support" accesskey="n" rel="next">Hollerith constants support</a>, Previous: <a href="Unary-operators.html#Unary-operators" accesskey="p" rel="previous">Unary operators</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> [<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> +</div> +<hr> +<a name="Implicitly-convert-LOGICAL-and-INTEGER-values-1"></a> +<h4 class="subsection">5.1.13 Implicitly convert <code>LOGICAL</code> and <code>INTEGER</code> values</h4> +<a name="index-conversion_002c-to-integer"></a> +<a name="index-conversion_002c-to-logical"></a> + +<p>As an extension for backwards compatibility with other compilers, GNU +Fortran allows the implicit conversion of <code>LOGICAL</code> values to +<code>INTEGER</code> values and vice versa. When converting from a +<code>LOGICAL</code> to an <code>INTEGER</code>, <code>.FALSE.</code> is interpreted as +zero, and <code>.TRUE.</code> is interpreted as one. When converting from +<code>INTEGER</code> to <code>LOGICAL</code>, the value zero is interpreted as +<code>.FALSE.</code> and any nonzero value is interpreted as <code>.TRUE.</code>. +</p> +<div class="smallexample"> +<pre class="smallexample"> LOGICAL :: l + l = 1 +</pre></div> +<div class="smallexample"> +<pre class="smallexample"> INTEGER :: i + i = .TRUE. +</pre></div> + +<p>However, there is no implicit conversion of <code>INTEGER</code> values in +<code>if</code>-statements, nor of <code>LOGICAL</code> or <code>INTEGER</code> values +in I/O operations. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/Internal-representation-of-LOGICAL-variables.html b/share/doc/gfortran/Internal-representation-of-LOGICAL-variables.html new file mode 100644 index 0000000..f0c8db5 --- /dev/null +++ b/share/doc/gfortran/Internal-representation-of-LOGICAL-variables.html @@ -0,0 +1,99 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Internal representation of LOGICAL variables</title> + +<meta name="description" content="The GNU Fortran Compiler: Internal representation of LOGICAL variables"> +<meta name="keywords" content="The GNU Fortran Compiler: Internal representation of LOGICAL variables"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Compiler-Characteristics.html#Compiler-Characteristics" rel="up" title="Compiler Characteristics"> +<link href="Evaluation-of-logical-expressions.html#Evaluation-of-logical-expressions" rel="next" title="Evaluation of logical expressions"> +<link href="KIND-Type-Parameters.html#KIND-Type-Parameters" rel="previous" title="KIND Type Parameters"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Internal-representation-of-LOGICAL-variables"></a> +<div class="header"> +<p> +Next: <a href="Evaluation-of-logical-expressions.html#Evaluation-of-logical-expressions" accesskey="n" rel="next">Evaluation of logical expressions</a>, Previous: <a href="KIND-Type-Parameters.html#KIND-Type-Parameters" accesskey="p" rel="previous">KIND Type Parameters</a>, Up: <a href="Compiler-Characteristics.html#Compiler-Characteristics" accesskey="u" rel="up">Compiler Characteristics</a> [<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> +</div> +<hr> +<a name="Internal-representation-of-LOGICAL-variables-1"></a> +<h3 class="section">4.2 Internal representation of LOGICAL variables</h3> +<a name="index-logical_002c-variable-representation"></a> + +<p>The Fortran standard does not specify how variables of <code>LOGICAL</code> +type are represented, beyond requiring that <code>LOGICAL</code> variables +of default kind have the same storage size as default <code>INTEGER</code> +and <code>REAL</code> variables. The GNU Fortran internal representation is +as follows. +</p> +<p>A <code>LOGICAL(KIND=N)</code> variable is represented as an +<code>INTEGER(KIND=N)</code> variable, however, with only two permissible +values: <code>1</code> for <code>.TRUE.</code> and <code>0</code> for +<code>.FALSE.</code>. Any other integer value results in undefined behavior. +</p> +<p>See also <a href="Argument-passing-conventions.html#Argument-passing-conventions">Argument passing conventions</a> and <a href="Interoperability-with-C.html#Interoperability-with-C">Interoperability with C</a>. +</p> + + + + +</body> +</html> diff --git a/share/doc/gfortran/Interoperability-Options.html b/share/doc/gfortran/Interoperability-Options.html new file mode 100644 index 0000000..8d5c249 --- /dev/null +++ b/share/doc/gfortran/Interoperability-Options.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Interoperability Options</title> + +<meta name="description" content="The GNU Fortran Compiler: Interoperability Options"> +<meta name="keywords" content="The GNU Fortran Compiler: Interoperability Options"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" rel="up" title="Invoking GNU Fortran"> +<link href="Environment-Variables.html#Environment-Variables" rel="next" title="Environment Variables"> +<link href="Code-Gen-Options.html#Code-Gen-Options" rel="previous" title="Code Gen Options"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Interoperability-Options"></a> +<div class="header"> +<p> +Next: <a href="Environment-Variables.html#Environment-Variables" accesskey="n" rel="next">Environment Variables</a>, Previous: <a href="Code-Gen-Options.html#Code-Gen-Options" accesskey="p" rel="previous">Code Gen Options</a>, Up: <a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" accesskey="u" rel="up">Invoking GNU Fortran</a> [<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> +</div> +<hr> +<a name="Options-for-interoperability-with-other-languages"></a> +<h3 class="section">2.10 Options for interoperability with other languages</h3> + +<dl compact="compact"> +<dd> +<a name="index-c_002dprototypes"></a> +<a name="index-Generating-C-prototypes-from-Fortran-BIND_0028C_0029-enteties"></a> +</dd> +<dt>-fc-prototypes</dt> +<dd><p>This option will generate C prototypes from <code>BIND(C)</code> variable +declarations, types and procedure interfaces and writes them to +standard output. <code>ENUM</code> is not yet supported. +</p> +<p>The generated prototypes may need inclusion of an appropriate header, +such as <code><stdint.h></code> or <code><stdlib.h></code>. For types which are +not specified using the appropriate kind from the <code>iso_c_binding</code> +module, a warning is added as a comment to the code. +</p> +<p>For function pointers, a pointer to a function returning <code>int</code> +without an explicit argument list is generated. +</p> +<p>Example of use: +</p><div class="smallexample"> +<pre class="smallexample">$ gfortran -fc-prototypes -fsyntax-only foo.f90 > foo.h +</pre></div> +<p>where the C code intended for interoperating with the Fortran code +then uses <code>#include "foo.h"</code>. +</p> +<a name="index-c_002dprototypes_002dexternal"></a> +<a name="index-Generating-C-prototypes-from-external-procedures"></a> +</dd> +<dt>-fc-prototypes-external</dt> +<dd><p>This option will generate C prototypes from external functions and +subroutines and write them to standard output. This may be useful for +making sure that C bindings to Fortran code are correct. This option +does not generate prototypes for <code>BIND(C)</code> procedures, use +<samp>-fc-prototypes</samp> for that. +</p> +<p>The generated prototypes may need inclusion of an appropriate +header, such as <code><stdint.h></code> or <code><stdlib.h></code>. +</p> +<p>This is primarily meant for legacy code to ensure that existing C +bindings match what <code>gfortran</code> emits. The generated C +prototypes should be correct for the current version of the compiler, +but may not match what other compilers or earlier versions of +<code>gfortran</code> need. For new developments, use of the +<code>BIND(C)</code> features is recommended. +</p> +<p>Example of use: +</p><div class="smallexample"> +<pre class="smallexample">$ gfortran -fc-prototypes-external -fsyntax-only foo.f > foo.h +</pre></div> +<p>where the C code intended for interoperating with the Fortran code +then uses <code>#include "foo.h"</code>. +</p></dd> +</dl> + +<hr> +<div class="header"> +<p> +Next: <a href="Environment-Variables.html#Environment-Variables" accesskey="n" rel="next">Environment Variables</a>, Previous: <a href="Code-Gen-Options.html#Code-Gen-Options" accesskey="p" rel="previous">Code Gen Options</a>, Up: <a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" accesskey="u" rel="up">Invoking GNU Fortran</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Interoperability-with-C.html b/share/doc/gfortran/Interoperability-with-C.html new file mode 100644 index 0000000..7389dc7 --- /dev/null +++ b/share/doc/gfortran/Interoperability-with-C.html @@ -0,0 +1,118 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Interoperability with C</title> + +<meta name="description" content="The GNU Fortran Compiler: Interoperability with C"> +<meta name="keywords" content="The GNU Fortran Compiler: Interoperability with C"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Mixed_002dLanguage-Programming.html#Mixed_002dLanguage-Programming" rel="up" title="Mixed-Language Programming"> +<link href="Intrinsic-Types.html#Intrinsic-Types" rel="next" title="Intrinsic Types"> +<link href="Mixed_002dLanguage-Programming.html#Mixed_002dLanguage-Programming" rel="previous" title="Mixed-Language Programming"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Interoperability-with-C"></a> +<div class="header"> +<p> +Next: <a href="GNU-Fortran-Compiler-Directives.html#GNU-Fortran-Compiler-Directives" accesskey="n" rel="next">GNU Fortran Compiler Directives</a>, Up: <a href="Mixed_002dLanguage-Programming.html#Mixed_002dLanguage-Programming" accesskey="u" rel="up">Mixed-Language Programming</a> [<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> +</div> +<hr> +<a name="Interoperability-with-C-1"></a> +<h3 class="section">6.1 Interoperability with C</h3> +<a name="index-interoperability-with-C"></a> +<a name="index-C-interoperability"></a> + +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="Intrinsic-Types.html#Intrinsic-Types" accesskey="1">Intrinsic Types</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Derived-Types-and-struct.html#Derived-Types-and-struct" accesskey="2">Derived Types and struct</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Interoperable-Global-Variables.html#Interoperable-Global-Variables" accesskey="3">Interoperable Global Variables</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Interoperable-Subroutines-and-Functions.html#Interoperable-Subroutines-and-Functions" accesskey="4">Interoperable Subroutines and Functions</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Working-with-C-Pointers.html#Working-with-C-Pointers" accesskey="5">Working with C Pointers</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Further-Interoperability-of-Fortran-with-C.html#Further-Interoperability-of-Fortran-with-C" accesskey="6">Further Interoperability of Fortran with C</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + +<p>Since Fortran 2003 (ISO/IEC 1539-1:2004(E)) there is a +standardized way to generate procedure and derived-type +declarations and global variables that are interoperable with C +(ISO/IEC 9899:1999). The <code>BIND(C)</code> attribute has been added +to inform the compiler that a symbol shall be interoperable with C; +also, some constraints are added. Note, however, that not +all C features have a Fortran equivalent or vice versa. For instance, +neither C’s unsigned integers nor C’s functions with variable number +of arguments have an equivalent in Fortran. +</p> +<p>Note that array dimensions are reversely ordered in C and that arrays in +C always start with index 0 while in Fortran they start by default with +1. Thus, an array declaration <code>A(n,m)</code> in Fortran matches +<code>A[m][n]</code> in C and accessing the element <code>A(i,j)</code> matches +<code>A[j-1][i-1]</code>. The element following <code>A(i,j)</code> (C: <code>A[j-1][i-1]</code>; +assuming <em>i < n</em>) in memory is <code>A(i+1,j)</code> (C: <code>A[j-1][i]</code>). +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/Interoperable-Global-Variables.html b/share/doc/gfortran/Interoperable-Global-Variables.html new file mode 100644 index 0000000..162b4ee --- /dev/null +++ b/share/doc/gfortran/Interoperable-Global-Variables.html @@ -0,0 +1,111 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Interoperable Global Variables</title> + +<meta name="description" content="The GNU Fortran Compiler: Interoperable Global Variables"> +<meta name="keywords" content="The GNU Fortran Compiler: Interoperable Global Variables"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Interoperability-with-C.html#Interoperability-with-C" rel="up" title="Interoperability with C"> +<link href="Interoperable-Subroutines-and-Functions.html#Interoperable-Subroutines-and-Functions" rel="next" title="Interoperable Subroutines and Functions"> +<link href="Derived-Types-and-struct.html#Derived-Types-and-struct" rel="previous" title="Derived Types and struct"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Interoperable-Global-Variables"></a> +<div class="header"> +<p> +Next: <a href="Interoperable-Subroutines-and-Functions.html#Interoperable-Subroutines-and-Functions" accesskey="n" rel="next">Interoperable Subroutines and Functions</a>, Previous: <a href="Derived-Types-and-struct.html#Derived-Types-and-struct" accesskey="p" rel="previous">Derived Types and struct</a>, Up: <a href="Interoperability-with-C.html#Interoperability-with-C" accesskey="u" rel="up">Interoperability with C</a> [<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> +</div> +<hr> +<a name="Interoperable-Global-Variables-1"></a> +<h4 class="subsection">6.1.3 Interoperable Global Variables</h4> +<a name="index-C-variable-interoperability"></a> +<a name="index-variable-interoperability-with-C"></a> +<a name="index-interoperability_002c-variable"></a> + +<p>Variables can be made accessible from C using the C binding attribute, +optionally together with specifying a binding name. Those variables +have to be declared in the declaration part of a <code>MODULE</code>, +be of interoperable type, and have neither the <code>pointer</code> nor +the <code>allocatable</code> attribute. +</p> +<div class="smallexample"> +<pre class="smallexample"> MODULE m + USE myType_module + USE ISO_C_BINDING + integer(C_INT), bind(C, name="_MyProject_flags") :: global_flag + type(myType), bind(C) :: tp + END MODULE +</pre></div> + +<p>Here, <code>_MyProject_flags</code> is the case-sensitive name of the variable +as seen from C programs while <code>global_flag</code> is the case-insensitive +name as seen from Fortran. If no binding name is specified, as for +<var>tp</var>, the C binding name is the (lowercase) Fortran binding name. +If a binding name is specified, only a single variable may be after the +double colon. Note of warning: You cannot use a global variable to +access <var>errno</var> of the C library as the C standard allows it to be +a macro. Use the <code>IERRNO</code> intrinsic (GNU extension) instead. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/Interoperable-Subroutines-and-Functions.html b/share/doc/gfortran/Interoperable-Subroutines-and-Functions.html new file mode 100644 index 0000000..efedb88 --- /dev/null +++ b/share/doc/gfortran/Interoperable-Subroutines-and-Functions.html @@ -0,0 +1,189 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Interoperable Subroutines and Functions</title> + +<meta name="description" content="The GNU Fortran Compiler: Interoperable Subroutines and Functions"> +<meta name="keywords" content="The GNU Fortran Compiler: Interoperable Subroutines and Functions"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Interoperability-with-C.html#Interoperability-with-C" rel="up" title="Interoperability with C"> +<link href="Working-with-C-Pointers.html#Working-with-C-Pointers" rel="next" title="Working with C Pointers"> +<link href="Interoperable-Global-Variables.html#Interoperable-Global-Variables" rel="previous" title="Interoperable Global Variables"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Interoperable-Subroutines-and-Functions"></a> +<div class="header"> +<p> +Next: <a href="Working-with-C-Pointers.html#Working-with-C-Pointers" accesskey="n" rel="next">Working with C Pointers</a>, Previous: <a href="Interoperable-Global-Variables.html#Interoperable-Global-Variables" accesskey="p" rel="previous">Interoperable Global Variables</a>, Up: <a href="Interoperability-with-C.html#Interoperability-with-C" accesskey="u" rel="up">Interoperability with C</a> [<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> +</div> +<hr> +<a name="Interoperable-Subroutines-and-Functions-1"></a> +<h4 class="subsection">6.1.4 Interoperable Subroutines and Functions</h4> +<a name="index-C-procedure-interoperability"></a> +<a name="index-procedure-interoperability-with-C"></a> +<a name="index-function-interoperability-with-C"></a> +<a name="index-subroutine-interoperability-with-C"></a> +<a name="index-interoperability_002c-subroutine-and-function"></a> + +<p>Subroutines and functions have to have the <code>BIND(C)</code> attribute to +be compatible with C. The dummy argument declaration is relatively +straightforward. However, one needs to be careful because C uses +call-by-value by default while Fortran behaves usually similar to +call-by-reference. Furthermore, strings and pointers are handled +differently. +</p> +<p>To pass a variable by value, use the <code>VALUE</code> attribute. +Thus, the following C prototype +</p> +<div class="smallexample"> +<pre class="smallexample"><code>int func(int i, int *j)</code> +</pre></div> + +<p>matches the Fortran declaration +</p> +<div class="smallexample"> +<pre class="smallexample"> integer(c_int) function func(i,j) + use iso_c_binding, only: c_int + integer(c_int), VALUE :: i + integer(c_int) :: j +</pre></div> + +<p>Note that pointer arguments also frequently need the <code>VALUE</code> attribute, +see <a href="Working-with-C-Pointers.html#Working-with-C-Pointers">Working with C Pointers</a>. +</p> +<p>Strings are handled quite differently in C and Fortran. In C a string +is a <code>NUL</code>-terminated array of characters while in Fortran each string +has a length associated with it and is thus not terminated (by e.g. +<code>NUL</code>). For example, if you want to use the following C function, +</p> +<div class="smallexample"> +<pre class="smallexample"> #include <stdio.h> + void print_C(char *string) /* equivalent: char string[] */ + { + printf("%s\n", string); + } +</pre></div> + +<p>to print “Hello World” from Fortran, you can call it using +</p> +<div class="smallexample"> +<pre class="smallexample"> use iso_c_binding, only: C_CHAR, C_NULL_CHAR + interface + subroutine print_c(string) bind(C, name="print_C") + use iso_c_binding, only: c_char + character(kind=c_char) :: string(*) + end subroutine print_c + end interface + call print_c(C_CHAR_"Hello World"//C_NULL_CHAR) +</pre></div> + +<p>As the example shows, you need to ensure that the +string is <code>NUL</code> terminated. Additionally, the dummy argument +<var>string</var> of <code>print_C</code> is a length-one assumed-size +array; using <code>character(len=*)</code> is not allowed. The example +above uses <code>c_char_"Hello World"</code> to ensure the string +literal has the right type; typically the default character +kind and <code>c_char</code> are the same and thus <code>"Hello World"</code> +is equivalent. However, the standard does not guarantee this. +</p> +<p>The use of strings is now further illustrated using the C library +function <code>strncpy</code>, whose prototype is +</p> +<div class="smallexample"> +<pre class="smallexample"> char *strncpy(char *restrict s1, const char *restrict s2, size_t n); +</pre></div> + +<p>The function <code>strncpy</code> copies at most <var>n</var> characters from +string <var>s2</var> to <var>s1</var> and returns <var>s1</var>. In the following +example, we ignore the return value: +</p> +<div class="smallexample"> +<pre class="smallexample"> use iso_c_binding + implicit none + character(len=30) :: str,str2 + interface + ! Ignore the return value of strncpy -> subroutine + ! "restrict" is always assumed if we do not pass a pointer + subroutine strncpy(dest, src, n) bind(C) + import + character(kind=c_char), intent(out) :: dest(*) + character(kind=c_char), intent(in) :: src(*) + integer(c_size_t), value, intent(in) :: n + end subroutine strncpy + end interface + str = repeat('X',30) ! Initialize whole string with 'X' + call strncpy(str, c_char_"Hello World"//C_NULL_CHAR, & + len(c_char_"Hello World",kind=c_size_t)) + print '(a)', str ! prints: "Hello WorldXXXXXXXXXXXXXXXXXXX" + end +</pre></div> + +<p>The intrinsic procedures are described in <a href="Intrinsic-Procedures.html#Intrinsic-Procedures">Intrinsic Procedures</a>. +</p> +<hr> +<div class="header"> +<p> +Next: <a href="Working-with-C-Pointers.html#Working-with-C-Pointers" accesskey="n" rel="next">Working with C Pointers</a>, Previous: <a href="Interoperable-Global-Variables.html#Interoperable-Global-Variables" accesskey="p" rel="previous">Interoperable Global Variables</a>, Up: <a href="Interoperability-with-C.html#Interoperability-with-C" accesskey="u" rel="up">Interoperability with C</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Intrinsic-Modules.html b/share/doc/gfortran/Intrinsic-Modules.html new file mode 100644 index 0000000..6b0bd76 --- /dev/null +++ b/share/doc/gfortran/Intrinsic-Modules.html @@ -0,0 +1,98 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Intrinsic Modules</title> + +<meta name="description" content="The GNU Fortran Compiler: Intrinsic Modules"> +<meta name="keywords" content="The GNU Fortran Compiler: Intrinsic Modules"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="index.html#Top" rel="up" title="Top"> +<link href="ISO_005fFORTRAN_005fENV.html#ISO_005fFORTRAN_005fENV" rel="next" title="ISO_FORTRAN_ENV"> +<link href="XOR.html#XOR" rel="previous" title="XOR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Intrinsic-Modules"></a> +<div class="header"> +<p> +Next: <a href="Contributing.html#Contributing" accesskey="n" rel="next">Contributing</a>, Previous: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="p" rel="previous">Intrinsic Procedures</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<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> +</div> +<hr> +<a name="Intrinsic-Modules-1"></a> +<h2 class="chapter">9 Intrinsic Modules</h2> +<a name="index-intrinsic-Modules"></a> + +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="ISO_005fFORTRAN_005fENV.html#ISO_005fFORTRAN_005fENV" accesskey="1">ISO_FORTRAN_ENV</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="ISO_005fC_005fBINDING.html#ISO_005fC_005fBINDING" accesskey="2">ISO_C_BINDING</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="IEEE-modules.html#IEEE-modules" accesskey="3">IEEE modules</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="OpenMP-Modules-OMP_005fLIB-and-OMP_005fLIB_005fKINDS.html#OpenMP-Modules-OMP_005fLIB-and-OMP_005fLIB_005fKINDS" accesskey="4">OpenMP Modules OMP_LIB and OMP_LIB_KINDS</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="OpenACC-Module-OPENACC.html#OpenACC-Module-OPENACC" accesskey="5">OpenACC Module OPENACC</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + + + + +</body> +</html> diff --git a/share/doc/gfortran/Intrinsic-Procedures.html b/share/doc/gfortran/Intrinsic-Procedures.html new file mode 100644 index 0000000..65bb20c --- /dev/null +++ b/share/doc/gfortran/Intrinsic-Procedures.html @@ -0,0 +1,658 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Intrinsic Procedures</title> + +<meta name="description" content="The GNU Fortran Compiler: Intrinsic Procedures"> +<meta name="keywords" content="The GNU Fortran Compiler: Intrinsic Procedures"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="index.html#Top" rel="up" title="Top"> +<link href="Introduction-to-Intrinsics.html#Introduction-to-Intrinsics" rel="next" title="Introduction to Intrinsics"> +<link href="_005fgfortran_005fcaf_005fco_005freduce.html#g_t_005fgfortran_005fcaf_005fco_005freduce" rel="previous" title="_gfortran_caf_co_reduce"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Intrinsic-Procedures"></a> +<div class="header"> +<p> +Next: <a href="Intrinsic-Modules.html#Intrinsic-Modules" accesskey="n" rel="next">Intrinsic Modules</a>, Previous: <a href="Coarray-Programming.html#Coarray-Programming" accesskey="p" rel="previous">Coarray Programming</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<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> +</div> +<hr> +<a name="Intrinsic-Procedures-1"></a> +<h2 class="chapter">8 Intrinsic Procedures</h2> +<a name="index-intrinsic-procedures"></a> + +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="Introduction-to-Intrinsics.html#Introduction-to-Intrinsics" accesskey="1">Introduction</a>:</td><td> </td><td align="left" valign="top"></td></tr> +<tr><td align="left" valign="top">• <a href="ABORT.html#ABORT" accesskey="2"><code>ABORT</code></a>:</td><td> </td><td align="left" valign="top">Abort the program +</td></tr> +<tr><td align="left" valign="top">• <a href="ABS.html#ABS" accesskey="3"><code>ABS</code></a>:</td><td> </td><td align="left" valign="top">Absolute value +</td></tr> +<tr><td align="left" valign="top">• <a href="ACCESS.html#ACCESS" accesskey="4"><code>ACCESS</code></a>:</td><td> </td><td align="left" valign="top">Checks file access modes +</td></tr> +<tr><td align="left" valign="top">• <a href="ACHAR.html#ACHAR" accesskey="5"><code>ACHAR</code></a>:</td><td> </td><td align="left" valign="top">Character in <acronym>ASCII</acronym> collating sequence +</td></tr> +<tr><td align="left" valign="top">• <a href="ACOS.html#ACOS" accesskey="6"><code>ACOS</code></a>:</td><td> </td><td align="left" valign="top">Arccosine function +</td></tr> +<tr><td align="left" valign="top">• <a href="ACOSD.html#ACOSD" accesskey="7"><code>ACOSD</code></a>:</td><td> </td><td align="left" valign="top">Arccosine function, degrees +</td></tr> +<tr><td align="left" valign="top">• <a href="ACOSH.html#ACOSH" accesskey="8"><code>ACOSH</code></a>:</td><td> </td><td align="left" valign="top">Inverse hyperbolic cosine function +</td></tr> +<tr><td align="left" valign="top">• <a href="ADJUSTL.html#ADJUSTL" accesskey="9"><code>ADJUSTL</code></a>:</td><td> </td><td align="left" valign="top">Left adjust a string +</td></tr> +<tr><td align="left" valign="top">• <a href="ADJUSTR.html#ADJUSTR"><code>ADJUSTR</code></a>:</td><td> </td><td align="left" valign="top">Right adjust a string +</td></tr> +<tr><td align="left" valign="top">• <a href="AIMAG.html#AIMAG"><code>AIMAG</code></a>:</td><td> </td><td align="left" valign="top">Imaginary part of complex number +</td></tr> +<tr><td align="left" valign="top">• <a href="AINT.html#AINT"><code>AINT</code></a>:</td><td> </td><td align="left" valign="top">Truncate to a whole number +</td></tr> +<tr><td align="left" valign="top">• <a href="ALARM.html#ALARM"><code>ALARM</code></a>:</td><td> </td><td align="left" valign="top">Set an alarm clock +</td></tr> +<tr><td align="left" valign="top">• <a href="ALL.html#ALL"><code>ALL</code></a>:</td><td> </td><td align="left" valign="top">Determine if all values are true +</td></tr> +<tr><td align="left" valign="top">• <a href="ALLOCATED.html#ALLOCATED"><code>ALLOCATED</code></a>:</td><td> </td><td align="left" valign="top">Status of allocatable entity +</td></tr> +<tr><td align="left" valign="top">• <a href="AND.html#AND"><code>AND</code></a>:</td><td> </td><td align="left" valign="top">Bitwise logical AND +</td></tr> +<tr><td align="left" valign="top">• <a href="ANINT.html#ANINT"><code>ANINT</code></a>:</td><td> </td><td align="left" valign="top">Nearest whole number +</td></tr> +<tr><td align="left" valign="top">• <a href="ANY.html#ANY"><code>ANY</code></a>:</td><td> </td><td align="left" valign="top">Determine if any values are true +</td></tr> +<tr><td align="left" valign="top">• <a href="ASIN.html#ASIN"><code>ASIN</code></a>:</td><td> </td><td align="left" valign="top">Arcsine function +</td></tr> +<tr><td align="left" valign="top">• <a href="ASIND.html#ASIND"><code>ASIND</code></a>:</td><td> </td><td align="left" valign="top">Arcsine function, degrees +</td></tr> +<tr><td align="left" valign="top">• <a href="ASINH.html#ASINH"><code>ASINH</code></a>:</td><td> </td><td align="left" valign="top">Inverse hyperbolic sine function +</td></tr> +<tr><td align="left" valign="top">• <a href="ASSOCIATED.html#ASSOCIATED"><code>ASSOCIATED</code></a>:</td><td> </td><td align="left" valign="top">Status of a pointer or pointer/target pair +</td></tr> +<tr><td align="left" valign="top">• <a href="ATAN.html#ATAN"><code>ATAN</code></a>:</td><td> </td><td align="left" valign="top">Arctangent function +</td></tr> +<tr><td align="left" valign="top">• <a href="ATAND.html#ATAND"><code>ATAND</code></a>:</td><td> </td><td align="left" valign="top">Arctangent function, degrees +</td></tr> +<tr><td align="left" valign="top">• <a href="ATAN2.html#ATAN2"><code>ATAN2</code></a>:</td><td> </td><td align="left" valign="top">Arctangent function +</td></tr> +<tr><td align="left" valign="top">• <a href="ATAN2D.html#ATAN2D"><code>ATAN2D</code></a>:</td><td> </td><td align="left" valign="top">Arctangent function, degrees +</td></tr> +<tr><td align="left" valign="top">• <a href="ATANH.html#ATANH"><code>ATANH</code></a>:</td><td> </td><td align="left" valign="top">Inverse hyperbolic tangent function +</td></tr> +<tr><td align="left" valign="top">• <a href="ATOMIC_005fADD.html#ATOMIC_005fADD"><code>ATOMIC_ADD</code></a>:</td><td> </td><td align="left" valign="top">Atomic ADD operation +</td></tr> +<tr><td align="left" valign="top">• <a href="ATOMIC_005fAND.html#ATOMIC_005fAND"><code>ATOMIC_AND</code></a>:</td><td> </td><td align="left" valign="top">Atomic bitwise AND operation +</td></tr> +<tr><td align="left" valign="top">• <a href="ATOMIC_005fCAS.html#ATOMIC_005fCAS"><code>ATOMIC_CAS</code></a>:</td><td> </td><td align="left" valign="top">Atomic compare and swap +</td></tr> +<tr><td align="left" valign="top">• <a href="ATOMIC_005fDEFINE.html#ATOMIC_005fDEFINE"><code>ATOMIC_DEFINE</code></a>:</td><td> </td><td align="left" valign="top">Setting a variable atomically +</td></tr> +<tr><td align="left" valign="top">• <a href="ATOMIC_005fFETCH_005fADD.html#ATOMIC_005fFETCH_005fADD"><code>ATOMIC_FETCH_ADD</code></a>:</td><td> </td><td align="left" valign="top">Atomic ADD operation with prior fetch +</td></tr> +<tr><td align="left" valign="top">• <a href="ATOMIC_005fFETCH_005fAND.html#ATOMIC_005fFETCH_005fAND"><code>ATOMIC_FETCH_AND</code></a>:</td><td> </td><td align="left" valign="top">Atomic bitwise AND operation with prior fetch +</td></tr> +<tr><td align="left" valign="top">• <a href="ATOMIC_005fFETCH_005fOR.html#ATOMIC_005fFETCH_005fOR"><code>ATOMIC_FETCH_OR</code></a>:</td><td> </td><td align="left" valign="top">Atomic bitwise OR operation with prior fetch +</td></tr> +<tr><td align="left" valign="top">• <a href="ATOMIC_005fFETCH_005fXOR.html#ATOMIC_005fFETCH_005fXOR"><code>ATOMIC_FETCH_XOR</code></a>:</td><td> </td><td align="left" valign="top">Atomic bitwise XOR operation with prior fetch +</td></tr> +<tr><td align="left" valign="top">• <a href="ATOMIC_005fOR.html#ATOMIC_005fOR"><code>ATOMIC_OR</code></a>:</td><td> </td><td align="left" valign="top">Atomic bitwise OR operation +</td></tr> +<tr><td align="left" valign="top">• <a href="ATOMIC_005fREF.html#ATOMIC_005fREF"><code>ATOMIC_REF</code></a>:</td><td> </td><td align="left" valign="top">Obtaining the value of a variable atomically +</td></tr> +<tr><td align="left" valign="top">• <a href="ATOMIC_005fXOR.html#ATOMIC_005fXOR"><code>ATOMIC_XOR</code></a>:</td><td> </td><td align="left" valign="top">Atomic bitwise OR operation +</td></tr> +<tr><td align="left" valign="top">• <a href="BACKTRACE.html#BACKTRACE"><code>BACKTRACE</code></a>:</td><td> </td><td align="left" valign="top">Show a backtrace +</td></tr> +<tr><td align="left" valign="top">• <a href="BESSEL_005fJ0.html#BESSEL_005fJ0"><code>BESSEL_J0</code></a>:</td><td> </td><td align="left" valign="top">Bessel function of the first kind of order 0 +</td></tr> +<tr><td align="left" valign="top">• <a href="BESSEL_005fJ1.html#BESSEL_005fJ1"><code>BESSEL_J1</code></a>:</td><td> </td><td align="left" valign="top">Bessel function of the first kind of order 1 +</td></tr> +<tr><td align="left" valign="top">• <a href="BESSEL_005fJN.html#BESSEL_005fJN"><code>BESSEL_JN</code></a>:</td><td> </td><td align="left" valign="top">Bessel function of the first kind +</td></tr> +<tr><td align="left" valign="top">• <a href="BESSEL_005fY0.html#BESSEL_005fY0"><code>BESSEL_Y0</code></a>:</td><td> </td><td align="left" valign="top">Bessel function of the second kind of order 0 +</td></tr> +<tr><td align="left" valign="top">• <a href="BESSEL_005fY1.html#BESSEL_005fY1"><code>BESSEL_Y1</code></a>:</td><td> </td><td align="left" valign="top">Bessel function of the second kind of order 1 +</td></tr> +<tr><td align="left" valign="top">• <a href="BESSEL_005fYN.html#BESSEL_005fYN"><code>BESSEL_YN</code></a>:</td><td> </td><td align="left" valign="top">Bessel function of the second kind +</td></tr> +<tr><td align="left" valign="top">• <a href="BGE.html#BGE"><code>BGE</code></a>:</td><td> </td><td align="left" valign="top">Bitwise greater than or equal to +</td></tr> +<tr><td align="left" valign="top">• <a href="BGT.html#BGT"><code>BGT</code></a>:</td><td> </td><td align="left" valign="top">Bitwise greater than +</td></tr> +<tr><td align="left" valign="top">• <a href="BIT_005fSIZE.html#BIT_005fSIZE"><code>BIT_SIZE</code></a>:</td><td> </td><td align="left" valign="top">Bit size inquiry function +</td></tr> +<tr><td align="left" valign="top">• <a href="BLE.html#BLE"><code>BLE</code></a>:</td><td> </td><td align="left" valign="top">Bitwise less than or equal to +</td></tr> +<tr><td align="left" valign="top">• <a href="BLT.html#BLT"><code>BLT</code></a>:</td><td> </td><td align="left" valign="top">Bitwise less than +</td></tr> +<tr><td align="left" valign="top">• <a href="BTEST.html#BTEST"><code>BTEST</code></a>:</td><td> </td><td align="left" valign="top">Bit test function +</td></tr> +<tr><td align="left" valign="top">• <a href="C_005fASSOCIATED.html#C_005fASSOCIATED"><code>C_ASSOCIATED</code></a>:</td><td> </td><td align="left" valign="top">Status of a C pointer +</td></tr> +<tr><td align="left" valign="top">• <a href="C_005fF_005fPOINTER.html#C_005fF_005fPOINTER"><code>C_F_POINTER</code></a>:</td><td> </td><td align="left" valign="top">Convert C into Fortran pointer +</td></tr> +<tr><td align="left" valign="top">• <a href="C_005fF_005fPROCPOINTER.html#C_005fF_005fPROCPOINTER"><code>C_F_PROCPOINTER</code></a>:</td><td> </td><td align="left" valign="top">Convert C into Fortran procedure pointer +</td></tr> +<tr><td align="left" valign="top">• <a href="C_005fFUNLOC.html#C_005fFUNLOC"><code>C_FUNLOC</code></a>:</td><td> </td><td align="left" valign="top">Obtain the C address of a procedure +</td></tr> +<tr><td align="left" valign="top">• <a href="C_005fLOC.html#C_005fLOC"><code>C_LOC</code></a>:</td><td> </td><td align="left" valign="top">Obtain the C address of an object +</td></tr> +<tr><td align="left" valign="top">• <a href="C_005fSIZEOF.html#C_005fSIZEOF"><code>C_SIZEOF</code></a>:</td><td> </td><td align="left" valign="top">Size in bytes of an expression +</td></tr> +<tr><td align="left" valign="top">• <a href="CEILING.html#CEILING"><code>CEILING</code></a>:</td><td> </td><td align="left" valign="top">Integer ceiling function +</td></tr> +<tr><td align="left" valign="top">• <a href="CHAR.html#CHAR"><code>CHAR</code></a>:</td><td> </td><td align="left" valign="top">Integer-to-character conversion function +</td></tr> +<tr><td align="left" valign="top">• <a href="CHDIR.html#CHDIR"><code>CHDIR</code></a>:</td><td> </td><td align="left" valign="top">Change working directory +</td></tr> +<tr><td align="left" valign="top">• <a href="CHMOD.html#CHMOD"><code>CHMOD</code></a>:</td><td> </td><td align="left" valign="top">Change access permissions of files +</td></tr> +<tr><td align="left" valign="top">• <a href="CMPLX.html#CMPLX"><code>CMPLX</code></a>:</td><td> </td><td align="left" valign="top">Complex conversion function +</td></tr> +<tr><td align="left" valign="top">• <a href="CO_005fBROADCAST.html#CO_005fBROADCAST"><code>CO_BROADCAST</code></a>:</td><td> </td><td align="left" valign="top">Copy a value to all images the current set of images +</td></tr> +<tr><td align="left" valign="top">• <a href="CO_005fMAX.html#CO_005fMAX"><code>CO_MAX</code></a>:</td><td> </td><td align="left" valign="top">Maximal value on the current set of images +</td></tr> +<tr><td align="left" valign="top">• <a href="CO_005fMIN.html#CO_005fMIN"><code>CO_MIN</code></a>:</td><td> </td><td align="left" valign="top">Minimal value on the current set of images +</td></tr> +<tr><td align="left" valign="top">• <a href="CO_005fREDUCE.html#CO_005fREDUCE"><code>CO_REDUCE</code></a>:</td><td> </td><td align="left" valign="top">Reduction of values on the current set of images +</td></tr> +<tr><td align="left" valign="top">• <a href="CO_005fSUM.html#CO_005fSUM"><code>CO_SUM</code></a>:</td><td> </td><td align="left" valign="top">Sum of values on the current set of images +</td></tr> +<tr><td align="left" valign="top">• <a href="COMMAND_005fARGUMENT_005fCOUNT.html#COMMAND_005fARGUMENT_005fCOUNT"><code>COMMAND_ARGUMENT_COUNT</code></a>:</td><td> </td><td align="left" valign="top">Get number of command line arguments +</td></tr> +<tr><td align="left" valign="top">• <a href="COMPILER_005fOPTIONS.html#COMPILER_005fOPTIONS"><code>COMPILER_OPTIONS</code></a>:</td><td> </td><td align="left" valign="top">Options passed to the compiler +</td></tr> +<tr><td align="left" valign="top">• <a href="COMPILER_005fVERSION.html#COMPILER_005fVERSION"><code>COMPILER_VERSION</code></a>:</td><td> </td><td align="left" valign="top">Compiler version string +</td></tr> +<tr><td align="left" valign="top">• <a href="COMPLEX.html#COMPLEX"><code>COMPLEX</code></a>:</td><td> </td><td align="left" valign="top">Complex conversion function +</td></tr> +<tr><td align="left" valign="top">• <a href="CONJG.html#CONJG"><code>CONJG</code></a>:</td><td> </td><td align="left" valign="top">Complex conjugate function +</td></tr> +<tr><td align="left" valign="top">• <a href="COS.html#COS"><code>COS</code></a>:</td><td> </td><td align="left" valign="top">Cosine function +</td></tr> +<tr><td align="left" valign="top">• <a href="COSD.html#COSD"><code>COSD</code></a>:</td><td> </td><td align="left" valign="top">Cosine function, degrees +</td></tr> +<tr><td align="left" valign="top">• <a href="COSH.html#COSH"><code>COSH</code></a>:</td><td> </td><td align="left" valign="top">Hyperbolic cosine function +</td></tr> +<tr><td align="left" valign="top">• <a href="COTAN.html#COTAN"><code>COTAN</code></a>:</td><td> </td><td align="left" valign="top">Cotangent function +</td></tr> +<tr><td align="left" valign="top">• <a href="COTAND.html#COTAND"><code>COTAND</code></a>:</td><td> </td><td align="left" valign="top">Cotangent function, degrees +</td></tr> +<tr><td align="left" valign="top">• <a href="COUNT.html#COUNT"><code>COUNT</code></a>:</td><td> </td><td align="left" valign="top">Count occurrences of TRUE in an array +</td></tr> +<tr><td align="left" valign="top">• <a href="CPU_005fTIME.html#CPU_005fTIME"><code>CPU_TIME</code></a>:</td><td> </td><td align="left" valign="top">CPU time subroutine +</td></tr> +<tr><td align="left" valign="top">• <a href="CSHIFT.html#CSHIFT"><code>CSHIFT</code></a>:</td><td> </td><td align="left" valign="top">Circular shift elements of an array +</td></tr> +<tr><td align="left" valign="top">• <a href="CTIME.html#CTIME"><code>CTIME</code></a>:</td><td> </td><td align="left" valign="top">Subroutine (or function) to convert a time into a string +</td></tr> +<tr><td align="left" valign="top">• <a href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME"><code>DATE_AND_TIME</code></a>:</td><td> </td><td align="left" valign="top">Date and time subroutine +</td></tr> +<tr><td align="left" valign="top">• <a href="DBLE.html#DBLE"><code>DBLE</code></a>:</td><td> </td><td align="left" valign="top">Double precision conversion function +</td></tr> +<tr><td align="left" valign="top">• <a href="DCMPLX.html#DCMPLX"><code>DCMPLX</code></a>:</td><td> </td><td align="left" valign="top">Double complex conversion function +</td></tr> +<tr><td align="left" valign="top">• <a href="DIGITS.html#DIGITS"><code>DIGITS</code></a>:</td><td> </td><td align="left" valign="top">Significant digits function +</td></tr> +<tr><td align="left" valign="top">• <a href="DIM.html#DIM"><code>DIM</code></a>:</td><td> </td><td align="left" valign="top">Positive difference +</td></tr> +<tr><td align="left" valign="top">• <a href="DOT_005fPRODUCT.html#DOT_005fPRODUCT"><code>DOT_PRODUCT</code></a>:</td><td> </td><td align="left" valign="top">Dot product function +</td></tr> +<tr><td align="left" valign="top">• <a href="DPROD.html#DPROD"><code>DPROD</code></a>:</td><td> </td><td align="left" valign="top">Double product function +</td></tr> +<tr><td align="left" valign="top">• <a href="DREAL.html#DREAL"><code>DREAL</code></a>:</td><td> </td><td align="left" valign="top">Double real part function +</td></tr> +<tr><td align="left" valign="top">• <a href="DSHIFTL.html#DSHIFTL"><code>DSHIFTL</code></a>:</td><td> </td><td align="left" valign="top">Combined left shift +</td></tr> +<tr><td align="left" valign="top">• <a href="DSHIFTR.html#DSHIFTR"><code>DSHIFTR</code></a>:</td><td> </td><td align="left" valign="top">Combined right shift +</td></tr> +<tr><td align="left" valign="top">• <a href="DTIME.html#DTIME"><code>DTIME</code></a>:</td><td> </td><td align="left" valign="top">Execution time subroutine (or function) +</td></tr> +<tr><td align="left" valign="top">• <a href="EOSHIFT.html#EOSHIFT"><code>EOSHIFT</code></a>:</td><td> </td><td align="left" valign="top">End-off shift elements of an array +</td></tr> +<tr><td align="left" valign="top">• <a href="EPSILON.html#EPSILON"><code>EPSILON</code></a>:</td><td> </td><td align="left" valign="top">Epsilon function +</td></tr> +<tr><td align="left" valign="top">• <a href="ERF.html#ERF"><code>ERF</code></a>:</td><td> </td><td align="left" valign="top">Error function +</td></tr> +<tr><td align="left" valign="top">• <a href="ERFC.html#ERFC"><code>ERFC</code></a>:</td><td> </td><td align="left" valign="top">Complementary error function +</td></tr> +<tr><td align="left" valign="top">• <a href="ERFC_005fSCALED.html#ERFC_005fSCALED"><code>ERFC_SCALED</code></a>:</td><td> </td><td align="left" valign="top">Exponentially-scaled complementary error function +</td></tr> +<tr><td align="left" valign="top">• <a href="ETIME.html#ETIME"><code>ETIME</code></a>:</td><td> </td><td align="left" valign="top">Execution time subroutine (or function) +</td></tr> +<tr><td align="left" valign="top">• <a href="EVENT_005fQUERY.html#EVENT_005fQUERY"><code>EVENT_QUERY</code></a>:</td><td> </td><td align="left" valign="top">Query whether a coarray event has occurred +</td></tr> +<tr><td align="left" valign="top">• <a href="EXECUTE_005fCOMMAND_005fLINE.html#EXECUTE_005fCOMMAND_005fLINE"><code>EXECUTE_COMMAND_LINE</code></a>:</td><td> </td><td align="left" valign="top">Execute a shell command +</td></tr> +<tr><td align="left" valign="top">• <a href="EXIT.html#EXIT"><code>EXIT</code></a>:</td><td> </td><td align="left" valign="top">Exit the program with status. +</td></tr> +<tr><td align="left" valign="top">• <a href="EXP.html#EXP"><code>EXP</code></a>:</td><td> </td><td align="left" valign="top">Exponential function +</td></tr> +<tr><td align="left" valign="top">• <a href="EXPONENT.html#EXPONENT"><code>EXPONENT</code></a>:</td><td> </td><td align="left" valign="top">Exponent function +</td></tr> +<tr><td align="left" valign="top">• <a href="EXTENDS_005fTYPE_005fOF.html#EXTENDS_005fTYPE_005fOF"><code>EXTENDS_TYPE_OF</code></a>:</td><td> </td><td align="left" valign="top">Query dynamic type for extension +</td></tr> +<tr><td align="left" valign="top">• <a href="FDATE.html#FDATE"><code>FDATE</code></a>:</td><td> </td><td align="left" valign="top">Subroutine (or function) to get the current time as a string +</td></tr> +<tr><td align="left" valign="top">• <a href="FGET.html#FGET"><code>FGET</code></a>:</td><td> </td><td align="left" valign="top">Read a single character in stream mode from stdin +</td></tr> +<tr><td align="left" valign="top">• <a href="FGETC.html#FGETC"><code>FGETC</code></a>:</td><td> </td><td align="left" valign="top">Read a single character in stream mode +</td></tr> +<tr><td align="left" valign="top">• <a href="FINDLOC.html#FINDLOC"><code>FINDLOC</code></a>:</td><td> </td><td align="left" valign="top">Search an array for a value +</td></tr> +<tr><td align="left" valign="top">• <a href="FLOOR.html#FLOOR"><code>FLOOR</code></a>:</td><td> </td><td align="left" valign="top">Integer floor function +</td></tr> +<tr><td align="left" valign="top">• <a href="FLUSH.html#FLUSH"><code>FLUSH</code></a>:</td><td> </td><td align="left" valign="top">Flush I/O unit(s) +</td></tr> +<tr><td align="left" valign="top">• <a href="FNUM.html#FNUM"><code>FNUM</code></a>:</td><td> </td><td align="left" valign="top">File number function +</td></tr> +<tr><td align="left" valign="top">• <a href="FPUT.html#FPUT"><code>FPUT</code></a>:</td><td> </td><td align="left" valign="top">Write a single character in stream mode to stdout +</td></tr> +<tr><td align="left" valign="top">• <a href="FPUTC.html#FPUTC"><code>FPUTC</code></a>:</td><td> </td><td align="left" valign="top">Write a single character in stream mode +</td></tr> +<tr><td align="left" valign="top">• <a href="FRACTION.html#FRACTION"><code>FRACTION</code></a>:</td><td> </td><td align="left" valign="top">Fractional part of the model representation +</td></tr> +<tr><td align="left" valign="top">• <a href="FREE.html#FREE"><code>FREE</code></a>:</td><td> </td><td align="left" valign="top">Memory de-allocation subroutine +</td></tr> +<tr><td align="left" valign="top">• <a href="FSEEK.html#FSEEK"><code>FSEEK</code></a>:</td><td> </td><td align="left" valign="top">Low level file positioning subroutine +</td></tr> +<tr><td align="left" valign="top">• <a href="FSTAT.html#FSTAT"><code>FSTAT</code></a>:</td><td> </td><td align="left" valign="top">Get file status +</td></tr> +<tr><td align="left" valign="top">• <a href="FTELL.html#FTELL"><code>FTELL</code></a>:</td><td> </td><td align="left" valign="top">Current stream position +</td></tr> +<tr><td align="left" valign="top">• <a href="GAMMA.html#GAMMA"><code>GAMMA</code></a>:</td><td> </td><td align="left" valign="top">Gamma function +</td></tr> +<tr><td align="left" valign="top">• <a href="GERROR.html#GERROR"><code>GERROR</code></a>:</td><td> </td><td align="left" valign="top">Get last system error message +</td></tr> +<tr><td align="left" valign="top">• <a href="GETARG.html#GETARG"><code>GETARG</code></a>:</td><td> </td><td align="left" valign="top">Get command line arguments +</td></tr> +<tr><td align="left" valign="top">• <a href="GET_005fCOMMAND.html#GET_005fCOMMAND"><code>GET_COMMAND</code></a>:</td><td> </td><td align="left" valign="top">Get the entire command line +</td></tr> +<tr><td align="left" valign="top">• <a href="GET_005fCOMMAND_005fARGUMENT.html#GET_005fCOMMAND_005fARGUMENT"><code>GET_COMMAND_ARGUMENT</code></a>:</td><td> </td><td align="left" valign="top">Get command line arguments +</td></tr> +<tr><td align="left" valign="top">• <a href="GETCWD.html#GETCWD"><code>GETCWD</code></a>:</td><td> </td><td align="left" valign="top">Get current working directory +</td></tr> +<tr><td align="left" valign="top">• <a href="GETENV.html#GETENV"><code>GETENV</code></a>:</td><td> </td><td align="left" valign="top">Get an environmental variable +</td></tr> +<tr><td align="left" valign="top">• <a href="GET_005fENVIRONMENT_005fVARIABLE.html#GET_005fENVIRONMENT_005fVARIABLE"><code>GET_ENVIRONMENT_VARIABLE</code></a>:</td><td> </td><td align="left" valign="top">Get an environmental variable +</td></tr> +<tr><td align="left" valign="top">• <a href="GETGID.html#GETGID"><code>GETGID</code></a>:</td><td> </td><td align="left" valign="top">Group ID function +</td></tr> +<tr><td align="left" valign="top">• <a href="GETLOG.html#GETLOG"><code>GETLOG</code></a>:</td><td> </td><td align="left" valign="top">Get login name +</td></tr> +<tr><td align="left" valign="top">• <a href="GETPID.html#GETPID"><code>GETPID</code></a>:</td><td> </td><td align="left" valign="top">Process ID function +</td></tr> +<tr><td align="left" valign="top">• <a href="GETUID.html#GETUID"><code>GETUID</code></a>:</td><td> </td><td align="left" valign="top">User ID function +</td></tr> +<tr><td align="left" valign="top">• <a href="GMTIME.html#GMTIME"><code>GMTIME</code></a>:</td><td> </td><td align="left" valign="top">Convert time to GMT info +</td></tr> +<tr><td align="left" valign="top">• <a href="HOSTNM.html#HOSTNM"><code>HOSTNM</code></a>:</td><td> </td><td align="left" valign="top">Get system host name +</td></tr> +<tr><td align="left" valign="top">• <a href="HUGE.html#HUGE"><code>HUGE</code></a>:</td><td> </td><td align="left" valign="top">Largest number of a kind +</td></tr> +<tr><td align="left" valign="top">• <a href="HYPOT.html#HYPOT"><code>HYPOT</code></a>:</td><td> </td><td align="left" valign="top">Euclidean distance function +</td></tr> +<tr><td align="left" valign="top">• <a href="IACHAR.html#IACHAR"><code>IACHAR</code></a>:</td><td> </td><td align="left" valign="top">Code in <acronym>ASCII</acronym> collating sequence +</td></tr> +<tr><td align="left" valign="top">• <a href="IALL.html#IALL"><code>IALL</code></a>:</td><td> </td><td align="left" valign="top">Bitwise AND of array elements +</td></tr> +<tr><td align="left" valign="top">• <a href="IAND.html#IAND"><code>IAND</code></a>:</td><td> </td><td align="left" valign="top">Bitwise logical and +</td></tr> +<tr><td align="left" valign="top">• <a href="IANY.html#IANY"><code>IANY</code></a>:</td><td> </td><td align="left" valign="top">Bitwise OR of array elements +</td></tr> +<tr><td align="left" valign="top">• <a href="IARGC.html#IARGC"><code>IARGC</code></a>:</td><td> </td><td align="left" valign="top">Get the number of command line arguments +</td></tr> +<tr><td align="left" valign="top">• <a href="IBCLR.html#IBCLR"><code>IBCLR</code></a>:</td><td> </td><td align="left" valign="top">Clear bit +</td></tr> +<tr><td align="left" valign="top">• <a href="IBITS.html#IBITS"><code>IBITS</code></a>:</td><td> </td><td align="left" valign="top">Bit extraction +</td></tr> +<tr><td align="left" valign="top">• <a href="IBSET.html#IBSET"><code>IBSET</code></a>:</td><td> </td><td align="left" valign="top">Set bit +</td></tr> +<tr><td align="left" valign="top">• <a href="ICHAR.html#ICHAR"><code>ICHAR</code></a>:</td><td> </td><td align="left" valign="top">Character-to-integer conversion function +</td></tr> +<tr><td align="left" valign="top">• <a href="IDATE.html#IDATE"><code>IDATE</code></a>:</td><td> </td><td align="left" valign="top">Current local time (day/month/year) +</td></tr> +<tr><td align="left" valign="top">• <a href="IEOR.html#IEOR"><code>IEOR</code></a>:</td><td> </td><td align="left" valign="top">Bitwise logical exclusive or +</td></tr> +<tr><td align="left" valign="top">• <a href="IERRNO.html#IERRNO"><code>IERRNO</code></a>:</td><td> </td><td align="left" valign="top">Function to get the last system error number +</td></tr> +<tr><td align="left" valign="top">• <a href="IMAGE_005fINDEX.html#IMAGE_005fINDEX"><code>IMAGE_INDEX</code></a>:</td><td> </td><td align="left" valign="top">Cosubscript to image index conversion +</td></tr> +<tr><td align="left" valign="top">• <a href="INDEX-intrinsic.html#INDEX-intrinsic"><code>INDEX</code></a>:</td><td> </td><td align="left" valign="top">Position of a substring within a string +</td></tr> +<tr><td align="left" valign="top">• <a href="INT.html#INT"><code>INT</code></a>:</td><td> </td><td align="left" valign="top">Convert to integer type +</td></tr> +<tr><td align="left" valign="top">• <a href="INT2.html#INT2"><code>INT2</code></a>:</td><td> </td><td align="left" valign="top">Convert to 16-bit integer type +</td></tr> +<tr><td align="left" valign="top">• <a href="INT8.html#INT8"><code>INT8</code></a>:</td><td> </td><td align="left" valign="top">Convert to 64-bit integer type +</td></tr> +<tr><td align="left" valign="top">• <a href="IOR.html#IOR"><code>IOR</code></a>:</td><td> </td><td align="left" valign="top">Bitwise logical or +</td></tr> +<tr><td align="left" valign="top">• <a href="IPARITY.html#IPARITY"><code>IPARITY</code></a>:</td><td> </td><td align="left" valign="top">Bitwise XOR of array elements +</td></tr> +<tr><td align="left" valign="top">• <a href="IRAND.html#IRAND"><code>IRAND</code></a>:</td><td> </td><td align="left" valign="top">Integer pseudo-random number +</td></tr> +<tr><td align="left" valign="top">• <a href="IS_005fCONTIGUOUS.html#IS_005fCONTIGUOUS"><code>IS_CONTIGUOUS</code></a>:</td><td> </td><td align="left" valign="top">Test whether an array is contiguous +</td></tr> +<tr><td align="left" valign="top">• <a href="IS_005fIOSTAT_005fEND.html#IS_005fIOSTAT_005fEND"><code>IS_IOSTAT_END</code></a>:</td><td> </td><td align="left" valign="top">Test for end-of-file value +</td></tr> +<tr><td align="left" valign="top">• <a href="IS_005fIOSTAT_005fEOR.html#IS_005fIOSTAT_005fEOR"><code>IS_IOSTAT_EOR</code></a>:</td><td> </td><td align="left" valign="top">Test for end-of-record value +</td></tr> +<tr><td align="left" valign="top">• <a href="ISATTY.html#ISATTY"><code>ISATTY</code></a>:</td><td> </td><td align="left" valign="top">Whether a unit is a terminal device +</td></tr> +<tr><td align="left" valign="top">• <a href="ISHFT.html#ISHFT"><code>ISHFT</code></a>:</td><td> </td><td align="left" valign="top">Shift bits +</td></tr> +<tr><td align="left" valign="top">• <a href="ISHFTC.html#ISHFTC"><code>ISHFTC</code></a>:</td><td> </td><td align="left" valign="top">Shift bits circularly +</td></tr> +<tr><td align="left" valign="top">• <a href="ISNAN.html#ISNAN"><code>ISNAN</code></a>:</td><td> </td><td align="left" valign="top">Tests for a NaN +</td></tr> +<tr><td align="left" valign="top">• <a href="ITIME.html#ITIME"><code>ITIME</code></a>:</td><td> </td><td align="left" valign="top">Current local time (hour/minutes/seconds) +</td></tr> +<tr><td align="left" valign="top">• <a href="KILL.html#KILL"><code>KILL</code></a>:</td><td> </td><td align="left" valign="top">Send a signal to a process +</td></tr> +<tr><td align="left" valign="top">• <a href="KIND.html#KIND"><code>KIND</code></a>:</td><td> </td><td align="left" valign="top">Kind of an entity +</td></tr> +<tr><td align="left" valign="top">• <a href="LBOUND.html#LBOUND"><code>LBOUND</code></a>:</td><td> </td><td align="left" valign="top">Lower dimension bounds of an array +</td></tr> +<tr><td align="left" valign="top">• <a href="LCOBOUND.html#LCOBOUND"><code>LCOBOUND</code></a>:</td><td> </td><td align="left" valign="top">Lower codimension bounds of an array +</td></tr> +<tr><td align="left" valign="top">• <a href="LEADZ.html#LEADZ"><code>LEADZ</code></a>:</td><td> </td><td align="left" valign="top">Number of leading zero bits of an integer +</td></tr> +<tr><td align="left" valign="top">• <a href="LEN.html#LEN"><code>LEN</code></a>:</td><td> </td><td align="left" valign="top">Length of a character entity +</td></tr> +<tr><td align="left" valign="top">• <a href="LEN_005fTRIM.html#LEN_005fTRIM"><code>LEN_TRIM</code></a>:</td><td> </td><td align="left" valign="top">Length of a character entity without trailing blank characters +</td></tr> +<tr><td align="left" valign="top">• <a href="LGE.html#LGE"><code>LGE</code></a>:</td><td> </td><td align="left" valign="top">Lexical greater than or equal +</td></tr> +<tr><td align="left" valign="top">• <a href="LGT.html#LGT"><code>LGT</code></a>:</td><td> </td><td align="left" valign="top">Lexical greater than +</td></tr> +<tr><td align="left" valign="top">• <a href="LINK.html#LINK"><code>LINK</code></a>:</td><td> </td><td align="left" valign="top">Create a hard link +</td></tr> +<tr><td align="left" valign="top">• <a href="LLE.html#LLE"><code>LLE</code></a>:</td><td> </td><td align="left" valign="top">Lexical less than or equal +</td></tr> +<tr><td align="left" valign="top">• <a href="LLT.html#LLT"><code>LLT</code></a>:</td><td> </td><td align="left" valign="top">Lexical less than +</td></tr> +<tr><td align="left" valign="top">• <a href="LNBLNK.html#LNBLNK"><code>LNBLNK</code></a>:</td><td> </td><td align="left" valign="top">Index of the last non-blank character in a string +</td></tr> +<tr><td align="left" valign="top">• <a href="LOC.html#LOC"><code>LOC</code></a>:</td><td> </td><td align="left" valign="top">Returns the address of a variable +</td></tr> +<tr><td align="left" valign="top">• <a href="LOG.html#LOG"><code>LOG</code></a>:</td><td> </td><td align="left" valign="top">Logarithm function +</td></tr> +<tr><td align="left" valign="top">• <a href="LOG10.html#LOG10"><code>LOG10</code></a>:</td><td> </td><td align="left" valign="top">Base 10 logarithm function +</td></tr> +<tr><td align="left" valign="top">• <a href="LOG_005fGAMMA.html#LOG_005fGAMMA"><code>LOG_GAMMA</code></a>:</td><td> </td><td align="left" valign="top">Logarithm of the Gamma function +</td></tr> +<tr><td align="left" valign="top">• <a href="LOGICAL.html#LOGICAL"><code>LOGICAL</code></a>:</td><td> </td><td align="left" valign="top">Convert to logical type +</td></tr> +<tr><td align="left" valign="top">• <a href="LSHIFT.html#LSHIFT"><code>LSHIFT</code></a>:</td><td> </td><td align="left" valign="top">Left shift bits +</td></tr> +<tr><td align="left" valign="top">• <a href="LSTAT.html#LSTAT"><code>LSTAT</code></a>:</td><td> </td><td align="left" valign="top">Get file status +</td></tr> +<tr><td align="left" valign="top">• <a href="LTIME.html#LTIME"><code>LTIME</code></a>:</td><td> </td><td align="left" valign="top">Convert time to local time info +</td></tr> +<tr><td align="left" valign="top">• <a href="MALLOC.html#MALLOC"><code>MALLOC</code></a>:</td><td> </td><td align="left" valign="top">Dynamic memory allocation function +</td></tr> +<tr><td align="left" valign="top">• <a href="MASKL.html#MASKL"><code>MASKL</code></a>:</td><td> </td><td align="left" valign="top">Left justified mask +</td></tr> +<tr><td align="left" valign="top">• <a href="MASKR.html#MASKR"><code>MASKR</code></a>:</td><td> </td><td align="left" valign="top">Right justified mask +</td></tr> +<tr><td align="left" valign="top">• <a href="MATMUL.html#MATMUL"><code>MATMUL</code></a>:</td><td> </td><td align="left" valign="top">matrix multiplication +</td></tr> +<tr><td align="left" valign="top">• <a href="MAX.html#MAX"><code>MAX</code></a>:</td><td> </td><td align="left" valign="top">Maximum value of an argument list +</td></tr> +<tr><td align="left" valign="top">• <a href="MAXEXPONENT.html#MAXEXPONENT"><code>MAXEXPONENT</code></a>:</td><td> </td><td align="left" valign="top">Maximum exponent of a real kind +</td></tr> +<tr><td align="left" valign="top">• <a href="MAXLOC.html#MAXLOC"><code>MAXLOC</code></a>:</td><td> </td><td align="left" valign="top">Location of the maximum value within an array +</td></tr> +<tr><td align="left" valign="top">• <a href="MAXVAL.html#MAXVAL"><code>MAXVAL</code></a>:</td><td> </td><td align="left" valign="top">Maximum value of an array +</td></tr> +<tr><td align="left" valign="top">• <a href="MCLOCK.html#MCLOCK"><code>MCLOCK</code></a>:</td><td> </td><td align="left" valign="top">Time function +</td></tr> +<tr><td align="left" valign="top">• <a href="MCLOCK8.html#MCLOCK8"><code>MCLOCK8</code></a>:</td><td> </td><td align="left" valign="top">Time function (64-bit) +</td></tr> +<tr><td align="left" valign="top">• <a href="MERGE.html#MERGE"><code>MERGE</code></a>:</td><td> </td><td align="left" valign="top">Merge arrays +</td></tr> +<tr><td align="left" valign="top">• <a href="MERGE_005fBITS.html#MERGE_005fBITS"><code>MERGE_BITS</code></a>:</td><td> </td><td align="left" valign="top">Merge of bits under mask +</td></tr> +<tr><td align="left" valign="top">• <a href="MIN.html#MIN"><code>MIN</code></a>:</td><td> </td><td align="left" valign="top">Minimum value of an argument list +</td></tr> +<tr><td align="left" valign="top">• <a href="MINEXPONENT.html#MINEXPONENT"><code>MINEXPONENT</code></a>:</td><td> </td><td align="left" valign="top">Minimum exponent of a real kind +</td></tr> +<tr><td align="left" valign="top">• <a href="MINLOC.html#MINLOC"><code>MINLOC</code></a>:</td><td> </td><td align="left" valign="top">Location of the minimum value within an array +</td></tr> +<tr><td align="left" valign="top">• <a href="MINVAL.html#MINVAL"><code>MINVAL</code></a>:</td><td> </td><td align="left" valign="top">Minimum value of an array +</td></tr> +<tr><td align="left" valign="top">• <a href="MOD.html#MOD"><code>MOD</code></a>:</td><td> </td><td align="left" valign="top">Remainder function +</td></tr> +<tr><td align="left" valign="top">• <a href="MODULO.html#MODULO"><code>MODULO</code></a>:</td><td> </td><td align="left" valign="top">Modulo function +</td></tr> +<tr><td align="left" valign="top">• <a href="MOVE_005fALLOC.html#MOVE_005fALLOC"><code>MOVE_ALLOC</code></a>:</td><td> </td><td align="left" valign="top">Move allocation from one object to another +</td></tr> +<tr><td align="left" valign="top">• <a href="MVBITS.html#MVBITS"><code>MVBITS</code></a>:</td><td> </td><td align="left" valign="top">Move bits from one integer to another +</td></tr> +<tr><td align="left" valign="top">• <a href="NEAREST.html#NEAREST"><code>NEAREST</code></a>:</td><td> </td><td align="left" valign="top">Nearest representable number +</td></tr> +<tr><td align="left" valign="top">• <a href="NEW_005fLINE.html#NEW_005fLINE"><code>NEW_LINE</code></a>:</td><td> </td><td align="left" valign="top">New line character +</td></tr> +<tr><td align="left" valign="top">• <a href="NINT.html#NINT"><code>NINT</code></a>:</td><td> </td><td align="left" valign="top">Nearest whole number +</td></tr> +<tr><td align="left" valign="top">• <a href="NORM2.html#NORM2"><code>NORM2</code></a>:</td><td> </td><td align="left" valign="top">Euclidean vector norm +</td></tr> +<tr><td align="left" valign="top">• <a href="NOT.html#NOT"><code>NOT</code></a>:</td><td> </td><td align="left" valign="top">Logical negation +</td></tr> +<tr><td align="left" valign="top">• <a href="NULL.html#NULL"><code>NULL</code></a>:</td><td> </td><td align="left" valign="top">Function that returns an disassociated pointer +</td></tr> +<tr><td align="left" valign="top">• <a href="NUM_005fIMAGES.html#NUM_005fIMAGES"><code>NUM_IMAGES</code></a>:</td><td> </td><td align="left" valign="top">Number of images +</td></tr> +<tr><td align="left" valign="top">• <a href="OR.html#OR"><code>OR</code></a>:</td><td> </td><td align="left" valign="top">Bitwise logical OR +</td></tr> +<tr><td align="left" valign="top">• <a href="PACK.html#PACK"><code>PACK</code></a>:</td><td> </td><td align="left" valign="top">Pack an array into an array of rank one +</td></tr> +<tr><td align="left" valign="top">• <a href="PARITY.html#PARITY"><code>PARITY</code></a>:</td><td> </td><td align="left" valign="top">Reduction with exclusive OR +</td></tr> +<tr><td align="left" valign="top">• <a href="PERROR.html#PERROR"><code>PERROR</code></a>:</td><td> </td><td align="left" valign="top">Print system error message +</td></tr> +<tr><td align="left" valign="top">• <a href="POPCNT.html#POPCNT"><code>POPCNT</code></a>:</td><td> </td><td align="left" valign="top">Number of bits set +</td></tr> +<tr><td align="left" valign="top">• <a href="POPPAR.html#POPPAR"><code>POPPAR</code></a>:</td><td> </td><td align="left" valign="top">Parity of the number of bits set +</td></tr> +<tr><td align="left" valign="top">• <a href="PRECISION.html#PRECISION"><code>PRECISION</code></a>:</td><td> </td><td align="left" valign="top">Decimal precision of a real kind +</td></tr> +<tr><td align="left" valign="top">• <a href="PRESENT.html#PRESENT"><code>PRESENT</code></a>:</td><td> </td><td align="left" valign="top">Determine whether an optional dummy argument is specified +</td></tr> +<tr><td align="left" valign="top">• <a href="PRODUCT.html#PRODUCT"><code>PRODUCT</code></a>:</td><td> </td><td align="left" valign="top">Product of array elements +</td></tr> +<tr><td align="left" valign="top">• <a href="RADIX.html#RADIX"><code>RADIX</code></a>:</td><td> </td><td align="left" valign="top">Base of a data model +</td></tr> +<tr><td align="left" valign="top">• <a href="RAN.html#RAN"><code>RAN</code></a>:</td><td> </td><td align="left" valign="top">Real pseudo-random number +</td></tr> +<tr><td align="left" valign="top">• <a href="RAND.html#RAND"><code>RAND</code></a>:</td><td> </td><td align="left" valign="top">Real pseudo-random number +</td></tr> +<tr><td align="left" valign="top">• <a href="RANDOM_005fINIT.html#RANDOM_005fINIT"><code>RANDOM_INIT</code></a>:</td><td> </td><td align="left" valign="top">Initialize pseudo-random number generator +</td></tr> +<tr><td align="left" valign="top">• <a href="RANDOM_005fNUMBER.html#RANDOM_005fNUMBER"><code>RANDOM_NUMBER</code></a>:</td><td> </td><td align="left" valign="top">Pseudo-random number +</td></tr> +<tr><td align="left" valign="top">• <a href="RANDOM_005fSEED.html#RANDOM_005fSEED"><code>RANDOM_SEED</code></a>:</td><td> </td><td align="left" valign="top">Initialize a pseudo-random number sequence +</td></tr> +<tr><td align="left" valign="top">• <a href="RANGE.html#RANGE"><code>RANGE</code></a>:</td><td> </td><td align="left" valign="top">Decimal exponent range +</td></tr> +<tr><td align="left" valign="top">• <a href="RANK.html#RANK"><code>RANK</code> </a>:</td><td> </td><td align="left" valign="top">Rank of a data object +</td></tr> +<tr><td align="left" valign="top">• <a href="REAL.html#REAL"><code>REAL</code></a>:</td><td> </td><td align="left" valign="top">Convert to real type +</td></tr> +<tr><td align="left" valign="top">• <a href="RENAME.html#RENAME"><code>RENAME</code></a>:</td><td> </td><td align="left" valign="top">Rename a file +</td></tr> +<tr><td align="left" valign="top">• <a href="REPEAT.html#REPEAT"><code>REPEAT</code></a>:</td><td> </td><td align="left" valign="top">Repeated string concatenation +</td></tr> +<tr><td align="left" valign="top">• <a href="RESHAPE.html#RESHAPE"><code>RESHAPE</code></a>:</td><td> </td><td align="left" valign="top">Function to reshape an array +</td></tr> +<tr><td align="left" valign="top">• <a href="RRSPACING.html#RRSPACING"><code>RRSPACING</code></a>:</td><td> </td><td align="left" valign="top">Reciprocal of the relative spacing +</td></tr> +<tr><td align="left" valign="top">• <a href="RSHIFT.html#RSHIFT"><code>RSHIFT</code></a>:</td><td> </td><td align="left" valign="top">Right shift bits +</td></tr> +<tr><td align="left" valign="top">• <a href="SAME_005fTYPE_005fAS.html#SAME_005fTYPE_005fAS"><code>SAME_TYPE_AS</code></a>:</td><td> </td><td align="left" valign="top">Query dynamic types for equality +</td></tr> +<tr><td align="left" valign="top">• <a href="SCALE.html#SCALE"><code>SCALE</code></a>:</td><td> </td><td align="left" valign="top">Scale a real value +</td></tr> +<tr><td align="left" valign="top">• <a href="SCAN.html#SCAN"><code>SCAN</code></a>:</td><td> </td><td align="left" valign="top">Scan a string for the presence of a set of characters +</td></tr> +<tr><td align="left" valign="top">• <a href="SECNDS.html#SECNDS"><code>SECNDS</code></a>:</td><td> </td><td align="left" valign="top">Time function +</td></tr> +<tr><td align="left" valign="top">• <a href="SECOND.html#SECOND"><code>SECOND</code></a>:</td><td> </td><td align="left" valign="top">CPU time function +</td></tr> +<tr><td align="left" valign="top">• <a href="SELECTED_005fCHAR_005fKIND.html#SELECTED_005fCHAR_005fKIND"><code>SELECTED_CHAR_KIND</code></a>:</td><td> </td><td align="left" valign="top">Choose character kind +</td></tr> +<tr><td align="left" valign="top">• <a href="SELECTED_005fINT_005fKIND.html#SELECTED_005fINT_005fKIND"><code>SELECTED_INT_KIND</code></a>:</td><td> </td><td align="left" valign="top">Choose integer kind +</td></tr> +<tr><td align="left" valign="top">• <a href="SELECTED_005fREAL_005fKIND.html#SELECTED_005fREAL_005fKIND"><code>SELECTED_REAL_KIND</code></a>:</td><td> </td><td align="left" valign="top">Choose real kind +</td></tr> +<tr><td align="left" valign="top">• <a href="SET_005fEXPONENT.html#SET_005fEXPONENT"><code>SET_EXPONENT</code></a>:</td><td> </td><td align="left" valign="top">Set the exponent of the model +</td></tr> +<tr><td align="left" valign="top">• <a href="SHAPE.html#SHAPE"><code>SHAPE</code></a>:</td><td> </td><td align="left" valign="top">Determine the shape of an array +</td></tr> +<tr><td align="left" valign="top">• <a href="SHIFTA.html#SHIFTA"><code>SHIFTA</code></a>:</td><td> </td><td align="left" valign="top">Right shift with fill +</td></tr> +<tr><td align="left" valign="top">• <a href="SHIFTL.html#SHIFTL"><code>SHIFTL</code></a>:</td><td> </td><td align="left" valign="top">Left shift +</td></tr> +<tr><td align="left" valign="top">• <a href="SHIFTR.html#SHIFTR"><code>SHIFTR</code></a>:</td><td> </td><td align="left" valign="top">Right shift +</td></tr> +<tr><td align="left" valign="top">• <a href="SIGN.html#SIGN"><code>SIGN</code></a>:</td><td> </td><td align="left" valign="top">Sign copying function +</td></tr> +<tr><td align="left" valign="top">• <a href="SIGNAL.html#SIGNAL"><code>SIGNAL</code></a>:</td><td> </td><td align="left" valign="top">Signal handling subroutine (or function) +</td></tr> +<tr><td align="left" valign="top">• <a href="SIN.html#SIN"><code>SIN</code></a>:</td><td> </td><td align="left" valign="top">Sine function +</td></tr> +<tr><td align="left" valign="top">• <a href="SIND.html#SIND"><code>SIND</code></a>:</td><td> </td><td align="left" valign="top">Sine function, degrees +</td></tr> +<tr><td align="left" valign="top">• <a href="SINH.html#SINH"><code>SINH</code></a>:</td><td> </td><td align="left" valign="top">Hyperbolic sine function +</td></tr> +<tr><td align="left" valign="top">• <a href="SIZE.html#SIZE"><code>SIZE</code></a>:</td><td> </td><td align="left" valign="top">Function to determine the size of an array +</td></tr> +<tr><td align="left" valign="top">• <a href="SIZEOF.html#SIZEOF"><code>SIZEOF</code></a>:</td><td> </td><td align="left" valign="top">Determine the size in bytes of an expression +</td></tr> +<tr><td align="left" valign="top">• <a href="SLEEP.html#SLEEP"><code>SLEEP</code></a>:</td><td> </td><td align="left" valign="top">Sleep for the specified number of seconds +</td></tr> +<tr><td align="left" valign="top">• <a href="SPACING.html#SPACING"><code>SPACING</code></a>:</td><td> </td><td align="left" valign="top">Smallest distance between two numbers of a given type +</td></tr> +<tr><td align="left" valign="top">• <a href="SPREAD.html#SPREAD"><code>SPREAD</code></a>:</td><td> </td><td align="left" valign="top">Add a dimension to an array +</td></tr> +<tr><td align="left" valign="top">• <a href="SQRT.html#SQRT"><code>SQRT</code></a>:</td><td> </td><td align="left" valign="top">Square-root function +</td></tr> +<tr><td align="left" valign="top">• <a href="SRAND.html#SRAND"><code>SRAND</code></a>:</td><td> </td><td align="left" valign="top">Reinitialize the random number generator +</td></tr> +<tr><td align="left" valign="top">• <a href="STAT.html#STAT"><code>STAT</code></a>:</td><td> </td><td align="left" valign="top">Get file status +</td></tr> +<tr><td align="left" valign="top">• <a href="STORAGE_005fSIZE.html#STORAGE_005fSIZE"><code>STORAGE_SIZE</code></a>:</td><td> </td><td align="left" valign="top">Storage size in bits +</td></tr> +<tr><td align="left" valign="top">• <a href="SUM.html#SUM"><code>SUM</code></a>:</td><td> </td><td align="left" valign="top">Sum of array elements +</td></tr> +<tr><td align="left" valign="top">• <a href="SYMLNK.html#SYMLNK"><code>SYMLNK</code></a>:</td><td> </td><td align="left" valign="top">Create a symbolic link +</td></tr> +<tr><td align="left" valign="top">• <a href="SYSTEM.html#SYSTEM"><code>SYSTEM</code></a>:</td><td> </td><td align="left" valign="top">Execute a shell command +</td></tr> +<tr><td align="left" valign="top">• <a href="SYSTEM_005fCLOCK.html#SYSTEM_005fCLOCK"><code>SYSTEM_CLOCK</code></a>:</td><td> </td><td align="left" valign="top">Time function +</td></tr> +<tr><td align="left" valign="top">• <a href="TAN.html#TAN"><code>TAN</code></a>:</td><td> </td><td align="left" valign="top">Tangent function +</td></tr> +<tr><td align="left" valign="top">• <a href="TAND.html#TAND"><code>TAND</code></a>:</td><td> </td><td align="left" valign="top">Tangent function, degrees +</td></tr> +<tr><td align="left" valign="top">• <a href="TANH.html#TANH"><code>TANH</code></a>:</td><td> </td><td align="left" valign="top">Hyperbolic tangent function +</td></tr> +<tr><td align="left" valign="top">• <a href="THIS_005fIMAGE.html#THIS_005fIMAGE"><code>THIS_IMAGE</code></a>:</td><td> </td><td align="left" valign="top">Cosubscript index of this image +</td></tr> +<tr><td align="left" valign="top">• <a href="TIME.html#TIME"><code>TIME</code></a>:</td><td> </td><td align="left" valign="top">Time function +</td></tr> +<tr><td align="left" valign="top">• <a href="TIME8.html#TIME8"><code>TIME8</code></a>:</td><td> </td><td align="left" valign="top">Time function (64-bit) +</td></tr> +<tr><td align="left" valign="top">• <a href="TINY.html#TINY"><code>TINY</code></a>:</td><td> </td><td align="left" valign="top">Smallest positive number of a real kind +</td></tr> +<tr><td align="left" valign="top">• <a href="TRAILZ.html#TRAILZ"><code>TRAILZ</code></a>:</td><td> </td><td align="left" valign="top">Number of trailing zero bits of an integer +</td></tr> +<tr><td align="left" valign="top">• <a href="TRANSFER.html#TRANSFER"><code>TRANSFER</code></a>:</td><td> </td><td align="left" valign="top">Transfer bit patterns +</td></tr> +<tr><td align="left" valign="top">• <a href="TRANSPOSE.html#TRANSPOSE"><code>TRANSPOSE</code></a>:</td><td> </td><td align="left" valign="top">Transpose an array of rank two +</td></tr> +<tr><td align="left" valign="top">• <a href="TRIM.html#TRIM"><code>TRIM</code></a>:</td><td> </td><td align="left" valign="top">Remove trailing blank characters of a string +</td></tr> +<tr><td align="left" valign="top">• <a href="TTYNAM.html#TTYNAM"><code>TTYNAM</code></a>:</td><td> </td><td align="left" valign="top">Get the name of a terminal device +</td></tr> +<tr><td align="left" valign="top">• <a href="UBOUND.html#UBOUND"><code>UBOUND</code></a>:</td><td> </td><td align="left" valign="top">Upper dimension bounds of an array +</td></tr> +<tr><td align="left" valign="top">• <a href="UCOBOUND.html#UCOBOUND"><code>UCOBOUND</code></a>:</td><td> </td><td align="left" valign="top">Upper codimension bounds of an array +</td></tr> +<tr><td align="left" valign="top">• <a href="UMASK.html#UMASK"><code>UMASK</code></a>:</td><td> </td><td align="left" valign="top">Set the file creation mask +</td></tr> +<tr><td align="left" valign="top">• <a href="UNLINK.html#UNLINK"><code>UNLINK</code></a>:</td><td> </td><td align="left" valign="top">Remove a file from the file system +</td></tr> +<tr><td align="left" valign="top">• <a href="UNPACK.html#UNPACK"><code>UNPACK</code></a>:</td><td> </td><td align="left" valign="top">Unpack an array of rank one into an array +</td></tr> +<tr><td align="left" valign="top">• <a href="VERIFY.html#VERIFY"><code>VERIFY</code></a>:</td><td> </td><td align="left" valign="top">Scan a string for the absence of a set of characters +</td></tr> +<tr><td align="left" valign="top">• <a href="XOR.html#XOR"><code>XOR</code></a>:</td><td> </td><td align="left" valign="top">Bitwise logical exclusive or +</td></tr> +</table> + +<hr> +<div class="header"> +<p> +Next: <a href="Intrinsic-Modules.html#Intrinsic-Modules" accesskey="n" rel="next">Intrinsic Modules</a>, Previous: <a href="Coarray-Programming.html#Coarray-Programming" accesskey="p" rel="previous">Coarray Programming</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Intrinsic-Types.html b/share/doc/gfortran/Intrinsic-Types.html new file mode 100644 index 0000000..022dd68 --- /dev/null +++ b/share/doc/gfortran/Intrinsic-Types.html @@ -0,0 +1,102 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Intrinsic Types</title> + +<meta name="description" content="The GNU Fortran Compiler: Intrinsic Types"> +<meta name="keywords" content="The GNU Fortran Compiler: Intrinsic Types"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Interoperability-with-C.html#Interoperability-with-C" rel="up" title="Interoperability with C"> +<link href="Derived-Types-and-struct.html#Derived-Types-and-struct" rel="next" title="Derived Types and struct"> +<link href="Interoperability-with-C.html#Interoperability-with-C" rel="previous" title="Interoperability with C"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Intrinsic-Types"></a> +<div class="header"> +<p> +Next: <a href="Derived-Types-and-struct.html#Derived-Types-and-struct" accesskey="n" rel="next">Derived Types and struct</a>, Up: <a href="Interoperability-with-C.html#Interoperability-with-C" accesskey="u" rel="up">Interoperability with C</a> [<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> +</div> +<hr> +<a name="Intrinsic-Types-1"></a> +<h4 class="subsection">6.1.1 Intrinsic Types</h4> +<a name="index-C-intrinsic-type-interoperability"></a> +<a name="index-intrinsic-type-interoperability-with-C"></a> +<a name="index-interoperability_002c-intrinsic-type"></a> + +<p>In order to ensure that exactly the same variable type and kind is used +in C and Fortran, you should use the named constants for kind parameters +that are defined in the <code>ISO_C_BINDING</code> intrinsic module. +That module contains named constants of character type representing +the escaped special characters in C, such as newline. +For a list of the constants, see <a href="ISO_005fC_005fBINDING.html#ISO_005fC_005fBINDING">ISO_C_BINDING</a>. +</p> +<p>For logical types, please note that the Fortran standard only guarantees +interoperability between C99’s <code>_Bool</code> and Fortran’s <code>C_Bool</code>-kind +logicals and C99 defines that <code>true</code> has the value 1 and <code>false</code> +the value 0. Using any other integer value with GNU Fortran’s <code>LOGICAL</code> +(with any kind parameter) gives an undefined result. (Passing other integer +values than 0 and 1 to GCC’s <code>_Bool</code> is also undefined, unless the +integer is explicitly or implicitly casted to <code>_Bool</code>.) +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/Introduction-to-Intrinsics.html b/share/doc/gfortran/Introduction-to-Intrinsics.html new file mode 100644 index 0000000..096a85c --- /dev/null +++ b/share/doc/gfortran/Introduction-to-Intrinsics.html @@ -0,0 +1,125 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Introduction to Intrinsics</title> + +<meta name="description" content="The GNU Fortran Compiler: Introduction to Intrinsics"> +<meta name="keywords" content="The GNU Fortran Compiler: Introduction to Intrinsics"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="ABORT.html#ABORT" rel="next" title="ABORT"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="previous" title="Intrinsic Procedures"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Introduction-to-Intrinsics"></a> +<div class="header"> +<p> +Next: <a href="ABORT.html#ABORT" accesskey="n" rel="next">ABORT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="Introduction-to-intrinsic-procedures"></a> +<h3 class="section">8.1 Introduction to intrinsic procedures</h3> + +<p>The intrinsic procedures provided by GNU Fortran include procedures required +by the Fortran 95 and later supported standards, and a set of intrinsic +procedures for backwards compatibility with G77. Any conflict between +a description here and a description in the Fortran standards is +unintentional, and the standard(s) should be considered authoritative. +</p> +<p>The enumeration of the <code>KIND</code> type parameter is processor defined in +the Fortran 95 standard. GNU Fortran defines the default integer type and +default real type by <code>INTEGER(KIND=4)</code> and <code>REAL(KIND=4)</code>, +respectively. The standard mandates that both data types shall have +another kind, which have more precision. On typical target architectures +supported by <code>gfortran</code>, this kind type parameter is <code>KIND=8</code>. +Hence, <code>REAL(KIND=8)</code> and <code>DOUBLE PRECISION</code> are equivalent. +In the description of generic intrinsic procedures, the kind type parameter +will be specified by <code>KIND=*</code>, and in the description of specific +names for an intrinsic procedure the kind type parameter will be explicitly +given (e.g., <code>REAL(KIND=4)</code> or <code>REAL(KIND=8)</code>). Finally, for +brevity the optional <code>KIND=</code> syntax will be omitted. +</p> +<p>Many of the intrinsic procedures take one or more optional arguments. +This document follows the convention used in the Fortran 95 standard, +and denotes such arguments by square brackets. +</p> +<p>GNU Fortran offers the <samp>-std=</samp> command-line option, +which can be used to restrict the set of intrinsic procedures to a +given standard. By default, <code>gfortran</code> sets the <samp>-std=gnu</samp> +option, and so all intrinsic procedures described here are accepted. There +is one caveat. For a select group of intrinsic procedures, <code>g77</code> +implemented both a function and a subroutine. Both classes +have been implemented in <code>gfortran</code> for backwards compatibility +with <code>g77</code>. It is noted here that these functions and subroutines +cannot be intermixed in a given subprogram. In the descriptions that follow, +the applicable standard for each intrinsic procedure is noted. +</p> + + +<hr> +<div class="header"> +<p> +Next: <a href="ABORT.html#ABORT" accesskey="n" rel="next">ABORT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Introduction.html b/share/doc/gfortran/Introduction.html new file mode 100644 index 0000000..385cfe7 --- /dev/null +++ b/share/doc/gfortran/Introduction.html @@ -0,0 +1,96 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Introduction</title> + +<meta name="description" content="The GNU Fortran Compiler: Introduction"> +<meta name="keywords" content="The GNU Fortran Compiler: Introduction"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="index.html#Top" rel="up" title="Top"> +<link href="About-GNU-Fortran.html#About-GNU-Fortran" rel="next" title="About GNU Fortran"> +<link href="index.html#Top" rel="previous" title="Top"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Introduction"></a> +<div class="header"> +<p> +Next: <a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" accesskey="n" rel="next">Invoking GNU Fortran</a>, Previous: <a href="index.html#Top" accesskey="p" rel="previous">Top</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<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> +</div> +<hr> +<a name="Introduction-2"></a> +<h2 class="chapter">1 Introduction</h2> + + +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="About-GNU-Fortran.html#About-GNU-Fortran" accesskey="1">About GNU Fortran</a>:</td><td> </td><td align="left" valign="top">What you should know about the GNU Fortran compiler. +</td></tr> +<tr><td align="left" valign="top">• <a href="GNU-Fortran-and-GCC.html#GNU-Fortran-and-GCC" accesskey="2">GNU Fortran and GCC</a>:</td><td> </td><td align="left" valign="top">You can compile Fortran, C, or other programs. +</td></tr> +<tr><td align="left" valign="top">• <a href="Standards.html#Standards" accesskey="3">Standards</a>:</td><td> </td><td align="left" valign="top">Standards supported by GNU Fortran. +</td></tr> +</table> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Invoking-GNU-Fortran.html b/share/doc/gfortran/Invoking-GNU-Fortran.html new file mode 100644 index 0000000..fcf3256 --- /dev/null +++ b/share/doc/gfortran/Invoking-GNU-Fortran.html @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Invoking GNU Fortran</title> + +<meta name="description" content="The GNU Fortran Compiler: Invoking GNU Fortran"> +<meta name="keywords" content="The GNU Fortran Compiler: Invoking GNU Fortran"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="index.html#Top" rel="up" title="Top"> +<link href="Option-Summary.html#Option-Summary" rel="next" title="Option Summary"> +<link href="Fortran-2018-status.html#Fortran-2018-status" rel="previous" title="Fortran 2018 status"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Invoking-GNU-Fortran"></a> +<div class="header"> +<p> +Next: <a href="Runtime.html#Runtime" accesskey="n" rel="next">Runtime</a>, Previous: <a href="Introduction.html#Introduction" accesskey="p" rel="previous">Introduction</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<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> +</div> +<hr> +<a name="GNU-Fortran-Command-Options"></a> +<h2 class="chapter">2 GNU Fortran Command Options</h2> +<a name="index-GNU-Fortran-command-options"></a> +<a name="index-command-options"></a> +<a name="index-options_002c-gfortran-command"></a> + + +<p>The <code>gfortran</code> command supports all the options supported by the +<code>gcc</code> command. Only options specific to GNU Fortran are documented +here. +</p> +<p>See <a href="http://gcc.gnu.org/onlinedocs/gcc/Invoking-GCC.html#Invoking-GCC">GCC Command Options</a> in <cite>Using the GNU Compiler +Collection (GCC)</cite>, for information +on the non-Fortran-specific aspects of the <code>gcc</code> command (and, +therefore, the <code>gfortran</code> command). +</p> +<a name="index-options_002c-negative-forms"></a> +<p>All GCC and GNU Fortran options +are accepted both by <code>gfortran</code> and by <code>gcc</code> +(as well as any other drivers built at the same time, +such as <code>g++</code>), +since adding GNU Fortran to the GCC distribution +enables acceptance of GNU Fortran options +by all of the relevant drivers. +</p> +<p>In some cases, options have positive and negative forms; +the negative form of <samp>-ffoo</samp> would be <samp>-fno-foo</samp>. +This manual documents only one of these two forms, whichever +one is not the default. +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="Option-Summary.html#Option-Summary" accesskey="1">Option Summary</a>:</td><td> </td><td align="left" valign="top">Brief list of all <code>gfortran</code> options, + without explanations. +</td></tr> +<tr><td align="left" valign="top">• <a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options" accesskey="2">Fortran Dialect Options</a>:</td><td> </td><td align="left" valign="top">Controlling the variant of Fortran language + compiled. +</td></tr> +<tr><td align="left" valign="top">• <a href="Preprocessing-Options.html#Preprocessing-Options" accesskey="3">Preprocessing Options</a>:</td><td> </td><td align="left" valign="top">Enable and customize preprocessing. +</td></tr> +<tr><td align="left" valign="top">• <a href="Error-and-Warning-Options.html#Error-and-Warning-Options" accesskey="4">Error and Warning Options</a>:</td><td> </td><td align="left" valign="top">How picky should the compiler be? +</td></tr> +<tr><td align="left" valign="top">• <a href="Debugging-Options.html#Debugging-Options" accesskey="5">Debugging Options</a>:</td><td> </td><td align="left" valign="top">Symbol tables, measurements, and debugging dumps. +</td></tr> +<tr><td align="left" valign="top">• <a href="Directory-Options.html#Directory-Options" accesskey="6">Directory Options</a>:</td><td> </td><td align="left" valign="top">Where to find module files +</td></tr> +<tr><td align="left" valign="top">• <a href="Link-Options.html#Link-Options" accesskey="7">Link Options </a>:</td><td> </td><td align="left" valign="top">Influencing the linking step +</td></tr> +<tr><td align="left" valign="top">• <a href="Runtime-Options.html#Runtime-Options" accesskey="8">Runtime Options</a>:</td><td> </td><td align="left" valign="top">Influencing runtime behavior +</td></tr> +<tr><td align="left" valign="top">• <a href="Code-Gen-Options.html#Code-Gen-Options" accesskey="9">Code Gen Options</a>:</td><td> </td><td align="left" valign="top">Specifying conventions for function calls, data layout + and register usage. +</td></tr> +<tr><td align="left" valign="top">• <a href="Interoperability-Options.html#Interoperability-Options">Interoperability Options</a>:</td><td> </td><td align="left" valign="top">Options for interoperability with other + languages. +</td></tr> +<tr><td align="left" valign="top">• <a href="Environment-Variables.html#Environment-Variables">Environment Variables</a>:</td><td> </td><td align="left" valign="top">Environment variables that affect <code>gfortran</code>. +</td></tr> +</table> + +<hr> +<div class="header"> +<p> +Next: <a href="Runtime.html#Runtime" accesskey="n" rel="next">Runtime</a>, Previous: <a href="Introduction.html#Introduction" accesskey="p" rel="previous">Introduction</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/KILL.html b/share/doc/gfortran/KILL.html new file mode 100644 index 0000000..a9f6059 --- /dev/null +++ b/share/doc/gfortran/KILL.html @@ -0,0 +1,132 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: KILL</title> + +<meta name="description" content="The GNU Fortran Compiler: KILL"> +<meta name="keywords" content="The GNU Fortran Compiler: KILL"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="KIND.html#KIND" rel="next" title="KIND"> +<link href="ITIME.html#ITIME" rel="previous" title="ITIME"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="KILL"></a> +<div class="header"> +<p> +Next: <a href="KIND.html#KIND" accesskey="n" rel="next">KIND</a>, Previous: <a href="ITIME.html#ITIME" accesskey="p" rel="previous">ITIME</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="KILL-_002d_002d_002d-Send-a-signal-to-a-process"></a> +<h3 class="section">8.163 <code>KILL</code> — Send a signal to a process</h3> +<a name="index-KILL"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Sends the signal specified by <var>SIG</var> to the process <var>PID</var>. +See <code>kill(2)</code>. +</p> +<p>This intrinsic is provided in both subroutine and function forms; +however, only one form can be used in any given program unit. +</p></dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL KILL(PID, SIG [, STATUS])</code></td></tr> +<tr><td width="80%"><code>STATUS = KILL(PID, SIG)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>PID</var></td><td width="70%">Shall be a scalar <code>INTEGER</code> with <code>INTENT(IN)</code>.</td></tr> +<tr><td width="15%"><var>SIG</var></td><td width="70%">Shall be a scalar <code>INTEGER</code> with <code>INTENT(IN)</code>.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">[Subroutine](Optional) +Shall be a scalar <code>INTEGER</code>. +Returns 0 on success; otherwise a system-specific error code is returned.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">[Function] The kind type parameter is that of +<code>pid</code>. +Returns 0 on success; otherwise a system-specific error code is returned.</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ABORT.html#ABORT">ABORT</a>, <br> +<a href="EXIT.html#EXIT">EXIT</a> +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/KIND-Type-Parameters.html b/share/doc/gfortran/KIND-Type-Parameters.html new file mode 100644 index 0000000..c1803c0 --- /dev/null +++ b/share/doc/gfortran/KIND-Type-Parameters.html @@ -0,0 +1,132 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: KIND Type Parameters</title> + +<meta name="description" content="The GNU Fortran Compiler: KIND Type Parameters"> +<meta name="keywords" content="The GNU Fortran Compiler: KIND Type Parameters"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Compiler-Characteristics.html#Compiler-Characteristics" rel="up" title="Compiler Characteristics"> +<link href="Internal-representation-of-LOGICAL-variables.html#Internal-representation-of-LOGICAL-variables" rel="next" title="Internal representation of LOGICAL variables"> +<link href="Compiler-Characteristics.html#Compiler-Characteristics" rel="previous" title="Compiler Characteristics"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="KIND-Type-Parameters"></a> +<div class="header"> +<p> +Next: <a href="Internal-representation-of-LOGICAL-variables.html#Internal-representation-of-LOGICAL-variables" accesskey="n" rel="next">Internal representation of LOGICAL variables</a>, Up: <a href="Compiler-Characteristics.html#Compiler-Characteristics" accesskey="u" rel="up">Compiler Characteristics</a> [<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> +</div> +<hr> +<a name="KIND-Type-Parameters-1"></a> +<h3 class="section">4.1 KIND Type Parameters</h3> +<a name="index-kind"></a> + +<p>The <code>KIND</code> type parameters supported by GNU Fortran for the primitive +data types are: +</p> +<dl compact="compact"> +<dt><code>INTEGER</code></dt> +<dd><p>1, 2, 4, 8*, 16*, default: 4** +</p> +</dd> +<dt><code>LOGICAL</code></dt> +<dd><p>1, 2, 4, 8*, 16*, default: 4** +</p> +</dd> +<dt><code>REAL</code></dt> +<dd><p>4, 8, 10*, 16*, default: 4*** +</p> +</dd> +<dt><code>COMPLEX</code></dt> +<dd><p>4, 8, 10*, 16*, default: 4*** +</p> +</dd> +<dt><code>DOUBLE PRECISION</code></dt> +<dd><p>4, 8, 10*, 16*, default: 8*** +</p> +</dd> +<dt><code>CHARACTER</code></dt> +<dd><p>1, 4, default: 1 +</p> +</dd> +</dl> + +<p>* not available on all systems <br> +** unless <samp>-fdefault-integer-8</samp> is used <br> +*** unless <samp>-fdefault-real-8</samp> is used (see <a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a>) +</p> +<p>The <code>KIND</code> value matches the storage size in bytes, except for +<code>COMPLEX</code> where the storage size is twice as much (or both real and +imaginary part are a real value of the given size). It is recommended to use +the <a href="SELECTED_005fCHAR_005fKIND.html#SELECTED_005fCHAR_005fKIND">SELECTED_CHAR_KIND</a>, <a href="SELECTED_005fINT_005fKIND.html#SELECTED_005fINT_005fKIND">SELECTED_INT_KIND</a> and +<a href="SELECTED_005fREAL_005fKIND.html#SELECTED_005fREAL_005fKIND">SELECTED_REAL_KIND</a> intrinsics or the <code>INT8</code>, <code>INT16</code>, +<code>INT32</code>, <code>INT64</code>, <code>REAL32</code>, <code>REAL64</code>, and <code>REAL128</code> +parameters of the <code>ISO_FORTRAN_ENV</code> module instead of the concrete values. +The available kind parameters can be found in the constant arrays +<code>CHARACTER_KINDS</code>, <code>INTEGER_KINDS</code>, <code>LOGICAL_KINDS</code> and +<code>REAL_KINDS</code> in the <a href="ISO_005fFORTRAN_005fENV.html#ISO_005fFORTRAN_005fENV">ISO_FORTRAN_ENV</a> module. For C interoperability, +the kind parameters of the <a href="ISO_005fC_005fBINDING.html#ISO_005fC_005fBINDING">ISO_C_BINDING</a> module should be used. +</p> + + + + +</body> +</html> diff --git a/share/doc/gfortran/KIND.html b/share/doc/gfortran/KIND.html new file mode 100644 index 0000000..3b588ba --- /dev/null +++ b/share/doc/gfortran/KIND.html @@ -0,0 +1,132 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: KIND</title> + +<meta name="description" content="The GNU Fortran Compiler: KIND"> +<meta name="keywords" content="The GNU Fortran Compiler: KIND"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="LBOUND.html#LBOUND" rel="next" title="LBOUND"> +<link href="KILL.html#KILL" rel="previous" title="KILL"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="KIND"></a> +<div class="header"> +<p> +Next: <a href="LBOUND.html#LBOUND" accesskey="n" rel="next">LBOUND</a>, Previous: <a href="KILL.html#KILL" accesskey="p" rel="previous">KILL</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="KIND-_002d_002d_002d-Kind-of-an-entity"></a> +<h3 class="section">8.164 <code>KIND</code> — Kind of an entity</h3> +<a name="index-KIND"></a> +<a name="index-kind-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>KIND(X)</code> returns the kind value of the entity <var>X</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 95 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>K = KIND(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">Shall be of type <code>LOGICAL</code>, <code>INTEGER</code>, +<code>REAL</code>, <code>COMPLEX</code> or <code>CHARACTER</code>. It may be scalar or +array valued.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is a scalar of type <code>INTEGER</code> and of the default +integer kind. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_kind + integer,parameter :: kc = kind(' ') + integer,parameter :: kl = kind(.true.) + + print *, "The default character kind is ", kc + print *, "The default logical kind is ", kl +end program test_kind +</pre></div> + +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Keyword-Index.html b/share/doc/gfortran/Keyword-Index.html new file mode 100644 index 0000000..5cd8f8c --- /dev/null +++ b/share/doc/gfortran/Keyword-Index.html @@ -0,0 +1,1506 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Keyword Index</title> + +<meta name="description" content="The GNU Fortran Compiler: Keyword Index"> +<meta name="keywords" content="The GNU Fortran Compiler: Keyword Index"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="index.html#Top" rel="up" title="Top"> +<link href="Option-Index.html#Option-Index" rel="previous" title="Option Index"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Keyword-Index"></a> +<div class="header"> +<p> +Previous: <a href="Option-Index.html#Option-Index" accesskey="p" rel="previous">Option Index</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<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> +</div> +<hr> +<a name="Keyword-Index-1"></a> +<h2 class="unnumbered">Keyword Index</h2> +<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Keyword-Index_cp_symbol-1"><b>$</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_symbol-2"><b>%</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_symbol-3"><b>&</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_symbol-4"><b>_</b></a> + +<br> +<a class="summary-letter" href="#Keyword-Index_cp_letter-A"><b>A</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-B"><b>B</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-C"><b>C</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-D"><b>D</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-E"><b>E</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-F"><b>F</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-G"><b>G</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-H"><b>H</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-I"><b>I</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-J"><b>J</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-K"><b>K</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-L"><b>L</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-M"><b>M</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-N"><b>N</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-O"><b>O</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-P"><b>P</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-Q"><b>Q</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-R"><b>R</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-S"><b>S</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-T"><b>T</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-U"><b>U</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-V"><b>V</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-W"><b>W</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-X"><b>X</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-Z"><b>Z</b></a> + +</td></tr></table> +<table class="index-cp" border="0"> +<tr><td></td><th align="left">Index Entry</th><td> </td><th align="left"> Section</th></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_symbol-1">$</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-_0024"><code>$</code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_symbol-2">%</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Argument-list-functions.html#index-_0025LOC"><code>%LOC</code></a>:</td><td> </td><td valign="top"><a href="Argument-list-functions.html#Argument-list-functions">Argument list functions</a></td></tr> +<tr><td></td><td valign="top"><a href="Argument-list-functions.html#index-_0025REF"><code>%REF</code></a>:</td><td> </td><td valign="top"><a href="Argument-list-functions.html#Argument-list-functions">Argument list functions</a></td></tr> +<tr><td></td><td valign="top"><a href="Argument-list-functions.html#index-_0025VAL"><code>%VAL</code></a>:</td><td> </td><td valign="top"><a href="Argument-list-functions.html#Argument-list-functions">Argument list functions</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_symbol-3">&</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-_0026"><code>&</code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_symbol-4">_</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fset_005fargs.html#index-_005fgfortran_005fset_005fargs"><code>_gfortran_set_args</code></a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fset_005fargs.html#g_t_005fgfortran_005fset_005fargs">_gfortran_set_args</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fset_005fconvert.html#index-_005fgfortran_005fset_005fconvert"><code>_gfortran_set_convert</code></a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fset_005fconvert.html#g_t_005fgfortran_005fset_005fconvert">_gfortran_set_convert</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fset_005ffpe.html#index-_005fgfortran_005fset_005ffpe"><code>_gfortran_set_fpe</code></a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fset_005ffpe.html#g_t_005fgfortran_005fset_005ffpe">_gfortran_set_fpe</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fset_005fmax_005fsubrecord_005flength.html#index-_005fgfortran_005fset_005fmax_005fsubrecord_005flength"><code>_gfortran_set_max_subrecord_length</code></a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fset_005fmax_005fsubrecord_005flength.html#g_t_005fgfortran_005fset_005fmax_005fsubrecord_005flength">_gfortran_set_max_subrecord_length</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fset_005foptions.html#index-_005fgfortran_005fset_005foptions"><code>_gfortran_set_options</code></a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fset_005foptions.html#g_t_005fgfortran_005fset_005foptions">_gfortran_set_options</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fset_005frecord_005fmarker.html#index-_005fgfortran_005fset_005frecord_005fmarker"><code>_gfortran_set_record_marker</code></a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fset_005frecord_005fmarker.html#g_t_005fgfortran_005fset_005frecord_005fmarker">_gfortran_set_record_marker</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-A">A</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="ABORT.html#index-ABORT"><code>ABORT</code></a>:</td><td> </td><td valign="top"><a href="ABORT.html#ABORT">ABORT</a></td></tr> +<tr><td></td><td valign="top"><a href="ABS.html#index-ABS"><code>ABS</code></a>:</td><td> </td><td valign="top"><a href="ABS.html#ABS">ABS</a></td></tr> +<tr><td></td><td valign="top"><a href="ABS.html#index-absolute-value">absolute value</a>:</td><td> </td><td valign="top"><a href="ABS.html#ABS">ABS</a></td></tr> +<tr><td></td><td valign="top"><a href="ACCESS.html#index-ACCESS"><code>ACCESS</code></a>:</td><td> </td><td valign="top"><a href="ACCESS.html#ACCESS">ACCESS</a></td></tr> +<tr><td></td><td valign="top"><a href="ACHAR.html#index-ACHAR"><code>ACHAR</code></a>:</td><td> </td><td valign="top"><a href="ACHAR.html#ACHAR">ACHAR</a></td></tr> +<tr><td></td><td valign="top"><a href="ACOS.html#index-ACOS"><code>ACOS</code></a>:</td><td> </td><td valign="top"><a href="ACOS.html#ACOS">ACOS</a></td></tr> +<tr><td></td><td valign="top"><a href="ACOSD.html#index-ACOSD"><code>ACOSD</code></a>:</td><td> </td><td valign="top"><a href="ACOSD.html#ACOSD">ACOSD</a></td></tr> +<tr><td></td><td valign="top"><a href="ACOSH.html#index-ACOSH"><code>ACOSH</code></a>:</td><td> </td><td valign="top"><a href="ACOSH.html#ACOSH">ACOSH</a></td></tr> +<tr><td></td><td valign="top"><a href="ADJUSTL.html#index-adjust-string">adjust string</a>:</td><td> </td><td valign="top"><a href="ADJUSTL.html#ADJUSTL">ADJUSTL</a></td></tr> +<tr><td></td><td valign="top"><a href="ADJUSTR.html#index-adjust-string-1">adjust string</a>:</td><td> </td><td valign="top"><a href="ADJUSTR.html#ADJUSTR">ADJUSTR</a></td></tr> +<tr><td></td><td valign="top"><a href="ADJUSTL.html#index-ADJUSTL"><code>ADJUSTL</code></a>:</td><td> </td><td valign="top"><a href="ADJUSTL.html#ADJUSTL">ADJUSTL</a></td></tr> +<tr><td></td><td valign="top"><a href="ADJUSTR.html#index-ADJUSTR"><code>ADJUSTR</code></a>:</td><td> </td><td valign="top"><a href="ADJUSTR.html#ADJUSTR">ADJUSTR</a></td></tr> +<tr><td></td><td valign="top"><a href="AIMAG.html#index-AIMAG"><code>AIMAG</code></a>:</td><td> </td><td valign="top"><a href="AIMAG.html#AIMAG">AIMAG</a></td></tr> +<tr><td></td><td valign="top"><a href="AINT.html#index-AINT"><code>AINT</code></a>:</td><td> </td><td valign="top"><a href="AINT.html#AINT">AINT</a></td></tr> +<tr><td></td><td valign="top"><a href="ALARM.html#index-ALARM"><code>ALARM</code></a>:</td><td> </td><td valign="top"><a href="ALARM.html#ALARM">ALARM</a></td></tr> +<tr><td></td><td valign="top"><a href="LOG_005fGAMMA.html#index-ALGAMA"><code>ALGAMA</code></a>:</td><td> </td><td valign="top"><a href="LOG_005fGAMMA.html#LOG_005fGAMMA">LOG_GAMMA</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-aliasing">aliasing</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-alignment-of-COMMON-blocks">alignment of <code>COMMON</code> blocks</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-alignment-of-COMMON-blocks-1">alignment of <code>COMMON</code> blocks</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="ALL.html#index-ALL"><code>ALL</code></a>:</td><td> </td><td valign="top"><a href="ALL.html#ALL">ALL</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-all-warnings">all warnings</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="ALLOCATED.html#index-ALLOCATED"><code>ALLOCATED</code></a>:</td><td> </td><td valign="top"><a href="ALLOCATED.html#ALLOCATED">ALLOCATED</a></td></tr> +<tr><td></td><td valign="top"><a href="MOVE_005fALLOC.html#index-allocation_002c-moving">allocation, moving</a>:</td><td> </td><td valign="top"><a href="MOVE_005fALLOC.html#MOVE_005fALLOC">MOVE_ALLOC</a></td></tr> +<tr><td></td><td valign="top"><a href="ALLOCATED.html#index-allocation_002c-status">allocation, status</a>:</td><td> </td><td valign="top"><a href="ALLOCATED.html#ALLOCATED">ALLOCATED</a></td></tr> +<tr><td></td><td valign="top"><a href="LOG.html#index-ALOG"><code>ALOG</code></a>:</td><td> </td><td valign="top"><a href="LOG.html#LOG">LOG</a></td></tr> +<tr><td></td><td valign="top"><a href="LOG10.html#index-ALOG10"><code>ALOG10</code></a>:</td><td> </td><td valign="top"><a href="LOG10.html#LOG10">LOG10</a></td></tr> +<tr><td></td><td valign="top"><a href="MAX.html#index-AMAX0"><code>AMAX0</code></a>:</td><td> </td><td valign="top"><a href="MAX.html#MAX">MAX</a></td></tr> +<tr><td></td><td valign="top"><a href="MAX.html#index-AMAX1"><code>AMAX1</code></a>:</td><td> </td><td valign="top"><a href="MAX.html#MAX">MAX</a></td></tr> +<tr><td></td><td valign="top"><a href="MIN.html#index-AMIN0"><code>AMIN0</code></a>:</td><td> </td><td valign="top"><a href="MIN.html#MIN">MIN</a></td></tr> +<tr><td></td><td valign="top"><a href="MIN.html#index-AMIN1"><code>AMIN1</code></a>:</td><td> </td><td valign="top"><a href="MIN.html#MIN">MIN</a></td></tr> +<tr><td></td><td valign="top"><a href="MOD.html#index-AMOD"><code>AMOD</code></a>:</td><td> </td><td valign="top"><a href="MOD.html#MOD">MOD</a></td></tr> +<tr><td></td><td valign="top"><a href="AND.html#index-AND"><code>AND</code></a>:</td><td> </td><td valign="top"><a href="AND.html#AND">AND</a></td></tr> +<tr><td></td><td valign="top"><a href="ANINT.html#index-ANINT"><code>ANINT</code></a>:</td><td> </td><td valign="top"><a href="ANINT.html#ANINT">ANINT</a></td></tr> +<tr><td></td><td valign="top"><a href="ANY.html#index-ANY"><code>ANY</code></a>:</td><td> </td><td valign="top"><a href="ANY.html#ANY">ANY</a></td></tr> +<tr><td></td><td valign="top"><a href="ACOSH.html#index-area-hyperbolic-cosine">area hyperbolic cosine</a>:</td><td> </td><td valign="top"><a href="ACOSH.html#ACOSH">ACOSH</a></td></tr> +<tr><td></td><td valign="top"><a href="ASINH.html#index-area-hyperbolic-sine">area hyperbolic sine</a>:</td><td> </td><td valign="top"><a href="ASINH.html#ASINH">ASINH</a></td></tr> +<tr><td></td><td valign="top"><a href="ATANH.html#index-area-hyperbolic-tangent">area hyperbolic tangent</a>:</td><td> </td><td valign="top"><a href="ATANH.html#ATANH">ATANH</a></td></tr> +<tr><td></td><td valign="top"><a href="Argument-list-functions.html#index-argument-list-functions">argument list functions</a>:</td><td> </td><td valign="top"><a href="Argument-list-functions.html#Argument-list-functions">Argument list functions</a></td></tr> +<tr><td></td><td valign="top"><a href="COMMAND_005fARGUMENT_005fCOUNT.html#index-arguments_002c-to-program">arguments, to program</a>:</td><td> </td><td valign="top"><a href="COMMAND_005fARGUMENT_005fCOUNT.html#COMMAND_005fARGUMENT_005fCOUNT">COMMAND_ARGUMENT_COUNT</a></td></tr> +<tr><td></td><td valign="top"><a href="GETARG.html#index-arguments_002c-to-program-1">arguments, to program</a>:</td><td> </td><td valign="top"><a href="GETARG.html#GETARG">GETARG</a></td></tr> +<tr><td></td><td valign="top"><a href="GET_005fCOMMAND.html#index-arguments_002c-to-program-2">arguments, to program</a>:</td><td> </td><td valign="top"><a href="GET_005fCOMMAND.html#GET_005fCOMMAND">GET_COMMAND</a></td></tr> +<tr><td></td><td valign="top"><a href="GET_005fCOMMAND_005fARGUMENT.html#index-arguments_002c-to-program-3">arguments, to program</a>:</td><td> </td><td valign="top"><a href="GET_005fCOMMAND_005fARGUMENT.html#GET_005fCOMMAND_005fARGUMENT">GET_COMMAND_ARGUMENT</a></td></tr> +<tr><td></td><td valign="top"><a href="IARGC.html#index-arguments_002c-to-program-4">arguments, to program</a>:</td><td> </td><td valign="top"><a href="IARGC.html#IARGC">IARGC</a></td></tr> +<tr><td></td><td valign="top"><a href="Further-Interoperability-of-Fortran-with-C.html#index-array-descriptor">array descriptor</a>:</td><td> </td><td valign="top"><a href="Further-Interoperability-of-Fortran-with-C.html#Further-Interoperability-of-Fortran-with-C">Further Interoperability of Fortran with C</a></td></tr> +<tr><td></td><td valign="top"><a href="SUM.html#index-array_002c-add-elements">array, add elements</a>:</td><td> </td><td valign="top"><a href="SUM.html#SUM">SUM</a></td></tr> +<tr><td></td><td valign="top"><a href="IALL.html#index-array_002c-AND">array, AND</a>:</td><td> </td><td valign="top"><a href="IALL.html#IALL">IALL</a></td></tr> +<tr><td></td><td valign="top"><a href="ALL.html#index-array_002c-apply-condition">array, apply condition</a>:</td><td> </td><td valign="top"><a href="ALL.html#ALL">ALL</a></td></tr> +<tr><td></td><td valign="top"><a href="ANY.html#index-array_002c-apply-condition-1">array, apply condition</a>:</td><td> </td><td valign="top"><a href="ANY.html#ANY">ANY</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-array_002c-bounds-checking">array, bounds checking</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="RESHAPE.html#index-array_002c-change-dimensions">array, change dimensions</a>:</td><td> </td><td valign="top"><a href="RESHAPE.html#RESHAPE">RESHAPE</a></td></tr> +<tr><td></td><td valign="top"><a href="MERGE.html#index-array_002c-combine-arrays">array, combine arrays</a>:</td><td> </td><td valign="top"><a href="MERGE.html#MERGE">MERGE</a></td></tr> +<tr><td></td><td valign="top"><a href="ALL.html#index-array_002c-condition-testing">array, condition testing</a>:</td><td> </td><td valign="top"><a href="ALL.html#ALL">ALL</a></td></tr> +<tr><td></td><td valign="top"><a href="ANY.html#index-array_002c-condition-testing-1">array, condition testing</a>:</td><td> </td><td valign="top"><a href="ANY.html#ANY">ANY</a></td></tr> +<tr><td></td><td valign="top"><a href="SUM.html#index-array_002c-conditionally-add-elements">array, conditionally add elements</a>:</td><td> </td><td valign="top"><a href="SUM.html#SUM">SUM</a></td></tr> +<tr><td></td><td valign="top"><a href="COUNT.html#index-array_002c-conditionally-count-elements">array, conditionally count elements</a>:</td><td> </td><td valign="top"><a href="COUNT.html#COUNT">COUNT</a></td></tr> +<tr><td></td><td valign="top"><a href="PRODUCT.html#index-array_002c-conditionally-multiply-elements">array, conditionally multiply elements</a>:</td><td> </td><td valign="top"><a href="PRODUCT.html#PRODUCT">PRODUCT</a></td></tr> +<tr><td></td><td valign="top"><a href="IS_005fCONTIGUOUS.html#index-array_002c-contiguity">array, contiguity</a>:</td><td> </td><td valign="top"><a href="IS_005fCONTIGUOUS.html#IS_005fCONTIGUOUS">IS_CONTIGUOUS</a></td></tr> +<tr><td></td><td valign="top"><a href="SIZE.html#index-array_002c-count-elements">array, count elements</a>:</td><td> </td><td valign="top"><a href="SIZE.html#SIZE">SIZE</a></td></tr> +<tr><td></td><td valign="top"><a href="SPREAD.html#index-array_002c-duplicate-dimensions">array, duplicate dimensions</a>:</td><td> </td><td valign="top"><a href="SPREAD.html#SPREAD">SPREAD</a></td></tr> +<tr><td></td><td valign="top"><a href="SPREAD.html#index-array_002c-duplicate-elements">array, duplicate elements</a>:</td><td> </td><td valign="top"><a href="SPREAD.html#SPREAD">SPREAD</a></td></tr> +<tr><td></td><td valign="top"><a href="COUNT.html#index-array_002c-element-counting">array, element counting</a>:</td><td> </td><td valign="top"><a href="COUNT.html#COUNT">COUNT</a></td></tr> +<tr><td></td><td valign="top"><a href="PACK.html#index-array_002c-gather-elements">array, gather elements</a>:</td><td> </td><td valign="top"><a href="PACK.html#PACK">PACK</a></td></tr> +<tr><td></td><td valign="top"><a href="SPREAD.html#index-array_002c-increase-dimension">array, increase dimension</a>:</td><td> </td><td valign="top"><a href="SPREAD.html#SPREAD">SPREAD</a></td></tr> +<tr><td></td><td valign="top"><a href="UNPACK.html#index-array_002c-increase-dimension-1">array, increase dimension</a>:</td><td> </td><td valign="top"><a href="UNPACK.html#UNPACK">UNPACK</a></td></tr> +<tr><td></td><td valign="top"><a href="Real-array-indices.html#index-array_002c-indices-of-type-real">array, indices of type real</a>:</td><td> </td><td valign="top"><a href="Real-array-indices.html#Real-array-indices">Real array indices</a></td></tr> +<tr><td></td><td valign="top"><a href="MAXLOC.html#index-array_002c-location-of-maximum-element">array, location of maximum element</a>:</td><td> </td><td valign="top"><a href="MAXLOC.html#MAXLOC">MAXLOC</a></td></tr> +<tr><td></td><td valign="top"><a href="MINLOC.html#index-array_002c-location-of-minimum-element">array, location of minimum element</a>:</td><td> </td><td valign="top"><a href="MINLOC.html#MINLOC">MINLOC</a></td></tr> +<tr><td></td><td valign="top"><a href="LBOUND.html#index-array_002c-lower-bound">array, lower bound</a>:</td><td> </td><td valign="top"><a href="LBOUND.html#LBOUND">LBOUND</a></td></tr> +<tr><td></td><td valign="top"><a href="MAXVAL.html#index-array_002c-maximum-value">array, maximum value</a>:</td><td> </td><td valign="top"><a href="MAXVAL.html#MAXVAL">MAXVAL</a></td></tr> +<tr><td></td><td valign="top"><a href="MERGE.html#index-array_002c-merge-arrays">array, merge arrays</a>:</td><td> </td><td valign="top"><a href="MERGE.html#MERGE">MERGE</a></td></tr> +<tr><td></td><td valign="top"><a href="MINVAL.html#index-array_002c-minimum-value">array, minimum value</a>:</td><td> </td><td valign="top"><a href="MINVAL.html#MINVAL">MINVAL</a></td></tr> +<tr><td></td><td valign="top"><a href="PRODUCT.html#index-array_002c-multiply-elements">array, multiply elements</a>:</td><td> </td><td valign="top"><a href="PRODUCT.html#PRODUCT">PRODUCT</a></td></tr> +<tr><td></td><td valign="top"><a href="COUNT.html#index-array_002c-number-of-elements">array, number of elements</a>:</td><td> </td><td valign="top"><a href="COUNT.html#COUNT">COUNT</a></td></tr> +<tr><td></td><td valign="top"><a href="SIZE.html#index-array_002c-number-of-elements-1">array, number of elements</a>:</td><td> </td><td valign="top"><a href="SIZE.html#SIZE">SIZE</a></td></tr> +<tr><td></td><td valign="top"><a href="IANY.html#index-array_002c-OR">array, OR</a>:</td><td> </td><td valign="top"><a href="IANY.html#IANY">IANY</a></td></tr> +<tr><td></td><td valign="top"><a href="PACK.html#index-array_002c-packing">array, packing</a>:</td><td> </td><td valign="top"><a href="PACK.html#PACK">PACK</a></td></tr> +<tr><td></td><td valign="top"><a href="IPARITY.html#index-array_002c-parity">array, parity</a>:</td><td> </td><td valign="top"><a href="IPARITY.html#IPARITY">IPARITY</a></td></tr> +<tr><td></td><td valign="top"><a href="CSHIFT.html#index-array_002c-permutation">array, permutation</a>:</td><td> </td><td valign="top"><a href="CSHIFT.html#CSHIFT">CSHIFT</a></td></tr> +<tr><td></td><td valign="top"><a href="PRODUCT.html#index-array_002c-product">array, product</a>:</td><td> </td><td valign="top"><a href="PRODUCT.html#PRODUCT">PRODUCT</a></td></tr> +<tr><td></td><td valign="top"><a href="PACK.html#index-array_002c-reduce-dimension">array, reduce dimension</a>:</td><td> </td><td valign="top"><a href="PACK.html#PACK">PACK</a></td></tr> +<tr><td></td><td valign="top"><a href="CSHIFT.html#index-array_002c-rotate">array, rotate</a>:</td><td> </td><td valign="top"><a href="CSHIFT.html#CSHIFT">CSHIFT</a></td></tr> +<tr><td></td><td valign="top"><a href="UNPACK.html#index-array_002c-scatter-elements">array, scatter elements</a>:</td><td> </td><td valign="top"><a href="UNPACK.html#UNPACK">UNPACK</a></td></tr> +<tr><td></td><td valign="top"><a href="SHAPE.html#index-array_002c-shape">array, shape</a>:</td><td> </td><td valign="top"><a href="SHAPE.html#SHAPE">SHAPE</a></td></tr> +<tr><td></td><td valign="top"><a href="EOSHIFT.html#index-array_002c-shift">array, shift</a>:</td><td> </td><td valign="top"><a href="EOSHIFT.html#EOSHIFT">EOSHIFT</a></td></tr> +<tr><td></td><td valign="top"><a href="CSHIFT.html#index-array_002c-shift-circularly">array, shift circularly</a>:</td><td> </td><td valign="top"><a href="CSHIFT.html#CSHIFT">CSHIFT</a></td></tr> +<tr><td></td><td valign="top"><a href="SIZE.html#index-array_002c-size">array, size</a>:</td><td> </td><td valign="top"><a href="SIZE.html#SIZE">SIZE</a></td></tr> +<tr><td></td><td valign="top"><a href="SUM.html#index-array_002c-sum">array, sum</a>:</td><td> </td><td valign="top"><a href="SUM.html#SUM">SUM</a></td></tr> +<tr><td></td><td valign="top"><a href="RESHAPE.html#index-array_002c-transmogrify">array, transmogrify</a>:</td><td> </td><td valign="top"><a href="RESHAPE.html#RESHAPE">RESHAPE</a></td></tr> +<tr><td></td><td valign="top"><a href="TRANSPOSE.html#index-array_002c-transpose">array, transpose</a>:</td><td> </td><td valign="top"><a href="TRANSPOSE.html#TRANSPOSE">TRANSPOSE</a></td></tr> +<tr><td></td><td valign="top"><a href="UNPACK.html#index-array_002c-unpacking">array, unpacking</a>:</td><td> </td><td valign="top"><a href="UNPACK.html#UNPACK">UNPACK</a></td></tr> +<tr><td></td><td valign="top"><a href="UBOUND.html#index-array_002c-upper-bound">array, upper bound</a>:</td><td> </td><td valign="top"><a href="UBOUND.html#UBOUND">UBOUND</a></td></tr> +<tr><td></td><td valign="top"><a href="IPARITY.html#index-array_002c-XOR">array, XOR</a>:</td><td> </td><td valign="top"><a href="IPARITY.html#IPARITY">IPARITY</a></td></tr> +<tr><td></td><td valign="top"><a href="ACHAR.html#index-ASCII-collating-sequence"><acronym>ASCII</acronym> collating sequence</a>:</td><td> </td><td valign="top"><a href="ACHAR.html#ACHAR">ACHAR</a></td></tr> +<tr><td></td><td valign="top"><a href="IACHAR.html#index-ASCII-collating-sequence-1"><acronym>ASCII</acronym> collating sequence</a>:</td><td> </td><td valign="top"><a href="IACHAR.html#IACHAR">IACHAR</a></td></tr> +<tr><td></td><td valign="top"><a href="ASIN.html#index-ASIN"><code>ASIN</code></a>:</td><td> </td><td valign="top"><a href="ASIN.html#ASIN">ASIN</a></td></tr> +<tr><td></td><td valign="top"><a href="ASIND.html#index-ASIND"><code>ASIND</code></a>:</td><td> </td><td valign="top"><a href="ASIND.html#ASIND">ASIND</a></td></tr> +<tr><td></td><td valign="top"><a href="ASINH.html#index-ASINH"><code>ASINH</code></a>:</td><td> </td><td valign="top"><a href="ASINH.html#ASINH">ASINH</a></td></tr> +<tr><td></td><td valign="top"><a href="ASSOCIATED.html#index-ASSOCIATED"><code>ASSOCIATED</code></a>:</td><td> </td><td valign="top"><a href="ASSOCIATED.html#ASSOCIATED">ASSOCIATED</a></td></tr> +<tr><td></td><td valign="top"><a href="ASSOCIATED.html#index-association-status">association status</a>:</td><td> </td><td valign="top"><a href="ASSOCIATED.html#ASSOCIATED">ASSOCIATED</a></td></tr> +<tr><td></td><td valign="top"><a href="C_005fASSOCIATED.html#index-association-status_002c-C-pointer">association status, C pointer</a>:</td><td> </td><td valign="top"><a href="C_005fASSOCIATED.html#C_005fASSOCIATED">C_ASSOCIATED</a></td></tr> +<tr><td></td><td valign="top"><a href="Further-Interoperability-of-Fortran-with-C.html#index-assumed_002drank">assumed-rank</a>:</td><td> </td><td valign="top"><a href="Further-Interoperability-of-Fortran-with-C.html#Further-Interoperability-of-Fortran-with-C">Further Interoperability of Fortran with C</a></td></tr> +<tr><td></td><td valign="top"><a href="Further-Interoperability-of-Fortran-with-C.html#index-assumed_002dtype">assumed-type</a>:</td><td> </td><td valign="top"><a href="Further-Interoperability-of-Fortran-with-C.html#Further-Interoperability-of-Fortran-with-C">Further Interoperability of Fortran with C</a></td></tr> +<tr><td></td><td valign="top"><a href="Asynchronous-I_002fO.html#index-asynchronous-I_002fO">asynchronous I/O</a>:</td><td> </td><td valign="top"><a href="Asynchronous-I_002fO.html#Asynchronous-I_002fO">Asynchronous I/O</a></td></tr> +<tr><td></td><td valign="top"><a href="ATAN.html#index-ATAN"><code>ATAN</code></a>:</td><td> </td><td valign="top"><a href="ATAN.html#ATAN">ATAN</a></td></tr> +<tr><td></td><td valign="top"><a href="ATAN2.html#index-ATAN2"><code>ATAN2</code></a>:</td><td> </td><td valign="top"><a href="ATAN2.html#ATAN2">ATAN2</a></td></tr> +<tr><td></td><td valign="top"><a href="ATAN2D.html#index-ATAN2D"><code>ATAN2D</code></a>:</td><td> </td><td valign="top"><a href="ATAN2D.html#ATAN2D">ATAN2D</a></td></tr> +<tr><td></td><td valign="top"><a href="ATAND.html#index-ATAND"><code>ATAND</code></a>:</td><td> </td><td valign="top"><a href="ATAND.html#ATAND">ATAND</a></td></tr> +<tr><td></td><td valign="top"><a href="ATANH.html#index-ATANH"><code>ATANH</code></a>:</td><td> </td><td valign="top"><a href="ATANH.html#ATANH">ATANH</a></td></tr> +<tr><td></td><td valign="top"><a href="ATOMIC_005fADD.html#index-Atomic-subroutine_002c-add">Atomic subroutine, add</a>:</td><td> </td><td valign="top"><a href="ATOMIC_005fADD.html#ATOMIC_005fADD">ATOMIC_ADD</a></td></tr> +<tr><td></td><td valign="top"><a href="ATOMIC_005fFETCH_005fADD.html#index-Atomic-subroutine_002c-ADD-with-fetch">Atomic subroutine, ADD with fetch</a>:</td><td> </td><td valign="top"><a href="ATOMIC_005fFETCH_005fADD.html#ATOMIC_005fFETCH_005fADD">ATOMIC_FETCH_ADD</a></td></tr> +<tr><td></td><td valign="top"><a href="ATOMIC_005fAND.html#index-Atomic-subroutine_002c-AND">Atomic subroutine, AND</a>:</td><td> </td><td valign="top"><a href="ATOMIC_005fAND.html#ATOMIC_005fAND">ATOMIC_AND</a></td></tr> +<tr><td></td><td valign="top"><a href="ATOMIC_005fFETCH_005fAND.html#index-Atomic-subroutine_002c-AND-with-fetch">Atomic subroutine, AND with fetch</a>:</td><td> </td><td valign="top"><a href="ATOMIC_005fFETCH_005fAND.html#ATOMIC_005fFETCH_005fAND">ATOMIC_FETCH_AND</a></td></tr> +<tr><td></td><td valign="top"><a href="ATOMIC_005fCAS.html#index-Atomic-subroutine_002c-compare-and-swap">Atomic subroutine, compare and swap</a>:</td><td> </td><td valign="top"><a href="ATOMIC_005fCAS.html#ATOMIC_005fCAS">ATOMIC_CAS</a></td></tr> +<tr><td></td><td valign="top"><a href="ATOMIC_005fDEFINE.html#index-Atomic-subroutine_002c-define">Atomic subroutine, define</a>:</td><td> </td><td valign="top"><a href="ATOMIC_005fDEFINE.html#ATOMIC_005fDEFINE">ATOMIC_DEFINE</a></td></tr> +<tr><td></td><td valign="top"><a href="ATOMIC_005fOR.html#index-Atomic-subroutine_002c-OR">Atomic subroutine, OR</a>:</td><td> </td><td valign="top"><a href="ATOMIC_005fOR.html#ATOMIC_005fOR">ATOMIC_OR</a></td></tr> +<tr><td></td><td valign="top"><a href="ATOMIC_005fFETCH_005fOR.html#index-Atomic-subroutine_002c-OR-with-fetch">Atomic subroutine, OR with fetch</a>:</td><td> </td><td valign="top"><a href="ATOMIC_005fFETCH_005fOR.html#ATOMIC_005fFETCH_005fOR">ATOMIC_FETCH_OR</a></td></tr> +<tr><td></td><td valign="top"><a href="ATOMIC_005fREF.html#index-Atomic-subroutine_002c-reference">Atomic subroutine, reference</a>:</td><td> </td><td valign="top"><a href="ATOMIC_005fREF.html#ATOMIC_005fREF">ATOMIC_REF</a></td></tr> +<tr><td></td><td valign="top"><a href="ATOMIC_005fXOR.html#index-Atomic-subroutine_002c-XOR">Atomic subroutine, XOR</a>:</td><td> </td><td valign="top"><a href="ATOMIC_005fXOR.html#ATOMIC_005fXOR">ATOMIC_XOR</a></td></tr> +<tr><td></td><td valign="top"><a href="ATOMIC_005fFETCH_005fXOR.html#index-Atomic-subroutine_002c-XOR-with-fetch">Atomic subroutine, XOR with fetch</a>:</td><td> </td><td valign="top"><a href="ATOMIC_005fFETCH_005fXOR.html#ATOMIC_005fFETCH_005fXOR">ATOMIC_FETCH_XOR</a></td></tr> +<tr><td></td><td valign="top"><a href="ATOMIC_005fADD.html#index-ATOMIC_005fADD"><code>ATOMIC_ADD</code></a>:</td><td> </td><td valign="top"><a href="ATOMIC_005fADD.html#ATOMIC_005fADD">ATOMIC_ADD</a></td></tr> +<tr><td></td><td valign="top"><a href="ATOMIC_005fAND.html#index-ATOMIC_005fAND"><code>ATOMIC_AND</code></a>:</td><td> </td><td valign="top"><a href="ATOMIC_005fAND.html#ATOMIC_005fAND">ATOMIC_AND</a></td></tr> +<tr><td></td><td valign="top"><a href="ATOMIC_005fCAS.html#index-ATOMIC_005fDEFINE"><code>ATOMIC_DEFINE</code></a>:</td><td> </td><td valign="top"><a href="ATOMIC_005fCAS.html#ATOMIC_005fCAS">ATOMIC_CAS</a></td></tr> +<tr><td></td><td valign="top"><a href="ATOMIC_005fDEFINE.html#index-ATOMIC_005fDEFINE-1"><code>ATOMIC_DEFINE</code></a>:</td><td> </td><td valign="top"><a href="ATOMIC_005fDEFINE.html#ATOMIC_005fDEFINE">ATOMIC_DEFINE</a></td></tr> +<tr><td></td><td valign="top"><a href="ATOMIC_005fFETCH_005fADD.html#index-ATOMIC_005fFETCH_005fADD"><code>ATOMIC_FETCH_ADD</code></a>:</td><td> </td><td valign="top"><a href="ATOMIC_005fFETCH_005fADD.html#ATOMIC_005fFETCH_005fADD">ATOMIC_FETCH_ADD</a></td></tr> +<tr><td></td><td valign="top"><a href="ATOMIC_005fFETCH_005fAND.html#index-ATOMIC_005fFETCH_005fAND"><code>ATOMIC_FETCH_AND</code></a>:</td><td> </td><td valign="top"><a href="ATOMIC_005fFETCH_005fAND.html#ATOMIC_005fFETCH_005fAND">ATOMIC_FETCH_AND</a></td></tr> +<tr><td></td><td valign="top"><a href="ATOMIC_005fFETCH_005fOR.html#index-ATOMIC_005fFETCH_005fOR"><code>ATOMIC_FETCH_OR</code></a>:</td><td> </td><td valign="top"><a href="ATOMIC_005fFETCH_005fOR.html#ATOMIC_005fFETCH_005fOR">ATOMIC_FETCH_OR</a></td></tr> +<tr><td></td><td valign="top"><a href="ATOMIC_005fFETCH_005fXOR.html#index-ATOMIC_005fFETCH_005fXOR"><code>ATOMIC_FETCH_XOR</code></a>:</td><td> </td><td valign="top"><a href="ATOMIC_005fFETCH_005fXOR.html#ATOMIC_005fFETCH_005fXOR">ATOMIC_FETCH_XOR</a></td></tr> +<tr><td></td><td valign="top"><a href="ATOMIC_005fOR.html#index-ATOMIC_005fOR"><code>ATOMIC_OR</code></a>:</td><td> </td><td valign="top"><a href="ATOMIC_005fOR.html#ATOMIC_005fOR">ATOMIC_OR</a></td></tr> +<tr><td></td><td valign="top"><a href="ATOMIC_005fREF.html#index-ATOMIC_005fREF"><code>ATOMIC_REF</code></a>:</td><td> </td><td valign="top"><a href="ATOMIC_005fREF.html#ATOMIC_005fREF">ATOMIC_REF</a></td></tr> +<tr><td></td><td valign="top"><a href="ATOMIC_005fXOR.html#index-ATOMIC_005fXOR"><code>ATOMIC_XOR</code></a>:</td><td> </td><td valign="top"><a href="ATOMIC_005fXOR.html#ATOMIC_005fXOR">ATOMIC_XOR</a></td></tr> +<tr><td></td><td valign="top"><a href="Contributors.html#index-Authors">Authors</a>:</td><td> </td><td valign="top"><a href="Contributors.html#Contributors">Contributors</a></td></tr> +<tr><td></td><td valign="top"><a href="AUTOMATIC-and-STATIC-attributes.html#index-AUTOMATIC"><code>AUTOMATIC</code></a>:</td><td> </td><td valign="top"><a href="AUTOMATIC-and-STATIC-attributes.html#AUTOMATIC-and-STATIC-attributes">AUTOMATIC and STATIC attributes</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-B">B</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="ABS.html#index-BABS"><code>BABS</code></a>:</td><td> </td><td valign="top"><a href="ABS.html#ABS">ABS</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-backslash">backslash</a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Read_002fWrite-after-EOF-marker.html#index-BACKSPACE"><code>BACKSPACE</code></a>:</td><td> </td><td valign="top"><a href="Read_002fWrite-after-EOF-marker.html#Read_002fWrite-after-EOF-marker">Read/Write after EOF marker</a></td></tr> +<tr><td></td><td valign="top"><a href="BACKTRACE.html#index-BACKTRACE"><code>BACKTRACE</code></a>:</td><td> </td><td valign="top"><a href="BACKTRACE.html#BACKTRACE">BACKTRACE</a></td></tr> +<tr><td></td><td valign="top"><a href="Debugging-Options.html#index-backtrace">backtrace</a>:</td><td> </td><td valign="top"><a href="Debugging-Options.html#Debugging-Options">Debugging Options</a></td></tr> +<tr><td></td><td valign="top"><a href="BACKTRACE.html#index-backtrace-1">backtrace</a>:</td><td> </td><td valign="top"><a href="BACKTRACE.html#BACKTRACE">BACKTRACE</a></td></tr> +<tr><td></td><td valign="top"><a href="LOG10.html#index-base-10-logarithm-function">base 10 logarithm function</a>:</td><td> </td><td valign="top"><a href="LOG10.html#LOG10">LOG10</a></td></tr> +<tr><td></td><td valign="top"><a href="IBCLR.html#index-BBCLR"><code>BBCLR</code></a>:</td><td> </td><td valign="top"><a href="IBCLR.html#IBCLR">IBCLR</a></td></tr> +<tr><td></td><td valign="top"><a href="IBITS.html#index-BBITS"><code>BBITS</code></a>:</td><td> </td><td valign="top"><a href="IBITS.html#IBITS">IBITS</a></td></tr> +<tr><td></td><td valign="top"><a href="IBSET.html#index-BBSET"><code>BBSET</code></a>:</td><td> </td><td valign="top"><a href="IBSET.html#IBSET">IBSET</a></td></tr> +<tr><td></td><td valign="top"><a href="BTEST.html#index-BBTEST"><code>BBTEST</code></a>:</td><td> </td><td valign="top"><a href="BTEST.html#BTEST">BTEST</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fJ0.html#index-BESJ0"><code>BESJ0</code></a>:</td><td> </td><td valign="top"><a href="BESSEL_005fJ0.html#BESSEL_005fJ0">BESSEL_J0</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fJ1.html#index-BESJ1"><code>BESJ1</code></a>:</td><td> </td><td valign="top"><a href="BESSEL_005fJ1.html#BESSEL_005fJ1">BESSEL_J1</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fJN.html#index-BESJN"><code>BESJN</code></a>:</td><td> </td><td valign="top"><a href="BESSEL_005fJN.html#BESSEL_005fJN">BESSEL_JN</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fJ0.html#index-Bessel-function_002c-first-kind">Bessel function, first kind</a>:</td><td> </td><td valign="top"><a href="BESSEL_005fJ0.html#BESSEL_005fJ0">BESSEL_J0</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fJ1.html#index-Bessel-function_002c-first-kind-1">Bessel function, first kind</a>:</td><td> </td><td valign="top"><a href="BESSEL_005fJ1.html#BESSEL_005fJ1">BESSEL_J1</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fJN.html#index-Bessel-function_002c-first-kind-2">Bessel function, first kind</a>:</td><td> </td><td valign="top"><a href="BESSEL_005fJN.html#BESSEL_005fJN">BESSEL_JN</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fY0.html#index-Bessel-function_002c-second-kind">Bessel function, second kind</a>:</td><td> </td><td valign="top"><a href="BESSEL_005fY0.html#BESSEL_005fY0">BESSEL_Y0</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fY1.html#index-Bessel-function_002c-second-kind-1">Bessel function, second kind</a>:</td><td> </td><td valign="top"><a href="BESSEL_005fY1.html#BESSEL_005fY1">BESSEL_Y1</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fYN.html#index-Bessel-function_002c-second-kind-2">Bessel function, second kind</a>:</td><td> </td><td valign="top"><a href="BESSEL_005fYN.html#BESSEL_005fYN">BESSEL_YN</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fJ0.html#index-BESSEL_005fJ0"><code>BESSEL_J0</code></a>:</td><td> </td><td valign="top"><a href="BESSEL_005fJ0.html#BESSEL_005fJ0">BESSEL_J0</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fJ1.html#index-BESSEL_005fJ1"><code>BESSEL_J1</code></a>:</td><td> </td><td valign="top"><a href="BESSEL_005fJ1.html#BESSEL_005fJ1">BESSEL_J1</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fJN.html#index-BESSEL_005fJN"><code>BESSEL_JN</code></a>:</td><td> </td><td valign="top"><a href="BESSEL_005fJN.html#BESSEL_005fJN">BESSEL_JN</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fY0.html#index-BESSEL_005fY0"><code>BESSEL_Y0</code></a>:</td><td> </td><td valign="top"><a href="BESSEL_005fY0.html#BESSEL_005fY0">BESSEL_Y0</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fY1.html#index-BESSEL_005fY1"><code>BESSEL_Y1</code></a>:</td><td> </td><td valign="top"><a href="BESSEL_005fY1.html#BESSEL_005fY1">BESSEL_Y1</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fYN.html#index-BESSEL_005fYN"><code>BESSEL_YN</code></a>:</td><td> </td><td valign="top"><a href="BESSEL_005fYN.html#BESSEL_005fYN">BESSEL_YN</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fY0.html#index-BESY0"><code>BESY0</code></a>:</td><td> </td><td valign="top"><a href="BESSEL_005fY0.html#BESSEL_005fY0">BESSEL_Y0</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fY1.html#index-BESY1"><code>BESY1</code></a>:</td><td> </td><td valign="top"><a href="BESSEL_005fY1.html#BESSEL_005fY1">BESSEL_Y1</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fYN.html#index-BESYN"><code>BESYN</code></a>:</td><td> </td><td valign="top"><a href="BESSEL_005fYN.html#BESSEL_005fYN">BESSEL_YN</a></td></tr> +<tr><td></td><td valign="top"><a href="BGE.html#index-BGE"><code>BGE</code></a>:</td><td> </td><td valign="top"><a href="BGE.html#BGE">BGE</a></td></tr> +<tr><td></td><td valign="top"><a href="BGT.html#index-BGT"><code>BGT</code></a>:</td><td> </td><td valign="top"><a href="BGT.html#BGT">BGT</a></td></tr> +<tr><td></td><td valign="top"><a href="IAND.html#index-BIAND"><code>BIAND</code></a>:</td><td> </td><td valign="top"><a href="IAND.html#IAND">IAND</a></td></tr> +<tr><td></td><td valign="top"><a href="IEOR.html#index-BIEOR"><code>BIEOR</code></a>:</td><td> </td><td valign="top"><a href="IEOR.html#IEOR">IEOR</a></td></tr> +<tr><td></td><td valign="top"><a href="POPCNT.html#index-binary-representation">binary representation</a>:</td><td> </td><td valign="top"><a href="POPCNT.html#POPCNT">POPCNT</a></td></tr> +<tr><td></td><td valign="top"><a href="POPPAR.html#index-binary-representation-1">binary representation</a>:</td><td> </td><td valign="top"><a href="POPPAR.html#POPPAR">POPPAR</a></td></tr> +<tr><td></td><td valign="top"><a href="IOR.html#index-BIOR"><code>BIOR</code></a>:</td><td> </td><td valign="top"><a href="IOR.html#IOR">IOR</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-bit-intrinsics-checking">bit intrinsics checking</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="BTEST.html#index-BITEST"><code>BITEST</code></a>:</td><td> </td><td valign="top"><a href="BTEST.html#BTEST">BTEST</a></td></tr> +<tr><td></td><td valign="top"><a href="POPCNT.html#index-bits-set">bits set</a>:</td><td> </td><td valign="top"><a href="POPCNT.html#POPCNT">POPCNT</a></td></tr> +<tr><td></td><td valign="top"><a href="IALL.html#index-bits_002c-AND-of-array-elements">bits, AND of array elements</a>:</td><td> </td><td valign="top"><a href="IALL.html#IALL">IALL</a></td></tr> +<tr><td></td><td valign="top"><a href="IBCLR.html#index-bits_002c-clear">bits, clear</a>:</td><td> </td><td valign="top"><a href="IBCLR.html#IBCLR">IBCLR</a></td></tr> +<tr><td></td><td valign="top"><a href="IBITS.html#index-bits_002c-extract">bits, extract</a>:</td><td> </td><td valign="top"><a href="IBITS.html#IBITS">IBITS</a></td></tr> +<tr><td></td><td valign="top"><a href="IBITS.html#index-bits_002c-get">bits, get</a>:</td><td> </td><td valign="top"><a href="IBITS.html#IBITS">IBITS</a></td></tr> +<tr><td></td><td valign="top"><a href="MERGE_005fBITS.html#index-bits_002c-merge">bits, merge</a>:</td><td> </td><td valign="top"><a href="MERGE_005fBITS.html#MERGE_005fBITS">MERGE_BITS</a></td></tr> +<tr><td></td><td valign="top"><a href="MVBITS.html#index-bits_002c-move">bits, move</a>:</td><td> </td><td valign="top"><a href="MVBITS.html#MVBITS">MVBITS</a></td></tr> +<tr><td></td><td valign="top"><a href="TRANSFER.html#index-bits_002c-move-1">bits, move</a>:</td><td> </td><td valign="top"><a href="TRANSFER.html#TRANSFER">TRANSFER</a></td></tr> +<tr><td></td><td valign="top"><a href="NOT.html#index-bits_002c-negate">bits, negate</a>:</td><td> </td><td valign="top"><a href="NOT.html#NOT">NOT</a></td></tr> +<tr><td></td><td valign="top"><a href="BIT_005fSIZE.html#index-bits_002c-number-of">bits, number of</a>:</td><td> </td><td valign="top"><a href="BIT_005fSIZE.html#BIT_005fSIZE">BIT_SIZE</a></td></tr> +<tr><td></td><td valign="top"><a href="IANY.html#index-bits_002c-OR-of-array-elements">bits, OR of array elements</a>:</td><td> </td><td valign="top"><a href="IANY.html#IANY">IANY</a></td></tr> +<tr><td></td><td valign="top"><a href="IBSET.html#index-bits_002c-set">bits, set</a>:</td><td> </td><td valign="top"><a href="IBSET.html#IBSET">IBSET</a></td></tr> +<tr><td></td><td valign="top"><a href="ISHFT.html#index-bits_002c-shift">bits, shift</a>:</td><td> </td><td valign="top"><a href="ISHFT.html#ISHFT">ISHFT</a></td></tr> +<tr><td></td><td valign="top"><a href="ISHFTC.html#index-bits_002c-shift-circular">bits, shift circular</a>:</td><td> </td><td valign="top"><a href="ISHFTC.html#ISHFTC">ISHFTC</a></td></tr> +<tr><td></td><td valign="top"><a href="LSHIFT.html#index-bits_002c-shift-left">bits, shift left</a>:</td><td> </td><td valign="top"><a href="LSHIFT.html#LSHIFT">LSHIFT</a></td></tr> +<tr><td></td><td valign="top"><a href="SHIFTL.html#index-bits_002c-shift-left-1">bits, shift left</a>:</td><td> </td><td valign="top"><a href="SHIFTL.html#SHIFTL">SHIFTL</a></td></tr> +<tr><td></td><td valign="top"><a href="RSHIFT.html#index-bits_002c-shift-right">bits, shift right</a>:</td><td> </td><td valign="top"><a href="RSHIFT.html#RSHIFT">RSHIFT</a></td></tr> +<tr><td></td><td valign="top"><a href="SHIFTA.html#index-bits_002c-shift-right-1">bits, shift right</a>:</td><td> </td><td valign="top"><a href="SHIFTA.html#SHIFTA">SHIFTA</a></td></tr> +<tr><td></td><td valign="top"><a href="SHIFTR.html#index-bits_002c-shift-right-2">bits, shift right</a>:</td><td> </td><td valign="top"><a href="SHIFTR.html#SHIFTR">SHIFTR</a></td></tr> +<tr><td></td><td valign="top"><a href="BTEST.html#index-bits_002c-testing">bits, testing</a>:</td><td> </td><td valign="top"><a href="BTEST.html#BTEST">BTEST</a></td></tr> +<tr><td></td><td valign="top"><a href="IBCLR.html#index-bits_002c-unset">bits, unset</a>:</td><td> </td><td valign="top"><a href="IBCLR.html#IBCLR">IBCLR</a></td></tr> +<tr><td></td><td valign="top"><a href="IPARITY.html#index-bits_002c-XOR-of-array-elements">bits, XOR of array elements</a>:</td><td> </td><td valign="top"><a href="IPARITY.html#IPARITY">IPARITY</a></td></tr> +<tr><td></td><td valign="top"><a href="BGE.html#index-bitwise-comparison">bitwise comparison</a>:</td><td> </td><td valign="top"><a href="BGE.html#BGE">BGE</a></td></tr> +<tr><td></td><td valign="top"><a href="BGT.html#index-bitwise-comparison-1">bitwise comparison</a>:</td><td> </td><td valign="top"><a href="BGT.html#BGT">BGT</a></td></tr> +<tr><td></td><td valign="top"><a href="BLE.html#index-bitwise-comparison-2">bitwise comparison</a>:</td><td> </td><td valign="top"><a href="BLE.html#BLE">BLE</a></td></tr> +<tr><td></td><td valign="top"><a href="BLT.html#index-bitwise-comparison-3">bitwise comparison</a>:</td><td> </td><td valign="top"><a href="BLT.html#BLT">BLT</a></td></tr> +<tr><td></td><td valign="top"><a href="AND.html#index-bitwise-logical-and">bitwise logical and</a>:</td><td> </td><td valign="top"><a href="AND.html#AND">AND</a></td></tr> +<tr><td></td><td valign="top"><a href="IAND.html#index-bitwise-logical-and-1">bitwise logical and</a>:</td><td> </td><td valign="top"><a href="IAND.html#IAND">IAND</a></td></tr> +<tr><td></td><td valign="top"><a href="IEOR.html#index-bitwise-logical-exclusive-or">bitwise logical exclusive or</a>:</td><td> </td><td valign="top"><a href="IEOR.html#IEOR">IEOR</a></td></tr> +<tr><td></td><td valign="top"><a href="XOR.html#index-bitwise-logical-exclusive-or-1">bitwise logical exclusive or</a>:</td><td> </td><td valign="top"><a href="XOR.html#XOR">XOR</a></td></tr> +<tr><td></td><td valign="top"><a href="NOT.html#index-bitwise-logical-not">bitwise logical not</a>:</td><td> </td><td valign="top"><a href="NOT.html#NOT">NOT</a></td></tr> +<tr><td></td><td valign="top"><a href="IOR.html#index-bitwise-logical-or">bitwise logical or</a>:</td><td> </td><td valign="top"><a href="IOR.html#IOR">IOR</a></td></tr> +<tr><td></td><td valign="top"><a href="OR.html#index-bitwise-logical-or-1">bitwise logical or</a>:</td><td> </td><td valign="top"><a href="OR.html#OR">OR</a></td></tr> +<tr><td></td><td valign="top"><a href="BIT_005fSIZE.html#index-BIT_005fSIZE"><code>BIT_SIZE</code></a>:</td><td> </td><td valign="top"><a href="BIT_005fSIZE.html#BIT_005fSIZE">BIT_SIZE</a></td></tr> +<tr><td></td><td valign="top"><a href="BTEST.html#index-BJTEST"><code>BJTEST</code></a>:</td><td> </td><td valign="top"><a href="BTEST.html#BTEST">BTEST</a></td></tr> +<tr><td></td><td valign="top"><a href="BTEST.html#index-BKTEST"><code>BKTEST</code></a>:</td><td> </td><td valign="top"><a href="BTEST.html#BTEST">BTEST</a></td></tr> +<tr><td></td><td valign="top"><a href="BLE.html#index-BLE"><code>BLE</code></a>:</td><td> </td><td valign="top"><a href="BLE.html#BLE">BLE</a></td></tr> +<tr><td></td><td valign="top"><a href="BLT.html#index-BLT"><code>BLT</code></a>:</td><td> </td><td valign="top"><a href="BLT.html#BLT">BLT</a></td></tr> +<tr><td></td><td valign="top"><a href="MOD.html#index-BMOD"><code>BMOD</code></a>:</td><td> </td><td valign="top"><a href="MOD.html#MOD">MOD</a></td></tr> +<tr><td></td><td valign="top"><a href="MVBITS.html#index-BMVBITS"><code>BMVBITS</code></a>:</td><td> </td><td valign="top"><a href="MVBITS.html#MVBITS">MVBITS</a></td></tr> +<tr><td></td><td valign="top"><a href="NOT.html#index-BNOT"><code>BNOT</code></a>:</td><td> </td><td valign="top"><a href="NOT.html#NOT">NOT</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-bounds-checking">bounds checking</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="BOZ-literal-constants.html#index-BOZ-literal-constants">BOZ literal constants</a>:</td><td> </td><td valign="top"><a href="BOZ-literal-constants.html#BOZ-literal-constants">BOZ literal constants</a></td></tr> +<tr><td></td><td valign="top"><a href="ISHFT.html#index-BSHFT"><code>BSHFT</code></a>:</td><td> </td><td valign="top"><a href="ISHFT.html#ISHFT">ISHFT</a></td></tr> +<tr><td></td><td valign="top"><a href="ISHFTC.html#index-BSHFTC"><code>BSHFTC</code></a>:</td><td> </td><td valign="top"><a href="ISHFTC.html#ISHFTC">ISHFTC</a></td></tr> +<tr><td></td><td valign="top"><a href="BTEST.html#index-BTEST"><code>BTEST</code></a>:</td><td> </td><td valign="top"><a href="BTEST.html#BTEST">BTEST</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-C">C</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Derived-Types-and-struct.html#index-C-derived-type-and-struct-interoperability">C derived type and struct interoperability</a>:</td><td> </td><td valign="top"><a href="Derived-Types-and-struct.html#Derived-Types-and-struct">Derived Types and struct</a></td></tr> +<tr><td></td><td valign="top"><a href="Interoperability-with-C.html#index-C-interoperability">C interoperability</a>:</td><td> </td><td valign="top"><a href="Interoperability-with-C.html#Interoperability-with-C">Interoperability with C</a></td></tr> +<tr><td></td><td valign="top"><a href="Intrinsic-Types.html#index-C-intrinsic-type-interoperability">C intrinsic type interoperability</a>:</td><td> </td><td valign="top"><a href="Intrinsic-Types.html#Intrinsic-Types">Intrinsic Types</a></td></tr> +<tr><td></td><td valign="top"><a href="Working-with-C-Pointers.html#index-C-pointers">C pointers</a>:</td><td> </td><td valign="top"><a href="Working-with-C-Pointers.html#Working-with-C-Pointers">Working with C Pointers</a></td></tr> +<tr><td></td><td valign="top"><a href="Interoperable-Subroutines-and-Functions.html#index-C-procedure-interoperability">C procedure interoperability</a>:</td><td> </td><td valign="top"><a href="Interoperable-Subroutines-and-Functions.html#Interoperable-Subroutines-and-Functions">Interoperable Subroutines and Functions</a></td></tr> +<tr><td></td><td valign="top"><a href="Interoperable-Global-Variables.html#index-C-variable-interoperability">C variable interoperability</a>:</td><td> </td><td valign="top"><a href="Interoperable-Global-Variables.html#Interoperable-Global-Variables">Interoperable Global Variables</a></td></tr> +<tr><td></td><td valign="top"><a href="ABS.html#index-CABS"><code>CABS</code></a>:</td><td> </td><td valign="top"><a href="ABS.html#ABS">ABS</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-calling-convention">calling convention</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Extended-I_002fO-specifiers.html#index-CARRIAGECONTROL"><code>CARRIAGECONTROL</code></a>:</td><td> </td><td valign="top"><a href="Extended-I_002fO-specifiers.html#Extended-I_002fO-specifiers">Extended I/O specifiers</a></td></tr> +<tr><td></td><td valign="top"><a href="COS.html#index-CCOS"><code>CCOS</code></a>:</td><td> </td><td valign="top"><a href="COS.html#COS">COS</a></td></tr> +<tr><td></td><td valign="top"><a href="COSD.html#index-CCOSD"><code>CCOSD</code></a>:</td><td> </td><td valign="top"><a href="COSD.html#COSD">COSD</a></td></tr> +<tr><td></td><td valign="top"><a href="ABS.html#index-CDABS"><code>CDABS</code></a>:</td><td> </td><td valign="top"><a href="ABS.html#ABS">ABS</a></td></tr> +<tr><td></td><td valign="top"><a href="COS.html#index-CDCOS"><code>CDCOS</code></a>:</td><td> </td><td valign="top"><a href="COS.html#COS">COS</a></td></tr> +<tr><td></td><td valign="top"><a href="COSD.html#index-CDCOSD"><code>CDCOSD</code></a>:</td><td> </td><td valign="top"><a href="COSD.html#COSD">COSD</a></td></tr> +<tr><td></td><td valign="top"><a href="EXP.html#index-CDEXP"><code>CDEXP</code></a>:</td><td> </td><td valign="top"><a href="EXP.html#EXP">EXP</a></td></tr> +<tr><td></td><td valign="top"><a href="LOG.html#index-CDLOG"><code>CDLOG</code></a>:</td><td> </td><td valign="top"><a href="LOG.html#LOG">LOG</a></td></tr> +<tr><td></td><td valign="top"><a href="SIN.html#index-CDSIN"><code>CDSIN</code></a>:</td><td> </td><td valign="top"><a href="SIN.html#SIN">SIN</a></td></tr> +<tr><td></td><td valign="top"><a href="SIND.html#index-CDSIND"><code>CDSIND</code></a>:</td><td> </td><td valign="top"><a href="SIND.html#SIND">SIND</a></td></tr> +<tr><td></td><td valign="top"><a href="SQRT.html#index-CDSQRT"><code>CDSQRT</code></a>:</td><td> </td><td valign="top"><a href="SQRT.html#SQRT">SQRT</a></td></tr> +<tr><td></td><td valign="top"><a href="CEILING.html#index-CEILING"><code>CEILING</code></a>:</td><td> </td><td valign="top"><a href="CEILING.html#CEILING">CEILING</a></td></tr> +<tr><td></td><td valign="top"><a href="ANINT.html#index-ceiling">ceiling</a>:</td><td> </td><td valign="top"><a href="ANINT.html#ANINT">ANINT</a></td></tr> +<tr><td></td><td valign="top"><a href="CEILING.html#index-ceiling-1">ceiling</a>:</td><td> </td><td valign="top"><a href="CEILING.html#CEILING">CEILING</a></td></tr> +<tr><td></td><td valign="top"><a href="EXP.html#index-CEXP"><code>CEXP</code></a>:</td><td> </td><td valign="top"><a href="EXP.html#EXP">EXP</a></td></tr> +<tr><td></td><td valign="top"><a href="CHAR.html#index-CHAR"><code>CHAR</code></a>:</td><td> </td><td valign="top"><a href="CHAR.html#CHAR">CHAR</a></td></tr> +<tr><td></td><td valign="top"><a href="SELECTED_005fCHAR_005fKIND.html#index-character-kind">character kind</a>:</td><td> </td><td valign="top"><a href="SELECTED_005fCHAR_005fKIND.html#SELECTED_005fCHAR_005fKIND">SELECTED_CHAR_KIND</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-character-set">character set</a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="CHDIR.html#index-CHDIR"><code>CHDIR</code></a>:</td><td> </td><td valign="top"><a href="CHDIR.html#CHDIR">CHDIR</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-checking-array-temporaries">checking array temporaries</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-checking-subscripts">checking subscripts</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="CHMOD.html#index-CHMOD"><code>CHMOD</code></a>:</td><td> </td><td valign="top"><a href="CHMOD.html#CHMOD">CHMOD</a></td></tr> +<tr><td></td><td valign="top"><a href="MCLOCK.html#index-clock-ticks">clock ticks</a>:</td><td> </td><td valign="top"><a href="MCLOCK.html#MCLOCK">MCLOCK</a></td></tr> +<tr><td></td><td valign="top"><a href="MCLOCK8.html#index-clock-ticks-1">clock ticks</a>:</td><td> </td><td valign="top"><a href="MCLOCK8.html#MCLOCK8">MCLOCK8</a></td></tr> +<tr><td></td><td valign="top"><a href="SYSTEM_005fCLOCK.html#index-clock-ticks-2">clock ticks</a>:</td><td> </td><td valign="top"><a href="SYSTEM_005fCLOCK.html#SYSTEM_005fCLOCK">SYSTEM_CLOCK</a></td></tr> +<tr><td></td><td valign="top"><a href="LOG.html#index-CLOG"><code>CLOG</code></a>:</td><td> </td><td valign="top"><a href="LOG.html#LOG">LOG</a></td></tr> +<tr><td></td><td valign="top"><a href="CMPLX.html#index-CMPLX"><code>CMPLX</code></a>:</td><td> </td><td valign="top"><a href="CMPLX.html#CMPLX">CMPLX</a></td></tr> +<tr><td></td><td valign="top"><a href="IMAGE_005fINDEX.html#index-coarray_002c-IMAGE_005fINDEX">coarray, <code>IMAGE_INDEX</code></a>:</td><td> </td><td valign="top"><a href="IMAGE_005fINDEX.html#IMAGE_005fINDEX">IMAGE_INDEX</a></td></tr> +<tr><td></td><td valign="top"><a href="LCOBOUND.html#index-coarray_002c-lower-bound">coarray, lower bound</a>:</td><td> </td><td valign="top"><a href="LCOBOUND.html#LCOBOUND">LCOBOUND</a></td></tr> +<tr><td></td><td valign="top"><a href="NUM_005fIMAGES.html#index-coarray_002c-NUM_005fIMAGES">coarray, <code>NUM_IMAGES</code></a>:</td><td> </td><td valign="top"><a href="NUM_005fIMAGES.html#NUM_005fIMAGES">NUM_IMAGES</a></td></tr> +<tr><td></td><td valign="top"><a href="THIS_005fIMAGE.html#index-coarray_002c-THIS_005fIMAGE">coarray, <code>THIS_IMAGE</code></a>:</td><td> </td><td valign="top"><a href="THIS_005fIMAGE.html#THIS_005fIMAGE">THIS_IMAGE</a></td></tr> +<tr><td></td><td valign="top"><a href="UCOBOUND.html#index-coarray_002c-upper-bound">coarray, upper bound</a>:</td><td> </td><td valign="top"><a href="UCOBOUND.html#UCOBOUND">UCOBOUND</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fatomic_005fcas.html#index-Coarray_002c-_005fgfortran_005fcaf_005fatomic_005fcas">Coarray, _gfortran_caf_atomic_cas</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fatomic_005fcas.html#g_t_005fgfortran_005fcaf_005fatomic_005fcas">_gfortran_caf_atomic_cas</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fatomic_005fdefine.html#index-Coarray_002c-_005fgfortran_005fcaf_005fatomic_005fdefine">Coarray, _gfortran_caf_atomic_define</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fatomic_005fdefine.html#g_t_005fgfortran_005fcaf_005fatomic_005fdefine">_gfortran_caf_atomic_define</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fatomic_005fop.html#index-Coarray_002c-_005fgfortran_005fcaf_005fatomic_005fop">Coarray, _gfortran_caf_atomic_op</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fatomic_005fop.html#g_t_005fgfortran_005fcaf_005fatomic_005fop">_gfortran_caf_atomic_op</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fatomic_005fref.html#index-Coarray_002c-_005fgfortran_005fcaf_005fatomic_005fref">Coarray, _gfortran_caf_atomic_ref</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fatomic_005fref.html#g_t_005fgfortran_005fcaf_005fatomic_005fref">_gfortran_caf_atomic_ref</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fco_005fbroadcast.html#index-Coarray_002c-_005fgfortran_005fcaf_005fco_005fbroadcast">Coarray, _gfortran_caf_co_broadcast</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fco_005fbroadcast.html#g_t_005fgfortran_005fcaf_005fco_005fbroadcast">_gfortran_caf_co_broadcast</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fco_005fmax.html#index-Coarray_002c-_005fgfortran_005fcaf_005fco_005fmax">Coarray, _gfortran_caf_co_max</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fco_005fmax.html#g_t_005fgfortran_005fcaf_005fco_005fmax">_gfortran_caf_co_max</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fco_005fmin.html#index-Coarray_002c-_005fgfortran_005fcaf_005fco_005fmin">Coarray, _gfortran_caf_co_min</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fco_005fmin.html#g_t_005fgfortran_005fcaf_005fco_005fmin">_gfortran_caf_co_min</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fco_005freduce.html#index-Coarray_002c-_005fgfortran_005fcaf_005fco_005freduce">Coarray, _gfortran_caf_co_reduce</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fco_005freduce.html#g_t_005fgfortran_005fcaf_005fco_005freduce">_gfortran_caf_co_reduce</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fco_005fsum.html#index-Coarray_002c-_005fgfortran_005fcaf_005fco_005fsum">Coarray, _gfortran_caf_co_sum</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fco_005fsum.html#g_t_005fgfortran_005fcaf_005fco_005fsum">_gfortran_caf_co_sum</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fderegister.html#index-Coarray_002c-_005fgfortran_005fcaf_005fderegister">Coarray, _gfortran_caf_deregister</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fderegister.html#g_t_005fgfortran_005fcaf_005fderegister">_gfortran_caf_deregister</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005ferror_005fstop.html#index-Coarray_002c-_005fgfortran_005fcaf_005ferror_005fstop">Coarray, _gfortran_caf_error_stop</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005ferror_005fstop.html#g_t_005fgfortran_005fcaf_005ferror_005fstop">_gfortran_caf_error_stop</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005ferror_005fstop_005fstr.html#index-Coarray_002c-_005fgfortran_005fcaf_005ferror_005fstop_005fstr">Coarray, _gfortran_caf_error_stop_str</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005ferror_005fstop_005fstr.html#g_t_005fgfortran_005fcaf_005ferror_005fstop_005fstr">_gfortran_caf_error_stop_str</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fevent_005fpost.html#index-Coarray_002c-_005fgfortran_005fcaf_005fevent_005fpost">Coarray, _gfortran_caf_event_post</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fevent_005fpost.html#g_t_005fgfortran_005fcaf_005fevent_005fpost">_gfortran_caf_event_post</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fevent_005fquery.html#index-Coarray_002c-_005fgfortran_005fcaf_005fevent_005fquery">Coarray, _gfortran_caf_event_query</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fevent_005fquery.html#g_t_005fgfortran_005fcaf_005fevent_005fquery">_gfortran_caf_event_query</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fevent_005fwait.html#index-Coarray_002c-_005fgfortran_005fcaf_005fevent_005fwait">Coarray, _gfortran_caf_event_wait</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fevent_005fwait.html#g_t_005fgfortran_005fcaf_005fevent_005fwait">_gfortran_caf_event_wait</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005ffailed_005fimages.html#index-Coarray_002c-_005fgfortran_005fcaf_005ffailed_005fimages">Coarray, _gfortran_caf_failed_images</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005ffailed_005fimages.html#g_t_005fgfortran_005fcaf_005ffailed_005fimages">_gfortran_caf_failed_images</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005ffail_005fimage.html#index-Coarray_002c-_005fgfortran_005fcaf_005ffail_005fimage">Coarray, _gfortran_caf_fail_image</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005ffail_005fimage.html#g_t_005fgfortran_005fcaf_005ffail_005fimage">_gfortran_caf_fail_image</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005ffinish.html#index-Coarray_002c-_005fgfortran_005fcaf_005ffinish">Coarray, _gfortran_caf_finish</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005ffinish.html#g_t_005fgfortran_005fcaf_005ffinish">_gfortran_caf_finish</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fget.html#index-Coarray_002c-_005fgfortran_005fcaf_005fget">Coarray, _gfortran_caf_get</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fget.html#g_t_005fgfortran_005fcaf_005fget">_gfortran_caf_get</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fget_005fby_005fref.html#index-Coarray_002c-_005fgfortran_005fcaf_005fget_005fby_005fref">Coarray, _gfortran_caf_get_by_ref</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fget_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fget_005fby_005fref">_gfortran_caf_get_by_ref</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fimage_005fstatus.html#index-Coarray_002c-_005fgfortran_005fcaf_005fimage_005fstatus">Coarray, _gfortran_caf_image_status</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fimage_005fstatus.html#g_t_005fgfortran_005fcaf_005fimage_005fstatus">_gfortran_caf_image_status</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005finit.html#index-Coarray_002c-_005fgfortran_005fcaf_005finit">Coarray, _gfortran_caf_init</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005finit.html#g_t_005fgfortran_005fcaf_005finit">_gfortran_caf_init</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fis_005fpresent.html#index-Coarray_002c-_005fgfortran_005fcaf_005fis_005fpresent">Coarray, _gfortran_caf_is_present</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fis_005fpresent.html#g_t_005fgfortran_005fcaf_005fis_005fpresent">_gfortran_caf_is_present</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005flock.html#index-Coarray_002c-_005fgfortran_005fcaf_005flock">Coarray, _gfortran_caf_lock</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005flock.html#g_t_005fgfortran_005fcaf_005flock">_gfortran_caf_lock</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fnum_005fimages.html#index-Coarray_002c-_005fgfortran_005fcaf_005fnum_005fimages">Coarray, _gfortran_caf_num_images</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fnum_005fimages.html#g_t_005fgfortran_005fcaf_005fnum_005fimages">_gfortran_caf_num_images</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fregister.html#index-Coarray_002c-_005fgfortran_005fcaf_005fregister">Coarray, _gfortran_caf_register</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fregister.html#g_t_005fgfortran_005fcaf_005fregister">_gfortran_caf_register</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fsend.html#index-Coarray_002c-_005fgfortran_005fcaf_005fsend">Coarray, _gfortran_caf_send</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fsend.html#g_t_005fgfortran_005fcaf_005fsend">_gfortran_caf_send</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fsendget.html#index-Coarray_002c-_005fgfortran_005fcaf_005fsendget">Coarray, _gfortran_caf_sendget</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fsendget.html#g_t_005fgfortran_005fcaf_005fsendget">_gfortran_caf_sendget</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fsendget_005fby_005fref.html#index-Coarray_002c-_005fgfortran_005fcaf_005fsendget_005fby_005fref">Coarray, _gfortran_caf_sendget_by_ref</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fsendget_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fsendget_005fby_005fref">_gfortran_caf_sendget_by_ref</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fsend_005fby_005fref.html#index-Coarray_002c-_005fgfortran_005fcaf_005fsend_005fby_005fref">Coarray, _gfortran_caf_send_by_ref</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fsend_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fsend_005fby_005fref">_gfortran_caf_send_by_ref</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fstopped_005fimages.html#index-Coarray_002c-_005fgfortran_005fcaf_005fstopped_005fimages">Coarray, _gfortran_caf_stopped_images</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fstopped_005fimages.html#g_t_005fgfortran_005fcaf_005fstopped_005fimages">_gfortran_caf_stopped_images</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fsync_005fall.html#index-Coarray_002c-_005fgfortran_005fcaf_005fsync_005fall">Coarray, _gfortran_caf_sync_all</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fsync_005fall.html#g_t_005fgfortran_005fcaf_005fsync_005fall">_gfortran_caf_sync_all</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fsync_005fimages.html#index-Coarray_002c-_005fgfortran_005fcaf_005fsync_005fimages">Coarray, _gfortran_caf_sync_images</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fsync_005fimages.html#g_t_005fgfortran_005fcaf_005fsync_005fimages">_gfortran_caf_sync_images</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fsync_005fmemory.html#index-Coarray_002c-_005fgfortran_005fcaf_005fsync_005fmemory">Coarray, _gfortran_caf_sync_memory</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fsync_005fmemory.html#g_t_005fgfortran_005fcaf_005fsync_005fmemory">_gfortran_caf_sync_memory</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005fthis_005fimage.html#index-Coarray_002c-_005fgfortran_005fcaf_005fthis_005fimage">Coarray, _gfortran_caf_this_image</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005fthis_005fimage.html#g_t_005fgfortran_005fcaf_005fthis_005fimage">_gfortran_caf_this_image</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fcaf_005funlock.html#index-Coarray_002c-_005fgfortran_005fcaf_005funlock">Coarray, _gfortran_caf_unlock</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fcaf_005funlock.html#g_t_005fgfortran_005fcaf_005funlock">_gfortran_caf_unlock</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-coarrays">coarrays</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Coarray-Programming.html#index-Coarrays">Coarrays</a>:</td><td> </td><td valign="top"><a href="Coarray-Programming.html#Coarray-Programming">Coarray Programming</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-code-generation_002c-conventions">code generation, conventions</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="ACHAR.html#index-collating-sequence_002c-ASCII">collating sequence, <acronym>ASCII</acronym></a>:</td><td> </td><td valign="top"><a href="ACHAR.html#ACHAR">ACHAR</a></td></tr> +<tr><td></td><td valign="top"><a href="IACHAR.html#index-collating-sequence_002c-ASCII-1">collating sequence, <acronym>ASCII</acronym></a>:</td><td> </td><td valign="top"><a href="IACHAR.html#IACHAR">IACHAR</a></td></tr> +<tr><td></td><td valign="top"><a href="CO_005fREDUCE.html#index-Collectives_002c-generic-reduction">Collectives, generic reduction</a>:</td><td> </td><td valign="top"><a href="CO_005fREDUCE.html#CO_005fREDUCE">CO_REDUCE</a></td></tr> +<tr><td></td><td valign="top"><a href="CO_005fMAX.html#index-Collectives_002c-maximal-value">Collectives, maximal value</a>:</td><td> </td><td valign="top"><a href="CO_005fMAX.html#CO_005fMAX">CO_MAX</a></td></tr> +<tr><td></td><td valign="top"><a href="CO_005fMIN.html#index-Collectives_002c-minimal-value">Collectives, minimal value</a>:</td><td> </td><td valign="top"><a href="CO_005fMIN.html#CO_005fMIN">CO_MIN</a></td></tr> +<tr><td></td><td valign="top"><a href="CO_005fSUM.html#index-Collectives_002c-sum-of-values">Collectives, sum of values</a>:</td><td> </td><td valign="top"><a href="CO_005fSUM.html#CO_005fSUM">CO_SUM</a></td></tr> +<tr><td></td><td valign="top"><a href="CO_005fBROADCAST.html#index-Collectives_002c-value-broadcasting">Collectives, value broadcasting</a>:</td><td> </td><td valign="top"><a href="CO_005fBROADCAST.html#CO_005fBROADCAST">CO_BROADCAST</a></td></tr> +<tr><td></td><td valign="top"><a href="EXECUTE_005fCOMMAND_005fLINE.html#index-command-line">command line</a>:</td><td> </td><td valign="top"><a href="EXECUTE_005fCOMMAND_005fLINE.html#EXECUTE_005fCOMMAND_005fLINE">EXECUTE_COMMAND_LINE</a></td></tr> +<tr><td></td><td valign="top"><a href="Invoking-GNU-Fortran.html#index-command-options">command options</a>:</td><td> </td><td valign="top"><a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran">Invoking GNU Fortran</a></td></tr> +<tr><td></td><td valign="top"><a href="COMMAND_005fARGUMENT_005fCOUNT.html#index-command_002dline-arguments">command-line arguments</a>:</td><td> </td><td valign="top"><a href="COMMAND_005fARGUMENT_005fCOUNT.html#COMMAND_005fARGUMENT_005fCOUNT">COMMAND_ARGUMENT_COUNT</a></td></tr> +<tr><td></td><td valign="top"><a href="GETARG.html#index-command_002dline-arguments-1">command-line arguments</a>:</td><td> </td><td valign="top"><a href="GETARG.html#GETARG">GETARG</a></td></tr> +<tr><td></td><td valign="top"><a href="GET_005fCOMMAND.html#index-command_002dline-arguments-2">command-line arguments</a>:</td><td> </td><td valign="top"><a href="GET_005fCOMMAND.html#GET_005fCOMMAND">GET_COMMAND</a></td></tr> +<tr><td></td><td valign="top"><a href="GET_005fCOMMAND_005fARGUMENT.html#index-command_002dline-arguments-3">command-line arguments</a>:</td><td> </td><td valign="top"><a href="GET_005fCOMMAND_005fARGUMENT.html#GET_005fCOMMAND_005fARGUMENT">GET_COMMAND_ARGUMENT</a></td></tr> +<tr><td></td><td valign="top"><a href="IARGC.html#index-command_002dline-arguments-4">command-line arguments</a>:</td><td> </td><td valign="top"><a href="IARGC.html#IARGC">IARGC</a></td></tr> +<tr><td></td><td valign="top"><a href="COMMAND_005fARGUMENT_005fCOUNT.html#index-command_002dline-arguments_002c-number-of">command-line arguments, number of</a>:</td><td> </td><td valign="top"><a href="COMMAND_005fARGUMENT_005fCOUNT.html#COMMAND_005fARGUMENT_005fCOUNT">COMMAND_ARGUMENT_COUNT</a></td></tr> +<tr><td></td><td valign="top"><a href="IARGC.html#index-command_002dline-arguments_002c-number-of-1">command-line arguments, number of</a>:</td><td> </td><td valign="top"><a href="IARGC.html#IARGC">IARGC</a></td></tr> +<tr><td></td><td valign="top"><a href="COMMAND_005fARGUMENT_005fCOUNT.html#index-COMMAND_005fARGUMENT_005fCOUNT"><code>COMMAND_ARGUMENT_COUNT</code></a>:</td><td> </td><td valign="top"><a href="COMMAND_005fARGUMENT_005fCOUNT.html#COMMAND_005fARGUMENT_005fCOUNT">COMMAND_ARGUMENT_COUNT</a></td></tr> +<tr><td></td><td valign="top"><a href="Volatile-COMMON-blocks.html#index-COMMON"><code>COMMON</code></a>:</td><td> </td><td valign="top"><a href="Volatile-COMMON-blocks.html#Volatile-COMMON-blocks">Volatile COMMON blocks</a></td></tr> +<tr><td></td><td valign="top"><a href="COMPILER_005fOPTIONS.html#index-compiler-flags-inquiry-function">compiler flags inquiry function</a>:</td><td> </td><td valign="top"><a href="COMPILER_005fOPTIONS.html#COMPILER_005fOPTIONS">COMPILER_OPTIONS</a></td></tr> +<tr><td></td><td valign="top"><a href="COMPILER_005fVERSION.html#index-compiler_002c-name-and-version">compiler, name and version</a>:</td><td> </td><td valign="top"><a href="COMPILER_005fVERSION.html#COMPILER_005fVERSION">COMPILER_VERSION</a></td></tr> +<tr><td></td><td valign="top"><a href="COMPILER_005fOPTIONS.html#index-COMPILER_005fOPTIONS"><code>COMPILER_OPTIONS</code></a>:</td><td> </td><td valign="top"><a href="COMPILER_005fOPTIONS.html#COMPILER_005fOPTIONS">COMPILER_OPTIONS</a></td></tr> +<tr><td></td><td valign="top"><a href="COMPILER_005fVERSION.html#index-COMPILER_005fVERSION"><code>COMPILER_VERSION</code></a>:</td><td> </td><td valign="top"><a href="COMPILER_005fVERSION.html#COMPILER_005fVERSION">COMPILER_VERSION</a></td></tr> +<tr><td></td><td valign="top"><a href="COMPLEX.html#index-COMPLEX"><code>COMPLEX</code></a>:</td><td> </td><td valign="top"><a href="COMPLEX.html#COMPLEX">COMPLEX</a></td></tr> +<tr><td></td><td valign="top"><a href="CONJG.html#index-complex-conjugate">complex conjugate</a>:</td><td> </td><td valign="top"><a href="CONJG.html#CONJG">CONJG</a></td></tr> +<tr><td></td><td valign="top"><a href="Alternate-complex-function-syntax.html#index-Complex-function">Complex function</a>:</td><td> </td><td valign="top"><a href="Alternate-complex-function-syntax.html#Alternate-complex-function-syntax">Alternate complex function syntax</a></td></tr> +<tr><td></td><td valign="top"><a href="CMPLX.html#index-complex-numbers_002c-conversion-to">complex numbers, conversion to</a>:</td><td> </td><td valign="top"><a href="CMPLX.html#CMPLX">CMPLX</a></td></tr> +<tr><td></td><td valign="top"><a href="COMPLEX.html#index-complex-numbers_002c-conversion-to-1">complex numbers, conversion to</a>:</td><td> </td><td valign="top"><a href="COMPLEX.html#COMPLEX">COMPLEX</a></td></tr> +<tr><td></td><td valign="top"><a href="DCMPLX.html#index-complex-numbers_002c-conversion-to-2">complex numbers, conversion to</a>:</td><td> </td><td valign="top"><a href="DCMPLX.html#DCMPLX">DCMPLX</a></td></tr> +<tr><td></td><td valign="top"><a href="AIMAG.html#index-complex-numbers_002c-imaginary-part">complex numbers, imaginary part</a>:</td><td> </td><td valign="top"><a href="AIMAG.html#AIMAG">AIMAG</a></td></tr> +<tr><td></td><td valign="top"><a href="DREAL.html#index-complex-numbers_002c-real-part">complex numbers, real part</a>:</td><td> </td><td valign="top"><a href="DREAL.html#DREAL">DREAL</a></td></tr> +<tr><td></td><td valign="top"><a href="REAL.html#index-complex-numbers_002c-real-part-1">complex numbers, real part</a>:</td><td> </td><td valign="top"><a href="REAL.html#REAL">REAL</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-95-status.html#index-conditional-compilation">conditional compilation</a>:</td><td> </td><td valign="top"><a href="Fortran-95-status.html#Fortran-95-status">Fortran 95 status</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-Conditional-compilation">Conditional compilation</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="CONJG.html#index-CONJG"><code>CONJG</code></a>:</td><td> </td><td valign="top"><a href="CONJG.html#CONJG">CONJG</a></td></tr> +<tr><td></td><td valign="top"><a href="Data-consistency-and-durability.html#index-consistency_002c-durability">consistency, durability</a>:</td><td> </td><td valign="top"><a href="Data-consistency-and-durability.html#Data-consistency-and-durability">Data consistency and durability</a></td></tr> +<tr><td></td><td valign="top"><a href="Contributing.html#index-Contributing">Contributing</a>:</td><td> </td><td valign="top"><a href="Contributing.html#Contributing">Contributing</a></td></tr> +<tr><td></td><td valign="top"><a href="Contributors.html#index-Contributors">Contributors</a>:</td><td> </td><td valign="top"><a href="Contributors.html#Contributors">Contributors</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-conversion">conversion</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-conversion-1">conversion</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Character-conversion.html#index-conversion_002c-to-character">conversion, to character</a>:</td><td> </td><td valign="top"><a href="Character-conversion.html#Character-conversion">Character conversion</a></td></tr> +<tr><td></td><td valign="top"><a href="CHAR.html#index-conversion_002c-to-character-1">conversion, to character</a>:</td><td> </td><td valign="top"><a href="CHAR.html#CHAR">CHAR</a></td></tr> +<tr><td></td><td valign="top"><a href="CMPLX.html#index-conversion_002c-to-complex">conversion, to complex</a>:</td><td> </td><td valign="top"><a href="CMPLX.html#CMPLX">CMPLX</a></td></tr> +<tr><td></td><td valign="top"><a href="COMPLEX.html#index-conversion_002c-to-complex-1">conversion, to complex</a>:</td><td> </td><td valign="top"><a href="COMPLEX.html#COMPLEX">COMPLEX</a></td></tr> +<tr><td></td><td valign="top"><a href="DCMPLX.html#index-conversion_002c-to-complex-2">conversion, to complex</a>:</td><td> </td><td valign="top"><a href="DCMPLX.html#DCMPLX">DCMPLX</a></td></tr> +<tr><td></td><td valign="top"><a href="Implicitly-convert-LOGICAL-and-INTEGER-values.html#index-conversion_002c-to-integer">conversion, to integer</a>:</td><td> </td><td valign="top"><a href="Implicitly-convert-LOGICAL-and-INTEGER-values.html#Implicitly-convert-LOGICAL-and-INTEGER-values">Implicitly convert LOGICAL and INTEGER values</a></td></tr> +<tr><td></td><td valign="top"><a href="IACHAR.html#index-conversion_002c-to-integer-1">conversion, to integer</a>:</td><td> </td><td valign="top"><a href="IACHAR.html#IACHAR">IACHAR</a></td></tr> +<tr><td></td><td valign="top"><a href="ICHAR.html#index-conversion_002c-to-integer-2">conversion, to integer</a>:</td><td> </td><td valign="top"><a href="ICHAR.html#ICHAR">ICHAR</a></td></tr> +<tr><td></td><td valign="top"><a href="INT.html#index-conversion_002c-to-integer-3">conversion, to integer</a>:</td><td> </td><td valign="top"><a href="INT.html#INT">INT</a></td></tr> +<tr><td></td><td valign="top"><a href="INT2.html#index-conversion_002c-to-integer-4">conversion, to integer</a>:</td><td> </td><td valign="top"><a href="INT2.html#INT2">INT2</a></td></tr> +<tr><td></td><td valign="top"><a href="INT8.html#index-conversion_002c-to-integer-5">conversion, to integer</a>:</td><td> </td><td valign="top"><a href="INT8.html#INT8">INT8</a></td></tr> +<tr><td></td><td valign="top"><a href="Implicitly-convert-LOGICAL-and-INTEGER-values.html#index-conversion_002c-to-logical">conversion, to logical</a>:</td><td> </td><td valign="top"><a href="Implicitly-convert-LOGICAL-and-INTEGER-values.html#Implicitly-convert-LOGICAL-and-INTEGER-values">Implicitly convert LOGICAL and INTEGER values</a></td></tr> +<tr><td></td><td valign="top"><a href="LOGICAL.html#index-conversion_002c-to-logical-1">conversion, to logical</a>:</td><td> </td><td valign="top"><a href="LOGICAL.html#LOGICAL">LOGICAL</a></td></tr> +<tr><td></td><td valign="top"><a href="DBLE.html#index-conversion_002c-to-real">conversion, to real</a>:</td><td> </td><td valign="top"><a href="DBLE.html#DBLE">DBLE</a></td></tr> +<tr><td></td><td valign="top"><a href="REAL.html#index-conversion_002c-to-real-1">conversion, to real</a>:</td><td> </td><td valign="top"><a href="REAL.html#REAL">REAL</a></td></tr> +<tr><td></td><td valign="top"><a href="CTIME.html#index-conversion_002c-to-string">conversion, to string</a>:</td><td> </td><td valign="top"><a href="CTIME.html#CTIME">CTIME</a></td></tr> +<tr><td></td><td valign="top"><a href="CONVERT-specifier.html#index-CONVERT-specifier"><code>CONVERT</code> specifier</a>:</td><td> </td><td valign="top"><a href="CONVERT-specifier.html#CONVERT-specifier">CONVERT specifier</a></td></tr> +<tr><td></td><td valign="top"><a href="ABORT.html#index-core_002c-dump">core, dump</a>:</td><td> </td><td valign="top"><a href="ABORT.html#ABORT">ABORT</a></td></tr> +<tr><td></td><td valign="top"><a href="COS.html#index-COS"><code>COS</code></a>:</td><td> </td><td valign="top"><a href="COS.html#COS">COS</a></td></tr> +<tr><td></td><td valign="top"><a href="COSD.html#index-COSD"><code>COSD</code></a>:</td><td> </td><td valign="top"><a href="COSD.html#COSD">COSD</a></td></tr> +<tr><td></td><td valign="top"><a href="COSH.html#index-COSH"><code>COSH</code></a>:</td><td> </td><td valign="top"><a href="COSH.html#COSH">COSH</a></td></tr> +<tr><td></td><td valign="top"><a href="COS.html#index-cosine">cosine</a>:</td><td> </td><td valign="top"><a href="COS.html#COS">COS</a></td></tr> +<tr><td></td><td valign="top"><a href="COSD.html#index-cosine_002c-degrees">cosine, degrees</a>:</td><td> </td><td valign="top"><a href="COSD.html#COSD">COSD</a></td></tr> +<tr><td></td><td valign="top"><a href="COSH.html#index-cosine_002c-hyperbolic">cosine, hyperbolic</a>:</td><td> </td><td valign="top"><a href="COSH.html#COSH">COSH</a></td></tr> +<tr><td></td><td valign="top"><a href="ACOSH.html#index-cosine_002c-hyperbolic_002c-inverse">cosine, hyperbolic, inverse</a>:</td><td> </td><td valign="top"><a href="ACOSH.html#ACOSH">ACOSH</a></td></tr> +<tr><td></td><td valign="top"><a href="ACOS.html#index-cosine_002c-inverse">cosine, inverse</a>:</td><td> </td><td valign="top"><a href="ACOS.html#ACOS">ACOS</a></td></tr> +<tr><td></td><td valign="top"><a href="ACOSD.html#index-cosine_002c-inverse_002c-degrees">cosine, inverse, degrees</a>:</td><td> </td><td valign="top"><a href="ACOSD.html#ACOSD">ACOSD</a></td></tr> +<tr><td></td><td valign="top"><a href="COTAN.html#index-COTAN"><code>COTAN</code></a>:</td><td> </td><td valign="top"><a href="COTAN.html#COTAN">COTAN</a></td></tr> +<tr><td></td><td valign="top"><a href="COTAND.html#index-COTAND"><code>COTAND</code></a>:</td><td> </td><td valign="top"><a href="COTAND.html#COTAND">COTAND</a></td></tr> +<tr><td></td><td valign="top"><a href="COTAN.html#index-cotangent">cotangent</a>:</td><td> </td><td valign="top"><a href="COTAN.html#COTAN">COTAN</a></td></tr> +<tr><td></td><td valign="top"><a href="COTAND.html#index-cotangent_002c-degrees">cotangent, degrees</a>:</td><td> </td><td valign="top"><a href="COTAND.html#COTAND">COTAND</a></td></tr> +<tr><td></td><td valign="top"><a href="COUNT.html#index-COUNT"><code>COUNT</code></a>:</td><td> </td><td valign="top"><a href="COUNT.html#COUNT">COUNT</a></td></tr> +<tr><td></td><td valign="top"><a href="CO_005fBROADCAST.html#index-CO_005fBROADCAST"><code>CO_BROADCAST</code></a>:</td><td> </td><td valign="top"><a href="CO_005fBROADCAST.html#CO_005fBROADCAST">CO_BROADCAST</a></td></tr> +<tr><td></td><td valign="top"><a href="CO_005fMAX.html#index-CO_005fMAX"><code>CO_MAX</code></a>:</td><td> </td><td valign="top"><a href="CO_005fMAX.html#CO_005fMAX">CO_MAX</a></td></tr> +<tr><td></td><td valign="top"><a href="CO_005fMIN.html#index-CO_005fMIN"><code>CO_MIN</code></a>:</td><td> </td><td valign="top"><a href="CO_005fMIN.html#CO_005fMIN">CO_MIN</a></td></tr> +<tr><td></td><td valign="top"><a href="CO_005fREDUCE.html#index-CO_005fREDUCE"><code>CO_REDUCE</code></a>:</td><td> </td><td valign="top"><a href="CO_005fREDUCE.html#CO_005fREDUCE">CO_REDUCE</a></td></tr> +<tr><td></td><td valign="top"><a href="CO_005fSUM.html#index-CO_005fSUM"><code>CO_SUM</code></a>:</td><td> </td><td valign="top"><a href="CO_005fSUM.html#CO_005fSUM">CO_SUM</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-CPP">CPP</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="CPU_005fTIME.html#index-CPU_005fTIME"><code>CPU_TIME</code></a>:</td><td> </td><td valign="top"><a href="CPU_005fTIME.html#CPU_005fTIME">CPU_TIME</a></td></tr> +<tr><td></td><td valign="top"><a href="Contributors.html#index-Credits">Credits</a>:</td><td> </td><td valign="top"><a href="Contributors.html#Contributors">Contributors</a></td></tr> +<tr><td></td><td valign="top"><a href="CSHIFT.html#index-CSHIFT"><code>CSHIFT</code></a>:</td><td> </td><td valign="top"><a href="CSHIFT.html#CSHIFT">CSHIFT</a></td></tr> +<tr><td></td><td valign="top"><a href="SIN.html#index-CSIN"><code>CSIN</code></a>:</td><td> </td><td valign="top"><a href="SIN.html#SIN">SIN</a></td></tr> +<tr><td></td><td valign="top"><a href="SIND.html#index-CSIND"><code>CSIND</code></a>:</td><td> </td><td valign="top"><a href="SIND.html#SIND">SIND</a></td></tr> +<tr><td></td><td valign="top"><a href="SQRT.html#index-CSQRT"><code>CSQRT</code></a>:</td><td> </td><td valign="top"><a href="SQRT.html#SQRT">SQRT</a></td></tr> +<tr><td></td><td valign="top"><a href="CTIME.html#index-CTIME"><code>CTIME</code></a>:</td><td> </td><td valign="top"><a href="CTIME.html#CTIME">CTIME</a></td></tr> +<tr><td></td><td valign="top"><a href="DATE_005fAND_005fTIME.html#index-current-date">current date</a>:</td><td> </td><td valign="top"><a href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME">DATE_AND_TIME</a></td></tr> +<tr><td></td><td valign="top"><a href="FDATE.html#index-current-date-1">current date</a>:</td><td> </td><td valign="top"><a href="FDATE.html#FDATE">FDATE</a></td></tr> +<tr><td></td><td valign="top"><a href="IDATE.html#index-current-date-2">current date</a>:</td><td> </td><td valign="top"><a href="IDATE.html#IDATE">IDATE</a></td></tr> +<tr><td></td><td valign="top"><a href="DATE_005fAND_005fTIME.html#index-current-time">current time</a>:</td><td> </td><td valign="top"><a href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME">DATE_AND_TIME</a></td></tr> +<tr><td></td><td valign="top"><a href="FDATE.html#index-current-time-1">current time</a>:</td><td> </td><td valign="top"><a href="FDATE.html#FDATE">FDATE</a></td></tr> +<tr><td></td><td valign="top"><a href="ITIME.html#index-current-time-2">current time</a>:</td><td> </td><td valign="top"><a href="ITIME.html#ITIME">ITIME</a></td></tr> +<tr><td></td><td valign="top"><a href="TIME.html#index-current-time-3">current time</a>:</td><td> </td><td valign="top"><a href="TIME.html#TIME">TIME</a></td></tr> +<tr><td></td><td valign="top"><a href="TIME8.html#index-current-time-4">current time</a>:</td><td> </td><td valign="top"><a href="TIME8.html#TIME8">TIME8</a></td></tr> +<tr><td></td><td valign="top"><a href="C_005fASSOCIATED.html#index-C_005fASSOCIATED"><code>C_ASSOCIATED</code></a>:</td><td> </td><td valign="top"><a href="C_005fASSOCIATED.html#C_005fASSOCIATED">C_ASSOCIATED</a></td></tr> +<tr><td></td><td valign="top"><a href="C_005fFUNLOC.html#index-C_005fFUNLOC"><code>C_FUNLOC</code></a>:</td><td> </td><td valign="top"><a href="C_005fFUNLOC.html#C_005fFUNLOC">C_FUNLOC</a></td></tr> +<tr><td></td><td valign="top"><a href="C_005fF_005fPOINTER.html#index-C_005fF_005fPOINTER"><code>C_F_POINTER</code></a>:</td><td> </td><td valign="top"><a href="C_005fF_005fPOINTER.html#C_005fF_005fPOINTER">C_F_POINTER</a></td></tr> +<tr><td></td><td valign="top"><a href="C_005fF_005fPROCPOINTER.html#index-C_005fF_005fPROCPOINTER"><code>C_F_PROCPOINTER</code></a>:</td><td> </td><td valign="top"><a href="C_005fF_005fPROCPOINTER.html#C_005fF_005fPROCPOINTER">C_F_PROCPOINTER</a></td></tr> +<tr><td></td><td valign="top"><a href="C_005fLOC.html#index-C_005fLOC"><code>C_LOC</code></a>:</td><td> </td><td valign="top"><a href="C_005fLOC.html#C_005fLOC">C_LOC</a></td></tr> +<tr><td></td><td valign="top"><a href="C_005fSIZEOF.html#index-C_005fSIZEOF"><code>C_SIZEOF</code></a>:</td><td> </td><td valign="top"><a href="C_005fSIZEOF.html#C_005fSIZEOF">C_SIZEOF</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-D">D</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="ABS.html#index-DABS"><code>DABS</code></a>:</td><td> </td><td valign="top"><a href="ABS.html#ABS">ABS</a></td></tr> +<tr><td></td><td valign="top"><a href="ACOS.html#index-DACOS"><code>DACOS</code></a>:</td><td> </td><td valign="top"><a href="ACOS.html#ACOS">ACOS</a></td></tr> +<tr><td></td><td valign="top"><a href="ACOSD.html#index-DACOSD"><code>DACOSD</code></a>:</td><td> </td><td valign="top"><a href="ACOSD.html#ACOSD">ACOSD</a></td></tr> +<tr><td></td><td valign="top"><a href="ACOSH.html#index-DACOSH"><code>DACOSH</code></a>:</td><td> </td><td valign="top"><a href="ACOSH.html#ACOSH">ACOSH</a></td></tr> +<tr><td></td><td valign="top"><a href="ASIN.html#index-DASIN"><code>DASIN</code></a>:</td><td> </td><td valign="top"><a href="ASIN.html#ASIN">ASIN</a></td></tr> +<tr><td></td><td valign="top"><a href="ASIND.html#index-DASIND"><code>DASIND</code></a>:</td><td> </td><td valign="top"><a href="ASIND.html#ASIND">ASIND</a></td></tr> +<tr><td></td><td valign="top"><a href="ASINH.html#index-DASINH"><code>DASINH</code></a>:</td><td> </td><td valign="top"><a href="ASINH.html#ASINH">ASINH</a></td></tr> +<tr><td></td><td valign="top"><a href="ATAN.html#index-DATAN"><code>DATAN</code></a>:</td><td> </td><td valign="top"><a href="ATAN.html#ATAN">ATAN</a></td></tr> +<tr><td></td><td valign="top"><a href="ATAN2.html#index-DATAN2"><code>DATAN2</code></a>:</td><td> </td><td valign="top"><a href="ATAN2.html#ATAN2">ATAN2</a></td></tr> +<tr><td></td><td valign="top"><a href="ATAN2D.html#index-DATAN2D"><code>DATAN2D</code></a>:</td><td> </td><td valign="top"><a href="ATAN2D.html#ATAN2D">ATAN2D</a></td></tr> +<tr><td></td><td valign="top"><a href="ATAND.html#index-DATAND"><code>DATAND</code></a>:</td><td> </td><td valign="top"><a href="ATAND.html#ATAND">ATAND</a></td></tr> +<tr><td></td><td valign="top"><a href="ATANH.html#index-DATANH"><code>DATANH</code></a>:</td><td> </td><td valign="top"><a href="ATANH.html#ATANH">ATANH</a></td></tr> +<tr><td></td><td valign="top"><a href="DATE_005fAND_005fTIME.html#index-date_002c-current">date, current</a>:</td><td> </td><td valign="top"><a href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME">DATE_AND_TIME</a></td></tr> +<tr><td></td><td valign="top"><a href="FDATE.html#index-date_002c-current-1">date, current</a>:</td><td> </td><td valign="top"><a href="FDATE.html#FDATE">FDATE</a></td></tr> +<tr><td></td><td valign="top"><a href="IDATE.html#index-date_002c-current-2">date, current</a>:</td><td> </td><td valign="top"><a href="IDATE.html#IDATE">IDATE</a></td></tr> +<tr><td></td><td valign="top"><a href="DATE_005fAND_005fTIME.html#index-DATE_005fAND_005fTIME"><code>DATE_AND_TIME</code></a>:</td><td> </td><td valign="top"><a href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME">DATE_AND_TIME</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fJ0.html#index-DBESJ0"><code>DBESJ0</code></a>:</td><td> </td><td valign="top"><a href="BESSEL_005fJ0.html#BESSEL_005fJ0">BESSEL_J0</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fJ1.html#index-DBESJ1"><code>DBESJ1</code></a>:</td><td> </td><td valign="top"><a href="BESSEL_005fJ1.html#BESSEL_005fJ1">BESSEL_J1</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fJN.html#index-DBESJN"><code>DBESJN</code></a>:</td><td> </td><td valign="top"><a href="BESSEL_005fJN.html#BESSEL_005fJN">BESSEL_JN</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fY0.html#index-DBESY0"><code>DBESY0</code></a>:</td><td> </td><td valign="top"><a href="BESSEL_005fY0.html#BESSEL_005fY0">BESSEL_Y0</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fY1.html#index-DBESY1"><code>DBESY1</code></a>:</td><td> </td><td valign="top"><a href="BESSEL_005fY1.html#BESSEL_005fY1">BESSEL_Y1</a></td></tr> +<tr><td></td><td valign="top"><a href="BESSEL_005fYN.html#index-DBESYN"><code>DBESYN</code></a>:</td><td> </td><td valign="top"><a href="BESSEL_005fYN.html#BESSEL_005fYN">BESSEL_YN</a></td></tr> +<tr><td></td><td valign="top"><a href="DBLE.html#index-DBLE"><code>DBLE</code></a>:</td><td> </td><td valign="top"><a href="DBLE.html#DBLE">DBLE</a></td></tr> +<tr><td></td><td valign="top"><a href="DCMPLX.html#index-DCMPLX"><code>DCMPLX</code></a>:</td><td> </td><td valign="top"><a href="DCMPLX.html#DCMPLX">DCMPLX</a></td></tr> +<tr><td></td><td valign="top"><a href="CONJG.html#index-DCONJG"><code>DCONJG</code></a>:</td><td> </td><td valign="top"><a href="CONJG.html#CONJG">CONJG</a></td></tr> +<tr><td></td><td valign="top"><a href="COS.html#index-DCOS"><code>DCOS</code></a>:</td><td> </td><td valign="top"><a href="COS.html#COS">COS</a></td></tr> +<tr><td></td><td valign="top"><a href="COSD.html#index-DCOSD"><code>DCOSD</code></a>:</td><td> </td><td valign="top"><a href="COSD.html#COSD">COSD</a></td></tr> +<tr><td></td><td valign="top"><a href="COSH.html#index-DCOSH"><code>DCOSH</code></a>:</td><td> </td><td valign="top"><a href="COSH.html#COSH">COSH</a></td></tr> +<tr><td></td><td valign="top"><a href="COTAN.html#index-DCOTAN"><code>DCOTAN</code></a>:</td><td> </td><td valign="top"><a href="COTAN.html#COTAN">COTAN</a></td></tr> +<tr><td></td><td valign="top"><a href="COTAND.html#index-DCOTAND"><code>DCOTAND</code></a>:</td><td> </td><td valign="top"><a href="COTAND.html#COTAND">COTAND</a></td></tr> +<tr><td></td><td valign="top"><a href="DIM.html#index-DDIM"><code>DDIM</code></a>:</td><td> </td><td valign="top"><a href="DIM.html#DIM">DIM</a></td></tr> +<tr><td></td><td valign="top"><a href="Debugging-Options.html#index-debugging-information-options">debugging information options</a>:</td><td> </td><td valign="top"><a href="Debugging-Options.html#Debugging-Options">Debugging Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-debugging_002c-preprocessor">debugging, preprocessor</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-debugging_002c-preprocessor-1">debugging, preprocessor</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-debugging_002c-preprocessor-2">debugging, preprocessor</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-debugging_002c-preprocessor-3">debugging, preprocessor</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-debugging_002c-preprocessor-4">debugging, preprocessor</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="ENCODE-and-DECODE-statements.html#index-DECODE"><code>DECODE</code></a>:</td><td> </td><td valign="top"><a href="ENCODE-and-DECODE-statements.html#ENCODE-and-DECODE-statements">ENCODE and DECODE statements</a></td></tr> +<tr><td></td><td valign="top"><a href="ALARM.html#index-delayed-execution">delayed execution</a>:</td><td> </td><td valign="top"><a href="ALARM.html#ALARM">ALARM</a></td></tr> +<tr><td></td><td valign="top"><a href="SLEEP.html#index-delayed-execution-1">delayed execution</a>:</td><td> </td><td valign="top"><a href="SLEEP.html#SLEEP">SLEEP</a></td></tr> +<tr><td></td><td valign="top"><a href="Derived-Types-and-struct.html#index-derived-type-interoperability-with-C">derived type interoperability with C</a>:</td><td> </td><td valign="top"><a href="Derived-Types-and-struct.html#Derived-Types-and-struct">Derived Types and struct</a></td></tr> +<tr><td></td><td valign="top"><a href="EXP.html#index-DEXP"><code>DEXP</code></a>:</td><td> </td><td valign="top"><a href="EXP.html#EXP">EXP</a></td></tr> +<tr><td></td><td valign="top"><a href="REAL.html#index-DFLOAT"><code>DFLOAT</code></a>:</td><td> </td><td valign="top"><a href="REAL.html#REAL">REAL</a></td></tr> +<tr><td></td><td valign="top"><a href="GAMMA.html#index-DGAMMA"><code>DGAMMA</code></a>:</td><td> </td><td valign="top"><a href="GAMMA.html#GAMMA">GAMMA</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-dialect-options">dialect options</a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="DIGITS.html#index-DIGITS"><code>DIGITS</code></a>:</td><td> </td><td valign="top"><a href="DIGITS.html#DIGITS">DIGITS</a></td></tr> +<tr><td></td><td valign="top"><a href="DIM.html#index-DIM"><code>DIM</code></a>:</td><td> </td><td valign="top"><a href="DIM.html#DIM">DIM</a></td></tr> +<tr><td></td><td valign="top"><a href="AIMAG.html#index-DIMAG"><code>DIMAG</code></a>:</td><td> </td><td valign="top"><a href="AIMAG.html#AIMAG">AIMAG</a></td></tr> +<tr><td></td><td valign="top"><a href="AINT.html#index-DINT"><code>DINT</code></a>:</td><td> </td><td valign="top"><a href="AINT.html#AINT">AINT</a></td></tr> +<tr><td></td><td valign="top"><a href="Directory-Options.html#index-directive_002c-INCLUDE">directive, <code>INCLUDE</code></a>:</td><td> </td><td valign="top"><a href="Directory-Options.html#Directory-Options">Directory Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Directory-Options.html#index-directory_002c-options">directory, options</a>:</td><td> </td><td valign="top"><a href="Directory-Options.html#Directory-Options">Directory Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Directory-Options.html#index-directory_002c-search-paths-for-inclusion">directory, search paths for inclusion</a>:</td><td> </td><td valign="top"><a href="Directory-Options.html#Directory-Options">Directory Options</a></td></tr> +<tr><td></td><td valign="top"><a href="MODULO.html#index-division_002c-modulo">division, modulo</a>:</td><td> </td><td valign="top"><a href="MODULO.html#MODULO">MODULO</a></td></tr> +<tr><td></td><td valign="top"><a href="MOD.html#index-division_002c-remainder">division, remainder</a>:</td><td> </td><td valign="top"><a href="MOD.html#MOD">MOD</a></td></tr> +<tr><td></td><td valign="top"><a href="LOG_005fGAMMA.html#index-DLGAMA"><code>DLGAMA</code></a>:</td><td> </td><td valign="top"><a href="LOG_005fGAMMA.html#LOG_005fGAMMA">LOG_GAMMA</a></td></tr> +<tr><td></td><td valign="top"><a href="LOG.html#index-DLOG"><code>DLOG</code></a>:</td><td> </td><td valign="top"><a href="LOG.html#LOG">LOG</a></td></tr> +<tr><td></td><td valign="top"><a href="LOG10.html#index-DLOG10"><code>DLOG10</code></a>:</td><td> </td><td valign="top"><a href="LOG10.html#LOG10">LOG10</a></td></tr> +<tr><td></td><td valign="top"><a href="MAX.html#index-DMAX1"><code>DMAX1</code></a>:</td><td> </td><td valign="top"><a href="MAX.html#MAX">MAX</a></td></tr> +<tr><td></td><td valign="top"><a href="MIN.html#index-DMIN1"><code>DMIN1</code></a>:</td><td> </td><td valign="top"><a href="MIN.html#MIN">MIN</a></td></tr> +<tr><td></td><td valign="top"><a href="MOD.html#index-DMOD"><code>DMOD</code></a>:</td><td> </td><td valign="top"><a href="MOD.html#MOD">MOD</a></td></tr> +<tr><td></td><td valign="top"><a href="ANINT.html#index-DNINT"><code>DNINT</code></a>:</td><td> </td><td valign="top"><a href="ANINT.html#ANINT">ANINT</a></td></tr> +<tr><td></td><td valign="top"><a href="Further-Interoperability-of-Fortran-with-C.html#index-dope-vector">dope vector</a>:</td><td> </td><td valign="top"><a href="Further-Interoperability-of-Fortran-with-C.html#Further-Interoperability-of-Fortran-with-C">Further Interoperability of Fortran with C</a></td></tr> +<tr><td></td><td valign="top"><a href="DOT_005fPRODUCT.html#index-dot-product">dot product</a>:</td><td> </td><td valign="top"><a href="DOT_005fPRODUCT.html#DOT_005fPRODUCT">DOT_PRODUCT</a></td></tr> +<tr><td></td><td valign="top"><a href="DOT_005fPRODUCT.html#index-DOT_005fPRODUCT"><code>DOT_PRODUCT</code></a>:</td><td> </td><td valign="top"><a href="DOT_005fPRODUCT.html#DOT_005fPRODUCT">DOT_PRODUCT</a></td></tr> +<tr><td></td><td valign="top"><a href="DPROD.html#index-DPROD"><code>DPROD</code></a>:</td><td> </td><td valign="top"><a href="DPROD.html#DPROD">DPROD</a></td></tr> +<tr><td></td><td valign="top"><a href="DREAL.html#index-DREAL"><code>DREAL</code></a>:</td><td> </td><td valign="top"><a href="DREAL.html#DREAL">DREAL</a></td></tr> +<tr><td></td><td valign="top"><a href="DSHIFTL.html#index-DSHIFTL"><code>DSHIFTL</code></a>:</td><td> </td><td valign="top"><a href="DSHIFTL.html#DSHIFTL">DSHIFTL</a></td></tr> +<tr><td></td><td valign="top"><a href="DSHIFTR.html#index-DSHIFTR"><code>DSHIFTR</code></a>:</td><td> </td><td valign="top"><a href="DSHIFTR.html#DSHIFTR">DSHIFTR</a></td></tr> +<tr><td></td><td valign="top"><a href="SIGN.html#index-DSIGN"><code>DSIGN</code></a>:</td><td> </td><td valign="top"><a href="SIGN.html#SIGN">SIGN</a></td></tr> +<tr><td></td><td valign="top"><a href="SIN.html#index-DSIN"><code>DSIN</code></a>:</td><td> </td><td valign="top"><a href="SIN.html#SIN">SIN</a></td></tr> +<tr><td></td><td valign="top"><a href="SIND.html#index-DSIND"><code>DSIND</code></a>:</td><td> </td><td valign="top"><a href="SIND.html#SIND">SIND</a></td></tr> +<tr><td></td><td valign="top"><a href="SINH.html#index-DSINH"><code>DSINH</code></a>:</td><td> </td><td valign="top"><a href="SINH.html#SINH">SINH</a></td></tr> +<tr><td></td><td valign="top"><a href="SQRT.html#index-DSQRT"><code>DSQRT</code></a>:</td><td> </td><td valign="top"><a href="SQRT.html#SQRT">SQRT</a></td></tr> +<tr><td></td><td valign="top"><a href="TAN.html#index-DTAN"><code>DTAN</code></a>:</td><td> </td><td valign="top"><a href="TAN.html#TAN">TAN</a></td></tr> +<tr><td></td><td valign="top"><a href="TAND.html#index-DTAND"><code>DTAND</code></a>:</td><td> </td><td valign="top"><a href="TAND.html#TAND">TAND</a></td></tr> +<tr><td></td><td valign="top"><a href="TANH.html#index-DTANH"><code>DTANH</code></a>:</td><td> </td><td valign="top"><a href="TANH.html#TANH">TANH</a></td></tr> +<tr><td></td><td valign="top"><a href="DTIME.html#index-DTIME"><code>DTIME</code></a>:</td><td> </td><td valign="top"><a href="DTIME.html#DTIME">DTIME</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-dummy-argument_002c-unused">dummy argument, unused</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-E">E</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="DTIME.html#index-elapsed-time">elapsed time</a>:</td><td> </td><td valign="top"><a href="DTIME.html#DTIME">DTIME</a></td></tr> +<tr><td></td><td valign="top"><a href="SECNDS.html#index-elapsed-time-1">elapsed time</a>:</td><td> </td><td valign="top"><a href="SECNDS.html#SECNDS">SECNDS</a></td></tr> +<tr><td></td><td valign="top"><a href="SECOND.html#index-elapsed-time-2">elapsed time</a>:</td><td> </td><td valign="top"><a href="SECOND.html#SECOND">SECOND</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-Elimination-of-functions-with-identical-argument-lists">Elimination of functions with identical argument lists</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="ENCODE-and-DECODE-statements.html#index-ENCODE"><code>ENCODE</code></a>:</td><td> </td><td valign="top"><a href="ENCODE-and-DECODE-statements.html#ENCODE-and-DECODE-statements">ENCODE and DECODE statements</a></td></tr> +<tr><td></td><td valign="top"><a href="Environment-Variables.html#index-environment-variable">environment variable</a>:</td><td> </td><td valign="top"><a href="Environment-Variables.html#Environment-Variables">Environment Variables</a></td></tr> +<tr><td></td><td valign="top"><a href="Runtime.html#index-environment-variable-1">environment variable</a>:</td><td> </td><td valign="top"><a href="Runtime.html#Runtime">Runtime</a></td></tr> +<tr><td></td><td valign="top"><a href="GETENV.html#index-environment-variable-2">environment variable</a>:</td><td> </td><td valign="top"><a href="GETENV.html#GETENV">GETENV</a></td></tr> +<tr><td></td><td valign="top"><a href="GET_005fENVIRONMENT_005fVARIABLE.html#index-environment-variable-3">environment variable</a>:</td><td> </td><td valign="top"><a href="GET_005fENVIRONMENT_005fVARIABLE.html#GET_005fENVIRONMENT_005fVARIABLE">GET_ENVIRONMENT_VARIABLE</a></td></tr> +<tr><td></td><td valign="top"><a href="Read_002fWrite-after-EOF-marker.html#index-EOF"><code>EOF</code></a>:</td><td> </td><td valign="top"><a href="Read_002fWrite-after-EOF-marker.html#Read_002fWrite-after-EOF-marker">Read/Write after EOF marker</a></td></tr> +<tr><td></td><td valign="top"><a href="EOSHIFT.html#index-EOSHIFT"><code>EOSHIFT</code></a>:</td><td> </td><td valign="top"><a href="EOSHIFT.html#EOSHIFT">EOSHIFT</a></td></tr> +<tr><td></td><td valign="top"><a href="EPSILON.html#index-EPSILON"><code>EPSILON</code></a>:</td><td> </td><td valign="top"><a href="EPSILON.html#EPSILON">EPSILON</a></td></tr> +<tr><td></td><td valign="top"><a href="ERF.html#index-ERF"><code>ERF</code></a>:</td><td> </td><td valign="top"><a href="ERF.html#ERF">ERF</a></td></tr> +<tr><td></td><td valign="top"><a href="ERFC.html#index-ERFC"><code>ERFC</code></a>:</td><td> </td><td valign="top"><a href="ERFC.html#ERFC">ERFC</a></td></tr> +<tr><td></td><td valign="top"><a href="ERFC_005fSCALED.html#index-ERFC_005fSCALED"><code>ERFC_SCALED</code></a>:</td><td> </td><td valign="top"><a href="ERFC_005fSCALED.html#ERFC_005fSCALED">ERFC_SCALED</a></td></tr> +<tr><td></td><td valign="top"><a href="ERF.html#index-error-function">error function</a>:</td><td> </td><td valign="top"><a href="ERF.html#ERF">ERF</a></td></tr> +<tr><td></td><td valign="top"><a href="ERFC.html#index-error-function_002c-complementary">error function, complementary</a>:</td><td> </td><td valign="top"><a href="ERFC.html#ERFC">ERFC</a></td></tr> +<tr><td></td><td valign="top"><a href="ERFC_005fSCALED.html#index-error-function_002c-complementary_002c-exponentially_002dscaled">error function, complementary, exponentially-scaled</a>:</td><td> </td><td valign="top"><a href="ERFC_005fSCALED.html#ERFC_005fSCALED">ERFC_SCALED</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-errors_002c-limiting">errors, limiting</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-escape-characters">escape characters</a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="ETIME.html#index-ETIME"><code>ETIME</code></a>:</td><td> </td><td valign="top"><a href="ETIME.html#ETIME">ETIME</a></td></tr> +<tr><td></td><td valign="top"><a href="HYPOT.html#index-Euclidean-distance">Euclidean distance</a>:</td><td> </td><td valign="top"><a href="HYPOT.html#HYPOT">HYPOT</a></td></tr> +<tr><td></td><td valign="top"><a href="NORM2.html#index-Euclidean-vector-norm">Euclidean vector norm</a>:</td><td> </td><td valign="top"><a href="NORM2.html#NORM2">NORM2</a></td></tr> +<tr><td></td><td valign="top"><a href="EVENT_005fQUERY.html#index-Events_002c-EVENT_005fQUERY">Events, EVENT_QUERY</a>:</td><td> </td><td valign="top"><a href="EVENT_005fQUERY.html#EVENT_005fQUERY">EVENT_QUERY</a></td></tr> +<tr><td></td><td valign="top"><a href="EVENT_005fQUERY.html#index-EVENT_005fQUERY"><code>EVENT_QUERY</code></a>:</td><td> </td><td valign="top"><a href="EVENT_005fQUERY.html#EVENT_005fQUERY">EVENT_QUERY</a></td></tr> +<tr><td></td><td valign="top"><a href="EXECUTE_005fCOMMAND_005fLINE.html#index-EXECUTE_005fCOMMAND_005fLINE"><code>EXECUTE_COMMAND_LINE</code></a>:</td><td> </td><td valign="top"><a href="EXECUTE_005fCOMMAND_005fLINE.html#EXECUTE_005fCOMMAND_005fLINE">EXECUTE_COMMAND_LINE</a></td></tr> +<tr><td></td><td valign="top"><a href="EXIT.html#index-EXIT"><code>EXIT</code></a>:</td><td> </td><td valign="top"><a href="EXIT.html#EXIT">EXIT</a></td></tr> +<tr><td></td><td valign="top"><a href="EXP.html#index-EXP"><code>EXP</code></a>:</td><td> </td><td valign="top"><a href="EXP.html#EXP">EXP</a></td></tr> +<tr><td></td><td valign="top"><a href="EXPONENT.html#index-EXPONENT"><code>EXPONENT</code></a>:</td><td> </td><td valign="top"><a href="EXPONENT.html#EXPONENT">EXPONENT</a></td></tr> +<tr><td></td><td valign="top"><a href="Default-exponents.html#index-exponent">exponent</a>:</td><td> </td><td valign="top"><a href="Default-exponents.html#Default-exponents">Default exponents</a></td></tr> +<tr><td></td><td valign="top"><a href="EXP.html#index-exponential-function">exponential function</a>:</td><td> </td><td valign="top"><a href="EXP.html#EXP">EXP</a></td></tr> +<tr><td></td><td valign="top"><a href="LOG.html#index-exponential-function_002c-inverse">exponential function, inverse</a>:</td><td> </td><td valign="top"><a href="LOG.html#LOG">LOG</a></td></tr> +<tr><td></td><td valign="top"><a href="LOG10.html#index-exponential-function_002c-inverse-1">exponential function, inverse</a>:</td><td> </td><td valign="top"><a href="LOG10.html#LOG10">LOG10</a></td></tr> +<tr><td></td><td valign="top"><a href="C_005fSIZEOF.html#index-expression-size">expression size</a>:</td><td> </td><td valign="top"><a href="C_005fSIZEOF.html#C_005fSIZEOF">C_SIZEOF</a></td></tr> +<tr><td></td><td valign="top"><a href="SIZEOF.html#index-expression-size-1">expression size</a>:</td><td> </td><td valign="top"><a href="SIZEOF.html#SIZEOF">SIZEOF</a></td></tr> +<tr><td></td><td valign="top"><a href="EXTENDS_005fTYPE_005fOF.html#index-EXTENDS_005fTYPE_005fOF"><code>EXTENDS_TYPE_OF</code></a>:</td><td> </td><td valign="top"><a href="EXTENDS_005fTYPE_005fOF.html#EXTENDS_005fTYPE_005fOF">EXTENDS_TYPE_OF</a></td></tr> +<tr><td></td><td valign="top"><a href="Extensions.html#index-extensions">extensions</a>:</td><td> </td><td valign="top"><a href="Extensions.html#Extensions">Extensions</a></td></tr> +<tr><td></td><td valign="top"><a href="Extensions-implemented-in-GNU-Fortran.html#index-extensions_002c-implemented">extensions, implemented</a>:</td><td> </td><td valign="top"><a href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran">Extensions implemented in GNU Fortran</a></td></tr> +<tr><td></td><td valign="top"><a href="Extensions-not-implemented-in-GNU-Fortran.html#index-extensions_002c-not-implemented">extensions, not implemented</a>:</td><td> </td><td valign="top"><a href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran">Extensions not implemented in GNU Fortran</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-extra-warnings">extra warnings</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-F">F</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-f2c-calling-convention"><code>f2c</code> calling convention</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-f2c-calling-convention-1"><code>f2c</code> calling convention</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="GAMMA.html#index-Factorial-function">Factorial function</a>:</td><td> </td><td valign="top"><a href="GAMMA.html#GAMMA">GAMMA</a></td></tr> +<tr><td></td><td valign="top"><a href="FDATE.html#index-FDATE"><code>FDATE</code></a>:</td><td> </td><td valign="top"><a href="FDATE.html#FDATE">FDATE</a></td></tr> +<tr><td></td><td valign="top"><a href="GNU-Free-Documentation-License.html#index-FDL_002c-GNU-Free-Documentation-License">FDL, GNU Free Documentation License</a>:</td><td> </td><td valign="top"><a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">GNU Free Documentation License</a></td></tr> +<tr><td></td><td valign="top"><a href="FGET.html#index-FGET"><code>FGET</code></a>:</td><td> </td><td valign="top"><a href="FGET.html#FGET">FGET</a></td></tr> +<tr><td></td><td valign="top"><a href="FGETC.html#index-FGETC"><code>FGETC</code></a>:</td><td> </td><td valign="top"><a href="FGETC.html#FGETC">FGETC</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-file-format_002c-fixed">file format, fixed</a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-file-format_002c-fixed-1">file format, fixed</a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-file-format_002c-free">file format, free</a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-file-format_002c-free-1">file format, free</a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="FNUM.html#index-file-operation_002c-file-number">file operation, file number</a>:</td><td> </td><td valign="top"><a href="FNUM.html#FNUM">FNUM</a></td></tr> +<tr><td></td><td valign="top"><a href="FLUSH.html#index-file-operation_002c-flush">file operation, flush</a>:</td><td> </td><td valign="top"><a href="FLUSH.html#FLUSH">FLUSH</a></td></tr> +<tr><td></td><td valign="top"><a href="FSEEK.html#index-file-operation_002c-position">file operation, position</a>:</td><td> </td><td valign="top"><a href="FSEEK.html#FSEEK">FSEEK</a></td></tr> +<tr><td></td><td valign="top"><a href="FTELL.html#index-file-operation_002c-position-1">file operation, position</a>:</td><td> </td><td valign="top"><a href="FTELL.html#FTELL">FTELL</a></td></tr> +<tr><td></td><td valign="top"><a href="FGET.html#index-file-operation_002c-read-character">file operation, read character</a>:</td><td> </td><td valign="top"><a href="FGET.html#FGET">FGET</a></td></tr> +<tr><td></td><td valign="top"><a href="FGETC.html#index-file-operation_002c-read-character-1">file operation, read character</a>:</td><td> </td><td valign="top"><a href="FGETC.html#FGETC">FGETC</a></td></tr> +<tr><td></td><td valign="top"><a href="FSEEK.html#index-file-operation_002c-seek">file operation, seek</a>:</td><td> </td><td valign="top"><a href="FSEEK.html#FSEEK">FSEEK</a></td></tr> +<tr><td></td><td valign="top"><a href="FPUT.html#index-file-operation_002c-write-character">file operation, write character</a>:</td><td> </td><td valign="top"><a href="FPUT.html#FPUT">FPUT</a></td></tr> +<tr><td></td><td valign="top"><a href="FPUTC.html#index-file-operation_002c-write-character-1">file operation, write character</a>:</td><td> </td><td valign="top"><a href="FPUTC.html#FPUTC">FPUTC</a></td></tr> +<tr><td></td><td valign="top"><a href="ACCESS.html#index-file-system_002c-access-mode">file system, access mode</a>:</td><td> </td><td valign="top"><a href="ACCESS.html#ACCESS">ACCESS</a></td></tr> +<tr><td></td><td valign="top"><a href="CHMOD.html#index-file-system_002c-change-access-mode">file system, change access mode</a>:</td><td> </td><td valign="top"><a href="CHMOD.html#CHMOD">CHMOD</a></td></tr> +<tr><td></td><td valign="top"><a href="LINK.html#index-file-system_002c-create-link">file system, create link</a>:</td><td> </td><td valign="top"><a href="LINK.html#LINK">LINK</a></td></tr> +<tr><td></td><td valign="top"><a href="SYMLNK.html#index-file-system_002c-create-link-1">file system, create link</a>:</td><td> </td><td valign="top"><a href="SYMLNK.html#SYMLNK">SYMLNK</a></td></tr> +<tr><td></td><td valign="top"><a href="UMASK.html#index-file-system_002c-file-creation-mask">file system, file creation mask</a>:</td><td> </td><td valign="top"><a href="UMASK.html#UMASK">UMASK</a></td></tr> +<tr><td></td><td valign="top"><a href="FSTAT.html#index-file-system_002c-file-status">file system, file status</a>:</td><td> </td><td valign="top"><a href="FSTAT.html#FSTAT">FSTAT</a></td></tr> +<tr><td></td><td valign="top"><a href="LSTAT.html#index-file-system_002c-file-status-1">file system, file status</a>:</td><td> </td><td valign="top"><a href="LSTAT.html#LSTAT">LSTAT</a></td></tr> +<tr><td></td><td valign="top"><a href="STAT.html#index-file-system_002c-file-status-2">file system, file status</a>:</td><td> </td><td valign="top"><a href="STAT.html#STAT">STAT</a></td></tr> +<tr><td></td><td valign="top"><a href="LINK.html#index-file-system_002c-hard-link">file system, hard link</a>:</td><td> </td><td valign="top"><a href="LINK.html#LINK">LINK</a></td></tr> +<tr><td></td><td valign="top"><a href="UNLINK.html#index-file-system_002c-remove-file">file system, remove file</a>:</td><td> </td><td valign="top"><a href="UNLINK.html#UNLINK">UNLINK</a></td></tr> +<tr><td></td><td valign="top"><a href="RENAME.html#index-file-system_002c-rename-file">file system, rename file</a>:</td><td> </td><td valign="top"><a href="RENAME.html#RENAME">RENAME</a></td></tr> +<tr><td></td><td valign="top"><a href="SYMLNK.html#index-file-system_002c-soft-link">file system, soft link</a>:</td><td> </td><td valign="top"><a href="SYMLNK.html#SYMLNK">SYMLNK</a></td></tr> +<tr><td></td><td valign="top"><a href="File-operations-on-symbolic-links.html#index-file_002c-symbolic-link">file, symbolic link</a>:</td><td> </td><td valign="top"><a href="File-operations-on-symbolic-links.html#File-operations-on-symbolic-links">File operations on symbolic links</a></td></tr> +<tr><td></td><td valign="top"><a href="File-format-of-unformatted-sequential-files.html#index-file_002c-unformatted-sequential">file, unformatted sequential</a>:</td><td> </td><td valign="top"><a href="File-format-of-unformatted-sequential-files.html#File-format-of-unformatted-sequential-files">File format of unformatted sequential files</a></td></tr> +<tr><td></td><td valign="top"><a href="FINDLOC.html#index-FINDLOC"><code>FINDLOC</code></a>:</td><td> </td><td valign="top"><a href="FINDLOC.html#FINDLOC">FINDLOC</a></td></tr> +<tr><td></td><td valign="top"><a href="FINDLOC.html#index-findloc">findloc</a>:</td><td> </td><td valign="top"><a href="FINDLOC.html#FINDLOC">FINDLOC</a></td></tr> +<tr><td></td><td valign="top"><a href="COMPILER_005fOPTIONS.html#index-flags-inquiry-function">flags inquiry function</a>:</td><td> </td><td valign="top"><a href="COMPILER_005fOPTIONS.html#COMPILER_005fOPTIONS">COMPILER_OPTIONS</a></td></tr> +<tr><td></td><td valign="top"><a href="REAL.html#index-FLOAT"><code>FLOAT</code></a>:</td><td> </td><td valign="top"><a href="REAL.html#REAL">REAL</a></td></tr> +<tr><td></td><td valign="top"><a href="REAL.html#index-FLOATI"><code>FLOATI</code></a>:</td><td> </td><td valign="top"><a href="REAL.html#REAL">REAL</a></td></tr> +<tr><td></td><td valign="top"><a href="EXPONENT.html#index-floating-point_002c-exponent">floating point, exponent</a>:</td><td> </td><td valign="top"><a href="EXPONENT.html#EXPONENT">EXPONENT</a></td></tr> +<tr><td></td><td valign="top"><a href="FRACTION.html#index-floating-point_002c-fraction">floating point, fraction</a>:</td><td> </td><td valign="top"><a href="FRACTION.html#FRACTION">FRACTION</a></td></tr> +<tr><td></td><td valign="top"><a href="NEAREST.html#index-floating-point_002c-nearest-different">floating point, nearest different</a>:</td><td> </td><td valign="top"><a href="NEAREST.html#NEAREST">NEAREST</a></td></tr> +<tr><td></td><td valign="top"><a href="RRSPACING.html#index-floating-point_002c-relative-spacing">floating point, relative spacing</a>:</td><td> </td><td valign="top"><a href="RRSPACING.html#RRSPACING">RRSPACING</a></td></tr> +<tr><td></td><td valign="top"><a href="SPACING.html#index-floating-point_002c-relative-spacing-1">floating point, relative spacing</a>:</td><td> </td><td valign="top"><a href="SPACING.html#SPACING">SPACING</a></td></tr> +<tr><td></td><td valign="top"><a href="SCALE.html#index-floating-point_002c-scale">floating point, scale</a>:</td><td> </td><td valign="top"><a href="SCALE.html#SCALE">SCALE</a></td></tr> +<tr><td></td><td valign="top"><a href="SET_005fEXPONENT.html#index-floating-point_002c-set-exponent">floating point, set exponent</a>:</td><td> </td><td valign="top"><a href="SET_005fEXPONENT.html#SET_005fEXPONENT">SET_EXPONENT</a></td></tr> +<tr><td></td><td valign="top"><a href="REAL.html#index-FLOATJ"><code>FLOATJ</code></a>:</td><td> </td><td valign="top"><a href="REAL.html#REAL">REAL</a></td></tr> +<tr><td></td><td valign="top"><a href="REAL.html#index-FLOATK"><code>FLOATK</code></a>:</td><td> </td><td valign="top"><a href="REAL.html#REAL">REAL</a></td></tr> +<tr><td></td><td valign="top"><a href="FLOOR.html#index-FLOOR"><code>FLOOR</code></a>:</td><td> </td><td valign="top"><a href="FLOOR.html#FLOOR">FLOOR</a></td></tr> +<tr><td></td><td valign="top"><a href="AINT.html#index-floor">floor</a>:</td><td> </td><td valign="top"><a href="AINT.html#AINT">AINT</a></td></tr> +<tr><td></td><td valign="top"><a href="FLOOR.html#index-floor-1">floor</a>:</td><td> </td><td valign="top"><a href="FLOOR.html#FLOOR">FLOOR</a></td></tr> +<tr><td></td><td valign="top"><a href="FLUSH.html#index-FLUSH"><code>FLUSH</code></a>:</td><td> </td><td valign="top"><a href="FLUSH.html#FLUSH">FLUSH</a></td></tr> +<tr><td></td><td valign="top"><a href="FNUM.html#index-FNUM"><code>FNUM</code></a>:</td><td> </td><td valign="top"><a href="FNUM.html#FNUM">FNUM</a></td></tr> +<tr><td></td><td valign="top"><a href="Form-feed-as-whitespace.html#index-form-feed-whitespace">form feed whitespace</a>:</td><td> </td><td valign="top"><a href="Form-feed-as-whitespace.html#Form-feed-as-whitespace">Form feed as whitespace</a></td></tr> +<tr><td></td><td valign="top"><a href="Variable-FORMAT-expressions.html#index-FORMAT"><code>FORMAT</code></a>:</td><td> </td><td valign="top"><a href="Variable-FORMAT-expressions.html#Variable-FORMAT-expressions">Variable FORMAT expressions</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-FPP">FPP</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="FPUT.html#index-FPUT"><code>FPUT</code></a>:</td><td> </td><td valign="top"><a href="FPUT.html#FPUT">FPUT</a></td></tr> +<tr><td></td><td valign="top"><a href="FPUTC.html#index-FPUTC"><code>FPUTC</code></a>:</td><td> </td><td valign="top"><a href="FPUTC.html#FPUTC">FPUTC</a></td></tr> +<tr><td></td><td valign="top"><a href="FRACTION.html#index-FRACTION"><code>FRACTION</code></a>:</td><td> </td><td valign="top"><a href="FRACTION.html#FRACTION">FRACTION</a></td></tr> +<tr><td></td><td valign="top"><a href="FREE.html#index-FREE"><code>FREE</code></a>:</td><td> </td><td valign="top"><a href="FREE.html#FREE">FREE</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-Front_002dend-optimization">Front-end optimization</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="FSEEK.html#index-FSEEK"><code>FSEEK</code></a>:</td><td> </td><td valign="top"><a href="FSEEK.html#FSEEK">FSEEK</a></td></tr> +<tr><td></td><td valign="top"><a href="FSTAT.html#index-FSTAT"><code>FSTAT</code></a>:</td><td> </td><td valign="top"><a href="FSTAT.html#FSTAT">FSTAT</a></td></tr> +<tr><td></td><td valign="top"><a href="FTELL.html#index-FTELL"><code>FTELL</code></a>:</td><td> </td><td valign="top"><a href="FTELL.html#FTELL">FTELL</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-function-elimination">function elimination</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Interoperable-Subroutines-and-Functions.html#index-function-interoperability-with-C">function interoperability with C</a>:</td><td> </td><td valign="top"><a href="Interoperable-Subroutines-and-Functions.html#Interoperable-Subroutines-and-Functions">Interoperable Subroutines and Functions</a></td></tr> +<tr><td></td><td valign="top"><a href="Further-Interoperability-of-Fortran-with-C.html#index-Further-Interoperability-of-Fortran-with-C">Further Interoperability of Fortran with C</a>:</td><td> </td><td valign="top"><a href="Further-Interoperability-of-Fortran-with-C.html#Further-Interoperability-of-Fortran-with-C">Further Interoperability of Fortran with C</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-G">G</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-g77-calling-convention"><code>g77</code> calling convention</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-g77-calling-convention-1"><code>g77</code> calling convention</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="GAMMA.html#index-GAMMA"><code>GAMMA</code></a>:</td><td> </td><td valign="top"><a href="GAMMA.html#GAMMA">GAMMA</a></td></tr> +<tr><td></td><td valign="top"><a href="GAMMA.html#index-Gamma-function">Gamma function</a>:</td><td> </td><td valign="top"><a href="GAMMA.html#GAMMA">GAMMA</a></td></tr> +<tr><td></td><td valign="top"><a href="LOG_005fGAMMA.html#index-Gamma-function_002c-logarithm-of">Gamma function, logarithm of</a>:</td><td> </td><td valign="top"><a href="LOG_005fGAMMA.html#LOG_005fGAMMA">LOG_GAMMA</a></td></tr> +<tr><td></td><td valign="top"><a href="GNU-Fortran-and-GCC.html#index-GCC">GCC</a>:</td><td> </td><td valign="top"><a href="GNU-Fortran-and-GCC.html#GNU-Fortran-and-GCC">GNU Fortran and GCC</a></td></tr> +<tr><td></td><td valign="top"><a href="Interoperability-Options.html#index-Generating-C-prototypes-from-external-procedures">Generating C prototypes from external procedures</a>:</td><td> </td><td valign="top"><a href="Interoperability-Options.html#Interoperability-Options">Interoperability Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Interoperability-Options.html#index-Generating-C-prototypes-from-Fortran-BIND_0028C_0029-enteties">Generating C prototypes from Fortran BIND(C) enteties</a>:</td><td> </td><td valign="top"><a href="Interoperability-Options.html#Interoperability-Options">Interoperability Options</a></td></tr> +<tr><td></td><td valign="top"><a href="GERROR.html#index-GERROR"><code>GERROR</code></a>:</td><td> </td><td valign="top"><a href="GERROR.html#GERROR">GERROR</a></td></tr> +<tr><td></td><td valign="top"><a href="GETARG.html#index-GETARG"><code>GETARG</code></a>:</td><td> </td><td valign="top"><a href="GETARG.html#GETARG">GETARG</a></td></tr> +<tr><td></td><td valign="top"><a href="GETCWD.html#index-GETCWD"><code>GETCWD</code></a>:</td><td> </td><td valign="top"><a href="GETCWD.html#GETCWD">GETCWD</a></td></tr> +<tr><td></td><td valign="top"><a href="GETENV.html#index-GETENV"><code>GETENV</code></a>:</td><td> </td><td valign="top"><a href="GETENV.html#GETENV">GETENV</a></td></tr> +<tr><td></td><td valign="top"><a href="GETGID.html#index-GETGID"><code>GETGID</code></a>:</td><td> </td><td valign="top"><a href="GETGID.html#GETGID">GETGID</a></td></tr> +<tr><td></td><td valign="top"><a href="GETLOG.html#index-GETLOG"><code>GETLOG</code></a>:</td><td> </td><td valign="top"><a href="GETLOG.html#GETLOG">GETLOG</a></td></tr> +<tr><td></td><td valign="top"><a href="GETPID.html#index-GETPID"><code>GETPID</code></a>:</td><td> </td><td valign="top"><a href="GETPID.html#GETPID">GETPID</a></td></tr> +<tr><td></td><td valign="top"><a href="GETUID.html#index-GETUID"><code>GETUID</code></a>:</td><td> </td><td valign="top"><a href="GETUID.html#GETUID">GETUID</a></td></tr> +<tr><td></td><td valign="top"><a href="GET_005fCOMMAND.html#index-GET_005fCOMMAND"><code>GET_COMMAND</code></a>:</td><td> </td><td valign="top"><a href="GET_005fCOMMAND.html#GET_005fCOMMAND">GET_COMMAND</a></td></tr> +<tr><td></td><td valign="top"><a href="GET_005fCOMMAND_005fARGUMENT.html#index-GET_005fCOMMAND_005fARGUMENT"><code>GET_COMMAND_ARGUMENT</code></a>:</td><td> </td><td valign="top"><a href="GET_005fCOMMAND_005fARGUMENT.html#GET_005fCOMMAND_005fARGUMENT">GET_COMMAND_ARGUMENT</a></td></tr> +<tr><td></td><td valign="top"><a href="GET_005fENVIRONMENT_005fVARIABLE.html#index-GET_005fENVIRONMENT_005fVARIABLE"><code>GET_ENVIRONMENT_VARIABLE</code></a>:</td><td> </td><td valign="top"><a href="GET_005fENVIRONMENT_005fVARIABLE.html#GET_005fENVIRONMENT_005fVARIABLE">GET_ENVIRONMENT_VARIABLE</a></td></tr> +<tr><td></td><td valign="top"><a href="GMTIME.html#index-GMTIME"><code>GMTIME</code></a>:</td><td> </td><td valign="top"><a href="GMTIME.html#GMTIME">GMTIME</a></td></tr> +<tr><td></td><td valign="top"><a href="GNU-Fortran-and-GCC.html#index-GNU-Compiler-Collection">GNU Compiler Collection</a>:</td><td> </td><td valign="top"><a href="GNU-Fortran-and-GCC.html#GNU-Fortran-and-GCC">GNU Fortran and GCC</a></td></tr> +<tr><td></td><td valign="top"><a href="Invoking-GNU-Fortran.html#index-GNU-Fortran-command-options">GNU Fortran command options</a>:</td><td> </td><td valign="top"><a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran">Invoking GNU Fortran</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-H">H</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Hollerith-constants-support.html#index-Hollerith-constants">Hollerith constants</a>:</td><td> </td><td valign="top"><a href="Hollerith-constants-support.html#Hollerith-constants-support">Hollerith constants support</a></td></tr> +<tr><td></td><td valign="top"><a href="HOSTNM.html#index-HOSTNM"><code>HOSTNM</code></a>:</td><td> </td><td valign="top"><a href="HOSTNM.html#HOSTNM">HOSTNM</a></td></tr> +<tr><td></td><td valign="top"><a href="HUGE.html#index-HUGE"><code>HUGE</code></a>:</td><td> </td><td valign="top"><a href="HUGE.html#HUGE">HUGE</a></td></tr> +<tr><td></td><td valign="top"><a href="COSH.html#index-hyperbolic-cosine">hyperbolic cosine</a>:</td><td> </td><td valign="top"><a href="COSH.html#COSH">COSH</a></td></tr> +<tr><td></td><td valign="top"><a href="COSH.html#index-hyperbolic-function_002c-cosine">hyperbolic function, cosine</a>:</td><td> </td><td valign="top"><a href="COSH.html#COSH">COSH</a></td></tr> +<tr><td></td><td valign="top"><a href="ACOSH.html#index-hyperbolic-function_002c-cosine_002c-inverse">hyperbolic function, cosine, inverse</a>:</td><td> </td><td valign="top"><a href="ACOSH.html#ACOSH">ACOSH</a></td></tr> +<tr><td></td><td valign="top"><a href="SINH.html#index-hyperbolic-function_002c-sine">hyperbolic function, sine</a>:</td><td> </td><td valign="top"><a href="SINH.html#SINH">SINH</a></td></tr> +<tr><td></td><td valign="top"><a href="ASINH.html#index-hyperbolic-function_002c-sine_002c-inverse">hyperbolic function, sine, inverse</a>:</td><td> </td><td valign="top"><a href="ASINH.html#ASINH">ASINH</a></td></tr> +<tr><td></td><td valign="top"><a href="TANH.html#index-hyperbolic-function_002c-tangent">hyperbolic function, tangent</a>:</td><td> </td><td valign="top"><a href="TANH.html#TANH">TANH</a></td></tr> +<tr><td></td><td valign="top"><a href="ATANH.html#index-hyperbolic-function_002c-tangent_002c-inverse">hyperbolic function, tangent, inverse</a>:</td><td> </td><td valign="top"><a href="ATANH.html#ATANH">ATANH</a></td></tr> +<tr><td></td><td valign="top"><a href="SINH.html#index-hyperbolic-sine">hyperbolic sine</a>:</td><td> </td><td valign="top"><a href="SINH.html#SINH">SINH</a></td></tr> +<tr><td></td><td valign="top"><a href="TANH.html#index-hyperbolic-tangent">hyperbolic tangent</a>:</td><td> </td><td valign="top"><a href="TANH.html#TANH">TANH</a></td></tr> +<tr><td></td><td valign="top"><a href="HYPOT.html#index-HYPOT"><code>HYPOT</code></a>:</td><td> </td><td valign="top"><a href="HYPOT.html#HYPOT">HYPOT</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-I">I</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="I_002fO-item-lists.html#index-I_002fO-item-lists">I/O item lists</a>:</td><td> </td><td valign="top"><a href="I_002fO-item-lists.html#I_002fO-item-lists">I/O item lists</a></td></tr> +<tr><td></td><td valign="top"><a href="Extended-I_002fO-specifiers.html#index-I_002fO-specifiers">I/O specifiers</a>:</td><td> </td><td valign="top"><a href="Extended-I_002fO-specifiers.html#Extended-I_002fO-specifiers">Extended I/O specifiers</a></td></tr> +<tr><td></td><td valign="top"><a href="ABS.html#index-IABS"><code>IABS</code></a>:</td><td> </td><td valign="top"><a href="ABS.html#ABS">ABS</a></td></tr> +<tr><td></td><td valign="top"><a href="IACHAR.html#index-IACHAR"><code>IACHAR</code></a>:</td><td> </td><td valign="top"><a href="IACHAR.html#IACHAR">IACHAR</a></td></tr> +<tr><td></td><td valign="top"><a href="IALL.html#index-IALL"><code>IALL</code></a>:</td><td> </td><td valign="top"><a href="IALL.html#IALL">IALL</a></td></tr> +<tr><td></td><td valign="top"><a href="IAND.html#index-IAND"><code>IAND</code></a>:</td><td> </td><td valign="top"><a href="IAND.html#IAND">IAND</a></td></tr> +<tr><td></td><td valign="top"><a href="IANY.html#index-IANY"><code>IANY</code></a>:</td><td> </td><td valign="top"><a href="IANY.html#IANY">IANY</a></td></tr> +<tr><td></td><td valign="top"><a href="IARGC.html#index-IARGC"><code>IARGC</code></a>:</td><td> </td><td valign="top"><a href="IARGC.html#IARGC">IARGC</a></td></tr> +<tr><td></td><td valign="top"><a href="IBCLR.html#index-IBCLR"><code>IBCLR</code></a>:</td><td> </td><td valign="top"><a href="IBCLR.html#IBCLR">IBCLR</a></td></tr> +<tr><td></td><td valign="top"><a href="IBITS.html#index-IBITS"><code>IBITS</code></a>:</td><td> </td><td valign="top"><a href="IBITS.html#IBITS">IBITS</a></td></tr> +<tr><td></td><td valign="top"><a href="IBSET.html#index-IBSET"><code>IBSET</code></a>:</td><td> </td><td valign="top"><a href="IBSET.html#IBSET">IBSET</a></td></tr> +<tr><td></td><td valign="top"><a href="ICHAR.html#index-ICHAR"><code>ICHAR</code></a>:</td><td> </td><td valign="top"><a href="ICHAR.html#ICHAR">ICHAR</a></td></tr> +<tr><td></td><td valign="top"><a href="IDATE.html#index-IDATE"><code>IDATE</code></a>:</td><td> </td><td valign="top"><a href="IDATE.html#IDATE">IDATE</a></td></tr> +<tr><td></td><td valign="top"><a href="DIM.html#index-IDIM"><code>IDIM</code></a>:</td><td> </td><td valign="top"><a href="DIM.html#DIM">DIM</a></td></tr> +<tr><td></td><td valign="top"><a href="INT.html#index-IDINT"><code>IDINT</code></a>:</td><td> </td><td valign="top"><a href="INT.html#INT">INT</a></td></tr> +<tr><td></td><td valign="top"><a href="NINT.html#index-IDNINT"><code>IDNINT</code></a>:</td><td> </td><td valign="top"><a href="NINT.html#NINT">NINT</a></td></tr> +<tr><td></td><td valign="top"><a href="ISNAN.html#index-IEEE_002c-ISNAN">IEEE, ISNAN</a>:</td><td> </td><td valign="top"><a href="ISNAN.html#ISNAN">ISNAN</a></td></tr> +<tr><td></td><td valign="top"><a href="IEOR.html#index-IEOR"><code>IEOR</code></a>:</td><td> </td><td valign="top"><a href="IEOR.html#IEOR">IEOR</a></td></tr> +<tr><td></td><td valign="top"><a href="IERRNO.html#index-IERRNO"><code>IERRNO</code></a>:</td><td> </td><td valign="top"><a href="IERRNO.html#IERRNO">IERRNO</a></td></tr> +<tr><td></td><td valign="top"><a href="INT.html#index-IFIX"><code>IFIX</code></a>:</td><td> </td><td valign="top"><a href="INT.html#INT">INT</a></td></tr> +<tr><td></td><td valign="top"><a href="ABS.html#index-IIABS"><code>IIABS</code></a>:</td><td> </td><td valign="top"><a href="ABS.html#ABS">ABS</a></td></tr> +<tr><td></td><td valign="top"><a href="IAND.html#index-IIAND"><code>IIAND</code></a>:</td><td> </td><td valign="top"><a href="IAND.html#IAND">IAND</a></td></tr> +<tr><td></td><td valign="top"><a href="IBCLR.html#index-IIBCLR"><code>IIBCLR</code></a>:</td><td> </td><td valign="top"><a href="IBCLR.html#IBCLR">IBCLR</a></td></tr> +<tr><td></td><td valign="top"><a href="IBITS.html#index-IIBITS"><code>IIBITS</code></a>:</td><td> </td><td valign="top"><a href="IBITS.html#IBITS">IBITS</a></td></tr> +<tr><td></td><td valign="top"><a href="IBSET.html#index-IIBSET"><code>IIBSET</code></a>:</td><td> </td><td valign="top"><a href="IBSET.html#IBSET">IBSET</a></td></tr> +<tr><td></td><td valign="top"><a href="IEOR.html#index-IIEOR"><code>IIEOR</code></a>:</td><td> </td><td valign="top"><a href="IEOR.html#IEOR">IEOR</a></td></tr> +<tr><td></td><td valign="top"><a href="IOR.html#index-IIOR"><code>IIOR</code></a>:</td><td> </td><td valign="top"><a href="IOR.html#IOR">IOR</a></td></tr> +<tr><td></td><td valign="top"><a href="ISHFT.html#index-IISHFT"><code>IISHFT</code></a>:</td><td> </td><td valign="top"><a href="ISHFT.html#ISHFT">ISHFT</a></td></tr> +<tr><td></td><td valign="top"><a href="ISHFTC.html#index-IISHFTC"><code>IISHFTC</code></a>:</td><td> </td><td valign="top"><a href="ISHFTC.html#ISHFTC">ISHFTC</a></td></tr> +<tr><td></td><td valign="top"><a href="AIMAG.html#index-IMAG"><code>IMAG</code></a>:</td><td> </td><td valign="top"><a href="AIMAG.html#AIMAG">AIMAG</a></td></tr> +<tr><td></td><td valign="top"><a href="IMAGE_005fINDEX.html#index-images_002c-cosubscript-to-image-index-conversion">images, cosubscript to image index conversion</a>:</td><td> </td><td valign="top"><a href="IMAGE_005fINDEX.html#IMAGE_005fINDEX">IMAGE_INDEX</a></td></tr> +<tr><td></td><td valign="top"><a href="THIS_005fIMAGE.html#index-images_002c-index-of-this-image">images, index of this image</a>:</td><td> </td><td valign="top"><a href="THIS_005fIMAGE.html#THIS_005fIMAGE">THIS_IMAGE</a></td></tr> +<tr><td></td><td valign="top"><a href="NUM_005fIMAGES.html#index-images_002c-number-of">images, number of</a>:</td><td> </td><td valign="top"><a href="NUM_005fIMAGES.html#NUM_005fIMAGES">NUM_IMAGES</a></td></tr> +<tr><td></td><td valign="top"><a href="IMAGE_005fINDEX.html#index-IMAGE_005fINDEX"><code>IMAGE_INDEX</code></a>:</td><td> </td><td valign="top"><a href="IMAGE_005fINDEX.html#IMAGE_005fINDEX">IMAGE_INDEX</a></td></tr> +<tr><td></td><td valign="top"><a href="AIMAG.html#index-IMAGPART"><code>IMAGPART</code></a>:</td><td> </td><td valign="top"><a href="AIMAG.html#AIMAG">AIMAG</a></td></tr> +<tr><td></td><td valign="top"><a href="MOD.html#index-IMOD"><code>IMOD</code></a>:</td><td> </td><td valign="top"><a href="MOD.html#MOD">MOD</a></td></tr> +<tr><td></td><td valign="top"><a href="MVBITS.html#index-IMVBITS"><code>IMVBITS</code></a>:</td><td> </td><td valign="top"><a href="MVBITS.html#MVBITS">MVBITS</a></td></tr> +<tr><td></td><td valign="top"><a href="Directory-Options.html#index-INCLUDE-directive"><code>INCLUDE</code> directive</a>:</td><td> </td><td valign="top"><a href="Directory-Options.html#Directory-Options">Directory Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Directory-Options.html#index-inclusion_002c-directory-search-paths-for">inclusion, directory search paths for</a>:</td><td> </td><td valign="top"><a href="Directory-Options.html#Directory-Options">Directory Options</a></td></tr> +<tr><td></td><td valign="top"><a href="INDEX-intrinsic.html#index-INDEX"><code>INDEX</code></a>:</td><td> </td><td valign="top"><a href="INDEX-intrinsic.html#INDEX-intrinsic">INDEX intrinsic</a></td></tr> +<tr><td></td><td valign="top"><a href="NOT.html#index-INOT"><code>INOT</code></a>:</td><td> </td><td valign="top"><a href="NOT.html#NOT">NOT</a></td></tr> +<tr><td></td><td valign="top"><a href="Asynchronous-I_002fO.html#index-input_002foutput_002c-asynchronous">input/output, asynchronous</a>:</td><td> </td><td valign="top"><a href="Asynchronous-I_002fO.html#Asynchronous-I_002fO">Asynchronous I/O</a></td></tr> +<tr><td></td><td valign="top"><a href="INT.html#index-INT"><code>INT</code></a>:</td><td> </td><td valign="top"><a href="INT.html#INT">INT</a></td></tr> +<tr><td></td><td valign="top"><a href="INT2.html#index-INT2"><code>INT2</code></a>:</td><td> </td><td valign="top"><a href="INT2.html#INT2">INT2</a></td></tr> +<tr><td></td><td valign="top"><a href="INT8.html#index-INT8"><code>INT8</code></a>:</td><td> </td><td valign="top"><a href="INT8.html#INT8">INT8</a></td></tr> +<tr><td></td><td valign="top"><a href="SELECTED_005fINT_005fKIND.html#index-integer-kind">integer kind</a>:</td><td> </td><td valign="top"><a href="SELECTED_005fINT_005fKIND.html#SELECTED_005fINT_005fKIND">SELECTED_INT_KIND</a></td></tr> +<tr><td></td><td valign="top"><a href="Behavior-on-integer-overflow.html#index-integer-overflow">integer overflow</a>:</td><td> </td><td valign="top"><a href="Behavior-on-integer-overflow.html#Behavior-on-integer-overflow">Behavior on integer overflow</a></td></tr> +<tr><td></td><td valign="top"><a href="Mixed_002dLanguage-Programming.html#index-Interoperability">Interoperability</a>:</td><td> </td><td valign="top"><a href="Mixed_002dLanguage-Programming.html#Mixed_002dLanguage-Programming">Mixed-Language Programming</a></td></tr> +<tr><td></td><td valign="top"><a href="Interoperability-with-C.html#index-interoperability-with-C">interoperability with C</a>:</td><td> </td><td valign="top"><a href="Interoperability-with-C.html#Interoperability-with-C">Interoperability with C</a></td></tr> +<tr><td></td><td valign="top"><a href="Derived-Types-and-struct.html#index-interoperability_002c-derived-type-and-struct">interoperability, derived type and struct</a>:</td><td> </td><td valign="top"><a href="Derived-Types-and-struct.html#Derived-Types-and-struct">Derived Types and struct</a></td></tr> +<tr><td></td><td valign="top"><a href="Intrinsic-Types.html#index-interoperability_002c-intrinsic-type">interoperability, intrinsic type</a>:</td><td> </td><td valign="top"><a href="Intrinsic-Types.html#Intrinsic-Types">Intrinsic Types</a></td></tr> +<tr><td></td><td valign="top"><a href="Interoperable-Subroutines-and-Functions.html#index-interoperability_002c-subroutine-and-function">interoperability, subroutine and function</a>:</td><td> </td><td valign="top"><a href="Interoperable-Subroutines-and-Functions.html#Interoperable-Subroutines-and-Functions">Interoperable Subroutines and Functions</a></td></tr> +<tr><td></td><td valign="top"><a href="Interoperable-Global-Variables.html#index-interoperability_002c-variable">interoperability, variable</a>:</td><td> </td><td valign="top"><a href="Interoperable-Global-Variables.html#Interoperable-Global-Variables">Interoperable Global Variables</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-intrinsic">intrinsic</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-intrinsic-1">intrinsic</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Intrinsic-Modules.html#index-intrinsic-Modules">intrinsic Modules</a>:</td><td> </td><td valign="top"><a href="Intrinsic-Modules.html#Intrinsic-Modules">Intrinsic Modules</a></td></tr> +<tr><td></td><td valign="top"><a href="Intrinsic-Procedures.html#index-intrinsic-procedures">intrinsic procedures</a>:</td><td> </td><td valign="top"><a href="Intrinsic-Procedures.html#Intrinsic-Procedures">Intrinsic Procedures</a></td></tr> +<tr><td></td><td valign="top"><a href="Intrinsic-Types.html#index-intrinsic-type-interoperability-with-C">intrinsic type interoperability with C</a>:</td><td> </td><td valign="top"><a href="Intrinsic-Types.html#Intrinsic-Types">Intrinsic Types</a></td></tr> +<tr><td></td><td valign="top"><a href="Type-variants-for-integer-intrinsics.html#index-intrinsics_002c-integer">intrinsics, integer</a>:</td><td> </td><td valign="top"><a href="Type-variants-for-integer-intrinsics.html#Type-variants-for-integer-intrinsics">Type variants for integer intrinsics</a></td></tr> +<tr><td></td><td valign="top"><a href="Extended-math-intrinsics.html#index-intrinsics_002c-math">intrinsics, math</a>:</td><td> </td><td valign="top"><a href="Extended-math-intrinsics.html#Extended-math-intrinsics">Extended math intrinsics</a></td></tr> +<tr><td></td><td valign="top"><a href="Extended-math-intrinsics.html#index-intrinsics_002c-trigonometric-functions">intrinsics, trigonometric functions</a>:</td><td> </td><td valign="top"><a href="Extended-math-intrinsics.html#Extended-math-intrinsics">Extended math intrinsics</a></td></tr> +<tr><td></td><td valign="top"><a href="index.html#index-Introduction">Introduction</a>:</td><td> </td><td valign="top"><a href="index.html#Top">Top</a></td></tr> +<tr><td></td><td valign="top"><a href="ACOSH.html#index-inverse-hyperbolic-cosine">inverse hyperbolic cosine</a>:</td><td> </td><td valign="top"><a href="ACOSH.html#ACOSH">ACOSH</a></td></tr> +<tr><td></td><td valign="top"><a href="ASINH.html#index-inverse-hyperbolic-sine">inverse hyperbolic sine</a>:</td><td> </td><td valign="top"><a href="ASINH.html#ASINH">ASINH</a></td></tr> +<tr><td></td><td valign="top"><a href="ATANH.html#index-inverse-hyperbolic-tangent">inverse hyperbolic tangent</a>:</td><td> </td><td valign="top"><a href="ATANH.html#ATANH">ATANH</a></td></tr> +<tr><td></td><td valign="top"><a href="IOR.html#index-IOR"><code>IOR</code></a>:</td><td> </td><td valign="top"><a href="IOR.html#IOR">IOR</a></td></tr> +<tr><td></td><td valign="top"><a href="IS_005fIOSTAT_005fEND.html#index-IOSTAT_002c-end-of-file"><code>IOSTAT</code>, end of file</a>:</td><td> </td><td valign="top"><a href="IS_005fIOSTAT_005fEND.html#IS_005fIOSTAT_005fEND">IS_IOSTAT_END</a></td></tr> +<tr><td></td><td valign="top"><a href="IS_005fIOSTAT_005fEOR.html#index-IOSTAT_002c-end-of-record"><code>IOSTAT</code>, end of record</a>:</td><td> </td><td valign="top"><a href="IS_005fIOSTAT_005fEOR.html#IS_005fIOSTAT_005fEOR">IS_IOSTAT_EOR</a></td></tr> +<tr><td></td><td valign="top"><a href="IPARITY.html#index-IPARITY"><code>IPARITY</code></a>:</td><td> </td><td valign="top"><a href="IPARITY.html#IPARITY">IPARITY</a></td></tr> +<tr><td></td><td valign="top"><a href="IRAND.html#index-IRAND"><code>IRAND</code></a>:</td><td> </td><td valign="top"><a href="IRAND.html#IRAND">IRAND</a></td></tr> +<tr><td></td><td valign="top"><a href="ISATTY.html#index-ISATTY"><code>ISATTY</code></a>:</td><td> </td><td valign="top"><a href="ISATTY.html#ISATTY">ISATTY</a></td></tr> +<tr><td></td><td valign="top"><a href="ISHFT.html#index-ISHFT"><code>ISHFT</code></a>:</td><td> </td><td valign="top"><a href="ISHFT.html#ISHFT">ISHFT</a></td></tr> +<tr><td></td><td valign="top"><a href="ISHFTC.html#index-ISHFTC"><code>ISHFTC</code></a>:</td><td> </td><td valign="top"><a href="ISHFTC.html#ISHFTC">ISHFTC</a></td></tr> +<tr><td></td><td valign="top"><a href="SIGN.html#index-ISIGN"><code>ISIGN</code></a>:</td><td> </td><td valign="top"><a href="SIGN.html#SIGN">SIGN</a></td></tr> +<tr><td></td><td valign="top"><a href="ISNAN.html#index-ISNAN"><code>ISNAN</code></a>:</td><td> </td><td valign="top"><a href="ISNAN.html#ISNAN">ISNAN</a></td></tr> +<tr><td></td><td valign="top"><a href="IS_005fIOSTAT_005fEND.html#index-IS_005fIOSTAT_005fEND"><code>IS_IOSTAT_END</code></a>:</td><td> </td><td valign="top"><a href="IS_005fIOSTAT_005fEND.html#IS_005fIOSTAT_005fEND">IS_IOSTAT_END</a></td></tr> +<tr><td></td><td valign="top"><a href="IS_005fCONTIGUOUS.html#index-IS_005fIOSTAT_005fEOR"><code>IS_IOSTAT_EOR</code></a>:</td><td> </td><td valign="top"><a href="IS_005fCONTIGUOUS.html#IS_005fCONTIGUOUS">IS_CONTIGUOUS</a></td></tr> +<tr><td></td><td valign="top"><a href="IS_005fIOSTAT_005fEOR.html#index-IS_005fIOSTAT_005fEOR-1"><code>IS_IOSTAT_EOR</code></a>:</td><td> </td><td valign="top"><a href="IS_005fIOSTAT_005fEOR.html#IS_005fIOSTAT_005fEOR">IS_IOSTAT_EOR</a></td></tr> +<tr><td></td><td valign="top"><a href="ITIME.html#index-ITIME"><code>ITIME</code></a>:</td><td> </td><td valign="top"><a href="ITIME.html#ITIME">ITIME</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-J">J</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="ABS.html#index-JIABS"><code>JIABS</code></a>:</td><td> </td><td valign="top"><a href="ABS.html#ABS">ABS</a></td></tr> +<tr><td></td><td valign="top"><a href="IAND.html#index-JIAND"><code>JIAND</code></a>:</td><td> </td><td valign="top"><a href="IAND.html#IAND">IAND</a></td></tr> +<tr><td></td><td valign="top"><a href="IBCLR.html#index-JIBCLR"><code>JIBCLR</code></a>:</td><td> </td><td valign="top"><a href="IBCLR.html#IBCLR">IBCLR</a></td></tr> +<tr><td></td><td valign="top"><a href="IBITS.html#index-JIBITS"><code>JIBITS</code></a>:</td><td> </td><td valign="top"><a href="IBITS.html#IBITS">IBITS</a></td></tr> +<tr><td></td><td valign="top"><a href="IBSET.html#index-JIBSET"><code>JIBSET</code></a>:</td><td> </td><td valign="top"><a href="IBSET.html#IBSET">IBSET</a></td></tr> +<tr><td></td><td valign="top"><a href="IEOR.html#index-JIEOR"><code>JIEOR</code></a>:</td><td> </td><td valign="top"><a href="IEOR.html#IEOR">IEOR</a></td></tr> +<tr><td></td><td valign="top"><a href="IOR.html#index-JIOR"><code>JIOR</code></a>:</td><td> </td><td valign="top"><a href="IOR.html#IOR">IOR</a></td></tr> +<tr><td></td><td valign="top"><a href="ISHFT.html#index-JISHFT"><code>JISHFT</code></a>:</td><td> </td><td valign="top"><a href="ISHFT.html#ISHFT">ISHFT</a></td></tr> +<tr><td></td><td valign="top"><a href="ISHFTC.html#index-JISHFTC"><code>JISHFTC</code></a>:</td><td> </td><td valign="top"><a href="ISHFTC.html#ISHFTC">ISHFTC</a></td></tr> +<tr><td></td><td valign="top"><a href="MOD.html#index-JMOD"><code>JMOD</code></a>:</td><td> </td><td valign="top"><a href="MOD.html#MOD">MOD</a></td></tr> +<tr><td></td><td valign="top"><a href="MVBITS.html#index-JMVBITS"><code>JMVBITS</code></a>:</td><td> </td><td valign="top"><a href="MVBITS.html#MVBITS">MVBITS</a></td></tr> +<tr><td></td><td valign="top"><a href="NOT.html#index-JNOT"><code>JNOT</code></a>:</td><td> </td><td valign="top"><a href="NOT.html#NOT">NOT</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-K">K</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="ABS.html#index-KIABS"><code>KIABS</code></a>:</td><td> </td><td valign="top"><a href="ABS.html#ABS">ABS</a></td></tr> +<tr><td></td><td valign="top"><a href="IAND.html#index-KIAND"><code>KIAND</code></a>:</td><td> </td><td valign="top"><a href="IAND.html#IAND">IAND</a></td></tr> +<tr><td></td><td valign="top"><a href="IBCLR.html#index-KIBCLR"><code>KIBCLR</code></a>:</td><td> </td><td valign="top"><a href="IBCLR.html#IBCLR">IBCLR</a></td></tr> +<tr><td></td><td valign="top"><a href="IBITS.html#index-KIBITS"><code>KIBITS</code></a>:</td><td> </td><td valign="top"><a href="IBITS.html#IBITS">IBITS</a></td></tr> +<tr><td></td><td valign="top"><a href="IBSET.html#index-KIBSET"><code>KIBSET</code></a>:</td><td> </td><td valign="top"><a href="IBSET.html#IBSET">IBSET</a></td></tr> +<tr><td></td><td valign="top"><a href="IEOR.html#index-KIEOR"><code>KIEOR</code></a>:</td><td> </td><td valign="top"><a href="IEOR.html#IEOR">IEOR</a></td></tr> +<tr><td></td><td valign="top"><a href="KILL.html#index-KILL"><code>KILL</code></a>:</td><td> </td><td valign="top"><a href="KILL.html#KILL">KILL</a></td></tr> +<tr><td></td><td valign="top"><a href="KIND-Type-Parameters.html#index-kind">kind</a>:</td><td> </td><td valign="top"><a href="KIND-Type-Parameters.html#KIND-Type-Parameters">KIND Type Parameters</a></td></tr> +<tr><td></td><td valign="top"><a href="KIND.html#index-KIND"><code>KIND</code></a>:</td><td> </td><td valign="top"><a href="KIND.html#KIND">KIND</a></td></tr> +<tr><td></td><td valign="top"><a href="KIND.html#index-kind-1">kind</a>:</td><td> </td><td valign="top"><a href="KIND.html#KIND">KIND</a></td></tr> +<tr><td></td><td valign="top"><a href="SELECTED_005fCHAR_005fKIND.html#index-kind_002c-character">kind, character</a>:</td><td> </td><td valign="top"><a href="SELECTED_005fCHAR_005fKIND.html#SELECTED_005fCHAR_005fKIND">SELECTED_CHAR_KIND</a></td></tr> +<tr><td></td><td valign="top"><a href="SELECTED_005fINT_005fKIND.html#index-kind_002c-integer">kind, integer</a>:</td><td> </td><td valign="top"><a href="SELECTED_005fINT_005fKIND.html#SELECTED_005fINT_005fKIND">SELECTED_INT_KIND</a></td></tr> +<tr><td></td><td valign="top"><a href="Old_002dstyle-kind-specifications.html#index-kind_002c-old_002dstyle">kind, old-style</a>:</td><td> </td><td valign="top"><a href="Old_002dstyle-kind-specifications.html#Old_002dstyle-kind-specifications">Old-style kind specifications</a></td></tr> +<tr><td></td><td valign="top"><a href="SELECTED_005fREAL_005fKIND.html#index-kind_002c-real">kind, real</a>:</td><td> </td><td valign="top"><a href="SELECTED_005fREAL_005fKIND.html#SELECTED_005fREAL_005fKIND">SELECTED_REAL_KIND</a></td></tr> +<tr><td></td><td valign="top"><a href="IOR.html#index-KIOR"><code>KIOR</code></a>:</td><td> </td><td valign="top"><a href="IOR.html#IOR">IOR</a></td></tr> +<tr><td></td><td valign="top"><a href="ISHFT.html#index-KISHFT"><code>KISHFT</code></a>:</td><td> </td><td valign="top"><a href="ISHFT.html#ISHFT">ISHFT</a></td></tr> +<tr><td></td><td valign="top"><a href="ISHFTC.html#index-KISHFTC"><code>KISHFTC</code></a>:</td><td> </td><td valign="top"><a href="ISHFTC.html#ISHFTC">ISHFTC</a></td></tr> +<tr><td></td><td valign="top"><a href="MOD.html#index-KMOD"><code>KMOD</code></a>:</td><td> </td><td valign="top"><a href="MOD.html#MOD">MOD</a></td></tr> +<tr><td></td><td valign="top"><a href="MVBITS.html#index-KMVBITS"><code>KMVBITS</code></a>:</td><td> </td><td valign="top"><a href="MVBITS.html#MVBITS">MVBITS</a></td></tr> +<tr><td></td><td valign="top"><a href="NOT.html#index-KNOT"><code>KNOT</code></a>:</td><td> </td><td valign="top"><a href="NOT.html#NOT">NOT</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-L">L</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="NORM2.html#index-L2-vector-norm">L2 vector norm</a>:</td><td> </td><td valign="top"><a href="NORM2.html#NORM2">NORM2</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-language_002c-dialect-options">language, dialect options</a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="LBOUND.html#index-LBOUND"><code>LBOUND</code></a>:</td><td> </td><td valign="top"><a href="LBOUND.html#LBOUND">LBOUND</a></td></tr> +<tr><td></td><td valign="top"><a href="LCOBOUND.html#index-LCOBOUND"><code>LCOBOUND</code></a>:</td><td> </td><td valign="top"><a href="LCOBOUND.html#LCOBOUND">LCOBOUND</a></td></tr> +<tr><td></td><td valign="top"><a href="LEADZ.html#index-LEADZ"><code>LEADZ</code></a>:</td><td> </td><td valign="top"><a href="LEADZ.html#LEADZ">LEADZ</a></td></tr> +<tr><td></td><td valign="top"><a href="DSHIFTL.html#index-left-shift_002c-combined">left shift, combined</a>:</td><td> </td><td valign="top"><a href="DSHIFTL.html#DSHIFTL">DSHIFTL</a></td></tr> +<tr><td></td><td valign="top"><a href="LEN.html#index-LEN"><code>LEN</code></a>:</td><td> </td><td valign="top"><a href="LEN.html#LEN">LEN</a></td></tr> +<tr><td></td><td valign="top"><a href="LEN_005fTRIM.html#index-LEN_005fTRIM"><code>LEN_TRIM</code></a>:</td><td> </td><td valign="top"><a href="LEN_005fTRIM.html#LEN_005fTRIM">LEN_TRIM</a></td></tr> +<tr><td></td><td valign="top"><a href="LGE.html#index-lexical-comparison-of-strings">lexical comparison of strings</a>:</td><td> </td><td valign="top"><a href="LGE.html#LGE">LGE</a></td></tr> +<tr><td></td><td valign="top"><a href="LGT.html#index-lexical-comparison-of-strings-1">lexical comparison of strings</a>:</td><td> </td><td valign="top"><a href="LGT.html#LGT">LGT</a></td></tr> +<tr><td></td><td valign="top"><a href="LLE.html#index-lexical-comparison-of-strings-2">lexical comparison of strings</a>:</td><td> </td><td valign="top"><a href="LLE.html#LLE">LLE</a></td></tr> +<tr><td></td><td valign="top"><a href="LLT.html#index-lexical-comparison-of-strings-3">lexical comparison of strings</a>:</td><td> </td><td valign="top"><a href="LLT.html#LLT">LLT</a></td></tr> +<tr><td></td><td valign="top"><a href="LOG_005fGAMMA.html#index-LGAMMA"><code>LGAMMA</code></a>:</td><td> </td><td valign="top"><a href="LOG_005fGAMMA.html#LOG_005fGAMMA">LOG_GAMMA</a></td></tr> +<tr><td></td><td valign="top"><a href="LGE.html#index-LGE"><code>LGE</code></a>:</td><td> </td><td valign="top"><a href="LGE.html#LGE">LGE</a></td></tr> +<tr><td></td><td valign="top"><a href="LGT.html#index-LGT"><code>LGT</code></a>:</td><td> </td><td valign="top"><a href="LGT.html#LGT">LGT</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-libf2c-calling-convention">libf2c calling convention</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-libf2c-calling-convention-1">libf2c calling convention</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fset_005fargs.html#index-libgfortran-initialization_002c-set_005fargs">libgfortran initialization, set_args</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fset_005fargs.html#g_t_005fgfortran_005fset_005fargs">_gfortran_set_args</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fset_005fconvert.html#index-libgfortran-initialization_002c-set_005fconvert">libgfortran initialization, set_convert</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fset_005fconvert.html#g_t_005fgfortran_005fset_005fconvert">_gfortran_set_convert</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fset_005ffpe.html#index-libgfortran-initialization_002c-set_005ffpe">libgfortran initialization, set_fpe</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fset_005ffpe.html#g_t_005fgfortran_005fset_005ffpe">_gfortran_set_fpe</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fset_005fmax_005fsubrecord_005flength.html#index-libgfortran-initialization_002c-set_005fmax_005fsubrecord_005flength">libgfortran initialization, set_max_subrecord_length</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fset_005fmax_005fsubrecord_005flength.html#g_t_005fgfortran_005fset_005fmax_005fsubrecord_005flength">_gfortran_set_max_subrecord_length</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fset_005foptions.html#index-libgfortran-initialization_002c-set_005foptions">libgfortran initialization, set_options</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fset_005foptions.html#g_t_005fgfortran_005fset_005foptions">_gfortran_set_options</a></td></tr> +<tr><td></td><td valign="top"><a href="_005fgfortran_005fset_005frecord_005fmarker.html#index-libgfortran-initialization_002c-set_005frecord_005fmarker">libgfortran initialization, set_record_marker</a>:</td><td> </td><td valign="top"><a href="_005fgfortran_005fset_005frecord_005fmarker.html#g_t_005fgfortran_005fset_005frecord_005fmarker">_gfortran_set_record_marker</a></td></tr> +<tr><td></td><td valign="top"><a href="HUGE.html#index-limits_002c-largest-number">limits, largest number</a>:</td><td> </td><td valign="top"><a href="HUGE.html#HUGE">HUGE</a></td></tr> +<tr><td></td><td valign="top"><a href="TINY.html#index-limits_002c-smallest-number">limits, smallest number</a>:</td><td> </td><td valign="top"><a href="TINY.html#TINY">TINY</a></td></tr> +<tr><td></td><td valign="top"><a href="LINK.html#index-LINK"><code>LINK</code></a>:</td><td> </td><td valign="top"><a href="LINK.html#LINK">LINK</a></td></tr> +<tr><td></td><td valign="top"><a href="Link-Options.html#index-linking_002c-static">linking, static</a>:</td><td> </td><td valign="top"><a href="Link-Options.html#Link-Options">Link Options</a></td></tr> +<tr><td></td><td valign="top"><a href="LLE.html#index-LLE"><code>LLE</code></a>:</td><td> </td><td valign="top"><a href="LLE.html#LLE">LLE</a></td></tr> +<tr><td></td><td valign="top"><a href="LLT.html#index-LLT"><code>LLT</code></a>:</td><td> </td><td valign="top"><a href="LLT.html#LLT">LLT</a></td></tr> +<tr><td></td><td valign="top"><a href="LNBLNK.html#index-LNBLNK"><code>LNBLNK</code></a>:</td><td> </td><td valign="top"><a href="LNBLNK.html#LNBLNK">LNBLNK</a></td></tr> +<tr><td></td><td valign="top"><a href="_0025LOC-as-an-rvalue.html#index-LOC">LOC</a>:</td><td> </td><td valign="top"><a href="_0025LOC-as-an-rvalue.html#g_t_0025LOC-as-an-rvalue">%LOC as an rvalue</a></td></tr> +<tr><td></td><td valign="top"><a href="LOC.html#index-LOC-1"><code>LOC</code></a>:</td><td> </td><td valign="top"><a href="LOC.html#LOC">LOC</a></td></tr> +<tr><td></td><td valign="top"><a href="LOC.html#index-location-of-a-variable-in-memory">location of a variable in memory</a>:</td><td> </td><td valign="top"><a href="LOC.html#LOC">LOC</a></td></tr> +<tr><td></td><td valign="top"><a href="LOG.html#index-LOG"><code>LOG</code></a>:</td><td> </td><td valign="top"><a href="LOG.html#LOG">LOG</a></td></tr> +<tr><td></td><td valign="top"><a href="LOG10.html#index-LOG10"><code>LOG10</code></a>:</td><td> </td><td valign="top"><a href="LOG10.html#LOG10">LOG10</a></td></tr> +<tr><td></td><td valign="top"><a href="LOG.html#index-logarithm-function">logarithm function</a>:</td><td> </td><td valign="top"><a href="LOG.html#LOG">LOG</a></td></tr> +<tr><td></td><td valign="top"><a href="LOG10.html#index-logarithm-function-with-base-10">logarithm function with base 10</a>:</td><td> </td><td valign="top"><a href="LOG10.html#LOG10">LOG10</a></td></tr> +<tr><td></td><td valign="top"><a href="EXP.html#index-logarithm-function_002c-inverse">logarithm function, inverse</a>:</td><td> </td><td valign="top"><a href="EXP.html#EXP">EXP</a></td></tr> +<tr><td></td><td valign="top"><a href="LOGICAL.html#index-LOGICAL"><code>LOGICAL</code></a>:</td><td> </td><td valign="top"><a href="LOGICAL.html#LOGICAL">LOGICAL</a></td></tr> +<tr><td></td><td valign="top"><a href="AND.html#index-logical-and_002c-bitwise">logical and, bitwise</a>:</td><td> </td><td valign="top"><a href="AND.html#AND">AND</a></td></tr> +<tr><td></td><td valign="top"><a href="IAND.html#index-logical-and_002c-bitwise-1">logical and, bitwise</a>:</td><td> </td><td valign="top"><a href="IAND.html#IAND">IAND</a></td></tr> +<tr><td></td><td valign="top"><a href="IEOR.html#index-logical-exclusive-or_002c-bitwise">logical exclusive or, bitwise</a>:</td><td> </td><td valign="top"><a href="IEOR.html#IEOR">IEOR</a></td></tr> +<tr><td></td><td valign="top"><a href="XOR.html#index-logical-exclusive-or_002c-bitwise-1">logical exclusive or, bitwise</a>:</td><td> </td><td valign="top"><a href="XOR.html#XOR">XOR</a></td></tr> +<tr><td></td><td valign="top"><a href="NOT.html#index-logical-not_002c-bitwise">logical not, bitwise</a>:</td><td> </td><td valign="top"><a href="NOT.html#NOT">NOT</a></td></tr> +<tr><td></td><td valign="top"><a href="IOR.html#index-logical-or_002c-bitwise">logical or, bitwise</a>:</td><td> </td><td valign="top"><a href="IOR.html#IOR">IOR</a></td></tr> +<tr><td></td><td valign="top"><a href="OR.html#index-logical-or_002c-bitwise-1">logical or, bitwise</a>:</td><td> </td><td valign="top"><a href="OR.html#OR">OR</a></td></tr> +<tr><td></td><td valign="top"><a href="Bitwise-logical-operators.html#index-logical_002c-bitwise">logical, bitwise</a>:</td><td> </td><td valign="top"><a href="Bitwise-logical-operators.html#Bitwise-logical-operators">Bitwise logical operators</a></td></tr> +<tr><td></td><td valign="top"><a href="Internal-representation-of-LOGICAL-variables.html#index-logical_002c-variable-representation">logical, variable representation</a>:</td><td> </td><td valign="top"><a href="Internal-representation-of-LOGICAL-variables.html#Internal-representation-of-LOGICAL-variables">Internal representation of LOGICAL variables</a></td></tr> +<tr><td></td><td valign="top"><a href="GETLOG.html#index-login-name">login name</a>:</td><td> </td><td valign="top"><a href="GETLOG.html#GETLOG">GETLOG</a></td></tr> +<tr><td></td><td valign="top"><a href="LOG_005fGAMMA.html#index-LOG_005fGAMMA"><code>LOG_GAMMA</code></a>:</td><td> </td><td valign="top"><a href="LOG_005fGAMMA.html#LOG_005fGAMMA">LOG_GAMMA</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-loop-interchange_002c-Fortran">loop interchange, Fortran</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-loop-interchange_002c-warning">loop interchange, warning</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="LSHIFT.html#index-LSHIFT"><code>LSHIFT</code></a>:</td><td> </td><td valign="top"><a href="LSHIFT.html#LSHIFT">LSHIFT</a></td></tr> +<tr><td></td><td valign="top"><a href="LSTAT.html#index-LSTAT"><code>LSTAT</code></a>:</td><td> </td><td valign="top"><a href="LSTAT.html#LSTAT">LSTAT</a></td></tr> +<tr><td></td><td valign="top"><a href="LTIME.html#index-LTIME"><code>LTIME</code></a>:</td><td> </td><td valign="top"><a href="LTIME.html#LTIME">LTIME</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-M">M</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="MALLOC.html#index-MALLOC"><code>MALLOC</code></a>:</td><td> </td><td valign="top"><a href="MALLOC.html#MALLOC">MALLOC</a></td></tr> +<tr><td></td><td valign="top"><a href="UNION-and-MAP.html#index-MAP"><code>MAP</code></a>:</td><td> </td><td valign="top"><a href="UNION-and-MAP.html#UNION-and-MAP">UNION and MAP</a></td></tr> +<tr><td></td><td valign="top"><a href="MASKL.html#index-mask_002c-left-justified">mask, left justified</a>:</td><td> </td><td valign="top"><a href="MASKL.html#MASKL">MASKL</a></td></tr> +<tr><td></td><td valign="top"><a href="MASKR.html#index-mask_002c-right-justified">mask, right justified</a>:</td><td> </td><td valign="top"><a href="MASKR.html#MASKR">MASKR</a></td></tr> +<tr><td></td><td valign="top"><a href="MASKL.html#index-MASKL"><code>MASKL</code></a>:</td><td> </td><td valign="top"><a href="MASKL.html#MASKL">MASKL</a></td></tr> +<tr><td></td><td valign="top"><a href="MASKR.html#index-MASKR"><code>MASKR</code></a>:</td><td> </td><td valign="top"><a href="MASKR.html#MASKR">MASKR</a></td></tr> +<tr><td></td><td valign="top"><a href="MATMUL.html#index-MATMUL"><code>MATMUL</code></a>:</td><td> </td><td valign="top"><a href="MATMUL.html#MATMUL">MATMUL</a></td></tr> +<tr><td></td><td valign="top"><a href="MATMUL.html#index-matrix-multiplication">matrix multiplication</a>:</td><td> </td><td valign="top"><a href="MATMUL.html#MATMUL">MATMUL</a></td></tr> +<tr><td></td><td valign="top"><a href="TRANSPOSE.html#index-matrix_002c-transpose">matrix, transpose</a>:</td><td> </td><td valign="top"><a href="TRANSPOSE.html#TRANSPOSE">TRANSPOSE</a></td></tr> +<tr><td></td><td valign="top"><a href="MAX.html#index-MAX"><code>MAX</code></a>:</td><td> </td><td valign="top"><a href="MAX.html#MAX">MAX</a></td></tr> +<tr><td></td><td valign="top"><a href="MAX-and-MIN-intrinsics-with-REAL-NaN-arguments.html#index-MAX_002c-MIN_002c-NaN">MAX, MIN, NaN</a>:</td><td> </td><td valign="top"><a href="MAX-and-MIN-intrinsics-with-REAL-NaN-arguments.html#MAX-and-MIN-intrinsics-with-REAL-NaN-arguments">MAX and MIN intrinsics with REAL NaN arguments</a></td></tr> +<tr><td></td><td valign="top"><a href="MAX.html#index-MAX0"><code>MAX0</code></a>:</td><td> </td><td valign="top"><a href="MAX.html#MAX">MAX</a></td></tr> +<tr><td></td><td valign="top"><a href="MAX.html#index-MAX1"><code>MAX1</code></a>:</td><td> </td><td valign="top"><a href="MAX.html#MAX">MAX</a></td></tr> +<tr><td></td><td valign="top"><a href="MAXEXPONENT.html#index-MAXEXPONENT"><code>MAXEXPONENT</code></a>:</td><td> </td><td valign="top"><a href="MAXEXPONENT.html#MAXEXPONENT">MAXEXPONENT</a></td></tr> +<tr><td></td><td valign="top"><a href="MAX.html#index-maximum-value">maximum value</a>:</td><td> </td><td valign="top"><a href="MAX.html#MAX">MAX</a></td></tr> +<tr><td></td><td valign="top"><a href="MAXVAL.html#index-maximum-value-1">maximum value</a>:</td><td> </td><td valign="top"><a href="MAXVAL.html#MAXVAL">MAXVAL</a></td></tr> +<tr><td></td><td valign="top"><a href="MAXLOC.html#index-MAXLOC"><code>MAXLOC</code></a>:</td><td> </td><td valign="top"><a href="MAXLOC.html#MAXLOC">MAXLOC</a></td></tr> +<tr><td></td><td valign="top"><a href="MAXVAL.html#index-MAXVAL"><code>MAXVAL</code></a>:</td><td> </td><td valign="top"><a href="MAXVAL.html#MAXVAL">MAXVAL</a></td></tr> +<tr><td></td><td valign="top"><a href="MCLOCK.html#index-MCLOCK"><code>MCLOCK</code></a>:</td><td> </td><td valign="top"><a href="MCLOCK.html#MCLOCK">MCLOCK</a></td></tr> +<tr><td></td><td valign="top"><a href="MCLOCK8.html#index-MCLOCK8"><code>MCLOCK8</code></a>:</td><td> </td><td valign="top"><a href="MCLOCK8.html#MCLOCK8">MCLOCK8</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-memory-checking">memory checking</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="MERGE.html#index-MERGE"><code>MERGE</code></a>:</td><td> </td><td valign="top"><a href="MERGE.html#MERGE">MERGE</a></td></tr> +<tr><td></td><td valign="top"><a href="MERGE_005fBITS.html#index-MERGE_005fBITS"><code>MERGE_BITS</code></a>:</td><td> </td><td valign="top"><a href="MERGE_005fBITS.html#MERGE_005fBITS">MERGE_BITS</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-messages_002c-error">messages, error</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-messages_002c-warning">messages, warning</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="MIN.html#index-MIN"><code>MIN</code></a>:</td><td> </td><td valign="top"><a href="MIN.html#MIN">MIN</a></td></tr> +<tr><td></td><td valign="top"><a href="MIN.html#index-MIN0"><code>MIN0</code></a>:</td><td> </td><td valign="top"><a href="MIN.html#MIN">MIN</a></td></tr> +<tr><td></td><td valign="top"><a href="MIN.html#index-MIN1"><code>MIN1</code></a>:</td><td> </td><td valign="top"><a href="MIN.html#MIN">MIN</a></td></tr> +<tr><td></td><td valign="top"><a href="MINEXPONENT.html#index-MINEXPONENT"><code>MINEXPONENT</code></a>:</td><td> </td><td valign="top"><a href="MINEXPONENT.html#MINEXPONENT">MINEXPONENT</a></td></tr> +<tr><td></td><td valign="top"><a href="MIN.html#index-minimum-value">minimum value</a>:</td><td> </td><td valign="top"><a href="MIN.html#MIN">MIN</a></td></tr> +<tr><td></td><td valign="top"><a href="MINVAL.html#index-minimum-value-1">minimum value</a>:</td><td> </td><td valign="top"><a href="MINVAL.html#MINVAL">MINVAL</a></td></tr> +<tr><td></td><td valign="top"><a href="MINLOC.html#index-MINLOC"><code>MINLOC</code></a>:</td><td> </td><td valign="top"><a href="MINLOC.html#MINLOC">MINLOC</a></td></tr> +<tr><td></td><td valign="top"><a href="MINVAL.html#index-MINVAL"><code>MINVAL</code></a>:</td><td> </td><td valign="top"><a href="MINVAL.html#MINVAL">MINVAL</a></td></tr> +<tr><td></td><td valign="top"><a href="Mixed_002dLanguage-Programming.html#index-Mixed_002dlanguage-programming">Mixed-language programming</a>:</td><td> </td><td valign="top"><a href="Mixed_002dLanguage-Programming.html#Mixed_002dLanguage-Programming">Mixed-Language Programming</a></td></tr> +<tr><td></td><td valign="top"><a href="MOD.html#index-MOD"><code>MOD</code></a>:</td><td> </td><td valign="top"><a href="MOD.html#MOD">MOD</a></td></tr> +<tr><td></td><td valign="top"><a href="RADIX.html#index-model-representation_002c-base">model representation, base</a>:</td><td> </td><td valign="top"><a href="RADIX.html#RADIX">RADIX</a></td></tr> +<tr><td></td><td valign="top"><a href="EPSILON.html#index-model-representation_002c-epsilon">model representation, epsilon</a>:</td><td> </td><td valign="top"><a href="EPSILON.html#EPSILON">EPSILON</a></td></tr> +<tr><td></td><td valign="top"><a href="HUGE.html#index-model-representation_002c-largest-number">model representation, largest number</a>:</td><td> </td><td valign="top"><a href="HUGE.html#HUGE">HUGE</a></td></tr> +<tr><td></td><td valign="top"><a href="MAXEXPONENT.html#index-model-representation_002c-maximum-exponent">model representation, maximum exponent</a>:</td><td> </td><td valign="top"><a href="MAXEXPONENT.html#MAXEXPONENT">MAXEXPONENT</a></td></tr> +<tr><td></td><td valign="top"><a href="MINEXPONENT.html#index-model-representation_002c-minimum-exponent">model representation, minimum exponent</a>:</td><td> </td><td valign="top"><a href="MINEXPONENT.html#MINEXPONENT">MINEXPONENT</a></td></tr> +<tr><td></td><td valign="top"><a href="PRECISION.html#index-model-representation_002c-precision">model representation, precision</a>:</td><td> </td><td valign="top"><a href="PRECISION.html#PRECISION">PRECISION</a></td></tr> +<tr><td></td><td valign="top"><a href="RADIX.html#index-model-representation_002c-radix">model representation, radix</a>:</td><td> </td><td valign="top"><a href="RADIX.html#RADIX">RADIX</a></td></tr> +<tr><td></td><td valign="top"><a href="RANGE.html#index-model-representation_002c-range">model representation, range</a>:</td><td> </td><td valign="top"><a href="RANGE.html#RANGE">RANGE</a></td></tr> +<tr><td></td><td valign="top"><a href="DIGITS.html#index-model-representation_002c-significant-digits">model representation, significant digits</a>:</td><td> </td><td valign="top"><a href="DIGITS.html#DIGITS">DIGITS</a></td></tr> +<tr><td></td><td valign="top"><a href="TINY.html#index-model-representation_002c-smallest-number">model representation, smallest number</a>:</td><td> </td><td valign="top"><a href="TINY.html#TINY">TINY</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-module-entities">module entities</a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Directory-Options.html#index-module-search-path">module search path</a>:</td><td> </td><td valign="top"><a href="Directory-Options.html#Directory-Options">Directory Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Directory-Options.html#index-module-search-path-1">module search path</a>:</td><td> </td><td valign="top"><a href="Directory-Options.html#Directory-Options">Directory Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Directory-Options.html#index-module-search-path-2">module search path</a>:</td><td> </td><td valign="top"><a href="Directory-Options.html#Directory-Options">Directory Options</a></td></tr> +<tr><td></td><td valign="top"><a href="MODULO.html#index-MODULO"><code>MODULO</code></a>:</td><td> </td><td valign="top"><a href="MODULO.html#MODULO">MODULO</a></td></tr> +<tr><td></td><td valign="top"><a href="MODULO.html#index-modulo">modulo</a>:</td><td> </td><td valign="top"><a href="MODULO.html#MODULO">MODULO</a></td></tr> +<tr><td></td><td valign="top"><a href="MOVE_005fALLOC.html#index-MOVE_005fALLOC"><code>MOVE_ALLOC</code></a>:</td><td> </td><td valign="top"><a href="MOVE_005fALLOC.html#MOVE_005fALLOC">MOVE_ALLOC</a></td></tr> +<tr><td></td><td valign="top"><a href="MOVE_005fALLOC.html#index-moving-allocation">moving allocation</a>:</td><td> </td><td valign="top"><a href="MOVE_005fALLOC.html#MOVE_005fALLOC">MOVE_ALLOC</a></td></tr> +<tr><td></td><td valign="top"><a href="PRODUCT.html#index-multiply-array-elements">multiply array elements</a>:</td><td> </td><td valign="top"><a href="PRODUCT.html#PRODUCT">PRODUCT</a></td></tr> +<tr><td></td><td valign="top"><a href="MVBITS.html#index-MVBITS"><code>MVBITS</code></a>:</td><td> </td><td valign="top"><a href="MVBITS.html#MVBITS">MVBITS</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-N">N</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="OPEN_0028-_002e_002e_002e-NAME_003d_0029.html#index-NAME"><code>NAME</code></a>:</td><td> </td><td valign="top"><a href="OPEN_0028-_002e_002e_002e-NAME_003d_0029.html#OPEN_0028-_002e_002e_002e-NAME_003d_0029">OPEN( ... NAME=)</a></td></tr> +<tr><td></td><td valign="top"><a href="Extensions-to-namelist.html#index-Namelist">Namelist</a>:</td><td> </td><td valign="top"><a href="Extensions-to-namelist.html#Extensions-to-namelist">Extensions to namelist</a></td></tr> +<tr><td></td><td valign="top"><a href="LOG.html#index-natural-logarithm-function">natural logarithm function</a>:</td><td> </td><td valign="top"><a href="LOG.html#LOG">LOG</a></td></tr> +<tr><td></td><td valign="top"><a href="NEAREST.html#index-NEAREST"><code>NEAREST</code></a>:</td><td> </td><td valign="top"><a href="NEAREST.html#NEAREST">NEAREST</a></td></tr> +<tr><td></td><td valign="top"><a href="NEW_005fLINE.html#index-newline">newline</a>:</td><td> </td><td valign="top"><a href="NEW_005fLINE.html#NEW_005fLINE">NEW_LINE</a></td></tr> +<tr><td></td><td valign="top"><a href="NEW_005fLINE.html#index-NEW_005fLINE"><code>NEW_LINE</code></a>:</td><td> </td><td valign="top"><a href="NEW_005fLINE.html#NEW_005fLINE">NEW_LINE</a></td></tr> +<tr><td></td><td valign="top"><a href="NINT.html#index-NINT"><code>NINT</code></a>:</td><td> </td><td valign="top"><a href="NINT.html#NINT">NINT</a></td></tr> +<tr><td></td><td valign="top"><a href="NORM2.html#index-norm_002c-Euclidean">norm, Euclidean</a>:</td><td> </td><td valign="top"><a href="NORM2.html#NORM2">NORM2</a></td></tr> +<tr><td></td><td valign="top"><a href="NORM2.html#index-NORM2"><code>NORM2</code></a>:</td><td> </td><td valign="top"><a href="NORM2.html#NORM2">NORM2</a></td></tr> +<tr><td></td><td valign="top"><a href="Extended-I_002fO-specifiers.html#index-NOSHARED"><code>NOSHARED</code></a>:</td><td> </td><td valign="top"><a href="Extended-I_002fO-specifiers.html#Extended-I_002fO-specifiers">Extended I/O specifiers</a></td></tr> +<tr><td></td><td valign="top"><a href="NOT.html#index-NOT"><code>NOT</code></a>:</td><td> </td><td valign="top"><a href="NOT.html#NOT">NOT</a></td></tr> +<tr><td></td><td valign="top"><a href="NULL.html#index-NULL"><code>NULL</code></a>:</td><td> </td><td valign="top"><a href="NULL.html#NULL">NULL</a></td></tr> +<tr><td></td><td valign="top"><a href="NUM_005fIMAGES.html#index-NUM_005fIMAGES"><code>NUM_IMAGES</code></a>:</td><td> </td><td valign="top"><a href="NUM_005fIMAGES.html#NUM_005fIMAGES">NUM_IMAGES</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-O">O</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Files-opened-without-an-explicit-ACTION_003d-specifier.html#index-open_002c-action">open, action</a>:</td><td> </td><td valign="top"><a href="Files-opened-without-an-explicit-ACTION_003d-specifier.html#Files-opened-without-an-explicit-ACTION_003d-specifier">Files opened without an explicit ACTION= specifier</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-OpenACC">OpenACC</a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="OpenACC.html#index-OpenACC-1">OpenACC</a>:</td><td> </td><td valign="top"><a href="OpenACC.html#OpenACC">OpenACC</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-OpenMP">OpenMP</a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="OpenMP.html#index-OpenMP-1">OpenMP</a>:</td><td> </td><td valign="top"><a href="OpenMP.html#OpenMP">OpenMP</a></td></tr> +<tr><td></td><td valign="top"><a href="Unary-operators.html#index-operators_002c-unary">operators, unary</a>:</td><td> </td><td valign="top"><a href="Unary-operators.html#Unary-operators">Unary operators</a></td></tr> +<tr><td></td><td valign="top"><a href="_002eXOR_002e-operator.html#index-operators_002c-xor">operators, xor</a>:</td><td> </td><td valign="top"><a href="_002eXOR_002e-operator.html#g_t_002eXOR_002e-operator">.XOR. operator</a></td></tr> +<tr><td></td><td valign="top"><a href="COMPILER_005fOPTIONS.html#index-options-inquiry-function">options inquiry function</a>:</td><td> </td><td valign="top"><a href="COMPILER_005fOPTIONS.html#COMPILER_005fOPTIONS">COMPILER_OPTIONS</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-options_002c-code-generation">options, code generation</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Debugging-Options.html#index-options_002c-debugging">options, debugging</a>:</td><td> </td><td valign="top"><a href="Debugging-Options.html#Debugging-Options">Debugging Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-options_002c-dialect">options, dialect</a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Directory-Options.html#index-options_002c-directory-search">options, directory search</a>:</td><td> </td><td valign="top"><a href="Directory-Options.html#Directory-Options">Directory Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-options_002c-errors">options, errors</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-options_002c-Fortran-dialect">options, Fortran dialect</a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Invoking-GNU-Fortran.html#index-options_002c-gfortran-command">options, <code>gfortran</code> command</a>:</td><td> </td><td valign="top"><a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran">Invoking GNU Fortran</a></td></tr> +<tr><td></td><td valign="top"><a href="Link-Options.html#index-options_002c-linking">options, linking</a>:</td><td> </td><td valign="top"><a href="Link-Options.html#Link-Options">Link Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Invoking-GNU-Fortran.html#index-options_002c-negative-forms">options, negative forms</a>:</td><td> </td><td valign="top"><a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran">Invoking GNU Fortran</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-options_002c-preprocessor">options, preprocessor</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-options_002c-real-kind-type-promotion">options, real kind type promotion</a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-options_002c-run_002dtime">options, run-time</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Runtime-Options.html#index-options_002c-runtime">options, runtime</a>:</td><td> </td><td valign="top"><a href="Runtime-Options.html#Runtime-Options">Runtime Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-options_002c-warnings">options, warnings</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="OR.html#index-OR"><code>OR</code></a>:</td><td> </td><td valign="top"><a href="OR.html#OR">OR</a></td></tr> +<tr><td></td><td valign="top"><a href="NEW_005fLINE.html#index-output_002c-newline">output, newline</a>:</td><td> </td><td valign="top"><a href="NEW_005fLINE.html#NEW_005fLINE">NEW_LINE</a></td></tr> +<tr><td></td><td valign="top"><a href="Behavior-on-integer-overflow.html#index-overflow-handling">overflow handling</a>:</td><td> </td><td valign="top"><a href="Behavior-on-integer-overflow.html#Behavior-on-integer-overflow">Behavior on integer overflow</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-P">P</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="PACK.html#index-PACK"><code>PACK</code></a>:</td><td> </td><td valign="top"><a href="PACK.html#PACK">PACK</a></td></tr> +<tr><td></td><td valign="top"><a href="Legacy-PARAMETER-statements.html#index-PARAMETER">PARAMETER</a>:</td><td> </td><td valign="top"><a href="Legacy-PARAMETER-statements.html#Legacy-PARAMETER-statements">Legacy PARAMETER statements</a></td></tr> +<tr><td></td><td valign="top"><a href="PARITY.html#index-PARITY"><code>PARITY</code></a>:</td><td> </td><td valign="top"><a href="PARITY.html#PARITY">PARITY</a></td></tr> +<tr><td></td><td valign="top"><a href="PARITY.html#index-Parity">Parity</a>:</td><td> </td><td valign="top"><a href="PARITY.html#PARITY">PARITY</a></td></tr> +<tr><td></td><td valign="top"><a href="POPPAR.html#index-parity">parity</a>:</td><td> </td><td valign="top"><a href="POPPAR.html#POPPAR">POPPAR</a></td></tr> +<tr><td></td><td valign="top"><a href="Directory-Options.html#index-paths_002c-search">paths, search</a>:</td><td> </td><td valign="top"><a href="Directory-Options.html#Directory-Options">Directory Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Directory-Options.html#index-paths_002c-search-1">paths, search</a>:</td><td> </td><td valign="top"><a href="Directory-Options.html#Directory-Options">Directory Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Directory-Options.html#index-paths_002c-search-2">paths, search</a>:</td><td> </td><td valign="top"><a href="Directory-Options.html#Directory-Options">Directory Options</a></td></tr> +<tr><td></td><td valign="top"><a href="PERROR.html#index-PERROR"><code>PERROR</code></a>:</td><td> </td><td valign="top"><a href="PERROR.html#PERROR">PERROR</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-pointer-checking">pointer checking</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="C_005fF_005fPROCPOINTER.html#index-pointer_002c-C-address-of-pointers">pointer, C address of pointers</a>:</td><td> </td><td valign="top"><a href="C_005fF_005fPROCPOINTER.html#C_005fF_005fPROCPOINTER">C_F_PROCPOINTER</a></td></tr> +<tr><td></td><td valign="top"><a href="C_005fFUNLOC.html#index-pointer_002c-C-address-of-procedures">pointer, C address of procedures</a>:</td><td> </td><td valign="top"><a href="C_005fFUNLOC.html#C_005fFUNLOC">C_FUNLOC</a></td></tr> +<tr><td></td><td valign="top"><a href="C_005fASSOCIATED.html#index-pointer_002c-C-association-status">pointer, C association status</a>:</td><td> </td><td valign="top"><a href="C_005fASSOCIATED.html#C_005fASSOCIATED">C_ASSOCIATED</a></td></tr> +<tr><td></td><td valign="top"><a href="C_005fF_005fPOINTER.html#index-pointer_002c-convert-C-to-Fortran">pointer, convert C to Fortran</a>:</td><td> </td><td valign="top"><a href="C_005fF_005fPOINTER.html#C_005fF_005fPOINTER">C_F_POINTER</a></td></tr> +<tr><td></td><td valign="top"><a href="Cray-pointers.html#index-pointer_002c-Cray">pointer, Cray</a>:</td><td> </td><td valign="top"><a href="Cray-pointers.html#Cray-pointers">Cray pointers</a></td></tr> +<tr><td></td><td valign="top"><a href="FREE.html#index-pointer_002c-cray">pointer, cray</a>:</td><td> </td><td valign="top"><a href="FREE.html#FREE">FREE</a></td></tr> +<tr><td></td><td valign="top"><a href="MALLOC.html#index-pointer_002c-cray-1">pointer, cray</a>:</td><td> </td><td valign="top"><a href="MALLOC.html#MALLOC">MALLOC</a></td></tr> +<tr><td></td><td valign="top"><a href="NULL.html#index-pointer_002c-disassociated">pointer, disassociated</a>:</td><td> </td><td valign="top"><a href="NULL.html#NULL">NULL</a></td></tr> +<tr><td></td><td valign="top"><a href="ASSOCIATED.html#index-pointer_002c-status">pointer, status</a>:</td><td> </td><td valign="top"><a href="ASSOCIATED.html#ASSOCIATED">ASSOCIATED</a></td></tr> +<tr><td></td><td valign="top"><a href="NULL.html#index-pointer_002c-status-1">pointer, status</a>:</td><td> </td><td valign="top"><a href="NULL.html#NULL">NULL</a></td></tr> +<tr><td></td><td valign="top"><a href="Working-with-C-Pointers.html#index-pointers_002c-C">pointers, C</a>:</td><td> </td><td valign="top"><a href="Working-with-C-Pointers.html#Working-with-C-Pointers">Working with C Pointers</a></td></tr> +<tr><td></td><td valign="top"><a href="POPCNT.html#index-POPCNT"><code>POPCNT</code></a>:</td><td> </td><td valign="top"><a href="POPCNT.html#POPCNT">POPCNT</a></td></tr> +<tr><td></td><td valign="top"><a href="POPPAR.html#index-POPPAR"><code>POPPAR</code></a>:</td><td> </td><td valign="top"><a href="POPPAR.html#POPPAR">POPPAR</a></td></tr> +<tr><td></td><td valign="top"><a href="DIM.html#index-positive-difference">positive difference</a>:</td><td> </td><td valign="top"><a href="DIM.html#DIM">DIM</a></td></tr> +<tr><td></td><td valign="top"><a href="PRECISION.html#index-PRECISION"><code>PRECISION</code></a>:</td><td> </td><td valign="top"><a href="PRECISION.html#PRECISION">PRECISION</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-Preprocessing">Preprocessing</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessing_002c-assertion">preprocessing, assertion</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessing_002c-assertion-1">preprocessing, assertion</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessing_002c-define-macros">preprocessing, define macros</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessing_002c-define-macros-1">preprocessing, define macros</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessing_002c-include-path">preprocessing, include path</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessing_002c-include-path-1">preprocessing, include path</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessing_002c-include-path-2">preprocessing, include path</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessing_002c-include-path-3">preprocessing, include path</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessing_002c-include-path-4">preprocessing, include path</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessing_002c-include-path-5">preprocessing, include path</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessing_002c-keep-comments">preprocessing, keep comments</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessing_002c-keep-comments-1">preprocessing, keep comments</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessing_002c-no-linemarkers">preprocessing, no linemarkers</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessing_002c-undefine-macros">preprocessing, undefine macros</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessor">preprocessor</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessor_002c-debugging">preprocessor, debugging</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessor_002c-debugging-1">preprocessor, debugging</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessor_002c-debugging-2">preprocessor, debugging</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessor_002c-debugging-3">preprocessor, debugging</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessor_002c-debugging-4">preprocessor, debugging</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessor_002c-disable">preprocessor, disable</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessor_002c-enable">preprocessor, enable</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessor_002c-include-file-handling">preprocessor, include file handling</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-preprocessor_002c-working-directory">preprocessor, working directory</a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="PRESENT.html#index-PRESENT"><code>PRESENT</code></a>:</td><td> </td><td valign="top"><a href="PRESENT.html#PRESENT">PRESENT</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-private">private</a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Interoperable-Subroutines-and-Functions.html#index-procedure-interoperability-with-C">procedure interoperability with C</a>:</td><td> </td><td valign="top"><a href="Interoperable-Subroutines-and-Functions.html#Interoperable-Subroutines-and-Functions">Interoperable Subroutines and Functions</a></td></tr> +<tr><td></td><td valign="top"><a href="C_005fLOC.html#index-procedure-pointer_002c-convert-C-to-Fortran">procedure pointer, convert C to Fortran</a>:</td><td> </td><td valign="top"><a href="C_005fLOC.html#C_005fLOC">C_LOC</a></td></tr> +<tr><td></td><td valign="top"><a href="GETPID.html#index-process-ID">process ID</a>:</td><td> </td><td valign="top"><a href="GETPID.html#GETPID">GETPID</a></td></tr> +<tr><td></td><td valign="top"><a href="PRODUCT.html#index-PRODUCT"><code>PRODUCT</code></a>:</td><td> </td><td valign="top"><a href="PRODUCT.html#PRODUCT">PRODUCT</a></td></tr> +<tr><td></td><td valign="top"><a href="DPROD.html#index-product_002c-double_002dprecision">product, double-precision</a>:</td><td> </td><td valign="top"><a href="DPROD.html#DPROD">DPROD</a></td></tr> +<tr><td></td><td valign="top"><a href="MATMUL.html#index-product_002c-matrix">product, matrix</a>:</td><td> </td><td valign="top"><a href="MATMUL.html#MATMUL">MATMUL</a></td></tr> +<tr><td></td><td valign="top"><a href="DOT_005fPRODUCT.html#index-product_002c-vector">product, vector</a>:</td><td> </td><td valign="top"><a href="DOT_005fPRODUCT.html#DOT_005fPRODUCT">DOT_PRODUCT</a></td></tr> +<tr><td></td><td valign="top"><a href="EXIT.html#index-program-termination">program termination</a>:</td><td> </td><td valign="top"><a href="EXIT.html#EXIT">EXIT</a></td></tr> +<tr><td></td><td valign="top"><a href="ABORT.html#index-program-termination_002c-with-core-dump">program termination, with core dump</a>:</td><td> </td><td valign="top"><a href="ABORT.html#ABORT">ABORT</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-Q">Q</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Q-edit-descriptor.html#index-Q-edit-descriptor"><code>Q</code> edit descriptor</a>:</td><td> </td><td valign="top"><a href="Q-edit-descriptor.html#Q-edit-descriptor">Q edit descriptor</a></td></tr> +<tr><td></td><td valign="top"><a href="Q-exponent_002dletter.html#index-Q-exponent_002dletter"><code>Q</code> exponent-letter</a>:</td><td> </td><td valign="top"><a href="Q-exponent_002dletter.html#Q-exponent_002dletter"><code>Q</code> exponent-letter</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-R">R</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="RADIX.html#index-RADIX"><code>RADIX</code></a>:</td><td> </td><td valign="top"><a href="RADIX.html#RADIX">RADIX</a></td></tr> +<tr><td></td><td valign="top"><a href="SELECTED_005fREAL_005fKIND.html#index-radix_002c-real">radix, real</a>:</td><td> </td><td valign="top"><a href="SELECTED_005fREAL_005fKIND.html#SELECTED_005fREAL_005fKIND">SELECTED_REAL_KIND</a></td></tr> +<tr><td></td><td valign="top"><a href="RAN.html#index-RAN"><code>RAN</code></a>:</td><td> </td><td valign="top"><a href="RAN.html#RAN">RAN</a></td></tr> +<tr><td></td><td valign="top"><a href="RAND.html#index-RAND"><code>RAND</code></a>:</td><td> </td><td valign="top"><a href="RAND.html#RAND">RAND</a></td></tr> +<tr><td></td><td valign="top"><a href="IRAND.html#index-random-number-generation">random number generation</a>:</td><td> </td><td valign="top"><a href="IRAND.html#IRAND">IRAND</a></td></tr> +<tr><td></td><td valign="top"><a href="RAN.html#index-random-number-generation-1">random number generation</a>:</td><td> </td><td valign="top"><a href="RAN.html#RAN">RAN</a></td></tr> +<tr><td></td><td valign="top"><a href="RAND.html#index-random-number-generation-2">random number generation</a>:</td><td> </td><td valign="top"><a href="RAND.html#RAND">RAND</a></td></tr> +<tr><td></td><td valign="top"><a href="RANDOM_005fNUMBER.html#index-random-number-generation-3">random number generation</a>:</td><td> </td><td valign="top"><a href="RANDOM_005fNUMBER.html#RANDOM_005fNUMBER">RANDOM_NUMBER</a></td></tr> +<tr><td></td><td valign="top"><a href="RANDOM_005fINIT.html#index-random-number-generation_002c-initialization">random number generation, initialization</a>:</td><td> </td><td valign="top"><a href="RANDOM_005fINIT.html#RANDOM_005fINIT">RANDOM_INIT</a></td></tr> +<tr><td></td><td valign="top"><a href="RANDOM_005fSEED.html#index-random-number-generation_002c-seeding">random number generation, seeding</a>:</td><td> </td><td valign="top"><a href="RANDOM_005fSEED.html#RANDOM_005fSEED">RANDOM_SEED</a></td></tr> +<tr><td></td><td valign="top"><a href="SRAND.html#index-random-number-generation_002c-seeding-1">random number generation, seeding</a>:</td><td> </td><td valign="top"><a href="SRAND.html#SRAND">SRAND</a></td></tr> +<tr><td></td><td valign="top"><a href="RANDOM_005fINIT.html#index-RANDOM_005fINIT"><code>RANDOM_INIT</code></a>:</td><td> </td><td valign="top"><a href="RANDOM_005fINIT.html#RANDOM_005fINIT">RANDOM_INIT</a></td></tr> +<tr><td></td><td valign="top"><a href="RANDOM_005fNUMBER.html#index-RANDOM_005fNUMBER"><code>RANDOM_NUMBER</code></a>:</td><td> </td><td valign="top"><a href="RANDOM_005fNUMBER.html#RANDOM_005fNUMBER">RANDOM_NUMBER</a></td></tr> +<tr><td></td><td valign="top"><a href="RANDOM_005fSEED.html#index-RANDOM_005fSEED"><code>RANDOM_SEED</code></a>:</td><td> </td><td valign="top"><a href="RANDOM_005fSEED.html#RANDOM_005fSEED">RANDOM_SEED</a></td></tr> +<tr><td></td><td valign="top"><a href="RANGE.html#index-RANGE"><code>RANGE</code></a>:</td><td> </td><td valign="top"><a href="RANGE.html#RANGE">RANGE</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-range-checking">range checking</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="RANK.html#index-RANK"><code>RANK</code></a>:</td><td> </td><td valign="top"><a href="RANK.html#RANK">RANK</a></td></tr> +<tr><td></td><td valign="top"><a href="RANK.html#index-rank">rank</a>:</td><td> </td><td valign="top"><a href="RANK.html#RANK">RANK</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-re_002dassociation-of-parenthesized-expressions">re-association of parenthesized expressions</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="FGET.html#index-read-character_002c-stream-mode">read character, stream mode</a>:</td><td> </td><td valign="top"><a href="FGET.html#FGET">FGET</a></td></tr> +<tr><td></td><td valign="top"><a href="FGETC.html#index-read-character_002c-stream-mode-1">read character, stream mode</a>:</td><td> </td><td valign="top"><a href="FGETC.html#FGETC">FGETC</a></td></tr> +<tr><td></td><td valign="top"><a href="Extended-I_002fO-specifiers.html#index-READONLY"><code>READONLY</code></a>:</td><td> </td><td valign="top"><a href="Extended-I_002fO-specifiers.html#Extended-I_002fO-specifiers">Extended I/O specifiers</a></td></tr> +<tr><td></td><td valign="top"><a href="REAL.html#index-REAL"><code>REAL</code></a>:</td><td> </td><td valign="top"><a href="REAL.html#REAL">REAL</a></td></tr> +<tr><td></td><td valign="top"><a href="SELECTED_005fREAL_005fKIND.html#index-real-kind">real kind</a>:</td><td> </td><td valign="top"><a href="SELECTED_005fREAL_005fKIND.html#SELECTED_005fREAL_005fKIND">SELECTED_REAL_KIND</a></td></tr> +<tr><td></td><td valign="top"><a href="EXPONENT.html#index-real-number_002c-exponent">real number, exponent</a>:</td><td> </td><td valign="top"><a href="EXPONENT.html#EXPONENT">EXPONENT</a></td></tr> +<tr><td></td><td valign="top"><a href="FRACTION.html#index-real-number_002c-fraction">real number, fraction</a>:</td><td> </td><td valign="top"><a href="FRACTION.html#FRACTION">FRACTION</a></td></tr> +<tr><td></td><td valign="top"><a href="NEAREST.html#index-real-number_002c-nearest-different">real number, nearest different</a>:</td><td> </td><td valign="top"><a href="NEAREST.html#NEAREST">NEAREST</a></td></tr> +<tr><td></td><td valign="top"><a href="RRSPACING.html#index-real-number_002c-relative-spacing">real number, relative spacing</a>:</td><td> </td><td valign="top"><a href="RRSPACING.html#RRSPACING">RRSPACING</a></td></tr> +<tr><td></td><td valign="top"><a href="SPACING.html#index-real-number_002c-relative-spacing-1">real number, relative spacing</a>:</td><td> </td><td valign="top"><a href="SPACING.html#SPACING">SPACING</a></td></tr> +<tr><td></td><td valign="top"><a href="SCALE.html#index-real-number_002c-scale">real number, scale</a>:</td><td> </td><td valign="top"><a href="SCALE.html#SCALE">SCALE</a></td></tr> +<tr><td></td><td valign="top"><a href="SET_005fEXPONENT.html#index-real-number_002c-set-exponent">real number, set exponent</a>:</td><td> </td><td valign="top"><a href="SET_005fEXPONENT.html#SET_005fEXPONENT">SET_EXPONENT</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-Reallocate-the-LHS-in-assignments">Reallocate the LHS in assignments</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Reallocate-the-LHS-in-assignments_002c-notification">Reallocate the LHS in assignments, notification</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="REAL.html#index-REALPART"><code>REALPART</code></a>:</td><td> </td><td valign="top"><a href="REAL.html#REAL">REAL</a></td></tr> +<tr><td></td><td valign="top"><a href="STRUCTURE-and-RECORD.html#index-RECORD"><code>RECORD</code></a>:</td><td> </td><td valign="top"><a href="STRUCTURE-and-RECORD.html#STRUCTURE-and-RECORD">STRUCTURE and RECORD</a></td></tr> +<tr><td></td><td valign="top"><a href="File-format-of-unformatted-sequential-files.html#index-record-marker">record marker</a>:</td><td> </td><td valign="top"><a href="File-format-of-unformatted-sequential-files.html#File-format-of-unformatted-sequential-files">File format of unformatted sequential files</a></td></tr> +<tr><td></td><td valign="top"><a href="PARITY.html#index-Reduction_002c-XOR">Reduction, XOR</a>:</td><td> </td><td valign="top"><a href="PARITY.html#PARITY">PARITY</a></td></tr> +<tr><td></td><td valign="top"><a href="MOD.html#index-remainder">remainder</a>:</td><td> </td><td valign="top"><a href="MOD.html#MOD">MOD</a></td></tr> +<tr><td></td><td valign="top"><a href="RENAME.html#index-RENAME"><code>RENAME</code></a>:</td><td> </td><td valign="top"><a href="RENAME.html#RENAME">RENAME</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-repacking-arrays">repacking arrays</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="REPEAT.html#index-REPEAT"><code>REPEAT</code></a>:</td><td> </td><td valign="top"><a href="REPEAT.html#REPEAT">REPEAT</a></td></tr> +<tr><td></td><td valign="top"><a href="RESHAPE.html#index-RESHAPE"><code>RESHAPE</code></a>:</td><td> </td><td valign="top"><a href="RESHAPE.html#RESHAPE">RESHAPE</a></td></tr> +<tr><td></td><td valign="top"><a href="Read_002fWrite-after-EOF-marker.html#index-REWIND"><code>REWIND</code></a>:</td><td> </td><td valign="top"><a href="Read_002fWrite-after-EOF-marker.html#Read_002fWrite-after-EOF-marker">Read/Write after EOF marker</a></td></tr> +<tr><td></td><td valign="top"><a href="DSHIFTR.html#index-right-shift_002c-combined">right shift, combined</a>:</td><td> </td><td valign="top"><a href="DSHIFTR.html#DSHIFTR">DSHIFTR</a></td></tr> +<tr><td></td><td valign="top"><a href="SQRT.html#index-root">root</a>:</td><td> </td><td valign="top"><a href="SQRT.html#SQRT">SQRT</a></td></tr> +<tr><td></td><td valign="top"><a href="ANINT.html#index-rounding_002c-ceiling">rounding, ceiling</a>:</td><td> </td><td valign="top"><a href="ANINT.html#ANINT">ANINT</a></td></tr> +<tr><td></td><td valign="top"><a href="CEILING.html#index-rounding_002c-ceiling-1">rounding, ceiling</a>:</td><td> </td><td valign="top"><a href="CEILING.html#CEILING">CEILING</a></td></tr> +<tr><td></td><td valign="top"><a href="AINT.html#index-rounding_002c-floor">rounding, floor</a>:</td><td> </td><td valign="top"><a href="AINT.html#AINT">AINT</a></td></tr> +<tr><td></td><td valign="top"><a href="FLOOR.html#index-rounding_002c-floor-1">rounding, floor</a>:</td><td> </td><td valign="top"><a href="FLOOR.html#FLOOR">FLOOR</a></td></tr> +<tr><td></td><td valign="top"><a href="NINT.html#index-rounding_002c-nearest-whole-number">rounding, nearest whole number</a>:</td><td> </td><td valign="top"><a href="NINT.html#NINT">NINT</a></td></tr> +<tr><td></td><td valign="top"><a href="RRSPACING.html#index-RRSPACING"><code>RRSPACING</code></a>:</td><td> </td><td valign="top"><a href="RRSPACING.html#RRSPACING">RRSPACING</a></td></tr> +<tr><td></td><td valign="top"><a href="RSHIFT.html#index-RSHIFT"><code>RSHIFT</code></a>:</td><td> </td><td valign="top"><a href="RSHIFT.html#RSHIFT">RSHIFT</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-run_002dtime-checking">run-time checking</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-S">S</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="SAME_005fTYPE_005fAS.html#index-SAME_005fTYPE_005fAS"><code>SAME_TYPE_AS</code></a>:</td><td> </td><td valign="top"><a href="SAME_005fTYPE_005fAS.html#SAME_005fTYPE_005fAS">SAME_TYPE_AS</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-SAVE-statement"><code>SAVE</code> statement</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="SCALE.html#index-SCALE"><code>SCALE</code></a>:</td><td> </td><td valign="top"><a href="SCALE.html#SCALE">SCALE</a></td></tr> +<tr><td></td><td valign="top"><a href="SCAN.html#index-SCAN"><code>SCAN</code></a>:</td><td> </td><td valign="top"><a href="SCAN.html#SCAN">SCAN</a></td></tr> +<tr><td></td><td valign="top"><a href="Directory-Options.html#index-search-path">search path</a>:</td><td> </td><td valign="top"><a href="Directory-Options.html#Directory-Options">Directory Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Directory-Options.html#index-search-paths_002c-for-included-files">search paths, for included files</a>:</td><td> </td><td valign="top"><a href="Directory-Options.html#Directory-Options">Directory Options</a></td></tr> +<tr><td></td><td valign="top"><a href="SECNDS.html#index-SECNDS"><code>SECNDS</code></a>:</td><td> </td><td valign="top"><a href="SECNDS.html#SECNDS">SECNDS</a></td></tr> +<tr><td></td><td valign="top"><a href="SECOND.html#index-SECOND"><code>SECOND</code></a>:</td><td> </td><td valign="top"><a href="SECOND.html#SECOND">SECOND</a></td></tr> +<tr><td></td><td valign="top"><a href="RANDOM_005fSEED.html#index-seeding-a-random-number-generator">seeding a random number generator</a>:</td><td> </td><td valign="top"><a href="RANDOM_005fSEED.html#RANDOM_005fSEED">RANDOM_SEED</a></td></tr> +<tr><td></td><td valign="top"><a href="SRAND.html#index-seeding-a-random-number-generator-1">seeding a random number generator</a>:</td><td> </td><td valign="top"><a href="SRAND.html#SRAND">SRAND</a></td></tr> +<tr><td></td><td valign="top"><a href="SELECTED_005fCHAR_005fKIND.html#index-SELECTED_005fCHAR_005fKIND"><code>SELECTED_CHAR_KIND</code></a>:</td><td> </td><td valign="top"><a href="SELECTED_005fCHAR_005fKIND.html#SELECTED_005fCHAR_005fKIND">SELECTED_CHAR_KIND</a></td></tr> +<tr><td></td><td valign="top"><a href="SELECTED_005fINT_005fKIND.html#index-SELECTED_005fINT_005fKIND"><code>SELECTED_INT_KIND</code></a>:</td><td> </td><td valign="top"><a href="SELECTED_005fINT_005fKIND.html#SELECTED_005fINT_005fKIND">SELECTED_INT_KIND</a></td></tr> +<tr><td></td><td valign="top"><a href="SELECTED_005fREAL_005fKIND.html#index-SELECTED_005fREAL_005fKIND"><code>SELECTED_REAL_KIND</code></a>:</td><td> </td><td valign="top"><a href="SELECTED_005fREAL_005fKIND.html#SELECTED_005fREAL_005fKIND">SELECTED_REAL_KIND</a></td></tr> +<tr><td></td><td valign="top"><a href="File-format-of-unformatted-sequential-files.html#index-sequential_002c-unformatted">sequential, unformatted</a>:</td><td> </td><td valign="top"><a href="File-format-of-unformatted-sequential-files.html#File-format-of-unformatted-sequential-files">File format of unformatted sequential files</a></td></tr> +<tr><td></td><td valign="top"><a href="SET_005fEXPONENT.html#index-SET_005fEXPONENT"><code>SET_EXPONENT</code></a>:</td><td> </td><td valign="top"><a href="SET_005fEXPONENT.html#SET_005fEXPONENT">SET_EXPONENT</a></td></tr> +<tr><td></td><td valign="top"><a href="SHAPE.html#index-SHAPE"><code>SHAPE</code></a>:</td><td> </td><td valign="top"><a href="SHAPE.html#SHAPE">SHAPE</a></td></tr> +<tr><td></td><td valign="top"><a href="Extended-I_002fO-specifiers.html#index-SHARE"><code>SHARE</code></a>:</td><td> </td><td valign="top"><a href="Extended-I_002fO-specifiers.html#Extended-I_002fO-specifiers">Extended I/O specifiers</a></td></tr> +<tr><td></td><td valign="top"><a href="Extended-I_002fO-specifiers.html#index-SHARED"><code>SHARED</code></a>:</td><td> </td><td valign="top"><a href="Extended-I_002fO-specifiers.html#Extended-I_002fO-specifiers">Extended I/O specifiers</a></td></tr> +<tr><td></td><td valign="top"><a href="DSHIFTL.html#index-shift_002c-left">shift, left</a>:</td><td> </td><td valign="top"><a href="DSHIFTL.html#DSHIFTL">DSHIFTL</a></td></tr> +<tr><td></td><td valign="top"><a href="SHIFTL.html#index-shift_002c-left-1">shift, left</a>:</td><td> </td><td valign="top"><a href="SHIFTL.html#SHIFTL">SHIFTL</a></td></tr> +<tr><td></td><td valign="top"><a href="DSHIFTR.html#index-shift_002c-right">shift, right</a>:</td><td> </td><td valign="top"><a href="DSHIFTR.html#DSHIFTR">DSHIFTR</a></td></tr> +<tr><td></td><td valign="top"><a href="SHIFTR.html#index-shift_002c-right-1">shift, right</a>:</td><td> </td><td valign="top"><a href="SHIFTR.html#SHIFTR">SHIFTR</a></td></tr> +<tr><td></td><td valign="top"><a href="SHIFTA.html#index-shift_002c-right-with-fill">shift, right with fill</a>:</td><td> </td><td valign="top"><a href="SHIFTA.html#SHIFTA">SHIFTA</a></td></tr> +<tr><td></td><td valign="top"><a href="SHIFTA.html#index-SHIFTA"><code>SHIFTA</code></a>:</td><td> </td><td valign="top"><a href="SHIFTA.html#SHIFTA">SHIFTA</a></td></tr> +<tr><td></td><td valign="top"><a href="SHIFTL.html#index-SHIFTL"><code>SHIFTL</code></a>:</td><td> </td><td valign="top"><a href="SHIFTL.html#SHIFTL">SHIFTL</a></td></tr> +<tr><td></td><td valign="top"><a href="SHIFTR.html#index-SHIFTR"><code>SHIFTR</code></a>:</td><td> </td><td valign="top"><a href="SHIFTR.html#SHIFTR">SHIFTR</a></td></tr> +<tr><td></td><td valign="top"><a href="SIGN.html#index-SIGN"><code>SIGN</code></a>:</td><td> </td><td valign="top"><a href="SIGN.html#SIGN">SIGN</a></td></tr> +<tr><td></td><td valign="top"><a href="SIGN.html#index-sign-copying">sign copying</a>:</td><td> </td><td valign="top"><a href="SIGN.html#SIGN">SIGN</a></td></tr> +<tr><td></td><td valign="top"><a href="SIGNAL.html#index-SIGNAL"><code>SIGNAL</code></a>:</td><td> </td><td valign="top"><a href="SIGNAL.html#SIGNAL">SIGNAL</a></td></tr> +<tr><td></td><td valign="top"><a href="SIN.html#index-SIN"><code>SIN</code></a>:</td><td> </td><td valign="top"><a href="SIN.html#SIN">SIN</a></td></tr> +<tr><td></td><td valign="top"><a href="SIND.html#index-SIND"><code>SIND</code></a>:</td><td> </td><td valign="top"><a href="SIND.html#SIND">SIND</a></td></tr> +<tr><td></td><td valign="top"><a href="SIN.html#index-sine">sine</a>:</td><td> </td><td valign="top"><a href="SIN.html#SIN">SIN</a></td></tr> +<tr><td></td><td valign="top"><a href="SIND.html#index-sine_002c-degrees">sine, degrees</a>:</td><td> </td><td valign="top"><a href="SIND.html#SIND">SIND</a></td></tr> +<tr><td></td><td valign="top"><a href="SINH.html#index-sine_002c-hyperbolic">sine, hyperbolic</a>:</td><td> </td><td valign="top"><a href="SINH.html#SINH">SINH</a></td></tr> +<tr><td></td><td valign="top"><a href="ASINH.html#index-sine_002c-hyperbolic_002c-inverse">sine, hyperbolic, inverse</a>:</td><td> </td><td valign="top"><a href="ASINH.html#ASINH">ASINH</a></td></tr> +<tr><td></td><td valign="top"><a href="ASIN.html#index-sine_002c-inverse">sine, inverse</a>:</td><td> </td><td valign="top"><a href="ASIN.html#ASIN">ASIN</a></td></tr> +<tr><td></td><td valign="top"><a href="ASIND.html#index-sine_002c-inverse_002c-degrees">sine, inverse, degrees</a>:</td><td> </td><td valign="top"><a href="ASIND.html#ASIND">ASIND</a></td></tr> +<tr><td></td><td valign="top"><a href="SINH.html#index-SINH"><code>SINH</code></a>:</td><td> </td><td valign="top"><a href="SINH.html#SINH">SINH</a></td></tr> +<tr><td></td><td valign="top"><a href="SIZE.html#index-SIZE"><code>SIZE</code></a>:</td><td> </td><td valign="top"><a href="SIZE.html#SIZE">SIZE</a></td></tr> +<tr><td></td><td valign="top"><a href="BIT_005fSIZE.html#index-size-of-a-variable_002c-in-bits">size of a variable, in bits</a>:</td><td> </td><td valign="top"><a href="BIT_005fSIZE.html#BIT_005fSIZE">BIT_SIZE</a></td></tr> +<tr><td></td><td valign="top"><a href="C_005fSIZEOF.html#index-size-of-an-expression">size of an expression</a>:</td><td> </td><td valign="top"><a href="C_005fSIZEOF.html#C_005fSIZEOF">C_SIZEOF</a></td></tr> +<tr><td></td><td valign="top"><a href="SIZEOF.html#index-size-of-an-expression-1">size of an expression</a>:</td><td> </td><td valign="top"><a href="SIZEOF.html#SIZEOF">SIZEOF</a></td></tr> +<tr><td></td><td valign="top"><a href="SIZEOF.html#index-SIZEOF"><code>SIZEOF</code></a>:</td><td> </td><td valign="top"><a href="SIZEOF.html#SIZEOF">SIZEOF</a></td></tr> +<tr><td></td><td valign="top"><a href="SLEEP.html#index-SLEEP"><code>SLEEP</code></a>:</td><td> </td><td valign="top"><a href="SLEEP.html#SLEEP">SLEEP</a></td></tr> +<tr><td></td><td valign="top"><a href="REAL.html#index-SNGL"><code>SNGL</code></a>:</td><td> </td><td valign="top"><a href="REAL.html#REAL">REAL</a></td></tr> +<tr><td></td><td valign="top"><a href="SPACING.html#index-SPACING"><code>SPACING</code></a>:</td><td> </td><td valign="top"><a href="SPACING.html#SPACING">SPACING</a></td></tr> +<tr><td></td><td valign="top"><a href="SPREAD.html#index-SPREAD"><code>SPREAD</code></a>:</td><td> </td><td valign="top"><a href="SPREAD.html#SPREAD">SPREAD</a></td></tr> +<tr><td></td><td valign="top"><a href="SQRT.html#index-SQRT"><code>SQRT</code></a>:</td><td> </td><td valign="top"><a href="SQRT.html#SQRT">SQRT</a></td></tr> +<tr><td></td><td valign="top"><a href="SQRT.html#index-square_002droot">square-root</a>:</td><td> </td><td valign="top"><a href="SQRT.html#SQRT">SQRT</a></td></tr> +<tr><td></td><td valign="top"><a href="SRAND.html#index-SRAND"><code>SRAND</code></a>:</td><td> </td><td valign="top"><a href="SRAND.html#SRAND">SRAND</a></td></tr> +<tr><td></td><td valign="top"><a href="Standards.html#index-Standards">Standards</a>:</td><td> </td><td valign="top"><a href="Standards.html#Standards">Standards</a></td></tr> +<tr><td></td><td valign="top"><a href="STAT.html#index-STAT"><code>STAT</code></a>:</td><td> </td><td valign="top"><a href="STAT.html#STAT">STAT</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-statement_002c-SAVE">statement, <code>SAVE</code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="AUTOMATIC-and-STATIC-attributes.html#index-STATIC"><code>STATIC</code></a>:</td><td> </td><td valign="top"><a href="AUTOMATIC-and-STATIC-attributes.html#AUTOMATIC-and-STATIC-attributes">AUTOMATIC and STATIC attributes</a></td></tr> +<tr><td></td><td valign="top"><a href="STORAGE_005fSIZE.html#index-storage-size">storage size</a>:</td><td> </td><td valign="top"><a href="STORAGE_005fSIZE.html#STORAGE_005fSIZE">STORAGE_SIZE</a></td></tr> +<tr><td></td><td valign="top"><a href="STORAGE_005fSIZE.html#index-STORAGE_005fSIZE"><code>STORAGE_SIZE</code></a>:</td><td> </td><td valign="top"><a href="STORAGE_005fSIZE.html#STORAGE_005fSIZE">STORAGE_SIZE</a></td></tr> +<tr><td></td><td valign="top"><a href="FGET.html#index-stream-mode_002c-read-character">stream mode, read character</a>:</td><td> </td><td valign="top"><a href="FGET.html#FGET">FGET</a></td></tr> +<tr><td></td><td valign="top"><a href="FGETC.html#index-stream-mode_002c-read-character-1">stream mode, read character</a>:</td><td> </td><td valign="top"><a href="FGETC.html#FGETC">FGETC</a></td></tr> +<tr><td></td><td valign="top"><a href="FPUT.html#index-stream-mode_002c-write-character">stream mode, write character</a>:</td><td> </td><td valign="top"><a href="FPUT.html#FPUT">FPUT</a></td></tr> +<tr><td></td><td valign="top"><a href="FPUTC.html#index-stream-mode_002c-write-character-1">stream mode, write character</a>:</td><td> </td><td valign="top"><a href="FPUTC.html#FPUTC">FPUTC</a></td></tr> +<tr><td></td><td valign="top"><a href="ADJUSTL.html#index-string_002c-adjust-left">string, adjust left</a>:</td><td> </td><td valign="top"><a href="ADJUSTL.html#ADJUSTL">ADJUSTL</a></td></tr> +<tr><td></td><td valign="top"><a href="ADJUSTR.html#index-string_002c-adjust-right">string, adjust right</a>:</td><td> </td><td valign="top"><a href="ADJUSTR.html#ADJUSTR">ADJUSTR</a></td></tr> +<tr><td></td><td valign="top"><a href="LGE.html#index-string_002c-comparison">string, comparison</a>:</td><td> </td><td valign="top"><a href="LGE.html#LGE">LGE</a></td></tr> +<tr><td></td><td valign="top"><a href="LGT.html#index-string_002c-comparison-1">string, comparison</a>:</td><td> </td><td valign="top"><a href="LGT.html#LGT">LGT</a></td></tr> +<tr><td></td><td valign="top"><a href="LLE.html#index-string_002c-comparison-2">string, comparison</a>:</td><td> </td><td valign="top"><a href="LLE.html#LLE">LLE</a></td></tr> +<tr><td></td><td valign="top"><a href="LLT.html#index-string_002c-comparison-3">string, comparison</a>:</td><td> </td><td valign="top"><a href="LLT.html#LLT">LLT</a></td></tr> +<tr><td></td><td valign="top"><a href="REPEAT.html#index-string_002c-concatenate">string, concatenate</a>:</td><td> </td><td valign="top"><a href="REPEAT.html#REPEAT">REPEAT</a></td></tr> +<tr><td></td><td valign="top"><a href="VERIFY.html#index-string_002c-find-missing-set">string, find missing set</a>:</td><td> </td><td valign="top"><a href="VERIFY.html#VERIFY">VERIFY</a></td></tr> +<tr><td></td><td valign="top"><a href="LNBLNK.html#index-string_002c-find-non_002dblank-character">string, find non-blank character</a>:</td><td> </td><td valign="top"><a href="LNBLNK.html#LNBLNK">LNBLNK</a></td></tr> +<tr><td></td><td valign="top"><a href="SCAN.html#index-string_002c-find-subset">string, find subset</a>:</td><td> </td><td valign="top"><a href="SCAN.html#SCAN">SCAN</a></td></tr> +<tr><td></td><td valign="top"><a href="INDEX-intrinsic.html#index-string_002c-find-substring">string, find substring</a>:</td><td> </td><td valign="top"><a href="INDEX-intrinsic.html#INDEX-intrinsic">INDEX intrinsic</a></td></tr> +<tr><td></td><td valign="top"><a href="LEN.html#index-string_002c-length">string, length</a>:</td><td> </td><td valign="top"><a href="LEN.html#LEN">LEN</a></td></tr> +<tr><td></td><td valign="top"><a href="LEN_005fTRIM.html#index-string_002c-length_002c-without-trailing-whitespace">string, length, without trailing whitespace</a>:</td><td> </td><td valign="top"><a href="LEN_005fTRIM.html#LEN_005fTRIM">LEN_TRIM</a></td></tr> +<tr><td></td><td valign="top"><a href="TRIM.html#index-string_002c-remove-trailing-whitespace">string, remove trailing whitespace</a>:</td><td> </td><td valign="top"><a href="TRIM.html#TRIM">TRIM</a></td></tr> +<tr><td></td><td valign="top"><a href="REPEAT.html#index-string_002c-repeat">string, repeat</a>:</td><td> </td><td valign="top"><a href="REPEAT.html#REPEAT">REPEAT</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-95-status.html#index-strings_002c-varying-length">strings, varying length</a>:</td><td> </td><td valign="top"><a href="Fortran-95-status.html#Fortran-95-status">Fortran 95 status</a></td></tr> +<tr><td></td><td valign="top"><a href="STRUCTURE-and-RECORD.html#index-STRUCTURE"><code>STRUCTURE</code></a>:</td><td> </td><td valign="top"><a href="STRUCTURE-and-RECORD.html#STRUCTURE-and-RECORD">STRUCTURE and RECORD</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-structure-packing">structure packing</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="File-format-of-unformatted-sequential-files.html#index-subrecord">subrecord</a>:</td><td> </td><td valign="top"><a href="File-format-of-unformatted-sequential-files.html#File-format-of-unformatted-sequential-files">File format of unformatted sequential files</a></td></tr> +<tr><td></td><td valign="top"><a href="Interoperable-Subroutines-and-Functions.html#index-subroutine-interoperability-with-C">subroutine interoperability with C</a>:</td><td> </td><td valign="top"><a href="Interoperable-Subroutines-and-Functions.html#Interoperable-Subroutines-and-Functions">Interoperable Subroutines and Functions</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-subscript-checking">subscript checking</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="INDEX-intrinsic.html#index-substring-position">substring position</a>:</td><td> </td><td valign="top"><a href="INDEX-intrinsic.html#INDEX-intrinsic">INDEX intrinsic</a></td></tr> +<tr><td></td><td valign="top"><a href="SUM.html#index-SUM"><code>SUM</code></a>:</td><td> </td><td valign="top"><a href="SUM.html#SUM">SUM</a></td></tr> +<tr><td></td><td valign="top"><a href="SUM.html#index-sum-array-elements">sum array elements</a>:</td><td> </td><td valign="top"><a href="SUM.html#SUM">SUM</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-suppressing-warnings">suppressing warnings</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-symbol-names">symbol names</a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-symbol-names_002c-transforming">symbol names, transforming</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-symbol-names_002c-transforming-1">symbol names, transforming</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-symbol-names_002c-underscores">symbol names, underscores</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-symbol-names_002c-underscores-1">symbol names, underscores</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="SYMLNK.html#index-SYMLNK"><code>SYMLNK</code></a>:</td><td> </td><td valign="top"><a href="SYMLNK.html#SYMLNK">SYMLNK</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-syntax-checking">syntax checking</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="SYSTEM.html#index-SYSTEM"><code>SYSTEM</code></a>:</td><td> </td><td valign="top"><a href="SYSTEM.html#SYSTEM">SYSTEM</a></td></tr> +<tr><td></td><td valign="top"><a href="GERROR.html#index-system_002c-error-handling">system, error handling</a>:</td><td> </td><td valign="top"><a href="GERROR.html#GERROR">GERROR</a></td></tr> +<tr><td></td><td valign="top"><a href="IERRNO.html#index-system_002c-error-handling-1">system, error handling</a>:</td><td> </td><td valign="top"><a href="IERRNO.html#IERRNO">IERRNO</a></td></tr> +<tr><td></td><td valign="top"><a href="PERROR.html#index-system_002c-error-handling-2">system, error handling</a>:</td><td> </td><td valign="top"><a href="PERROR.html#PERROR">PERROR</a></td></tr> +<tr><td></td><td valign="top"><a href="GETGID.html#index-system_002c-group-ID">system, group ID</a>:</td><td> </td><td valign="top"><a href="GETGID.html#GETGID">GETGID</a></td></tr> +<tr><td></td><td valign="top"><a href="HOSTNM.html#index-system_002c-host-name">system, host name</a>:</td><td> </td><td valign="top"><a href="HOSTNM.html#HOSTNM">HOSTNM</a></td></tr> +<tr><td></td><td valign="top"><a href="GETLOG.html#index-system_002c-login-name">system, login name</a>:</td><td> </td><td valign="top"><a href="GETLOG.html#GETLOG">GETLOG</a></td></tr> +<tr><td></td><td valign="top"><a href="GETPID.html#index-system_002c-process-ID">system, process ID</a>:</td><td> </td><td valign="top"><a href="GETPID.html#GETPID">GETPID</a></td></tr> +<tr><td></td><td valign="top"><a href="SIGNAL.html#index-system_002c-signal-handling">system, signal handling</a>:</td><td> </td><td valign="top"><a href="SIGNAL.html#SIGNAL">SIGNAL</a></td></tr> +<tr><td></td><td valign="top"><a href="EXECUTE_005fCOMMAND_005fLINE.html#index-system_002c-system-call">system, system call</a>:</td><td> </td><td valign="top"><a href="EXECUTE_005fCOMMAND_005fLINE.html#EXECUTE_005fCOMMAND_005fLINE">EXECUTE_COMMAND_LINE</a></td></tr> +<tr><td></td><td valign="top"><a href="SYSTEM.html#index-system_002c-system-call-1">system, system call</a>:</td><td> </td><td valign="top"><a href="SYSTEM.html#SYSTEM">SYSTEM</a></td></tr> +<tr><td></td><td valign="top"><a href="ISATTY.html#index-system_002c-terminal">system, terminal</a>:</td><td> </td><td valign="top"><a href="ISATTY.html#ISATTY">ISATTY</a></td></tr> +<tr><td></td><td valign="top"><a href="TTYNAM.html#index-system_002c-terminal-1">system, terminal</a>:</td><td> </td><td valign="top"><a href="TTYNAM.html#TTYNAM">TTYNAM</a></td></tr> +<tr><td></td><td valign="top"><a href="GETUID.html#index-system_002c-user-ID">system, user ID</a>:</td><td> </td><td valign="top"><a href="GETUID.html#GETUID">GETUID</a></td></tr> +<tr><td></td><td valign="top"><a href="CHDIR.html#index-system_002c-working-directory">system, working directory</a>:</td><td> </td><td valign="top"><a href="CHDIR.html#CHDIR">CHDIR</a></td></tr> +<tr><td></td><td valign="top"><a href="GETCWD.html#index-system_002c-working-directory-1">system, working directory</a>:</td><td> </td><td valign="top"><a href="GETCWD.html#GETCWD">GETCWD</a></td></tr> +<tr><td></td><td valign="top"><a href="SYSTEM_005fCLOCK.html#index-SYSTEM_005fCLOCK"><code>SYSTEM_CLOCK</code></a>:</td><td> </td><td valign="top"><a href="SYSTEM_005fCLOCK.html#SYSTEM_005fCLOCK">SYSTEM_CLOCK</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-T">T</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-tabulators">tabulators</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="TAN.html#index-TAN"><code>TAN</code></a>:</td><td> </td><td valign="top"><a href="TAN.html#TAN">TAN</a></td></tr> +<tr><td></td><td valign="top"><a href="TAND.html#index-TAND"><code>TAND</code></a>:</td><td> </td><td valign="top"><a href="TAND.html#TAND">TAND</a></td></tr> +<tr><td></td><td valign="top"><a href="TAN.html#index-tangent">tangent</a>:</td><td> </td><td valign="top"><a href="TAN.html#TAN">TAN</a></td></tr> +<tr><td></td><td valign="top"><a href="TAND.html#index-tangent_002c-degrees">tangent, degrees</a>:</td><td> </td><td valign="top"><a href="TAND.html#TAND">TAND</a></td></tr> +<tr><td></td><td valign="top"><a href="TANH.html#index-tangent_002c-hyperbolic">tangent, hyperbolic</a>:</td><td> </td><td valign="top"><a href="TANH.html#TANH">TANH</a></td></tr> +<tr><td></td><td valign="top"><a href="ATANH.html#index-tangent_002c-hyperbolic_002c-inverse">tangent, hyperbolic, inverse</a>:</td><td> </td><td valign="top"><a href="ATANH.html#ATANH">ATANH</a></td></tr> +<tr><td></td><td valign="top"><a href="ATAN.html#index-tangent_002c-inverse">tangent, inverse</a>:</td><td> </td><td valign="top"><a href="ATAN.html#ATAN">ATAN</a></td></tr> +<tr><td></td><td valign="top"><a href="ATAN2.html#index-tangent_002c-inverse-1">tangent, inverse</a>:</td><td> </td><td valign="top"><a href="ATAN2.html#ATAN2">ATAN2</a></td></tr> +<tr><td></td><td valign="top"><a href="ATAND.html#index-tangent_002c-inverse_002c-degrees">tangent, inverse, degrees</a>:</td><td> </td><td valign="top"><a href="ATAND.html#ATAND">ATAND</a></td></tr> +<tr><td></td><td valign="top"><a href="ATAN2D.html#index-tangent_002c-inverse_002c-degrees-1">tangent, inverse, degrees</a>:</td><td> </td><td valign="top"><a href="ATAN2D.html#ATAN2D">ATAN2D</a></td></tr> +<tr><td></td><td valign="top"><a href="TANH.html#index-TANH"><code>TANH</code></a>:</td><td> </td><td valign="top"><a href="TANH.html#TANH">TANH</a></td></tr> +<tr><td></td><td valign="top"><a href="EXIT.html#index-terminate-program">terminate program</a>:</td><td> </td><td valign="top"><a href="EXIT.html#EXIT">EXIT</a></td></tr> +<tr><td></td><td valign="top"><a href="ABORT.html#index-terminate-program_002c-with-core-dump">terminate program, with core dump</a>:</td><td> </td><td valign="top"><a href="ABORT.html#ABORT">ABORT</a></td></tr> +<tr><td></td><td valign="top"><a href="THIS_005fIMAGE.html#index-THIS_005fIMAGE"><code>THIS_IMAGE</code></a>:</td><td> </td><td valign="top"><a href="THIS_005fIMAGE.html#THIS_005fIMAGE">THIS_IMAGE</a></td></tr> +<tr><td></td><td valign="top"><a href="Thread_002dsafety-of-the-runtime-library.html#index-thread_002dsafety_002c-threads">thread-safety, threads</a>:</td><td> </td><td valign="top"><a href="Thread_002dsafety-of-the-runtime-library.html#Thread_002dsafety-of-the-runtime-library">Thread-safety of the runtime library</a></td></tr> +<tr><td></td><td valign="top"><a href="TIME.html#index-TIME"><code>TIME</code></a>:</td><td> </td><td valign="top"><a href="TIME.html#TIME">TIME</a></td></tr> +<tr><td></td><td valign="top"><a href="MCLOCK.html#index-time_002c-clock-ticks">time, clock ticks</a>:</td><td> </td><td valign="top"><a href="MCLOCK.html#MCLOCK">MCLOCK</a></td></tr> +<tr><td></td><td valign="top"><a href="MCLOCK8.html#index-time_002c-clock-ticks-1">time, clock ticks</a>:</td><td> </td><td valign="top"><a href="MCLOCK8.html#MCLOCK8">MCLOCK8</a></td></tr> +<tr><td></td><td valign="top"><a href="SYSTEM_005fCLOCK.html#index-time_002c-clock-ticks-2">time, clock ticks</a>:</td><td> </td><td valign="top"><a href="SYSTEM_005fCLOCK.html#SYSTEM_005fCLOCK">SYSTEM_CLOCK</a></td></tr> +<tr><td></td><td valign="top"><a href="GMTIME.html#index-time_002c-conversion-to-GMT-info">time, conversion to GMT info</a>:</td><td> </td><td valign="top"><a href="GMTIME.html#GMTIME">GMTIME</a></td></tr> +<tr><td></td><td valign="top"><a href="LTIME.html#index-time_002c-conversion-to-local-time-info">time, conversion to local time info</a>:</td><td> </td><td valign="top"><a href="LTIME.html#LTIME">LTIME</a></td></tr> +<tr><td></td><td valign="top"><a href="CTIME.html#index-time_002c-conversion-to-string">time, conversion to string</a>:</td><td> </td><td valign="top"><a href="CTIME.html#CTIME">CTIME</a></td></tr> +<tr><td></td><td valign="top"><a href="DATE_005fAND_005fTIME.html#index-time_002c-current">time, current</a>:</td><td> </td><td valign="top"><a href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME">DATE_AND_TIME</a></td></tr> +<tr><td></td><td valign="top"><a href="FDATE.html#index-time_002c-current-1">time, current</a>:</td><td> </td><td valign="top"><a href="FDATE.html#FDATE">FDATE</a></td></tr> +<tr><td></td><td valign="top"><a href="ITIME.html#index-time_002c-current-2">time, current</a>:</td><td> </td><td valign="top"><a href="ITIME.html#ITIME">ITIME</a></td></tr> +<tr><td></td><td valign="top"><a href="TIME.html#index-time_002c-current-3">time, current</a>:</td><td> </td><td valign="top"><a href="TIME.html#TIME">TIME</a></td></tr> +<tr><td></td><td valign="top"><a href="TIME8.html#index-time_002c-current-4">time, current</a>:</td><td> </td><td valign="top"><a href="TIME8.html#TIME8">TIME8</a></td></tr> +<tr><td></td><td valign="top"><a href="CPU_005fTIME.html#index-time_002c-elapsed">time, elapsed</a>:</td><td> </td><td valign="top"><a href="CPU_005fTIME.html#CPU_005fTIME">CPU_TIME</a></td></tr> +<tr><td></td><td valign="top"><a href="DTIME.html#index-time_002c-elapsed-1">time, elapsed</a>:</td><td> </td><td valign="top"><a href="DTIME.html#DTIME">DTIME</a></td></tr> +<tr><td></td><td valign="top"><a href="ETIME.html#index-time_002c-elapsed-2">time, elapsed</a>:</td><td> </td><td valign="top"><a href="ETIME.html#ETIME">ETIME</a></td></tr> +<tr><td></td><td valign="top"><a href="SECNDS.html#index-time_002c-elapsed-3">time, elapsed</a>:</td><td> </td><td valign="top"><a href="SECNDS.html#SECNDS">SECNDS</a></td></tr> +<tr><td></td><td valign="top"><a href="SECOND.html#index-time_002c-elapsed-4">time, elapsed</a>:</td><td> </td><td valign="top"><a href="SECOND.html#SECOND">SECOND</a></td></tr> +<tr><td></td><td valign="top"><a href="TIME8.html#index-TIME8"><code>TIME8</code></a>:</td><td> </td><td valign="top"><a href="TIME8.html#TIME8">TIME8</a></td></tr> +<tr><td></td><td valign="top"><a href="TINY.html#index-TINY"><code>TINY</code></a>:</td><td> </td><td valign="top"><a href="TINY.html#TINY">TINY</a></td></tr> +<tr><td></td><td valign="top"><a href="Debugging-Options.html#index-trace">trace</a>:</td><td> </td><td valign="top"><a href="Debugging-Options.html#Debugging-Options">Debugging Options</a></td></tr> +<tr><td></td><td valign="top"><a href="TRAILZ.html#index-TRAILZ"><code>TRAILZ</code></a>:</td><td> </td><td valign="top"><a href="TRAILZ.html#TRAILZ">TRAILZ</a></td></tr> +<tr><td></td><td valign="top"><a href="TRANSFER.html#index-TRANSFER"><code>TRANSFER</code></a>:</td><td> </td><td valign="top"><a href="TRANSFER.html#TRANSFER">TRANSFER</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-transforming-symbol-names">transforming symbol names</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-transforming-symbol-names-1">transforming symbol names</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="TRANSPOSE.html#index-TRANSPOSE"><code>TRANSPOSE</code></a>:</td><td> </td><td valign="top"><a href="TRANSPOSE.html#TRANSPOSE">TRANSPOSE</a></td></tr> +<tr><td></td><td valign="top"><a href="TRANSPOSE.html#index-transpose">transpose</a>:</td><td> </td><td valign="top"><a href="TRANSPOSE.html#TRANSPOSE">TRANSPOSE</a></td></tr> +<tr><td></td><td valign="top"><a href="COS.html#index-trigonometric-function_002c-cosine">trigonometric function, cosine</a>:</td><td> </td><td valign="top"><a href="COS.html#COS">COS</a></td></tr> +<tr><td></td><td valign="top"><a href="COSD.html#index-trigonometric-function_002c-cosine_002c-degrees">trigonometric function, cosine, degrees</a>:</td><td> </td><td valign="top"><a href="COSD.html#COSD">COSD</a></td></tr> +<tr><td></td><td valign="top"><a href="ACOS.html#index-trigonometric-function_002c-cosine_002c-inverse">trigonometric function, cosine, inverse</a>:</td><td> </td><td valign="top"><a href="ACOS.html#ACOS">ACOS</a></td></tr> +<tr><td></td><td valign="top"><a href="ACOSD.html#index-trigonometric-function_002c-cosine_002c-inverse_002c-degrees">trigonometric function, cosine, inverse, degrees</a>:</td><td> </td><td valign="top"><a href="ACOSD.html#ACOSD">ACOSD</a></td></tr> +<tr><td></td><td valign="top"><a href="COTAN.html#index-trigonometric-function_002c-cotangent">trigonometric function, cotangent</a>:</td><td> </td><td valign="top"><a href="COTAN.html#COTAN">COTAN</a></td></tr> +<tr><td></td><td valign="top"><a href="COTAND.html#index-trigonometric-function_002c-cotangent_002c-degrees">trigonometric function, cotangent, degrees</a>:</td><td> </td><td valign="top"><a href="COTAND.html#COTAND">COTAND</a></td></tr> +<tr><td></td><td valign="top"><a href="SIN.html#index-trigonometric-function_002c-sine">trigonometric function, sine</a>:</td><td> </td><td valign="top"><a href="SIN.html#SIN">SIN</a></td></tr> +<tr><td></td><td valign="top"><a href="SIND.html#index-trigonometric-function_002c-sine_002c-degrees">trigonometric function, sine, degrees</a>:</td><td> </td><td valign="top"><a href="SIND.html#SIND">SIND</a></td></tr> +<tr><td></td><td valign="top"><a href="ASIN.html#index-trigonometric-function_002c-sine_002c-inverse">trigonometric function, sine, inverse</a>:</td><td> </td><td valign="top"><a href="ASIN.html#ASIN">ASIN</a></td></tr> +<tr><td></td><td valign="top"><a href="ASIND.html#index-trigonometric-function_002c-sine_002c-inverse_002c-degrees">trigonometric function, sine, inverse, degrees</a>:</td><td> </td><td valign="top"><a href="ASIND.html#ASIND">ASIND</a></td></tr> +<tr><td></td><td valign="top"><a href="TAN.html#index-trigonometric-function_002c-tangent">trigonometric function, tangent</a>:</td><td> </td><td valign="top"><a href="TAN.html#TAN">TAN</a></td></tr> +<tr><td></td><td valign="top"><a href="TAND.html#index-trigonometric-function_002c-tangent_002c-degrees">trigonometric function, tangent, degrees</a>:</td><td> </td><td valign="top"><a href="TAND.html#TAND">TAND</a></td></tr> +<tr><td></td><td valign="top"><a href="ATAN.html#index-trigonometric-function_002c-tangent_002c-inverse">trigonometric function, tangent, inverse</a>:</td><td> </td><td valign="top"><a href="ATAN.html#ATAN">ATAN</a></td></tr> +<tr><td></td><td valign="top"><a href="ATAN2.html#index-trigonometric-function_002c-tangent_002c-inverse-1">trigonometric function, tangent, inverse</a>:</td><td> </td><td valign="top"><a href="ATAN2.html#ATAN2">ATAN2</a></td></tr> +<tr><td></td><td valign="top"><a href="ATAND.html#index-trigonometric-function_002c-tangent_002c-inverse_002c-degrees">trigonometric function, tangent, inverse, degrees</a>:</td><td> </td><td valign="top"><a href="ATAND.html#ATAND">ATAND</a></td></tr> +<tr><td></td><td valign="top"><a href="ATAN2D.html#index-trigonometric-function_002c-tangent_002c-inverse_002c-degrees-1">trigonometric function, tangent, inverse, degrees</a>:</td><td> </td><td valign="top"><a href="ATAN2D.html#ATAN2D">ATAN2D</a></td></tr> +<tr><td></td><td valign="top"><a href="TRIM.html#index-TRIM"><code>TRIM</code></a>:</td><td> </td><td valign="top"><a href="TRIM.html#TRIM">TRIM</a></td></tr> +<tr><td></td><td valign="top"><a href="Further-Interoperability-of-Fortran-with-C.html#index-TS-29113">TS 29113</a>:</td><td> </td><td valign="top"><a href="Further-Interoperability-of-Fortran-with-C.html#Further-Interoperability-of-Fortran-with-C">Further Interoperability of Fortran with C</a></td></tr> +<tr><td></td><td valign="top"><a href="TTYNAM.html#index-TTYNAM"><code>TTYNAM</code></a>:</td><td> </td><td valign="top"><a href="TTYNAM.html#TTYNAM">TTYNAM</a></td></tr> +<tr><td></td><td valign="top"><a href="TYPE-as-an-alias-for-PRINT.html#index-type-alias-print">type alias print</a>:</td><td> </td><td valign="top"><a href="TYPE-as-an-alias-for-PRINT.html#TYPE-as-an-alias-for-PRINT">TYPE as an alias for PRINT</a></td></tr> +<tr><td></td><td valign="top"><a href="TRANSFER.html#index-type-cast">type cast</a>:</td><td> </td><td valign="top"><a href="TRANSFER.html#TRANSFER">TRANSFER</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-U">U</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="UBOUND.html#index-UBOUND"><code>UBOUND</code></a>:</td><td> </td><td valign="top"><a href="UBOUND.html#UBOUND">UBOUND</a></td></tr> +<tr><td></td><td valign="top"><a href="UCOBOUND.html#index-UCOBOUND"><code>UCOBOUND</code></a>:</td><td> </td><td valign="top"><a href="UCOBOUND.html#UCOBOUND">UCOBOUND</a></td></tr> +<tr><td></td><td valign="top"><a href="UMASK.html#index-UMASK"><code>UMASK</code></a>:</td><td> </td><td valign="top"><a href="UMASK.html#UMASK">UMASK</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-underflow">underflow</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-underscore">underscore</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-underscore-1">underscore</a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="File-format-of-unformatted-sequential-files.html#index-unformatted-sequential">unformatted sequential</a>:</td><td> </td><td valign="top"><a href="File-format-of-unformatted-sequential-files.html#File-format-of-unformatted-sequential-files">File format of unformatted sequential files</a></td></tr> +<tr><td></td><td valign="top"><a href="UNION-and-MAP.html#index-UNION"><code>UNION</code></a>:</td><td> </td><td valign="top"><a href="UNION-and-MAP.html#UNION-and-MAP">UNION and MAP</a></td></tr> +<tr><td></td><td valign="top"><a href="UNLINK.html#index-UNLINK"><code>UNLINK</code></a>:</td><td> </td><td valign="top"><a href="UNLINK.html#UNLINK">UNLINK</a></td></tr> +<tr><td></td><td valign="top"><a href="UNPACK.html#index-UNPACK"><code>UNPACK</code></a>:</td><td> </td><td valign="top"><a href="UNPACK.html#UNPACK">UNPACK</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-unused-dummy-argument">unused dummy argument</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-unused-parameter">unused parameter</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="GETUID.html#index-user-id">user id</a>:</td><td> </td><td valign="top"><a href="GETUID.html#GETUID">GETUID</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-V">V</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="AUTOMATIC-and-STATIC-attributes.html#index-variable-attributes">variable attributes</a>:</td><td> </td><td valign="top"><a href="AUTOMATIC-and-STATIC-attributes.html#AUTOMATIC-and-STATIC-attributes">AUTOMATIC and STATIC attributes</a></td></tr> +<tr><td></td><td valign="top"><a href="Interoperable-Global-Variables.html#index-variable-interoperability-with-C">variable interoperability with C</a>:</td><td> </td><td valign="top"><a href="Interoperable-Global-Variables.html#Interoperable-Global-Variables">Interoperable Global Variables</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-95-status.html#index-Varying-length-strings">Varying length strings</a>:</td><td> </td><td valign="top"><a href="Fortran-95-status.html#Fortran-95-status">Fortran 95 status</a></td></tr> +<tr><td></td><td valign="top"><a href="DOT_005fPRODUCT.html#index-vector-product">vector product</a>:</td><td> </td><td valign="top"><a href="DOT_005fPRODUCT.html#DOT_005fPRODUCT">DOT_PRODUCT</a></td></tr> +<tr><td></td><td valign="top"><a href="VERIFY.html#index-VERIFY"><code>VERIFY</code></a>:</td><td> </td><td valign="top"><a href="VERIFY.html#VERIFY">VERIFY</a></td></tr> +<tr><td></td><td valign="top"><a href="COMPILER_005fVERSION.html#index-version-of-the-compiler">version of the compiler</a>:</td><td> </td><td valign="top"><a href="COMPILER_005fVERSION.html#COMPILER_005fVERSION">COMPILER_VERSION</a></td></tr> +<tr><td></td><td valign="top"><a href="Volatile-COMMON-blocks.html#index-VOLATILE"><code>VOLATILE</code></a>:</td><td> </td><td valign="top"><a href="Volatile-COMMON-blocks.html#Volatile-COMMON-blocks">Volatile COMMON blocks</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-W">W</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warning_002c-C-binding-type">warning, C binding type</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-aliasing">warnings, aliasing</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-alignment-of-COMMON-blocks">warnings, alignment of <code>COMMON</code> blocks</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-all">warnings, all</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-ampersand">warnings, ampersand</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-array-temporaries">warnings, array temporaries</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-character-truncation">warnings, character truncation</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-conversion">warnings, conversion</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-conversion-1">warnings, conversion</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-division-of-integers">warnings, division of integers</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-extra">warnings, extra</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-function-elimination">warnings, function elimination</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-implicit-interface">warnings, implicit interface</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-implicit-procedure">warnings, implicit procedure</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-integer-division">warnings, integer division</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-intrinsic">warnings, intrinsic</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-intrinsics-of-other-standards">warnings, intrinsics of other standards</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-line-truncation">warnings, line truncation</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-loop-interchange">warnings, loop interchange</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-non_002dstandard-intrinsics">warnings, non-standard intrinsics</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-overwrite-recursive">warnings, overwrite recursive</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-q-exponent_002dletter">warnings, <code>q</code> exponent-letter</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-suppressing">warnings, suppressing</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-suspicious-code">warnings, suspicious code</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-tabs">warnings, tabs</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-to-errors">warnings, to errors</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-undefined-do-loop">warnings, undefined do loop</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-underflow">warnings, underflow</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-unused-dummy-argument">warnings, unused dummy argument</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-unused-parameter">warnings, unused parameter</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-warnings_002c-use-statements">warnings, use statements</a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="FPUT.html#index-write-character_002c-stream-mode">write character, stream mode</a>:</td><td> </td><td valign="top"><a href="FPUT.html#FPUT">FPUT</a></td></tr> +<tr><td></td><td valign="top"><a href="FPUTC.html#index-write-character_002c-stream-mode-1">write character, stream mode</a>:</td><td> </td><td valign="top"><a href="FPUTC.html#FPUTC">FPUTC</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-X">X</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="XOR.html#index-XOR"><code>XOR</code></a>:</td><td> </td><td valign="top"><a href="XOR.html#XOR">XOR</a></td></tr> +<tr><td></td><td valign="top"><a href="PARITY.html#index-XOR-reduction">XOR reduction</a>:</td><td> </td><td valign="top"><a href="PARITY.html#PARITY">PARITY</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Keyword-Index_cp_letter-Z">Z</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="ABS.html#index-ZABS"><code>ZABS</code></a>:</td><td> </td><td valign="top"><a href="ABS.html#ABS">ABS</a></td></tr> +<tr><td></td><td valign="top"><a href="COS.html#index-ZCOS"><code>ZCOS</code></a>:</td><td> </td><td valign="top"><a href="COS.html#COS">COS</a></td></tr> +<tr><td></td><td valign="top"><a href="COSD.html#index-ZCOSD"><code>ZCOSD</code></a>:</td><td> </td><td valign="top"><a href="COSD.html#COSD">COSD</a></td></tr> +<tr><td></td><td valign="top"><a href="LEADZ.html#index-zero-bits">zero bits</a>:</td><td> </td><td valign="top"><a href="LEADZ.html#LEADZ">LEADZ</a></td></tr> +<tr><td></td><td valign="top"><a href="TRAILZ.html#index-zero-bits-1">zero bits</a>:</td><td> </td><td valign="top"><a href="TRAILZ.html#TRAILZ">TRAILZ</a></td></tr> +<tr><td></td><td valign="top"><a href="EXP.html#index-ZEXP"><code>ZEXP</code></a>:</td><td> </td><td valign="top"><a href="EXP.html#EXP">EXP</a></td></tr> +<tr><td></td><td valign="top"><a href="LOG.html#index-ZLOG"><code>ZLOG</code></a>:</td><td> </td><td valign="top"><a href="LOG.html#LOG">LOG</a></td></tr> +<tr><td></td><td valign="top"><a href="SIN.html#index-ZSIN"><code>ZSIN</code></a>:</td><td> </td><td valign="top"><a href="SIN.html#SIN">SIN</a></td></tr> +<tr><td></td><td valign="top"><a href="SIND.html#index-ZSIND"><code>ZSIND</code></a>:</td><td> </td><td valign="top"><a href="SIND.html#SIND">SIND</a></td></tr> +<tr><td></td><td valign="top"><a href="SQRT.html#index-ZSQRT"><code>ZSQRT</code></a>:</td><td> </td><td valign="top"><a href="SQRT.html#SQRT">SQRT</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +</table> +<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Keyword-Index_cp_symbol-1"><b>$</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_symbol-2"><b>%</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_symbol-3"><b>&</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_symbol-4"><b>_</b></a> + +<br> +<a class="summary-letter" href="#Keyword-Index_cp_letter-A"><b>A</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-B"><b>B</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-C"><b>C</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-D"><b>D</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-E"><b>E</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-F"><b>F</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-G"><b>G</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-H"><b>H</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-I"><b>I</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-J"><b>J</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-K"><b>K</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-L"><b>L</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-M"><b>M</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-N"><b>N</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-O"><b>O</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-P"><b>P</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-Q"><b>Q</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-R"><b>R</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-S"><b>S</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-T"><b>T</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-U"><b>U</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-V"><b>V</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-W"><b>W</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-X"><b>X</b></a> + +<a class="summary-letter" href="#Keyword-Index_cp_letter-Z"><b>Z</b></a> + +</td></tr></table> + +<hr> +<div class="header"> +<p> +Previous: <a href="Option-Index.html#Option-Index" accesskey="p" rel="previous">Option Index</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/LBOUND.html b/share/doc/gfortran/LBOUND.html new file mode 100644 index 0000000..7bdd1aa --- /dev/null +++ b/share/doc/gfortran/LBOUND.html @@ -0,0 +1,131 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: LBOUND</title> + +<meta name="description" content="The GNU Fortran Compiler: LBOUND"> +<meta name="keywords" content="The GNU Fortran Compiler: LBOUND"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="LCOBOUND.html#LCOBOUND" rel="next" title="LCOBOUND"> +<link href="KIND.html#KIND" rel="previous" title="KIND"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="LBOUND"></a> +<div class="header"> +<p> +Next: <a href="LCOBOUND.html#LCOBOUND" accesskey="n" rel="next">LCOBOUND</a>, Previous: <a href="KIND.html#KIND" accesskey="p" rel="previous">KIND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="LBOUND-_002d_002d_002d-Lower-dimension-bounds-of-an-array"></a> +<h3 class="section">8.165 <code>LBOUND</code> — Lower dimension bounds of an array</h3> +<a name="index-LBOUND"></a> +<a name="index-array_002c-lower-bound"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the lower bounds of an array, or a single lower bound +along the <var>DIM</var> dimension. +</p></dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later, with <var>KIND</var> argument Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = LBOUND(ARRAY [, DIM [, KIND]])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ARRAY</var></td><td width="70%">Shall be an array, of any type.</td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">(Optional) Shall be a scalar <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of kind <var>KIND</var>. If +<var>KIND</var> is absent, the return value is of default integer kind. +If <var>DIM</var> is absent, the result is an array of the lower bounds of +<var>ARRAY</var>. If <var>DIM</var> is present, the result is a scalar +corresponding to the lower bound of the array along that dimension. If +<var>ARRAY</var> is an expression rather than a whole array or array +structure component, or if it has a zero extent along the relevant +dimension, the lower bound is taken to be 1. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="UBOUND.html#UBOUND">UBOUND</a>, <br> +<a href="LCOBOUND.html#LCOBOUND">LCOBOUND</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/LCOBOUND.html b/share/doc/gfortran/LCOBOUND.html new file mode 100644 index 0000000..954cb10 --- /dev/null +++ b/share/doc/gfortran/LCOBOUND.html @@ -0,0 +1,128 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: LCOBOUND</title> + +<meta name="description" content="The GNU Fortran Compiler: LCOBOUND"> +<meta name="keywords" content="The GNU Fortran Compiler: LCOBOUND"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="LEADZ.html#LEADZ" rel="next" title="LEADZ"> +<link href="LBOUND.html#LBOUND" rel="previous" title="LBOUND"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="LCOBOUND"></a> +<div class="header"> +<p> +Next: <a href="LEADZ.html#LEADZ" accesskey="n" rel="next">LEADZ</a>, Previous: <a href="LBOUND.html#LBOUND" accesskey="p" rel="previous">LBOUND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="LCOBOUND-_002d_002d_002d-Lower-codimension-bounds-of-an-array"></a> +<h3 class="section">8.166 <code>LCOBOUND</code> — Lower codimension bounds of an array</h3> +<a name="index-LCOBOUND"></a> +<a name="index-coarray_002c-lower-bound"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the lower bounds of a coarray, or a single lower cobound +along the <var>DIM</var> codimension. +</p></dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = LCOBOUND(COARRAY [, DIM [, KIND]])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ARRAY</var></td><td width="70%">Shall be an coarray, of any type.</td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">(Optional) Shall be a scalar <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of kind <var>KIND</var>. If +<var>KIND</var> is absent, the return value is of default integer kind. +If <var>DIM</var> is absent, the result is an array of the lower cobounds of +<var>COARRAY</var>. If <var>DIM</var> is present, the result is a scalar +corresponding to the lower cobound of the array along that codimension. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="UCOBOUND.html#UCOBOUND">UCOBOUND</a>, <br> +<a href="LBOUND.html#LBOUND">LBOUND</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/LEADZ.html b/share/doc/gfortran/LEADZ.html new file mode 100644 index 0000000..ab001bc --- /dev/null +++ b/share/doc/gfortran/LEADZ.html @@ -0,0 +1,133 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: LEADZ</title> + +<meta name="description" content="The GNU Fortran Compiler: LEADZ"> +<meta name="keywords" content="The GNU Fortran Compiler: LEADZ"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="LEN.html#LEN" rel="next" title="LEN"> +<link href="LCOBOUND.html#LCOBOUND" rel="previous" title="LCOBOUND"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="LEADZ"></a> +<div class="header"> +<p> +Next: <a href="LEN.html#LEN" accesskey="n" rel="next">LEN</a>, Previous: <a href="LCOBOUND.html#LCOBOUND" accesskey="p" rel="previous">LCOBOUND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="LEADZ-_002d_002d_002d-Number-of-leading-zero-bits-of-an-integer"></a> +<h3 class="section">8.167 <code>LEADZ</code> — Number of leading zero bits of an integer</h3> +<a name="index-LEADZ"></a> +<a name="index-zero-bits"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>LEADZ</code> returns the number of leading zero bits of an integer. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = LEADZ(I)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">Shall be of type <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The type of the return value is the default <code>INTEGER</code>. +If all the bits of <code>I</code> are zero, the result value is <code>BIT_SIZE(I)</code>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_leadz + WRITE (*,*) BIT_SIZE(1) ! prints 32 + WRITE (*,*) LEADZ(1) ! prints 31 +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="BIT_005fSIZE.html#BIT_005fSIZE">BIT_SIZE</a>, <br> +<a href="TRAILZ.html#TRAILZ">TRAILZ</a>, <br> +<a href="POPCNT.html#POPCNT">POPCNT</a>, <br> +<a href="POPPAR.html#POPPAR">POPPAR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/LEN.html b/share/doc/gfortran/LEN.html new file mode 100644 index 0000000..e6e0417 --- /dev/null +++ b/share/doc/gfortran/LEN.html @@ -0,0 +1,138 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: LEN</title> + +<meta name="description" content="The GNU Fortran Compiler: LEN"> +<meta name="keywords" content="The GNU Fortran Compiler: LEN"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="LEN_005fTRIM.html#LEN_005fTRIM" rel="next" title="LEN_TRIM"> +<link href="LEADZ.html#LEADZ" rel="previous" title="LEADZ"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="LEN"></a> +<div class="header"> +<p> +Next: <a href="LEN_005fTRIM.html#LEN_005fTRIM" accesskey="n" rel="next">LEN_TRIM</a>, Previous: <a href="LEADZ.html#LEADZ" accesskey="p" rel="previous">LEADZ</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="LEN-_002d_002d_002d-Length-of-a-character-entity"></a> +<h3 class="section">8.168 <code>LEN</code> — Length of a character entity</h3> +<a name="index-LEN"></a> +<a name="index-string_002c-length"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the length of a character string. If <var>STRING</var> is an array, +the length of an element of <var>STRING</var> is returned. Note that +<var>STRING</var> need not be defined when this intrinsic is invoked, since +only the length, not the content, of <var>STRING</var> is needed. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later, with <var>KIND</var> argument Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>L = LEN(STRING [, KIND])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>STRING</var></td><td width="70%">Shall be a scalar or array of type +<code>CHARACTER</code>, with <code>INTENT(IN)</code></td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of kind <var>KIND</var>. If +<var>KIND</var> is absent, the return value is of default integer kind. +</p> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>LEN(STRING)</code></td><td width="23%"><code>CHARACTER</code></td><td width="20%"><code>INTEGER</code></td><td width="33%">Fortran 77 and later</td></tr> +</table> + + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="LEN_005fTRIM.html#LEN_005fTRIM">LEN_TRIM</a>, <br> +<a href="ADJUSTL.html#ADJUSTL">ADJUSTL</a>, <br> +<a href="ADJUSTR.html#ADJUSTR">ADJUSTR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/LEN_005fTRIM.html b/share/doc/gfortran/LEN_005fTRIM.html new file mode 100644 index 0000000..34c8a86 --- /dev/null +++ b/share/doc/gfortran/LEN_005fTRIM.html @@ -0,0 +1,126 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: LEN_TRIM</title> + +<meta name="description" content="The GNU Fortran Compiler: LEN_TRIM"> +<meta name="keywords" content="The GNU Fortran Compiler: LEN_TRIM"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="LGE.html#LGE" rel="next" title="LGE"> +<link href="LEN.html#LEN" rel="previous" title="LEN"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="LEN_005fTRIM"></a> +<div class="header"> +<p> +Next: <a href="LGE.html#LGE" accesskey="n" rel="next">LGE</a>, Previous: <a href="LEN.html#LEN" accesskey="p" rel="previous">LEN</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="LEN_005fTRIM-_002d_002d_002d-Length-of-a-character-entity-without-trailing-blank-characters"></a> +<h3 class="section">8.169 <code>LEN_TRIM</code> — Length of a character entity without trailing blank characters</h3> +<a name="index-LEN_005fTRIM"></a> +<a name="index-string_002c-length_002c-without-trailing-whitespace"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the length of a character string, ignoring any trailing blanks. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later, with <var>KIND</var> argument Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = LEN_TRIM(STRING [, KIND])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>STRING</var></td><td width="70%">Shall be a scalar of type <code>CHARACTER</code>, +with <code>INTENT(IN)</code></td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of kind <var>KIND</var>. If +<var>KIND</var> is absent, the return value is of default integer kind. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="LEN.html#LEN">LEN</a>, <br> +<a href="ADJUSTL.html#ADJUSTL">ADJUSTL</a>, <br> +<a href="ADJUSTR.html#ADJUSTR">ADJUSTR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/LGE.html b/share/doc/gfortran/LGE.html new file mode 100644 index 0000000..c167ed7 --- /dev/null +++ b/share/doc/gfortran/LGE.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: LGE</title> + +<meta name="description" content="The GNU Fortran Compiler: LGE"> +<meta name="keywords" content="The GNU Fortran Compiler: LGE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="LGT.html#LGT" rel="next" title="LGT"> +<link href="LEN_005fTRIM.html#LEN_005fTRIM" rel="previous" title="LEN_TRIM"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="LGE"></a> +<div class="header"> +<p> +Next: <a href="LGT.html#LGT" accesskey="n" rel="next">LGT</a>, Previous: <a href="LEN_005fTRIM.html#LEN_005fTRIM" accesskey="p" rel="previous">LEN_TRIM</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="LGE-_002d_002d_002d-Lexical-greater-than-or-equal"></a> +<h3 class="section">8.170 <code>LGE</code> — Lexical greater than or equal</h3> +<a name="index-LGE"></a> +<a name="index-lexical-comparison-of-strings"></a> +<a name="index-string_002c-comparison"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Determines whether one string is lexically greater than or equal to +another string, where the two strings are interpreted as containing +ASCII character codes. If the String A and String B are not the same +length, the shorter is compared as if spaces were appended to it to form +a value that has the same length as the longer. +</p> +<p>In general, the lexical comparison intrinsics <code>LGE</code>, <code>LGT</code>, +<code>LLE</code>, and <code>LLT</code> differ from the corresponding intrinsic +operators <code>.GE.</code>, <code>.GT.</code>, <code>.LE.</code>, and <code>.LT.</code>, in +that the latter use the processor’s character ordering (which is not +ASCII on some targets), whereas the former always use the ASCII +ordering. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = LGE(STRING_A, STRING_B)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>STRING_A</var></td><td width="70%">Shall be of default <code>CHARACTER</code> type.</td></tr> +<tr><td width="15%"><var>STRING_B</var></td><td width="70%">Shall be of default <code>CHARACTER</code> type.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Returns <code>.TRUE.</code> if <code>STRING_A >= STRING_B</code>, and <code>.FALSE.</code> +otherwise, based on the ASCII ordering. +</p> +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="34%">Name</th><th width="16%">Argument</th><th width="17%">Return type</th><th width="30%">Standard</th></tr></thead> +<tr><td width="34%"><code>LGE(STRING_A,STRING_B)</code></td><td width="16%"><code>CHARACTER</code></td><td width="17%"><code>LOGICAL</code></td><td width="30%">Fortran 77 and later</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="LGT.html#LGT">LGT</a>, <br> +<a href="LLE.html#LLE">LLE</a>, <br> +<a href="LLT.html#LLT">LLT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/LGT.html b/share/doc/gfortran/LGT.html new file mode 100644 index 0000000..7ff8136 --- /dev/null +++ b/share/doc/gfortran/LGT.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: LGT</title> + +<meta name="description" content="The GNU Fortran Compiler: LGT"> +<meta name="keywords" content="The GNU Fortran Compiler: LGT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="LINK.html#LINK" rel="next" title="LINK"> +<link href="LGE.html#LGE" rel="previous" title="LGE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="LGT"></a> +<div class="header"> +<p> +Next: <a href="LINK.html#LINK" accesskey="n" rel="next">LINK</a>, Previous: <a href="LGE.html#LGE" accesskey="p" rel="previous">LGE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="LGT-_002d_002d_002d-Lexical-greater-than"></a> +<h3 class="section">8.171 <code>LGT</code> — Lexical greater than</h3> +<a name="index-LGT"></a> +<a name="index-lexical-comparison-of-strings-1"></a> +<a name="index-string_002c-comparison-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Determines whether one string is lexically greater than another string, +where the two strings are interpreted as containing ASCII character +codes. If the String A and String B are not the same length, the +shorter is compared as if spaces were appended to it to form a value +that has the same length as the longer. +</p> +<p>In general, the lexical comparison intrinsics <code>LGE</code>, <code>LGT</code>, +<code>LLE</code>, and <code>LLT</code> differ from the corresponding intrinsic +operators <code>.GE.</code>, <code>.GT.</code>, <code>.LE.</code>, and <code>.LT.</code>, in +that the latter use the processor’s character ordering (which is not +ASCII on some targets), whereas the former always use the ASCII +ordering. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = LGT(STRING_A, STRING_B)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>STRING_A</var></td><td width="70%">Shall be of default <code>CHARACTER</code> type.</td></tr> +<tr><td width="15%"><var>STRING_B</var></td><td width="70%">Shall be of default <code>CHARACTER</code> type.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Returns <code>.TRUE.</code> if <code>STRING_A > STRING_B</code>, and <code>.FALSE.</code> +otherwise, based on the ASCII ordering. +</p> +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="34%">Name</th><th width="16%">Argument</th><th width="17%">Return type</th><th width="30%">Standard</th></tr></thead> +<tr><td width="34%"><code>LGT(STRING_A,STRING_B)</code></td><td width="16%"><code>CHARACTER</code></td><td width="17%"><code>LOGICAL</code></td><td width="30%">Fortran 77 and later</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="LGE.html#LGE">LGE</a>, <br> +<a href="LLE.html#LLE">LLE</a>, <br> +<a href="LLT.html#LLT">LLT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/LINK.html b/share/doc/gfortran/LINK.html new file mode 100644 index 0000000..3273e6c --- /dev/null +++ b/share/doc/gfortran/LINK.html @@ -0,0 +1,131 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: LINK</title> + +<meta name="description" content="The GNU Fortran Compiler: LINK"> +<meta name="keywords" content="The GNU Fortran Compiler: LINK"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="LLE.html#LLE" rel="next" title="LLE"> +<link href="LGT.html#LGT" rel="previous" title="LGT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="LINK"></a> +<div class="header"> +<p> +Next: <a href="LLE.html#LLE" accesskey="n" rel="next">LLE</a>, Previous: <a href="LGT.html#LGT" accesskey="p" rel="previous">LGT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="LINK-_002d_002d_002d-Create-a-hard-link"></a> +<h3 class="section">8.172 <code>LINK</code> — Create a hard link</h3> +<a name="index-LINK"></a> +<a name="index-file-system_002c-create-link"></a> +<a name="index-file-system_002c-hard-link"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Makes a (hard) link from file <var>PATH1</var> to <var>PATH2</var>. A null +character (<code>CHAR(0)</code>) can be used to mark the end of the names in +<var>PATH1</var> and <var>PATH2</var>; otherwise, trailing blanks in the file +names are ignored. If the <var>STATUS</var> argument is supplied, it +contains 0 on success or a nonzero error code upon return; see +<code>link(2)</code>. +</p> +<p>This intrinsic is provided in both subroutine and function forms; +however, only one form can be used in any given program unit. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL LINK(PATH1, PATH2 [, STATUS])</code></td></tr> +<tr><td width="80%"><code>STATUS = LINK(PATH1, PATH2)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>PATH1</var></td><td width="70%">Shall be of default <code>CHARACTER</code> type.</td></tr> +<tr><td width="15%"><var>PATH2</var></td><td width="70%">Shall be of default <code>CHARACTER</code> type.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">(Optional) Shall be of default <code>INTEGER</code> type.</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="SYMLNK.html#SYMLNK">SYMLNK</a>, <br> +<a href="UNLINK.html#UNLINK">UNLINK</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/LLE.html b/share/doc/gfortran/LLE.html new file mode 100644 index 0000000..e01c2af --- /dev/null +++ b/share/doc/gfortran/LLE.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: LLE</title> + +<meta name="description" content="The GNU Fortran Compiler: LLE"> +<meta name="keywords" content="The GNU Fortran Compiler: LLE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="LLT.html#LLT" rel="next" title="LLT"> +<link href="LINK.html#LINK" rel="previous" title="LINK"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="LLE"></a> +<div class="header"> +<p> +Next: <a href="LLT.html#LLT" accesskey="n" rel="next">LLT</a>, Previous: <a href="LINK.html#LINK" accesskey="p" rel="previous">LINK</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="LLE-_002d_002d_002d-Lexical-less-than-or-equal"></a> +<h3 class="section">8.173 <code>LLE</code> — Lexical less than or equal</h3> +<a name="index-LLE"></a> +<a name="index-lexical-comparison-of-strings-2"></a> +<a name="index-string_002c-comparison-2"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Determines whether one string is lexically less than or equal to another +string, where the two strings are interpreted as containing ASCII +character codes. If the String A and String B are not the same length, +the shorter is compared as if spaces were appended to it to form a value +that has the same length as the longer. +</p> +<p>In general, the lexical comparison intrinsics <code>LGE</code>, <code>LGT</code>, +<code>LLE</code>, and <code>LLT</code> differ from the corresponding intrinsic +operators <code>.GE.</code>, <code>.GT.</code>, <code>.LE.</code>, and <code>.LT.</code>, in +that the latter use the processor’s character ordering (which is not +ASCII on some targets), whereas the former always use the ASCII +ordering. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = LLE(STRING_A, STRING_B)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>STRING_A</var></td><td width="70%">Shall be of default <code>CHARACTER</code> type.</td></tr> +<tr><td width="15%"><var>STRING_B</var></td><td width="70%">Shall be of default <code>CHARACTER</code> type.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Returns <code>.TRUE.</code> if <code>STRING_A <= STRING_B</code>, and <code>.FALSE.</code> +otherwise, based on the ASCII ordering. +</p> +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="34%">Name</th><th width="16%">Argument</th><th width="17%">Return type</th><th width="30%">Standard</th></tr></thead> +<tr><td width="34%"><code>LLE(STRING_A,STRING_B)</code></td><td width="16%"><code>CHARACTER</code></td><td width="17%"><code>LOGICAL</code></td><td width="30%">Fortran 77 and later</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="LGE.html#LGE">LGE</a>, <br> +<a href="LGT.html#LGT">LGT</a>, <br> +<a href="LLT.html#LLT">LLT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/LLT.html b/share/doc/gfortran/LLT.html new file mode 100644 index 0000000..c96da43 --- /dev/null +++ b/share/doc/gfortran/LLT.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: LLT</title> + +<meta name="description" content="The GNU Fortran Compiler: LLT"> +<meta name="keywords" content="The GNU Fortran Compiler: LLT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="LNBLNK.html#LNBLNK" rel="next" title="LNBLNK"> +<link href="LLE.html#LLE" rel="previous" title="LLE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="LLT"></a> +<div class="header"> +<p> +Next: <a href="LNBLNK.html#LNBLNK" accesskey="n" rel="next">LNBLNK</a>, Previous: <a href="LLE.html#LLE" accesskey="p" rel="previous">LLE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="LLT-_002d_002d_002d-Lexical-less-than"></a> +<h3 class="section">8.174 <code>LLT</code> — Lexical less than</h3> +<a name="index-LLT"></a> +<a name="index-lexical-comparison-of-strings-3"></a> +<a name="index-string_002c-comparison-3"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Determines whether one string is lexically less than another string, +where the two strings are interpreted as containing ASCII character +codes. If the String A and String B are not the same length, the +shorter is compared as if spaces were appended to it to form a value +that has the same length as the longer. +</p> +<p>In general, the lexical comparison intrinsics <code>LGE</code>, <code>LGT</code>, +<code>LLE</code>, and <code>LLT</code> differ from the corresponding intrinsic +operators <code>.GE.</code>, <code>.GT.</code>, <code>.LE.</code>, and <code>.LT.</code>, in +that the latter use the processor’s character ordering (which is not +ASCII on some targets), whereas the former always use the ASCII +ordering. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = LLT(STRING_A, STRING_B)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>STRING_A</var></td><td width="70%">Shall be of default <code>CHARACTER</code> type.</td></tr> +<tr><td width="15%"><var>STRING_B</var></td><td width="70%">Shall be of default <code>CHARACTER</code> type.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Returns <code>.TRUE.</code> if <code>STRING_A < STRING_B</code>, and <code>.FALSE.</code> +otherwise, based on the ASCII ordering. +</p> +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="34%">Name</th><th width="16%">Argument</th><th width="17%">Return type</th><th width="30%">Standard</th></tr></thead> +<tr><td width="34%"><code>LLT(STRING_A,STRING_B)</code></td><td width="16%"><code>CHARACTER</code></td><td width="17%"><code>LOGICAL</code></td><td width="30%">Fortran 77 and later</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="LGE.html#LGE">LGE</a>, <br> +<a href="LGT.html#LGT">LGT</a>, <br> +<a href="LLE.html#LLE">LLE</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/LNBLNK.html b/share/doc/gfortran/LNBLNK.html new file mode 100644 index 0000000..080a364 --- /dev/null +++ b/share/doc/gfortran/LNBLNK.html @@ -0,0 +1,124 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: LNBLNK</title> + +<meta name="description" content="The GNU Fortran Compiler: LNBLNK"> +<meta name="keywords" content="The GNU Fortran Compiler: LNBLNK"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="LOC.html#LOC" rel="next" title="LOC"> +<link href="LLT.html#LLT" rel="previous" title="LLT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="LNBLNK"></a> +<div class="header"> +<p> +Next: <a href="LOC.html#LOC" accesskey="n" rel="next">LOC</a>, Previous: <a href="LLT.html#LLT" accesskey="p" rel="previous">LLT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="LNBLNK-_002d_002d_002d-Index-of-the-last-non_002dblank-character-in-a-string"></a> +<h3 class="section">8.175 <code>LNBLNK</code> — Index of the last non-blank character in a string</h3> +<a name="index-LNBLNK"></a> +<a name="index-string_002c-find-non_002dblank-character"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the length of a character string, ignoring any trailing blanks. +This is identical to the standard <code>LEN_TRIM</code> intrinsic, and is only +included for backwards compatibility. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = LNBLNK(STRING)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>STRING</var></td><td width="70%">Shall be a scalar of type <code>CHARACTER</code>, +with <code>INTENT(IN)</code></td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of <code>INTEGER(kind=4)</code> type. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="INDEX-intrinsic.html#INDEX-intrinsic">INDEX intrinsic</a>, <br> +<a href="LEN_005fTRIM.html#LEN_005fTRIM">LEN_TRIM</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/LOC.html b/share/doc/gfortran/LOC.html new file mode 100644 index 0000000..136f55b --- /dev/null +++ b/share/doc/gfortran/LOC.html @@ -0,0 +1,129 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: LOC</title> + +<meta name="description" content="The GNU Fortran Compiler: LOC"> +<meta name="keywords" content="The GNU Fortran Compiler: LOC"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="LOG.html#LOG" rel="next" title="LOG"> +<link href="LNBLNK.html#LNBLNK" rel="previous" title="LNBLNK"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="LOC"></a> +<div class="header"> +<p> +Next: <a href="LOG.html#LOG" accesskey="n" rel="next">LOG</a>, Previous: <a href="LNBLNK.html#LNBLNK" accesskey="p" rel="previous">LNBLNK</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="LOC-_002d_002d_002d-Returns-the-address-of-a-variable"></a> +<h3 class="section">8.176 <code>LOC</code> — Returns the address of a variable</h3> +<a name="index-LOC-1"></a> +<a name="index-location-of-a-variable-in-memory"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>LOC(X)</code> returns the address of <var>X</var> as an integer. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = LOC(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">Variable of any type.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code>, with a <code>KIND</code> +corresponding to the size (in bytes) of a memory address on the target +machine. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_loc + integer :: i + real :: r + i = loc(r) + print *, i +end program test_loc +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/LOG.html b/share/doc/gfortran/LOG.html new file mode 100644 index 0000000..fc67584 --- /dev/null +++ b/share/doc/gfortran/LOG.html @@ -0,0 +1,150 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: LOG</title> + +<meta name="description" content="The GNU Fortran Compiler: LOG"> +<meta name="keywords" content="The GNU Fortran Compiler: LOG"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="LOG10.html#LOG10" rel="next" title="LOG10"> +<link href="LOC.html#LOC" rel="previous" title="LOC"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="LOG"></a> +<div class="header"> +<p> +Next: <a href="LOG10.html#LOG10" accesskey="n" rel="next">LOG10</a>, Previous: <a href="LOC.html#LOC" accesskey="p" rel="previous">LOC</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="LOG-_002d_002d_002d-Natural-logarithm-function"></a> +<h3 class="section">8.177 <code>LOG</code> — Natural logarithm function</h3> +<a name="index-LOG"></a> +<a name="index-ALOG"></a> +<a name="index-DLOG"></a> +<a name="index-CLOG"></a> +<a name="index-ZLOG"></a> +<a name="index-CDLOG"></a> +<a name="index-exponential-function_002c-inverse"></a> +<a name="index-logarithm-function"></a> +<a name="index-natural-logarithm-function"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>LOG(X)</code> computes the natural logarithm of <var>X</var>, i.e. the +logarithm to the base <em>e</em>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later, has GNU extensions +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = LOG(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code> or +<code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>REAL</code> or <code>COMPLEX</code>. +The kind type parameter is the same as <var>X</var>. +If <var>X</var> is <code>COMPLEX</code>, the imaginary part <em>\omega</em> is in the range +<em>-\pi < \omega \leq \pi</em>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_log + real(8) :: x = 2.7182818284590451_8 + complex :: z = (1.0, 2.0) + x = log(x) ! will yield (approximately) 1 + z = log(z) +end program test_log +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>ALOG(X)</code></td><td width="23%"><code>REAL(4) X</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">Fortran 77 or later</td></tr> +<tr><td width="20%"><code>DLOG(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">Fortran 77 or later</td></tr> +<tr><td width="20%"><code>CLOG(X)</code></td><td width="23%"><code>COMPLEX(4) X</code></td><td width="20%"><code>COMPLEX(4)</code></td><td width="33%">Fortran 77 or later</td></tr> +<tr><td width="20%"><code>ZLOG(X)</code></td><td width="23%"><code>COMPLEX(8) X</code></td><td width="20%"><code>COMPLEX(8)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>CDLOG(X)</code></td><td width="23%"><code>COMPLEX(8) X</code></td><td width="20%"><code>COMPLEX(8)</code></td><td width="33%">GNU extension</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/LOG10.html b/share/doc/gfortran/LOG10.html new file mode 100644 index 0000000..f8eb46f --- /dev/null +++ b/share/doc/gfortran/LOG10.html @@ -0,0 +1,138 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: LOG10</title> + +<meta name="description" content="The GNU Fortran Compiler: LOG10"> +<meta name="keywords" content="The GNU Fortran Compiler: LOG10"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="LOG_005fGAMMA.html#LOG_005fGAMMA" rel="next" title="LOG_GAMMA"> +<link href="LOG.html#LOG" rel="previous" title="LOG"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="LOG10"></a> +<div class="header"> +<p> +Next: <a href="LOG_005fGAMMA.html#LOG_005fGAMMA" accesskey="n" rel="next">LOG_GAMMA</a>, Previous: <a href="LOG.html#LOG" accesskey="p" rel="previous">LOG</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="LOG10-_002d_002d_002d-Base-10-logarithm-function"></a> +<h3 class="section">8.178 <code>LOG10</code> — Base 10 logarithm function</h3> +<a name="index-LOG10"></a> +<a name="index-ALOG10"></a> +<a name="index-DLOG10"></a> +<a name="index-exponential-function_002c-inverse-1"></a> +<a name="index-logarithm-function-with-base-10"></a> +<a name="index-base-10-logarithm-function"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>LOG10(X)</code> computes the base 10 logarithm of <var>X</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = LOG10(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>REAL</code> or <code>COMPLEX</code>. +The kind type parameter is the same as <var>X</var>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_log10 + real(8) :: x = 10.0_8 + x = log10(x) +end program test_log10 +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>ALOG10(X)</code></td><td width="23%"><code>REAL(4) X</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>DLOG10(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">Fortran 77 and later</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/LOGICAL.html b/share/doc/gfortran/LOGICAL.html new file mode 100644 index 0000000..9463e93 --- /dev/null +++ b/share/doc/gfortran/LOGICAL.html @@ -0,0 +1,126 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: LOGICAL</title> + +<meta name="description" content="The GNU Fortran Compiler: LOGICAL"> +<meta name="keywords" content="The GNU Fortran Compiler: LOGICAL"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="LSHIFT.html#LSHIFT" rel="next" title="LSHIFT"> +<link href="LOG_005fGAMMA.html#LOG_005fGAMMA" rel="previous" title="LOG_GAMMA"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="LOGICAL"></a> +<div class="header"> +<p> +Next: <a href="LSHIFT.html#LSHIFT" accesskey="n" rel="next">LSHIFT</a>, Previous: <a href="LOG_005fGAMMA.html#LOG_005fGAMMA" accesskey="p" rel="previous">LOG_GAMMA</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="LOGICAL-_002d_002d_002d-Convert-to-logical-type"></a> +<h3 class="section">8.180 <code>LOGICAL</code> — Convert to logical type</h3> +<a name="index-LOGICAL"></a> +<a name="index-conversion_002c-to-logical-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Converts one kind of <code>LOGICAL</code> variable to another. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = LOGICAL(L [, KIND])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>L</var></td><td width="70%">The type shall be <code>LOGICAL</code>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is a <code>LOGICAL</code> value equal to <var>L</var>, with a +kind corresponding to <var>KIND</var>, or of the default logical kind if +<var>KIND</var> is not given. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="INT.html#INT">INT</a>, <br> +<a href="REAL.html#REAL">REAL</a>, <br> +<a href="CMPLX.html#CMPLX">CMPLX</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/LOG_005fGAMMA.html b/share/doc/gfortran/LOG_005fGAMMA.html new file mode 100644 index 0000000..2f3c762 --- /dev/null +++ b/share/doc/gfortran/LOG_005fGAMMA.html @@ -0,0 +1,144 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: LOG_GAMMA</title> + +<meta name="description" content="The GNU Fortran Compiler: LOG_GAMMA"> +<meta name="keywords" content="The GNU Fortran Compiler: LOG_GAMMA"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="LOGICAL.html#LOGICAL" rel="next" title="LOGICAL"> +<link href="LOG10.html#LOG10" rel="previous" title="LOG10"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="LOG_005fGAMMA"></a> +<div class="header"> +<p> +Next: <a href="LOGICAL.html#LOGICAL" accesskey="n" rel="next">LOGICAL</a>, Previous: <a href="LOG10.html#LOG10" accesskey="p" rel="previous">LOG10</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="LOG_005fGAMMA-_002d_002d_002d-Logarithm-of-the-Gamma-function"></a> +<h3 class="section">8.179 <code>LOG_GAMMA</code> — Logarithm of the Gamma function</h3> +<a name="index-LOG_005fGAMMA"></a> +<a name="index-LGAMMA"></a> +<a name="index-ALGAMA"></a> +<a name="index-DLGAMA"></a> +<a name="index-Gamma-function_002c-logarithm-of"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>LOG_GAMMA(X)</code> computes the natural logarithm of the absolute value +of the Gamma (<em>\Gamma</em>) function. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>X = LOG_GAMMA(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">Shall be of type <code>REAL</code> and neither zero +nor a negative integer.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>REAL</code> of the same kind as <var>X</var>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_log_gamma + real :: x = 1.0 + x = lgamma(x) ! returns 0.0 +end program test_log_gamma +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>LGAMMA(X)</code></td><td width="23%"><code>REAL(4) X</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>ALGAMA(X)</code></td><td width="23%"><code>REAL(4) X</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>DLGAMA(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Gamma function: <br> +<a href="GAMMA.html#GAMMA">GAMMA</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/LSHIFT.html b/share/doc/gfortran/LSHIFT.html new file mode 100644 index 0000000..b8ccbd0 --- /dev/null +++ b/share/doc/gfortran/LSHIFT.html @@ -0,0 +1,135 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: LSHIFT</title> + +<meta name="description" content="The GNU Fortran Compiler: LSHIFT"> +<meta name="keywords" content="The GNU Fortran Compiler: LSHIFT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="LSTAT.html#LSTAT" rel="next" title="LSTAT"> +<link href="LOGICAL.html#LOGICAL" rel="previous" title="LOGICAL"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="LSHIFT"></a> +<div class="header"> +<p> +Next: <a href="LSTAT.html#LSTAT" accesskey="n" rel="next">LSTAT</a>, Previous: <a href="LOGICAL.html#LOGICAL" accesskey="p" rel="previous">LOGICAL</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="LSHIFT-_002d_002d_002d-Left-shift-bits"></a> +<h3 class="section">8.181 <code>LSHIFT</code> — Left shift bits</h3> +<a name="index-LSHIFT"></a> +<a name="index-bits_002c-shift-left"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>LSHIFT</code> returns a value corresponding to <var>I</var> with all of the +bits shifted left by <var>SHIFT</var> places. <var>SHIFT</var> shall be +nonnegative and less than or equal to <code>BIT_SIZE(I)</code>, otherwise +the result value is undefined. Bits shifted out from the left end are +lost; zeros are shifted in from the opposite end. +</p> +<p>This function has been superseded by the <code>ISHFT</code> intrinsic, which +is standard in Fortran 95 and later, and the <code>SHIFTL</code> intrinsic, +which is standard in Fortran 2008 and later. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = LSHIFT(I, SHIFT)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>SHIFT</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of the same kind as +<var>I</var>. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ISHFT.html#ISHFT">ISHFT</a>, <br> +<a href="ISHFTC.html#ISHFTC">ISHFTC</a>, <br> +<a href="RSHIFT.html#RSHIFT">RSHIFT</a>, <br> +<a href="SHIFTA.html#SHIFTA">SHIFTA</a>, <br> +<a href="SHIFTL.html#SHIFTL">SHIFTL</a>, <br> +<a href="SHIFTR.html#SHIFTR">SHIFTR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/LSTAT.html b/share/doc/gfortran/LSTAT.html new file mode 100644 index 0000000..4e0377f --- /dev/null +++ b/share/doc/gfortran/LSTAT.html @@ -0,0 +1,137 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: LSTAT</title> + +<meta name="description" content="The GNU Fortran Compiler: LSTAT"> +<meta name="keywords" content="The GNU Fortran Compiler: LSTAT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="LTIME.html#LTIME" rel="next" title="LTIME"> +<link href="LSHIFT.html#LSHIFT" rel="previous" title="LSHIFT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="LSTAT"></a> +<div class="header"> +<p> +Next: <a href="LTIME.html#LTIME" accesskey="n" rel="next">LTIME</a>, Previous: <a href="LSHIFT.html#LSHIFT" accesskey="p" rel="previous">LSHIFT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="LSTAT-_002d_002d_002d-Get-file-status"></a> +<h3 class="section">8.182 <code>LSTAT</code> — Get file status</h3> +<a name="index-LSTAT"></a> +<a name="index-file-system_002c-file-status-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>LSTAT</code> is identical to <a href="STAT.html#STAT">STAT</a>, except that if path is a +symbolic link, then the link itself is statted, not the file that it +refers to. +</p> +<p>The elements in <code>VALUES</code> are the same as described by <a href="STAT.html#STAT">STAT</a>. +</p> +<p>This intrinsic is provided in both subroutine and function forms; +however, only one form can be used in any given program unit. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL LSTAT(NAME, VALUES [, STATUS])</code></td></tr> +<tr><td width="80%"><code>STATUS = LSTAT(NAME, VALUES)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>NAME</var></td><td width="70%">The type shall be <code>CHARACTER</code> of the default +kind, a valid path within the file system.</td></tr> +<tr><td width="15%"><var>VALUES</var></td><td width="70%">The type shall be <code>INTEGER(4), DIMENSION(13)</code>.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">(Optional) status flag of type <code>INTEGER(4)</code>. +Returns 0 on success and a system specific error code otherwise.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><p>See <a href="STAT.html#STAT">STAT</a> for an example. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p>To stat an open file: <br> +<a href="FSTAT.html#FSTAT">FSTAT</a> <br> +To stat a file: <br> +<a href="STAT.html#STAT">STAT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/LTIME.html b/share/doc/gfortran/LTIME.html new file mode 100644 index 0000000..6b0bb0e --- /dev/null +++ b/share/doc/gfortran/LTIME.html @@ -0,0 +1,147 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: LTIME</title> + +<meta name="description" content="The GNU Fortran Compiler: LTIME"> +<meta name="keywords" content="The GNU Fortran Compiler: LTIME"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="MALLOC.html#MALLOC" rel="next" title="MALLOC"> +<link href="LSTAT.html#LSTAT" rel="previous" title="LSTAT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="LTIME"></a> +<div class="header"> +<p> +Next: <a href="MALLOC.html#MALLOC" accesskey="n" rel="next">MALLOC</a>, Previous: <a href="LSTAT.html#LSTAT" accesskey="p" rel="previous">LSTAT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="LTIME-_002d_002d_002d-Convert-time-to-local-time-info"></a> +<h3 class="section">8.183 <code>LTIME</code> — Convert time to local time info</h3> +<a name="index-LTIME"></a> +<a name="index-time_002c-conversion-to-local-time-info"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Given a system time value <var>TIME</var> (as provided by the <a href="TIME.html#TIME">TIME</a> +intrinsic), fills <var>VALUES</var> with values extracted from it appropriate +to the local time zone using <code>localtime(3)</code>. +</p> +<p>This intrinsic routine is provided for backwards compatibility with +GNU Fortran 77. In new code, programmers should consider the use of +the <a href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME">DATE_AND_TIME</a> intrinsic defined by the Fortran 95 +standard. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL LTIME(TIME, VALUES)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>TIME</var></td><td width="70%">An <code>INTEGER</code> scalar expression +corresponding to a system time, with <code>INTENT(IN)</code>.</td></tr> +<tr><td width="15%"><var>VALUES</var></td><td width="70%">A default <code>INTEGER</code> array with 9 elements, +with <code>INTENT(OUT)</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The elements of <var>VALUES</var> are assigned as follows: +</p><ol> +<li> Seconds after the minute, range 0–59 or 0–61 to allow for leap +seconds +</li><li> Minutes after the hour, range 0–59 +</li><li> Hours past midnight, range 0–23 +</li><li> Day of month, range 1–31 +</li><li> Number of months since January, range 0–11 +</li><li> Years since 1900 +</li><li> Number of days since Sunday, range 0–6 +</li><li> Days since January 1, range 0–365 +</li><li> Daylight savings indicator: positive if daylight savings is in +effect, zero if not, and negative if the information is not available. +</li></ol> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME">DATE_AND_TIME</a>, <br> +<a href="CTIME.html#CTIME">CTIME</a>, <br> +<a href="GMTIME.html#GMTIME">GMTIME</a>, <br> +<a href="TIME.html#TIME">TIME</a>, <br> +<a href="TIME8.html#TIME8">TIME8</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Legacy-PARAMETER-statements.html b/share/doc/gfortran/Legacy-PARAMETER-statements.html new file mode 100644 index 0000000..324f4c6 --- /dev/null +++ b/share/doc/gfortran/Legacy-PARAMETER-statements.html @@ -0,0 +1,97 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Legacy PARAMETER statements</title> + +<meta name="description" content="The GNU Fortran Compiler: Legacy PARAMETER statements"> +<meta name="keywords" content="The GNU Fortran Compiler: Legacy PARAMETER statements"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="Default-exponents.html#Default-exponents" rel="next" title="Default exponents"> +<link href="Extended-I_002fO-specifiers.html#Extended-I_002fO-specifiers" rel="previous" title="Extended I/O specifiers"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Legacy-PARAMETER-statements"></a> +<div class="header"> +<p> +Next: <a href="Default-exponents.html#Default-exponents" accesskey="n" rel="next">Default exponents</a>, Previous: <a href="Extended-I_002fO-specifiers.html#Extended-I_002fO-specifiers" accesskey="p" rel="previous">Extended I/O specifiers</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> [<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> +</div> +<hr> +<a name="Legacy-PARAMETER-statements-1"></a> +<h4 class="subsection">5.1.33 Legacy PARAMETER statements</h4> +<a name="index-PARAMETER"></a> + +<p>For compatibility, GNU Fortran supports legacy PARAMETER statements without +parentheses with <samp>-std=legacy</samp>. A warning is emitted if used with +<samp>-std=gnu</samp>, and an error is acknowledged with a real Fortran standard +flag (<samp>-std=f95</samp>, etc...). These statements take the following form: +</p> +<div class="smallexample"> +<pre class="smallexample">implicit real (E) +parameter e = 2.718282 +real c +parameter c = 3.0e8 +</pre></div> + + + + +</body> +</html> diff --git a/share/doc/gfortran/Link-Options.html b/share/doc/gfortran/Link-Options.html new file mode 100644 index 0000000..13988cf --- /dev/null +++ b/share/doc/gfortran/Link-Options.html @@ -0,0 +1,118 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Link Options</title> + +<meta name="description" content="The GNU Fortran Compiler: Link Options"> +<meta name="keywords" content="The GNU Fortran Compiler: Link Options"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" rel="up" title="Invoking GNU Fortran"> +<link href="Runtime-Options.html#Runtime-Options" rel="next" title="Runtime Options"> +<link href="Directory-Options.html#Directory-Options" rel="previous" title="Directory Options"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Link-Options"></a> +<div class="header"> +<p> +Next: <a href="Runtime-Options.html#Runtime-Options" accesskey="n" rel="next">Runtime Options</a>, Previous: <a href="Directory-Options.html#Directory-Options" accesskey="p" rel="previous">Directory Options</a>, Up: <a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" accesskey="u" rel="up">Invoking GNU Fortran</a> [<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> +</div> +<hr> +<a name="Influencing-the-linking-step"></a> +<h3 class="section">2.7 Influencing the linking step</h3> +<a name="index-options_002c-linking"></a> +<a name="index-linking_002c-static"></a> + +<p>These options come into play when the compiler links object files into an +executable output file. They are meaningless if the compiler is not doing +a link step. +</p> +<dl compact="compact"> +<dd><a name="index-static_002dlibgfortran"></a> +</dd> +<dt><code>-static-libgfortran</code></dt> +<dd><p>On systems that provide <samp>libgfortran</samp> as a shared and a static +library, this option forces the use of the static version. If no +shared version of <samp>libgfortran</samp> was built when the compiler was +configured, this option has no effect. +</p></dd> +</dl> + + +<dl compact="compact"> +<dd><a name="index-static_002dlibquadmath"></a> +</dd> +<dt><code>-static-libquadmath</code></dt> +<dd><p>On systems that provide <samp>libquadmath</samp> as a shared and a static +library, this option forces the use of the static version. If no +shared version of <samp>libquadmath</samp> was built when the compiler was +configured, this option has no effect. +</p> +<p>Please note that the <samp>libquadmath</samp> runtime library is licensed under the +GNU Lesser General Public License (LGPL), and linking it statically introduces +requirements when redistributing the resulting binaries. +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/MALLOC.html b/share/doc/gfortran/MALLOC.html new file mode 100644 index 0000000..f3f6f20 --- /dev/null +++ b/share/doc/gfortran/MALLOC.html @@ -0,0 +1,152 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: MALLOC</title> + +<meta name="description" content="The GNU Fortran Compiler: MALLOC"> +<meta name="keywords" content="The GNU Fortran Compiler: MALLOC"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="MASKL.html#MASKL" rel="next" title="MASKL"> +<link href="LTIME.html#LTIME" rel="previous" title="LTIME"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="MALLOC"></a> +<div class="header"> +<p> +Next: <a href="MASKL.html#MASKL" accesskey="n" rel="next">MASKL</a>, Previous: <a href="LTIME.html#LTIME" accesskey="p" rel="previous">LTIME</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="MALLOC-_002d_002d_002d-Allocate-dynamic-memory"></a> +<h3 class="section">8.184 <code>MALLOC</code> — Allocate dynamic memory</h3> +<a name="index-MALLOC"></a> +<a name="index-pointer_002c-cray-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>MALLOC(SIZE)</code> allocates <var>SIZE</var> bytes of dynamic memory and +returns the address of the allocated memory. The <code>MALLOC</code> intrinsic +is an extension intended to be used with Cray pointers, and is provided +in GNU Fortran to allow the user to compile legacy code. For new code +using Fortran 95 pointers, the memory allocation intrinsic is +<code>ALLOCATE</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>PTR = MALLOC(SIZE)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>SIZE</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER(K)</code>, with <var>K</var> such that +variables of type <code>INTEGER(K)</code> have the same size as +C pointers (<code>sizeof(void *)</code>). +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><p>The following example demonstrates the use of <code>MALLOC</code> and +<code>FREE</code> with Cray pointers. +</p> +<div class="smallexample"> +<pre class="smallexample">program test_malloc + implicit none + integer i + real*8 x(*), z + pointer(ptr_x,x) + + ptr_x = malloc(20*8) + do i = 1, 20 + x(i) = sqrt(1.0d0 / i) + end do + z = 0 + do i = 1, 20 + z = z + x(i) + print *, z + end do + call free(ptr_x) +end program test_malloc +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="FREE.html#FREE">FREE</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/MASKL.html b/share/doc/gfortran/MASKL.html new file mode 100644 index 0000000..23a8a5b --- /dev/null +++ b/share/doc/gfortran/MASKL.html @@ -0,0 +1,125 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: MASKL</title> + +<meta name="description" content="The GNU Fortran Compiler: MASKL"> +<meta name="keywords" content="The GNU Fortran Compiler: MASKL"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="MASKR.html#MASKR" rel="next" title="MASKR"> +<link href="MALLOC.html#MALLOC" rel="previous" title="MALLOC"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="MASKL"></a> +<div class="header"> +<p> +Next: <a href="MASKR.html#MASKR" accesskey="n" rel="next">MASKR</a>, Previous: <a href="MALLOC.html#MALLOC" accesskey="p" rel="previous">MALLOC</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="MASKL-_002d_002d_002d-Left-justified-mask"></a> +<h3 class="section">8.185 <code>MASKL</code> — Left justified mask</h3> +<a name="index-MASKL"></a> +<a name="index-mask_002c-left-justified"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>MASKL(I[, KIND])</code> has its leftmost <var>I</var> bits set to 1, and the +remaining bits set to 0. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = MASKL(I[, KIND])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">Shall be of type <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">Shall be a scalar constant expression of type +<code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code>. If <var>KIND</var> is present, it +specifies the kind value of the return type; otherwise, it is of the +default integer kind. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="MASKR.html#MASKR">MASKR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/MASKR.html b/share/doc/gfortran/MASKR.html new file mode 100644 index 0000000..d633c6b --- /dev/null +++ b/share/doc/gfortran/MASKR.html @@ -0,0 +1,125 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: MASKR</title> + +<meta name="description" content="The GNU Fortran Compiler: MASKR"> +<meta name="keywords" content="The GNU Fortran Compiler: MASKR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="MATMUL.html#MATMUL" rel="next" title="MATMUL"> +<link href="MASKL.html#MASKL" rel="previous" title="MASKL"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="MASKR"></a> +<div class="header"> +<p> +Next: <a href="MATMUL.html#MATMUL" accesskey="n" rel="next">MATMUL</a>, Previous: <a href="MASKL.html#MASKL" accesskey="p" rel="previous">MASKL</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="MASKR-_002d_002d_002d-Right-justified-mask"></a> +<h3 class="section">8.186 <code>MASKR</code> — Right justified mask</h3> +<a name="index-MASKR"></a> +<a name="index-mask_002c-right-justified"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>MASKL(I[, KIND])</code> has its rightmost <var>I</var> bits set to 1, and the +remaining bits set to 0. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = MASKR(I[, KIND])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">Shall be of type <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">Shall be a scalar constant expression of type +<code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code>. If <var>KIND</var> is present, it +specifies the kind value of the return type; otherwise, it is of the +default integer kind. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="MASKL.html#MASKL">MASKL</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/MATMUL.html b/share/doc/gfortran/MATMUL.html new file mode 100644 index 0000000..f7f3181 --- /dev/null +++ b/share/doc/gfortran/MATMUL.html @@ -0,0 +1,127 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: MATMUL</title> + +<meta name="description" content="The GNU Fortran Compiler: MATMUL"> +<meta name="keywords" content="The GNU Fortran Compiler: MATMUL"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="MAX.html#MAX" rel="next" title="MAX"> +<link href="MASKR.html#MASKR" rel="previous" title="MASKR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="MATMUL"></a> +<div class="header"> +<p> +Next: <a href="MAX.html#MAX" accesskey="n" rel="next">MAX</a>, Previous: <a href="MASKR.html#MASKR" accesskey="p" rel="previous">MASKR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="MATMUL-_002d_002d_002d-matrix-multiplication"></a> +<h3 class="section">8.187 <code>MATMUL</code> — matrix multiplication</h3> +<a name="index-MATMUL"></a> +<a name="index-matrix-multiplication"></a> +<a name="index-product_002c-matrix"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Performs a matrix multiplication on numeric or logical arguments. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = MATMUL(MATRIX_A, MATRIX_B)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>MATRIX_A</var></td><td width="70%">An array of <code>INTEGER</code>, +<code>REAL</code>, <code>COMPLEX</code>, or <code>LOGICAL</code> type, with a rank of +one or two.</td></tr> +<tr><td width="15%"><var>MATRIX_B</var></td><td width="70%">An array of <code>INTEGER</code>, +<code>REAL</code>, or <code>COMPLEX</code> type if <var>MATRIX_A</var> is of a numeric +type; otherwise, an array of <code>LOGICAL</code> type. The rank shall be one +or two, and the first (or only) dimension of <var>MATRIX_B</var> shall be +equal to the last (or only) dimension of <var>MATRIX_A</var>. +<var>MATRIX_A</var> and <var>MATRIX_B</var> shall not both be rank one arrays.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The matrix product of <var>MATRIX_A</var> and <var>MATRIX_B</var>. The type and +kind of the result follow the usual type and kind promotion rules, as +for the <code>*</code> or <code>.AND.</code> operators. +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/MAX-and-MIN-intrinsics-with-REAL-NaN-arguments.html b/share/doc/gfortran/MAX-and-MIN-intrinsics-with-REAL-NaN-arguments.html new file mode 100644 index 0000000..7037b20 --- /dev/null +++ b/share/doc/gfortran/MAX-and-MIN-intrinsics-with-REAL-NaN-arguments.html @@ -0,0 +1,96 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: MAX and MIN intrinsics with REAL NaN arguments</title> + +<meta name="description" content="The GNU Fortran Compiler: MAX and MIN intrinsics with REAL NaN arguments"> +<meta name="keywords" content="The GNU Fortran Compiler: MAX and MIN intrinsics with REAL NaN arguments"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Compiler-Characteristics.html#Compiler-Characteristics" rel="up" title="Compiler Characteristics"> +<link href="Thread_002dsafety-of-the-runtime-library.html#Thread_002dsafety-of-the-runtime-library" rel="next" title="Thread-safety of the runtime library"> +<link href="Evaluation-of-logical-expressions.html#Evaluation-of-logical-expressions" rel="previous" title="Evaluation of logical expressions"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="MAX-and-MIN-intrinsics-with-REAL-NaN-arguments"></a> +<div class="header"> +<p> +Next: <a href="Thread_002dsafety-of-the-runtime-library.html#Thread_002dsafety-of-the-runtime-library" accesskey="n" rel="next">Thread-safety of the runtime library</a>, Previous: <a href="Evaluation-of-logical-expressions.html#Evaluation-of-logical-expressions" accesskey="p" rel="previous">Evaluation of logical expressions</a>, Up: <a href="Compiler-Characteristics.html#Compiler-Characteristics" accesskey="u" rel="up">Compiler Characteristics</a> [<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> +</div> +<hr> +<a name="MAX-and-MIN-intrinsics-with-REAL-NaN-arguments-1"></a> +<h3 class="section">4.4 MAX and MIN intrinsics with REAL NaN arguments</h3> +<a name="index-MAX_002c-MIN_002c-NaN"></a> + +<p>The Fortran standard does not specify what the result of the +<code>MAX</code> and <code>MIN</code> intrinsics are if one of the arguments is a +<code>NaN</code>. Accordingly, the GNU Fortran compiler does not specify +that either, as this allows for faster and more compact code to be +generated. If the programmer wishes to take some specific action in +case one of the arguments is a <code>NaN</code>, it is necessary to +explicitly test the arguments before calling <code>MAX</code> or <code>MIN</code>, +e.g. with the <code>IEEE_IS_NAN</code> function from the intrinsic module +<code>IEEE_ARITHMETIC</code>. +</p> + + + + +</body> +</html> diff --git a/share/doc/gfortran/MAX.html b/share/doc/gfortran/MAX.html new file mode 100644 index 0000000..cca0373 --- /dev/null +++ b/share/doc/gfortran/MAX.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: MAX</title> + +<meta name="description" content="The GNU Fortran Compiler: MAX"> +<meta name="keywords" content="The GNU Fortran Compiler: MAX"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="MAXEXPONENT.html#MAXEXPONENT" rel="next" title="MAXEXPONENT"> +<link href="MATMUL.html#MATMUL" rel="previous" title="MATMUL"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="MAX"></a> +<div class="header"> +<p> +Next: <a href="MAXEXPONENT.html#MAXEXPONENT" accesskey="n" rel="next">MAXEXPONENT</a>, Previous: <a href="MATMUL.html#MATMUL" accesskey="p" rel="previous">MATMUL</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="MAX-_002d_002d_002d-Maximum-value-of-an-argument-list"></a> +<h3 class="section">8.188 <code>MAX</code> — Maximum value of an argument list</h3> +<a name="index-MAX"></a> +<a name="index-MAX0"></a> +<a name="index-AMAX0"></a> +<a name="index-MAX1"></a> +<a name="index-AMAX1"></a> +<a name="index-DMAX1"></a> +<a name="index-maximum-value"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the argument with the largest (most positive) value. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = MAX(A1, A2 [, A3 [, ...]])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>A1</var></td><td width="70%">The type shall be <code>INTEGER</code> or +<code>REAL</code>.</td></tr> +<tr><td width="15%"><var>A2</var>, <var>A3</var>, ...</td><td width="70%">An expression of the same type and kind +as <var>A1</var>. (As a GNU extension, arguments of different kinds are +permitted.)</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value corresponds to the maximum value among the arguments, +and has the same type and kind as the first argument. +</p> +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>MAX0(A1)</code></td><td width="23%"><code>INTEGER(4) A1</code></td><td width="20%"><code>INTEGER(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>AMAX0(A1)</code></td><td width="23%"><code>INTEGER(4) A1</code></td><td width="20%"><code>REAL(MAX(X))</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>MAX1(A1)</code></td><td width="23%"><code>REAL A1</code></td><td width="20%"><code>INT(MAX(X))</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>AMAX1(A1)</code></td><td width="23%"><code>REAL(4) A1</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>DMAX1(A1)</code></td><td width="23%"><code>REAL(8) A1</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">Fortran 77 and later</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="MAXLOC.html#MAXLOC">MAXLOC</a> <br> +<a href="MAXVAL.html#MAXVAL">MAXVAL</a>, <br> +<a href="MIN.html#MIN">MIN</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/MAXEXPONENT.html b/share/doc/gfortran/MAXEXPONENT.html new file mode 100644 index 0000000..51c01e9 --- /dev/null +++ b/share/doc/gfortran/MAXEXPONENT.html @@ -0,0 +1,130 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: MAXEXPONENT</title> + +<meta name="description" content="The GNU Fortran Compiler: MAXEXPONENT"> +<meta name="keywords" content="The GNU Fortran Compiler: MAXEXPONENT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="MAXLOC.html#MAXLOC" rel="next" title="MAXLOC"> +<link href="MAX.html#MAX" rel="previous" title="MAX"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="MAXEXPONENT"></a> +<div class="header"> +<p> +Next: <a href="MAXLOC.html#MAXLOC" accesskey="n" rel="next">MAXLOC</a>, Previous: <a href="MAX.html#MAX" accesskey="p" rel="previous">MAX</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="MAXEXPONENT-_002d_002d_002d-Maximum-exponent-of-a-real-kind"></a> +<h3 class="section">8.189 <code>MAXEXPONENT</code> — Maximum exponent of a real kind</h3> +<a name="index-MAXEXPONENT"></a> +<a name="index-model-representation_002c-maximum-exponent"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>MAXEXPONENT(X)</code> returns the maximum exponent in the model of the +type of <code>X</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = MAXEXPONENT(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">Shall be of type <code>REAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of the default integer +kind. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program exponents + real(kind=4) :: x + real(kind=8) :: y + + print *, minexponent(x), maxexponent(x) + print *, minexponent(y), maxexponent(y) +end program exponents +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/MAXLOC.html b/share/doc/gfortran/MAXLOC.html new file mode 100644 index 0000000..afb5a9c --- /dev/null +++ b/share/doc/gfortran/MAXLOC.html @@ -0,0 +1,160 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: MAXLOC</title> + +<meta name="description" content="The GNU Fortran Compiler: MAXLOC"> +<meta name="keywords" content="The GNU Fortran Compiler: MAXLOC"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="MAXVAL.html#MAXVAL" rel="next" title="MAXVAL"> +<link href="MAXEXPONENT.html#MAXEXPONENT" rel="previous" title="MAXEXPONENT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="MAXLOC"></a> +<div class="header"> +<p> +Next: <a href="MAXVAL.html#MAXVAL" accesskey="n" rel="next">MAXVAL</a>, Previous: <a href="MAXEXPONENT.html#MAXEXPONENT" accesskey="p" rel="previous">MAXEXPONENT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="MAXLOC-_002d_002d_002d-Location-of-the-maximum-value-within-an-array"></a> +<h3 class="section">8.190 <code>MAXLOC</code> — Location of the maximum value within an array</h3> +<a name="index-MAXLOC"></a> +<a name="index-array_002c-location-of-maximum-element"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Determines the location of the element in the array with the maximum +value, or, if the <var>DIM</var> argument is supplied, determines the +locations of the maximum element along each row of the array in the +<var>DIM</var> direction. If <var>MASK</var> is present, only the elements for +which <var>MASK</var> is <code>.TRUE.</code> are considered. If more than one +element in the array has the maximum value, the location returned is +that of the first such element in array element order if the +<var>BACK</var> is not present, or is false; if <var>BACK</var> is true, the location +returned is that of the last such element. If the array has zero +size, or all of the elements of <var>MASK</var> are <code>.FALSE.</code>, then +the result is an array of zeroes. Similarly, if <var>DIM</var> is supplied +and all of the elements of <var>MASK</var> along a given row are zero, the +result value for that row is zero. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 95 and later; <var>ARRAY</var> of <code>CHARACTER</code> and the +<var>KIND</var> argument are available in Fortran 2003 and later. +The <var>BACK</var> argument is available in Fortran 2008 and later. +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>RESULT = MAXLOC(ARRAY, DIM [, MASK] [,KIND] [,BACK])</code></td></tr> +<tr><td width="80%"><code>RESULT = MAXLOC(ARRAY [, MASK] [,KIND] [,BACK])</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ARRAY</var></td><td width="70%">Shall be an array of type <code>INTEGER</code> or +<code>REAL</code>.</td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">(Optional) Shall be a scalar of type +<code>INTEGER</code>, with a value between one and the rank of <var>ARRAY</var>, +inclusive. It may not be an optional dummy argument.</td></tr> +<tr><td width="15%"><var>MASK</var></td><td width="70%">Shall be of type <code>LOGICAL</code>, +and conformable with <var>ARRAY</var>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +<tr><td width="15%"><var>BACK</var></td><td width="70%">(Optional) A scalar of type <code>LOGICAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>If <var>DIM</var> is absent, the result is a rank-one array with a length +equal to the rank of <var>ARRAY</var>. If <var>DIM</var> is present, the result +is an array with a rank one less than the rank of <var>ARRAY</var>, and a +size corresponding to the size of <var>ARRAY</var> with the <var>DIM</var> +dimension removed. If <var>DIM</var> is present and <var>ARRAY</var> has a rank +of one, the result is a scalar. If the optional argument <var>KIND</var> +is present, the result is an integer of kind <var>KIND</var>, otherwise it +is of default kind. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="FINDLOC.html#FINDLOC">FINDLOC</a>, <br> +<a href="MAX.html#MAX">MAX</a>, <br> +<a href="MAXVAL.html#MAXVAL">MAXVAL</a> +</p></dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="MAXVAL.html#MAXVAL" accesskey="n" rel="next">MAXVAL</a>, Previous: <a href="MAXEXPONENT.html#MAXEXPONENT" accesskey="p" rel="previous">MAXEXPONENT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/MAXVAL.html b/share/doc/gfortran/MAXVAL.html new file mode 100644 index 0000000..bea842d --- /dev/null +++ b/share/doc/gfortran/MAXVAL.html @@ -0,0 +1,142 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: MAXVAL</title> + +<meta name="description" content="The GNU Fortran Compiler: MAXVAL"> +<meta name="keywords" content="The GNU Fortran Compiler: MAXVAL"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="MCLOCK.html#MCLOCK" rel="next" title="MCLOCK"> +<link href="MAXLOC.html#MAXLOC" rel="previous" title="MAXLOC"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="MAXVAL"></a> +<div class="header"> +<p> +Next: <a href="MCLOCK.html#MCLOCK" accesskey="n" rel="next">MCLOCK</a>, Previous: <a href="MAXLOC.html#MAXLOC" accesskey="p" rel="previous">MAXLOC</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="MAXVAL-_002d_002d_002d-Maximum-value-of-an-array"></a> +<h3 class="section">8.191 <code>MAXVAL</code> — Maximum value of an array</h3> +<a name="index-MAXVAL"></a> +<a name="index-array_002c-maximum-value"></a> +<a name="index-maximum-value-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Determines the maximum value of the elements in an array value, or, if +the <var>DIM</var> argument is supplied, determines the maximum value along +each row of the array in the <var>DIM</var> direction. If <var>MASK</var> is +present, only the elements for which <var>MASK</var> is <code>.TRUE.</code> are +considered. If the array has zero size, or all of the elements of +<var>MASK</var> are <code>.FALSE.</code>, then the result is <code>-HUGE(ARRAY)</code> +if <var>ARRAY</var> is numeric, or a string of nulls if <var>ARRAY</var> is of character +type. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>RESULT = MAXVAL(ARRAY, DIM [, MASK])</code></td></tr> +<tr><td width="80%"><code>RESULT = MAXVAL(ARRAY [, MASK])</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ARRAY</var></td><td width="70%">Shall be an array of type <code>INTEGER</code> or +<code>REAL</code>.</td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">(Optional) Shall be a scalar of type +<code>INTEGER</code>, with a value between one and the rank of <var>ARRAY</var>, +inclusive. It may not be an optional dummy argument.</td></tr> +<tr><td width="15%"><var>MASK</var></td><td width="70%">(Optional) Shall be of type <code>LOGICAL</code>, +and conformable with <var>ARRAY</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>If <var>DIM</var> is absent, or if <var>ARRAY</var> has a rank of one, the result +is a scalar. If <var>DIM</var> is present, the result is an array with a +rank one less than the rank of <var>ARRAY</var>, and a size corresponding to +the size of <var>ARRAY</var> with the <var>DIM</var> dimension removed. In all +cases, the result is of the same type and kind as <var>ARRAY</var>. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="MAX.html#MAX">MAX</a>, <br> +<a href="MAXLOC.html#MAXLOC">MAXLOC</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/MCLOCK.html b/share/doc/gfortran/MCLOCK.html new file mode 100644 index 0000000..79e0711 --- /dev/null +++ b/share/doc/gfortran/MCLOCK.html @@ -0,0 +1,128 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: MCLOCK</title> + +<meta name="description" content="The GNU Fortran Compiler: MCLOCK"> +<meta name="keywords" content="The GNU Fortran Compiler: MCLOCK"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="MCLOCK8.html#MCLOCK8" rel="next" title="MCLOCK8"> +<link href="MAXVAL.html#MAXVAL" rel="previous" title="MAXVAL"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="MCLOCK"></a> +<div class="header"> +<p> +Next: <a href="MCLOCK8.html#MCLOCK8" accesskey="n" rel="next">MCLOCK8</a>, Previous: <a href="MAXVAL.html#MAXVAL" accesskey="p" rel="previous">MAXVAL</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="MCLOCK-_002d_002d_002d-Time-function"></a> +<h3 class="section">8.192 <code>MCLOCK</code> — Time function</h3> +<a name="index-MCLOCK"></a> +<a name="index-time_002c-clock-ticks"></a> +<a name="index-clock-ticks"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the number of clock ticks since the start of the process, based +on the function <code>clock(3)</code> in the C standard library. +</p> +<p>This intrinsic is not fully portable, such as to systems with 32-bit +<code>INTEGER</code> types but supporting times wider than 32 bits. Therefore, +the values returned by this intrinsic might be, or become, negative, or +numerically less than previous values, during a single run of the +compiled program. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = MCLOCK()</code> +</p> +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is a scalar of type <code>INTEGER(4)</code>, equal to the +number of clock ticks since the start of the process, or <code>-1</code> if +the system does not support <code>clock(3)</code>. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="CTIME.html#CTIME">CTIME</a>, <br> +<a href="GMTIME.html#GMTIME">GMTIME</a>, <br> +<a href="LTIME.html#LTIME">LTIME</a>, <br> +<a href="#MCLOCK">MCLOCK</a>, <br> +<a href="TIME.html#TIME">TIME</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/MCLOCK8.html b/share/doc/gfortran/MCLOCK8.html new file mode 100644 index 0000000..adaaf76 --- /dev/null +++ b/share/doc/gfortran/MCLOCK8.html @@ -0,0 +1,130 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: MCLOCK8</title> + +<meta name="description" content="The GNU Fortran Compiler: MCLOCK8"> +<meta name="keywords" content="The GNU Fortran Compiler: MCLOCK8"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="MERGE.html#MERGE" rel="next" title="MERGE"> +<link href="MCLOCK.html#MCLOCK" rel="previous" title="MCLOCK"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="MCLOCK8"></a> +<div class="header"> +<p> +Next: <a href="MERGE.html#MERGE" accesskey="n" rel="next">MERGE</a>, Previous: <a href="MCLOCK.html#MCLOCK" accesskey="p" rel="previous">MCLOCK</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="MCLOCK8-_002d_002d_002d-Time-function-_002864_002dbit_0029"></a> +<h3 class="section">8.193 <code>MCLOCK8</code> — Time function (64-bit)</h3> +<a name="index-MCLOCK8"></a> +<a name="index-time_002c-clock-ticks-1"></a> +<a name="index-clock-ticks-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the number of clock ticks since the start of the process, based +on the function <code>clock(3)</code> in the C standard library. +</p> +<p><em>Warning:</em> this intrinsic does not increase the range of the timing +values over that returned by <code>clock(3)</code>. On a system with a 32-bit +<code>clock(3)</code>, <code>MCLOCK8</code> will return a 32-bit value, even though +it is converted to a 64-bit <code>INTEGER(8)</code> value. That means +overflows of the 32-bit value can still occur. Therefore, the values +returned by this intrinsic might be or become negative or numerically +less than previous values during a single run of the compiled program. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = MCLOCK8()</code> +</p> +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is a scalar of type <code>INTEGER(8)</code>, equal to the +number of clock ticks since the start of the process, or <code>-1</code> if +the system does not support <code>clock(3)</code>. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="CTIME.html#CTIME">CTIME</a>, <br> +<a href="GMTIME.html#GMTIME">GMTIME</a>, <br> +<a href="LTIME.html#LTIME">LTIME</a>, <br> +<a href="MCLOCK.html#MCLOCK">MCLOCK</a>, <br> +<a href="TIME8.html#TIME8">TIME8</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/MERGE.html b/share/doc/gfortran/MERGE.html new file mode 100644 index 0000000..b14c552 --- /dev/null +++ b/share/doc/gfortran/MERGE.html @@ -0,0 +1,123 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: MERGE</title> + +<meta name="description" content="The GNU Fortran Compiler: MERGE"> +<meta name="keywords" content="The GNU Fortran Compiler: MERGE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="MERGE_005fBITS.html#MERGE_005fBITS" rel="next" title="MERGE_BITS"> +<link href="MCLOCK8.html#MCLOCK8" rel="previous" title="MCLOCK8"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="MERGE"></a> +<div class="header"> +<p> +Next: <a href="MERGE_005fBITS.html#MERGE_005fBITS" accesskey="n" rel="next">MERGE_BITS</a>, Previous: <a href="MCLOCK8.html#MCLOCK8" accesskey="p" rel="previous">MCLOCK8</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="MERGE-_002d_002d_002d-Merge-variables"></a> +<h3 class="section">8.194 <code>MERGE</code> — Merge variables</h3> +<a name="index-MERGE"></a> +<a name="index-array_002c-merge-arrays"></a> +<a name="index-array_002c-combine-arrays"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Select values from two arrays according to a logical mask. The result +is equal to <var>TSOURCE</var> if <var>MASK</var> is <code>.TRUE.</code>, or equal to +<var>FSOURCE</var> if it is <code>.FALSE.</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = MERGE(TSOURCE, FSOURCE, MASK)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>TSOURCE</var></td><td width="70%">May be of any type.</td></tr> +<tr><td width="15%"><var>FSOURCE</var></td><td width="70%">Shall be of the same type and type parameters +as <var>TSOURCE</var>.</td></tr> +<tr><td width="15%"><var>MASK</var></td><td width="70%">Shall be of type <code>LOGICAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The result is of the same type and type parameters as <var>TSOURCE</var>. +</p> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/MERGE_005fBITS.html b/share/doc/gfortran/MERGE_005fBITS.html new file mode 100644 index 0000000..de04c85 --- /dev/null +++ b/share/doc/gfortran/MERGE_005fBITS.html @@ -0,0 +1,125 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: MERGE_BITS</title> + +<meta name="description" content="The GNU Fortran Compiler: MERGE_BITS"> +<meta name="keywords" content="The GNU Fortran Compiler: MERGE_BITS"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="MIN.html#MIN" rel="next" title="MIN"> +<link href="MERGE.html#MERGE" rel="previous" title="MERGE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="MERGE_005fBITS"></a> +<div class="header"> +<p> +Next: <a href="MIN.html#MIN" accesskey="n" rel="next">MIN</a>, Previous: <a href="MERGE.html#MERGE" accesskey="p" rel="previous">MERGE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="MERGE_005fBITS-_002d_002d_002d-Merge-of-bits-under-mask"></a> +<h3 class="section">8.195 <code>MERGE_BITS</code> — Merge of bits under mask</h3> +<a name="index-MERGE_005fBITS"></a> +<a name="index-bits_002c-merge"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>MERGE_BITS(I, J, MASK)</code> merges the bits of <var>I</var> and <var>J</var> +as determined by the mask. The i-th bit of the result is equal to the +i-th bit of <var>I</var> if the i-th bit of <var>MASK</var> is 1; it is equal to +the i-th bit of <var>J</var> otherwise. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = MERGE_BITS(I, J, MASK)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">Shall be of type <code>INTEGER</code> or a boz-literal-constant.</td></tr> +<tr><td width="15%"><var>J</var></td><td width="70%">Shall be of type <code>INTEGER</code> with the same +kind type parameter as <var>I</var> or a boz-literal-constant. +<var>I</var> and <var>J</var> shall not both be boz-literal-constants.</td></tr> +<tr><td width="15%"><var>MASK</var></td><td width="70%">Shall be of type <code>INTEGER</code> or a boz-literal-constant +and of the same kind as <var>I</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The result is of the same type and kind as <var>I</var>. +</p> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/MIN.html b/share/doc/gfortran/MIN.html new file mode 100644 index 0000000..f8f0011 --- /dev/null +++ b/share/doc/gfortran/MIN.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: MIN</title> + +<meta name="description" content="The GNU Fortran Compiler: MIN"> +<meta name="keywords" content="The GNU Fortran Compiler: MIN"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="MINEXPONENT.html#MINEXPONENT" rel="next" title="MINEXPONENT"> +<link href="MERGE_005fBITS.html#MERGE_005fBITS" rel="previous" title="MERGE_BITS"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="MIN"></a> +<div class="header"> +<p> +Next: <a href="MINEXPONENT.html#MINEXPONENT" accesskey="n" rel="next">MINEXPONENT</a>, Previous: <a href="MERGE_005fBITS.html#MERGE_005fBITS" accesskey="p" rel="previous">MERGE_BITS</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="MIN-_002d_002d_002d-Minimum-value-of-an-argument-list"></a> +<h3 class="section">8.196 <code>MIN</code> — Minimum value of an argument list</h3> +<a name="index-MIN"></a> +<a name="index-MIN0"></a> +<a name="index-AMIN0"></a> +<a name="index-MIN1"></a> +<a name="index-AMIN1"></a> +<a name="index-DMIN1"></a> +<a name="index-minimum-value"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the argument with the smallest (most negative) value. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = MIN(A1, A2 [, A3, ...])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>A1</var></td><td width="70%">The type shall be <code>INTEGER</code> or +<code>REAL</code>.</td></tr> +<tr><td width="15%"><var>A2</var>, <var>A3</var>, ...</td><td width="70%">An expression of the same type and kind +as <var>A1</var>. (As a GNU extension, arguments of different kinds are +permitted.)</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value corresponds to the minimum value among the arguments, +and has the same type and kind as the first argument. +</p> +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>MIN0(A1)</code></td><td width="23%"><code>INTEGER(4) A1</code></td><td width="20%"><code>INTEGER(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>AMIN0(A1)</code></td><td width="23%"><code>INTEGER(4) A1</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>MIN1(A1)</code></td><td width="23%"><code>REAL A1</code></td><td width="20%"><code>INTEGER(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>AMIN1(A1)</code></td><td width="23%"><code>REAL(4) A1</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>DMIN1(A1)</code></td><td width="23%"><code>REAL(8) A1</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">Fortran 77 and later</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="MAX.html#MAX">MAX</a>, <br> +<a href="MINLOC.html#MINLOC">MINLOC</a>, <br> +<a href="MINVAL.html#MINVAL">MINVAL</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/MINEXPONENT.html b/share/doc/gfortran/MINEXPONENT.html new file mode 100644 index 0000000..adce3f8 --- /dev/null +++ b/share/doc/gfortran/MINEXPONENT.html @@ -0,0 +1,122 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: MINEXPONENT</title> + +<meta name="description" content="The GNU Fortran Compiler: MINEXPONENT"> +<meta name="keywords" content="The GNU Fortran Compiler: MINEXPONENT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="MINLOC.html#MINLOC" rel="next" title="MINLOC"> +<link href="MIN.html#MIN" rel="previous" title="MIN"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="MINEXPONENT"></a> +<div class="header"> +<p> +Next: <a href="MINLOC.html#MINLOC" accesskey="n" rel="next">MINLOC</a>, Previous: <a href="MIN.html#MIN" accesskey="p" rel="previous">MIN</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="MINEXPONENT-_002d_002d_002d-Minimum-exponent-of-a-real-kind"></a> +<h3 class="section">8.197 <code>MINEXPONENT</code> — Minimum exponent of a real kind</h3> +<a name="index-MINEXPONENT"></a> +<a name="index-model-representation_002c-minimum-exponent"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>MINEXPONENT(X)</code> returns the minimum exponent in the model of the +type of <code>X</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = MINEXPONENT(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">Shall be of type <code>REAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of the default integer +kind. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><p>See <code>MAXEXPONENT</code> for an example. +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/MINLOC.html b/share/doc/gfortran/MINLOC.html new file mode 100644 index 0000000..1384add --- /dev/null +++ b/share/doc/gfortran/MINLOC.html @@ -0,0 +1,160 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: MINLOC</title> + +<meta name="description" content="The GNU Fortran Compiler: MINLOC"> +<meta name="keywords" content="The GNU Fortran Compiler: MINLOC"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="MINVAL.html#MINVAL" rel="next" title="MINVAL"> +<link href="MINEXPONENT.html#MINEXPONENT" rel="previous" title="MINEXPONENT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="MINLOC"></a> +<div class="header"> +<p> +Next: <a href="MINVAL.html#MINVAL" accesskey="n" rel="next">MINVAL</a>, Previous: <a href="MINEXPONENT.html#MINEXPONENT" accesskey="p" rel="previous">MINEXPONENT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="MINLOC-_002d_002d_002d-Location-of-the-minimum-value-within-an-array"></a> +<h3 class="section">8.198 <code>MINLOC</code> — Location of the minimum value within an array</h3> +<a name="index-MINLOC"></a> +<a name="index-array_002c-location-of-minimum-element"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Determines the location of the element in the array with the minimum +value, or, if the <var>DIM</var> argument is supplied, determines the +locations of the minimum element along each row of the array in the +<var>DIM</var> direction. If <var>MASK</var> is present, only the elements for +which <var>MASK</var> is <code>.TRUE.</code> are considered. If more than one +element in the array has the minimum value, the location returned is +that of the first such element in array element order if the +<var>BACK</var> is not present, or is false; if <var>BACK</var> is true, the location +returned is that of the last such element. If the array has +zero size, or all of the elements of <var>MASK</var> are <code>.FALSE.</code>, then +the result is an array of zeroes. Similarly, if <var>DIM</var> is supplied +and all of the elements of <var>MASK</var> along a given row are zero, the +result value for that row is zero. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later; <var>ARRAY</var> of <code>CHARACTER</code> and the +<var>KIND</var> argument are available in Fortran 2003 and later. +The <var>BACK</var> argument is available in Fortran 2008 and later. +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>RESULT = MINLOC(ARRAY, DIM [, MASK] [,KIND] [,BACK])</code></td></tr> +<tr><td width="80%"><code>RESULT = MINLOC(ARRAY [, MASK], [,KIND] [,BACK])</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ARRAY</var></td><td width="70%">Shall be an array of type <code>INTEGER</code>, +<code>REAL</code> or <code>CHARACTER</code>.</td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">(Optional) Shall be a scalar of type +<code>INTEGER</code>, with a value between one and the rank of <var>ARRAY</var>, +inclusive. It may not be an optional dummy argument.</td></tr> +<tr><td width="15%"><var>MASK</var></td><td width="70%">Shall be of type <code>LOGICAL</code>, +and conformable with <var>ARRAY</var>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +<tr><td width="15%"><var>BACK</var></td><td width="70%">(Optional) A scalar of type <code>LOGICAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>If <var>DIM</var> is absent, the result is a rank-one array with a length +equal to the rank of <var>ARRAY</var>. If <var>DIM</var> is present, the result +is an array with a rank one less than the rank of <var>ARRAY</var>, and a +size corresponding to the size of <var>ARRAY</var> with the <var>DIM</var> +dimension removed. If <var>DIM</var> is present and <var>ARRAY</var> has a rank +of one, the result is a scalar. If the optional argument <var>KIND</var> +is present, the result is an integer of kind <var>KIND</var>, otherwise it +is of default kind. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="FINDLOC.html#FINDLOC">FINDLOC</a>, <br> +<a href="MIN.html#MIN">MIN</a>, <br> +<a href="MINVAL.html#MINVAL">MINVAL</a> +</p></dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="MINVAL.html#MINVAL" accesskey="n" rel="next">MINVAL</a>, Previous: <a href="MINEXPONENT.html#MINEXPONENT" accesskey="p" rel="previous">MINEXPONENT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/MINVAL.html b/share/doc/gfortran/MINVAL.html new file mode 100644 index 0000000..0be9ccf --- /dev/null +++ b/share/doc/gfortran/MINVAL.html @@ -0,0 +1,142 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: MINVAL</title> + +<meta name="description" content="The GNU Fortran Compiler: MINVAL"> +<meta name="keywords" content="The GNU Fortran Compiler: MINVAL"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="MOD.html#MOD" rel="next" title="MOD"> +<link href="MINLOC.html#MINLOC" rel="previous" title="MINLOC"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="MINVAL"></a> +<div class="header"> +<p> +Next: <a href="MOD.html#MOD" accesskey="n" rel="next">MOD</a>, Previous: <a href="MINLOC.html#MINLOC" accesskey="p" rel="previous">MINLOC</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="MINVAL-_002d_002d_002d-Minimum-value-of-an-array"></a> +<h3 class="section">8.199 <code>MINVAL</code> — Minimum value of an array</h3> +<a name="index-MINVAL"></a> +<a name="index-array_002c-minimum-value"></a> +<a name="index-minimum-value-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Determines the minimum value of the elements in an array value, or, if +the <var>DIM</var> argument is supplied, determines the minimum value along +each row of the array in the <var>DIM</var> direction. If <var>MASK</var> is +present, only the elements for which <var>MASK</var> is <code>.TRUE.</code> are +considered. If the array has zero size, or all of the elements of +<var>MASK</var> are <code>.FALSE.</code>, then the result is <code>HUGE(ARRAY)</code> if +<var>ARRAY</var> is numeric, or a string of <code>CHAR(255)</code> characters if +<var>ARRAY</var> is of character type. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>RESULT = MINVAL(ARRAY, DIM [, MASK])</code></td></tr> +<tr><td width="80%"><code>RESULT = MINVAL(ARRAY [, MASK])</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ARRAY</var></td><td width="70%">Shall be an array of type <code>INTEGER</code> or +<code>REAL</code>.</td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">(Optional) Shall be a scalar of type +<code>INTEGER</code>, with a value between one and the rank of <var>ARRAY</var>, +inclusive. It may not be an optional dummy argument.</td></tr> +<tr><td width="15%"><var>MASK</var></td><td width="70%">Shall be of type <code>LOGICAL</code>, +and conformable with <var>ARRAY</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>If <var>DIM</var> is absent, or if <var>ARRAY</var> has a rank of one, the result +is a scalar. If <var>DIM</var> is present, the result is an array with a +rank one less than the rank of <var>ARRAY</var>, and a size corresponding to +the size of <var>ARRAY</var> with the <var>DIM</var> dimension removed. In all +cases, the result is of the same type and kind as <var>ARRAY</var>. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="MIN.html#MIN">MIN</a>, <br> +<a href="MINLOC.html#MINLOC">MINLOC</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/MOD.html b/share/doc/gfortran/MOD.html new file mode 100644 index 0000000..4759fe7 --- /dev/null +++ b/share/doc/gfortran/MOD.html @@ -0,0 +1,174 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: MOD</title> + +<meta name="description" content="The GNU Fortran Compiler: MOD"> +<meta name="keywords" content="The GNU Fortran Compiler: MOD"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="MODULO.html#MODULO" rel="next" title="MODULO"> +<link href="MINVAL.html#MINVAL" rel="previous" title="MINVAL"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="MOD"></a> +<div class="header"> +<p> +Next: <a href="MODULO.html#MODULO" accesskey="n" rel="next">MODULO</a>, Previous: <a href="MINVAL.html#MINVAL" accesskey="p" rel="previous">MINVAL</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="MOD-_002d_002d_002d-Remainder-function"></a> +<h3 class="section">8.200 <code>MOD</code> — Remainder function</h3> +<a name="index-MOD"></a> +<a name="index-AMOD"></a> +<a name="index-DMOD"></a> +<a name="index-BMOD"></a> +<a name="index-IMOD"></a> +<a name="index-JMOD"></a> +<a name="index-KMOD"></a> +<a name="index-remainder"></a> +<a name="index-division_002c-remainder"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>MOD(A,P)</code> computes the remainder of the division of A by P. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later, has overloads that are GNU extensions +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = MOD(A, P)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>A</var></td><td width="70%">Shall be a scalar of type <code>INTEGER</code> or <code>REAL</code>.</td></tr> +<tr><td width="15%"><var>P</var></td><td width="70%">Shall be a scalar of the same type and kind as <var>A</var> +and not equal to zero. (As a GNU extension, arguments of different kinds are +permitted.)</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is the result of <code>A - (INT(A/P) * P)</code>. The type +and kind of the return value is the same as that of the arguments. The +returned value has the same sign as A and a magnitude less than the +magnitude of P. (As a GNU extension, kind is the largest kind of the actual +arguments.) +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_mod + print *, mod(17,3) + print *, mod(17.5,5.5) + print *, mod(17.5d0,5.5) + print *, mod(17.5,5.5d0) + + print *, mod(-17,3) + print *, mod(-17.5,5.5) + print *, mod(-17.5d0,5.5) + print *, mod(-17.5,5.5d0) + + print *, mod(17,-3) + print *, mod(17.5,-5.5) + print *, mod(17.5d0,-5.5) + print *, mod(17.5,-5.5d0) +end program test_mod +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="25%">Arguments</th><th width="20%">Return type</th><th width="31%">Standard</th></tr></thead> +<tr><td width="20%"><code>MOD(A,P)</code></td><td width="25%"><code>INTEGER A,P</code></td><td width="20%"><code>INTEGER</code></td><td width="31%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>AMOD(A,P)</code></td><td width="25%"><code>REAL(4) A,P</code></td><td width="20%"><code>REAL(4)</code></td><td width="31%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>DMOD(A,P)</code></td><td width="25%"><code>REAL(8) A,P</code></td><td width="20%"><code>REAL(8)</code></td><td width="31%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>BMOD(A,P)</code></td><td width="25%"><code>INTEGER(1) A,P</code></td><td width="20%"><code>INTEGER(1)</code></td><td width="31%">GNU extension</td></tr> +<tr><td width="20%"><code>IMOD(A,P)</code></td><td width="25%"><code>INTEGER(2) A,P</code></td><td width="20%"><code>INTEGER(2)</code></td><td width="31%">GNU extension</td></tr> +<tr><td width="20%"><code>JMOD(A,P)</code></td><td width="25%"><code>INTEGER(4) A,P</code></td><td width="20%"><code>INTEGER(4)</code></td><td width="31%">GNU extension</td></tr> +<tr><td width="20%"><code>KMOD(A,P)</code></td><td width="25%"><code>INTEGER(8) A,P</code></td><td width="20%"><code>INTEGER(8)</code></td><td width="31%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="MODULO.html#MODULO">MODULO</a> +</p> +</dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="MODULO.html#MODULO" accesskey="n" rel="next">MODULO</a>, Previous: <a href="MINVAL.html#MINVAL" accesskey="p" rel="previous">MINVAL</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/MODULO.html b/share/doc/gfortran/MODULO.html new file mode 100644 index 0000000..aab5a2c --- /dev/null +++ b/share/doc/gfortran/MODULO.html @@ -0,0 +1,153 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: MODULO</title> + +<meta name="description" content="The GNU Fortran Compiler: MODULO"> +<meta name="keywords" content="The GNU Fortran Compiler: MODULO"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="MOVE_005fALLOC.html#MOVE_005fALLOC" rel="next" title="MOVE_ALLOC"> +<link href="MOD.html#MOD" rel="previous" title="MOD"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="MODULO"></a> +<div class="header"> +<p> +Next: <a href="MOVE_005fALLOC.html#MOVE_005fALLOC" accesskey="n" rel="next">MOVE_ALLOC</a>, Previous: <a href="MOD.html#MOD" accesskey="p" rel="previous">MOD</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="MODULO-_002d_002d_002d-Modulo-function"></a> +<h3 class="section">8.201 <code>MODULO</code> — Modulo function</h3> +<a name="index-MODULO"></a> +<a name="index-modulo"></a> +<a name="index-division_002c-modulo"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>MODULO(A,P)</code> computes the <var>A</var> modulo <var>P</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 95 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = MODULO(A, P)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>A</var></td><td width="70%">Shall be a scalar of type <code>INTEGER</code> or <code>REAL</code>.</td></tr> +<tr><td width="15%"><var>P</var></td><td width="70%">Shall be a scalar of the same type and kind as <var>A</var>. +It shall not be zero. (As a GNU extension, arguments of different kinds are +permitted.)</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The type and kind of the result are those of the arguments. (As a GNU +extension, kind is the largest kind of the actual arguments.) +</p><dl compact="compact"> +<dt>If <var>A</var> and <var>P</var> are of type <code>INTEGER</code>:</dt> +<dd><p><code>MODULO(A,P)</code> has the value <var>R</var> such that <code>A=Q*P+R</code>, where +<var>Q</var> is an integer and <var>R</var> is between 0 (inclusive) and <var>P</var> +(exclusive). +</p></dd> +<dt>If <var>A</var> and <var>P</var> are of type <code>REAL</code>:</dt> +<dd><p><code>MODULO(A,P)</code> has the value of <code>A - FLOOR (A / P) * P</code>. +</p></dd> +</dl> +<p>The returned value has the same sign as P and a magnitude less than +the magnitude of P. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_modulo + print *, modulo(17,3) + print *, modulo(17.5,5.5) + + print *, modulo(-17,3) + print *, modulo(-17.5,5.5) + + print *, modulo(17,-3) + print *, modulo(17.5,-5.5) +end program +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="MOD.html#MOD">MOD</a> +</p> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/MOVE_005fALLOC.html b/share/doc/gfortran/MOVE_005fALLOC.html new file mode 100644 index 0000000..330a9f8 --- /dev/null +++ b/share/doc/gfortran/MOVE_005fALLOC.html @@ -0,0 +1,135 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: MOVE_ALLOC</title> + +<meta name="description" content="The GNU Fortran Compiler: MOVE_ALLOC"> +<meta name="keywords" content="The GNU Fortran Compiler: MOVE_ALLOC"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="MVBITS.html#MVBITS" rel="next" title="MVBITS"> +<link href="MODULO.html#MODULO" rel="previous" title="MODULO"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="MOVE_005fALLOC"></a> +<div class="header"> +<p> +Next: <a href="MVBITS.html#MVBITS" accesskey="n" rel="next">MVBITS</a>, Previous: <a href="MODULO.html#MODULO" accesskey="p" rel="previous">MODULO</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="MOVE_005fALLOC-_002d_002d_002d-Move-allocation-from-one-object-to-another"></a> +<h3 class="section">8.202 <code>MOVE_ALLOC</code> — Move allocation from one object to another</h3> +<a name="index-MOVE_005fALLOC"></a> +<a name="index-moving-allocation"></a> +<a name="index-allocation_002c-moving"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>MOVE_ALLOC(FROM, TO)</code> moves the allocation from <var>FROM</var> to +<var>TO</var>. <var>FROM</var> will become deallocated in the process. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Pure subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL MOVE_ALLOC(FROM, TO)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>FROM</var></td><td width="70%"><code>ALLOCATABLE</code>, <code>INTENT(INOUT)</code>, may be +of any type and kind.</td></tr> +<tr><td width="15%"><var>TO</var></td><td width="70%"><code>ALLOCATABLE</code>, <code>INTENT(OUT)</code>, shall be +of the same type, kind and rank as <var>FROM</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>None +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_move_alloc + integer, allocatable :: a(:), b(:) + + allocate(a(3)) + a = [ 1, 2, 3 ] + call move_alloc(a, b) + print *, allocated(a), allocated(b) + print *, b +end program test_move_alloc +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/MVBITS.html b/share/doc/gfortran/MVBITS.html new file mode 100644 index 0000000..25785fb --- /dev/null +++ b/share/doc/gfortran/MVBITS.html @@ -0,0 +1,146 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: MVBITS</title> + +<meta name="description" content="The GNU Fortran Compiler: MVBITS"> +<meta name="keywords" content="The GNU Fortran Compiler: MVBITS"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="NEAREST.html#NEAREST" rel="next" title="NEAREST"> +<link href="MOVE_005fALLOC.html#MOVE_005fALLOC" rel="previous" title="MOVE_ALLOC"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="MVBITS"></a> +<div class="header"> +<p> +Next: <a href="NEAREST.html#NEAREST" accesskey="n" rel="next">NEAREST</a>, Previous: <a href="MOVE_005fALLOC.html#MOVE_005fALLOC" accesskey="p" rel="previous">MOVE_ALLOC</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="MVBITS-_002d_002d_002d-Move-bits-from-one-integer-to-another"></a> +<h3 class="section">8.203 <code>MVBITS</code> — Move bits from one integer to another</h3> +<a name="index-MVBITS"></a> +<a name="index-BMVBITS"></a> +<a name="index-IMVBITS"></a> +<a name="index-JMVBITS"></a> +<a name="index-KMVBITS"></a> +<a name="index-bits_002c-move"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Moves <var>LEN</var> bits from positions <var>FROMPOS</var> through +<code>FROMPOS+LEN-1</code> of <var>FROM</var> to positions <var>TOPOS</var> through +<code>TOPOS+LEN-1</code> of <var>TO</var>. The portion of argument <var>TO</var> not +affected by the movement of bits is unchanged. The values of +<code>FROMPOS+LEN-1</code> and <code>TOPOS+LEN-1</code> must be less than +<code>BIT_SIZE(FROM)</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later, has overloads that are GNU extensions +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL MVBITS(FROM, FROMPOS, LEN, TO, TOPOS)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>FROM</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>FROMPOS</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>LEN</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>TO</var></td><td width="70%">The type shall be <code>INTEGER</code>, of the +same kind as <var>FROM</var>.</td></tr> +<tr><td width="15%"><var>TOPOS</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>MVBITS(A)</code></td><td width="23%"><code>INTEGER A</code></td><td width="20%"><code>INTEGER</code></td><td width="33%">Fortran 90 and later</td></tr> +<tr><td width="20%"><code>BMVBITS(A)</code></td><td width="23%"><code>INTEGER(1) A</code></td><td width="20%"><code>INTEGER(1)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>IMVBITS(A)</code></td><td width="23%"><code>INTEGER(2) A</code></td><td width="20%"><code>INTEGER(2)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>JMVBITS(A)</code></td><td width="23%"><code>INTEGER(4) A</code></td><td width="20%"><code>INTEGER(4)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>KMVBITS(A)</code></td><td width="23%"><code>INTEGER(8) A</code></td><td width="20%"><code>INTEGER(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="IBCLR.html#IBCLR">IBCLR</a>, <br> +<a href="IBSET.html#IBSET">IBSET</a>, <br> +<a href="IBITS.html#IBITS">IBITS</a>, <br> +<a href="IAND.html#IAND">IAND</a>, <br> +<a href="IOR.html#IOR">IOR</a>, <br> +<a href="IEOR.html#IEOR">IEOR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Missing-period-in-FORMAT-specifications.html b/share/doc/gfortran/Missing-period-in-FORMAT-specifications.html new file mode 100644 index 0000000..dbf0fa4 --- /dev/null +++ b/share/doc/gfortran/Missing-period-in-FORMAT-specifications.html @@ -0,0 +1,95 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Missing period in FORMAT specifications</title> + +<meta name="description" content="The GNU Fortran Compiler: Missing period in FORMAT specifications"> +<meta name="keywords" content="The GNU Fortran Compiler: Missing period in FORMAT specifications"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="Default-widths-for-F_002c-G-and-I-format-descriptors.html#Default-widths-for-F_002c-G-and-I-format-descriptors" rel="next" title="Default widths for F, G and I format descriptors"> +<link href="Commas-in-FORMAT-specifications.html#Commas-in-FORMAT-specifications" rel="previous" title="Commas in FORMAT specifications"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Missing-period-in-FORMAT-specifications"></a> +<div class="header"> +<p> +Next: <a href="Default-widths-for-F_002c-G-and-I-format-descriptors.html#Default-widths-for-F_002c-G-and-I-format-descriptors" accesskey="n" rel="next">Default widths for F, G and I format descriptors</a>, Previous: <a href="Commas-in-FORMAT-specifications.html#Commas-in-FORMAT-specifications" accesskey="p" rel="previous">Commas in FORMAT specifications</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> [<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> +</div> +<hr> +<a name="Missing-period-in-FORMAT-specifications-1"></a> +<h4 class="subsection">5.1.6 Missing period in <code>FORMAT</code> specifications</h4> + +<p>To support legacy codes, GNU Fortran allows missing periods in format +specifications if and only if <samp>-std=legacy</samp> is given on the +command line. This is considered non-conforming code and is +discouraged. +</p> +<div class="smallexample"> +<pre class="smallexample"> REAL :: value + READ(*,10) value +10 FORMAT ('F4') +</pre></div> + + + + +</body> +</html> diff --git a/share/doc/gfortran/Mixed_002dLanguage-Programming.html b/share/doc/gfortran/Mixed_002dLanguage-Programming.html new file mode 100644 index 0000000..5367019 --- /dev/null +++ b/share/doc/gfortran/Mixed_002dLanguage-Programming.html @@ -0,0 +1,115 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Mixed-Language Programming</title> + +<meta name="description" content="The GNU Fortran Compiler: Mixed-Language Programming"> +<meta name="keywords" content="The GNU Fortran Compiler: Mixed-Language Programming"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="index.html#Top" rel="up" title="Top"> +<link href="Interoperability-with-C.html#Interoperability-with-C" rel="next" title="Interoperability with C"> +<link href="Q-edit-descriptor.html#Q-edit-descriptor" rel="previous" title="Q edit descriptor"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Mixed_002dLanguage-Programming"></a> +<div class="header"> +<p> +Next: <a href="Coarray-Programming.html#Coarray-Programming" accesskey="n" rel="next">Coarray Programming</a>, Previous: <a href="Extensions.html#Extensions" accesskey="p" rel="previous">Extensions</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<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> +</div> +<hr> +<a name="Mixed_002dLanguage-Programming-1"></a> +<h2 class="chapter">6 Mixed-Language Programming</h2> +<a name="index-Interoperability"></a> +<a name="index-Mixed_002dlanguage-programming"></a> + +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="Interoperability-with-C.html#Interoperability-with-C" accesskey="1">Interoperability with C</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="GNU-Fortran-Compiler-Directives.html#GNU-Fortran-Compiler-Directives" accesskey="2">GNU Fortran Compiler Directives</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Non_002dFortran-Main-Program.html#Non_002dFortran-Main-Program" accesskey="3">Non-Fortran Main Program</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Naming-and-argument_002dpassing-conventions.html#Naming-and-argument_002dpassing-conventions" accesskey="4">Naming and argument-passing conventions</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + +<p>This chapter is about mixed-language interoperability, but also +applies if you link Fortran code compiled by different compilers. In +most cases, use of the C Binding features of the Fortran 2003 and +later standards is sufficient. +</p> +<p>For example, it is possible to mix Fortran code with C++ code as well +as C, if you declare the interface functions as <code>extern "C"</code> on +the C++ side and <code>BIND(C)</code> on the Fortran side, and follow the +rules for interoperability with C. Note that you cannot manipulate +C++ class objects in Fortran or vice versa except as opaque pointers. +</p> +<p>You can use the <code>gfortran</code> command to link both Fortran and +non-Fortran code into the same program, or you can use <code>gcc</code> +or <code>g++</code> if you also add an explicit <samp>-lgfortran</samp> option +to link with the Fortran library. If your main program is written in +C or some other language instead of Fortran, see +<a href="Non_002dFortran-Main-Program.html#Non_002dFortran-Main-Program">Non-Fortran Main Program</a>, below. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/NEAREST.html b/share/doc/gfortran/NEAREST.html new file mode 100644 index 0000000..7380f08 --- /dev/null +++ b/share/doc/gfortran/NEAREST.html @@ -0,0 +1,135 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: NEAREST</title> + +<meta name="description" content="The GNU Fortran Compiler: NEAREST"> +<meta name="keywords" content="The GNU Fortran Compiler: NEAREST"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="NEW_005fLINE.html#NEW_005fLINE" rel="next" title="NEW_LINE"> +<link href="MVBITS.html#MVBITS" rel="previous" title="MVBITS"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="NEAREST"></a> +<div class="header"> +<p> +Next: <a href="NEW_005fLINE.html#NEW_005fLINE" accesskey="n" rel="next">NEW_LINE</a>, Previous: <a href="MVBITS.html#MVBITS" accesskey="p" rel="previous">MVBITS</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="NEAREST-_002d_002d_002d-Nearest-representable-number"></a> +<h3 class="section">8.204 <code>NEAREST</code> — Nearest representable number</h3> +<a name="index-NEAREST"></a> +<a name="index-real-number_002c-nearest-different"></a> +<a name="index-floating-point_002c-nearest-different"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>NEAREST(X, S)</code> returns the processor-representable number nearest +to <code>X</code> in the direction indicated by the sign of <code>S</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = NEAREST(X, S)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">Shall be of type <code>REAL</code>.</td></tr> +<tr><td width="15%"><var>S</var></td><td width="70%">Shall be of type <code>REAL</code> and +not equal to zero.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of the same type as <code>X</code>. If <code>S</code> is +positive, <code>NEAREST</code> returns the processor-representable number +greater than <code>X</code> and nearest to it. If <code>S</code> is negative, +<code>NEAREST</code> returns the processor-representable number smaller than +<code>X</code> and nearest to it. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_nearest + real :: x, y + x = nearest(42.0, 1.0) + y = nearest(42.0, -1.0) + write (*,"(3(G20.15))") x, y, x - y +end program test_nearest +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/NEW_005fLINE.html b/share/doc/gfortran/NEW_005fLINE.html new file mode 100644 index 0000000..8c7201a --- /dev/null +++ b/share/doc/gfortran/NEW_005fLINE.html @@ -0,0 +1,128 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: NEW_LINE</title> + +<meta name="description" content="The GNU Fortran Compiler: NEW_LINE"> +<meta name="keywords" content="The GNU Fortran Compiler: NEW_LINE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="NINT.html#NINT" rel="next" title="NINT"> +<link href="NEAREST.html#NEAREST" rel="previous" title="NEAREST"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="NEW_005fLINE"></a> +<div class="header"> +<p> +Next: <a href="NINT.html#NINT" accesskey="n" rel="next">NINT</a>, Previous: <a href="NEAREST.html#NEAREST" accesskey="p" rel="previous">NEAREST</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="NEW_005fLINE-_002d_002d_002d-New-line-character"></a> +<h3 class="section">8.205 <code>NEW_LINE</code> — New line character</h3> +<a name="index-NEW_005fLINE"></a> +<a name="index-newline"></a> +<a name="index-output_002c-newline"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>NEW_LINE(C)</code> returns the new-line character. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = NEW_LINE(C)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>C</var></td><td width="70%">The argument shall be a scalar or array of the +type <code>CHARACTER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Returns a <var>CHARACTER</var> scalar of length one with the new-line character of +the same kind as parameter <var>C</var>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program newline + implicit none + write(*,'(A)') 'This is record 1.'//NEW_LINE('A')//'This is record 2.' +end program newline +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/NINT.html b/share/doc/gfortran/NINT.html new file mode 100644 index 0000000..9b163ba --- /dev/null +++ b/share/doc/gfortran/NINT.html @@ -0,0 +1,146 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: NINT</title> + +<meta name="description" content="The GNU Fortran Compiler: NINT"> +<meta name="keywords" content="The GNU Fortran Compiler: NINT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="NORM2.html#NORM2" rel="next" title="NORM2"> +<link href="NEW_005fLINE.html#NEW_005fLINE" rel="previous" title="NEW_LINE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="NINT"></a> +<div class="header"> +<p> +Next: <a href="NORM2.html#NORM2" accesskey="n" rel="next">NORM2</a>, Previous: <a href="NEW_005fLINE.html#NEW_005fLINE" accesskey="p" rel="previous">NEW_LINE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="NINT-_002d_002d_002d-Nearest-whole-number"></a> +<h3 class="section">8.206 <code>NINT</code> — Nearest whole number</h3> +<a name="index-NINT"></a> +<a name="index-IDNINT"></a> +<a name="index-rounding_002c-nearest-whole-number"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>NINT(A)</code> rounds its argument to the nearest whole number. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later, with <var>KIND</var> argument Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = NINT(A [, KIND])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>A</var></td><td width="70%">The type of the argument shall be <code>REAL</code>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Returns <var>A</var> with the fractional portion of its magnitude eliminated by +rounding to the nearest whole number and with its sign preserved, +converted to an <code>INTEGER</code> of the default kind. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_nint + real(4) x4 + real(8) x8 + x4 = 1.234E0_4 + x8 = 4.321_8 + print *, nint(x4), idnint(x8) +end program test_nint +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return Type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>NINT(A)</code></td><td width="23%"><code>REAL(4) A</code></td><td width="20%"><code>INTEGER</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>IDNINT(A)</code></td><td width="23%"><code>REAL(8) A</code></td><td width="20%"><code>INTEGER</code></td><td width="33%">Fortran 77 and later</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="CEILING.html#CEILING">CEILING</a>, <br> +<a href="FLOOR.html#FLOOR">FLOOR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/NORM2.html b/share/doc/gfortran/NORM2.html new file mode 100644 index 0000000..62d68cc --- /dev/null +++ b/share/doc/gfortran/NORM2.html @@ -0,0 +1,139 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: NORM2</title> + +<meta name="description" content="The GNU Fortran Compiler: NORM2"> +<meta name="keywords" content="The GNU Fortran Compiler: NORM2"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="NOT.html#NOT" rel="next" title="NOT"> +<link href="NINT.html#NINT" rel="previous" title="NINT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="NORM2"></a> +<div class="header"> +<p> +Next: <a href="NOT.html#NOT" accesskey="n" rel="next">NOT</a>, Previous: <a href="NINT.html#NINT" accesskey="p" rel="previous">NINT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="NORM2-_002d_002d_002d-Euclidean-vector-norms"></a> +<h3 class="section">8.207 <code>NORM2</code> — Euclidean vector norms</h3> +<a name="index-NORM2"></a> +<a name="index-Euclidean-vector-norm"></a> +<a name="index-L2-vector-norm"></a> +<a name="index-norm_002c-Euclidean"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Calculates the Euclidean vector norm (<em>L_2</em> norm) +of <var>ARRAY</var> along dimension <var>DIM</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>RESULT = NORM2(ARRAY[, DIM])</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ARRAY</var></td><td width="70%">Shall be an array of type <code>REAL</code></td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">(Optional) shall be a scalar of type +<code>INTEGER</code> with a value in the range from 1 to n, where n +equals the rank of <var>ARRAY</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The result is of the same type as <var>ARRAY</var>. +</p> +<p>If <var>DIM</var> is absent, a scalar with the square root of the sum of all +elements in <var>ARRAY</var> squared is returned. Otherwise, an array of +rank <em>n-1</em>, where <em>n</em> equals the rank of <var>ARRAY</var>, and a +shape similar to that of <var>ARRAY</var> with dimension <var>DIM</var> dropped +is returned. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_sum + REAL :: x(5) = [ real :: 1, 2, 3, 4, 5 ] + print *, NORM2(x) ! = sqrt(55.) ~ 7.416 +END PROGRAM +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/NOT.html b/share/doc/gfortran/NOT.html new file mode 100644 index 0000000..1575692 --- /dev/null +++ b/share/doc/gfortran/NOT.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: NOT</title> + +<meta name="description" content="The GNU Fortran Compiler: NOT"> +<meta name="keywords" content="The GNU Fortran Compiler: NOT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="NULL.html#NULL" rel="next" title="NULL"> +<link href="NORM2.html#NORM2" rel="previous" title="NORM2"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="NOT"></a> +<div class="header"> +<p> +Next: <a href="NULL.html#NULL" accesskey="n" rel="next">NULL</a>, Previous: <a href="NORM2.html#NORM2" accesskey="p" rel="previous">NORM2</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="NOT-_002d_002d_002d-Logical-negation"></a> +<h3 class="section">8.208 <code>NOT</code> — Logical negation</h3> +<a name="index-NOT"></a> +<a name="index-BNOT"></a> +<a name="index-INOT"></a> +<a name="index-JNOT"></a> +<a name="index-KNOT"></a> +<a name="index-bits_002c-negate"></a> +<a name="index-bitwise-logical-not"></a> +<a name="index-logical-not_002c-bitwise"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>NOT</code> returns the bitwise Boolean inverse of <var>I</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later, has overloads that are GNU extensions +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = NOT(I)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return type is <code>INTEGER</code>, of the same kind as the +argument. +</p> +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>NOT(A)</code></td><td width="23%"><code>INTEGER A</code></td><td width="20%"><code>INTEGER</code></td><td width="33%">Fortran 95 and later</td></tr> +<tr><td width="20%"><code>BNOT(A)</code></td><td width="23%"><code>INTEGER(1) A</code></td><td width="20%"><code>INTEGER(1)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>INOT(A)</code></td><td width="23%"><code>INTEGER(2) A</code></td><td width="20%"><code>INTEGER(2)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>JNOT(A)</code></td><td width="23%"><code>INTEGER(4) A</code></td><td width="20%"><code>INTEGER(4)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>KNOT(A)</code></td><td width="23%"><code>INTEGER(8) A</code></td><td width="20%"><code>INTEGER(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="IAND.html#IAND">IAND</a>, <br> +<a href="IEOR.html#IEOR">IEOR</a>, <br> +<a href="IOR.html#IOR">IOR</a>, <br> +<a href="IBITS.html#IBITS">IBITS</a>, <br> +<a href="IBSET.html#IBSET">IBSET</a>, <br> +<a href="IBCLR.html#IBCLR">IBCLR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/NOVECTOR-directive.html b/share/doc/gfortran/NOVECTOR-directive.html new file mode 100644 index 0000000..1ccfd91 --- /dev/null +++ b/share/doc/gfortran/NOVECTOR-directive.html @@ -0,0 +1,93 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: NOVECTOR directive</title> + +<meta name="description" content="The GNU Fortran Compiler: NOVECTOR directive"> +<meta name="keywords" content="The GNU Fortran Compiler: NOVECTOR directive"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="GNU-Fortran-Compiler-Directives.html#GNU-Fortran-Compiler-Directives" rel="up" title="GNU Fortran Compiler Directives"> +<link href="Non_002dFortran-Main-Program.html#Non_002dFortran-Main-Program" rel="next" title="Non-Fortran Main Program"> +<link href="VECTOR-directive.html#VECTOR-directive" rel="previous" title="VECTOR directive"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="NOVECTOR-directive"></a> +<div class="header"> +<p> +Previous: <a href="VECTOR-directive.html#VECTOR-directive" accesskey="p" rel="previous">VECTOR directive</a>, Up: <a href="GNU-Fortran-Compiler-Directives.html#GNU-Fortran-Compiler-Directives" accesskey="u" rel="up">GNU Fortran Compiler Directives</a> [<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> +</div> +<hr> +<a name="NOVECTOR-directive-1"></a> +<h4 class="subsection">6.2.6 NOVECTOR directive</h4> + +<p>The syntax of the directive is +</p> +<p><code>!GCC$ novector</code> +</p> +<p>This directive tells the compiler to not vectorize the following loop. +It must be placed immediately before a <code>DO</code> loop and applies only +to the loop that follows. +</p> + + + + +</body> +</html> diff --git a/share/doc/gfortran/NULL.html b/share/doc/gfortran/NULL.html new file mode 100644 index 0000000..1920b53 --- /dev/null +++ b/share/doc/gfortran/NULL.html @@ -0,0 +1,134 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: NULL</title> + +<meta name="description" content="The GNU Fortran Compiler: NULL"> +<meta name="keywords" content="The GNU Fortran Compiler: NULL"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="NUM_005fIMAGES.html#NUM_005fIMAGES" rel="next" title="NUM_IMAGES"> +<link href="NOT.html#NOT" rel="previous" title="NOT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="NULL"></a> +<div class="header"> +<p> +Next: <a href="NUM_005fIMAGES.html#NUM_005fIMAGES" accesskey="n" rel="next">NUM_IMAGES</a>, Previous: <a href="NOT.html#NOT" accesskey="p" rel="previous">NOT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="NULL-_002d_002d_002d-Function-that-returns-an-disassociated-pointer"></a> +<h3 class="section">8.209 <code>NULL</code> — Function that returns an disassociated pointer</h3> +<a name="index-NULL"></a> +<a name="index-pointer_002c-status-1"></a> +<a name="index-pointer_002c-disassociated"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns a disassociated pointer. +</p> +<p>If <var>MOLD</var> is present, a disassociated pointer of the same type is +returned, otherwise the type is determined by context. +</p> +<p>In Fortran 95, <var>MOLD</var> is optional. Please note that Fortran 2003 +includes cases where it is required. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 95 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>PTR => NULL([MOLD])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>MOLD</var></td><td width="70%">(Optional) shall be a pointer of any association +status and of any type.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>A disassociated pointer. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">REAL, POINTER, DIMENSION(:) :: VEC => NULL () +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ASSOCIATED.html#ASSOCIATED">ASSOCIATED</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/NUM_005fIMAGES.html b/share/doc/gfortran/NUM_005fIMAGES.html new file mode 100644 index 0000000..3139a3f --- /dev/null +++ b/share/doc/gfortran/NUM_005fIMAGES.html @@ -0,0 +1,147 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: NUM_IMAGES</title> + +<meta name="description" content="The GNU Fortran Compiler: NUM_IMAGES"> +<meta name="keywords" content="The GNU Fortran Compiler: NUM_IMAGES"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="OR.html#OR" rel="next" title="OR"> +<link href="NULL.html#NULL" rel="previous" title="NULL"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="NUM_005fIMAGES"></a> +<div class="header"> +<p> +Next: <a href="OR.html#OR" accesskey="n" rel="next">OR</a>, Previous: <a href="NULL.html#NULL" accesskey="p" rel="previous">NULL</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="NUM_005fIMAGES-_002d_002d_002d-Function-that-returns-the-number-of-images"></a> +<h3 class="section">8.210 <code>NUM_IMAGES</code> — Function that returns the number of images</h3> +<a name="index-NUM_005fIMAGES"></a> +<a name="index-coarray_002c-NUM_005fIMAGES"></a> +<a name="index-images_002c-number-of"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the number of images. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later. With <var>DISTANCE</var> or <var>FAILED</var> argument, +Technical Specification (TS) 18508 or later +</p> + +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = NUM_IMAGES(DISTANCE, FAILED)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>DISTANCE</var></td><td width="70%">(optional, intent(in)) Nonnegative scalar integer</td></tr> +<tr><td width="15%"><var>FAILED</var></td><td width="70%">(optional, intent(in)) Scalar logical expression</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Scalar default-kind integer. If <var>DISTANCE</var> is not present or has value 0, +the number of images in the current team is returned. For values smaller or +equal distance to the initial team, it returns the number of images index +on the ancestor team which has a distance of <var>DISTANCE</var> from the invoking +team. If <var>DISTANCE</var> is larger than the distance to the initial team, the +number of images of the initial team is returned. If <var>FAILED</var> is not present +the total number of images is returned; if it has the value <code>.TRUE.</code>, +the number of failed images is returned, otherwise, the number of images which +do have not the failed status. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">INTEGER :: value[*] +INTEGER :: i +value = THIS_IMAGE() +SYNC ALL +IF (THIS_IMAGE() == 1) THEN + DO i = 1, NUM_IMAGES() + WRITE(*,'(2(a,i0))') 'value[', i, '] is ', value[i] + END DO +END IF +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="THIS_005fIMAGE.html#THIS_005fIMAGE">THIS_IMAGE</a>, <br> +<a href="IMAGE_005fINDEX.html#IMAGE_005fINDEX">IMAGE_INDEX</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Naming-and-argument_002dpassing-conventions.html b/share/doc/gfortran/Naming-and-argument_002dpassing-conventions.html new file mode 100644 index 0000000..ba4943c --- /dev/null +++ b/share/doc/gfortran/Naming-and-argument_002dpassing-conventions.html @@ -0,0 +1,99 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Naming and argument-passing conventions</title> + +<meta name="description" content="The GNU Fortran Compiler: Naming and argument-passing conventions"> +<meta name="keywords" content="The GNU Fortran Compiler: Naming and argument-passing conventions"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Mixed_002dLanguage-Programming.html#Mixed_002dLanguage-Programming" rel="up" title="Mixed-Language Programming"> +<link href="Naming-conventions.html#Naming-conventions" rel="next" title="Naming conventions"> +<link href="_005fgfortran_005fset_005fmax_005fsubrecord_005flength.html#g_t_005fgfortran_005fset_005fmax_005fsubrecord_005flength" rel="previous" title="_gfortran_set_max_subrecord_length"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Naming-and-argument_002dpassing-conventions"></a> +<div class="header"> +<p> +Previous: <a href="Non_002dFortran-Main-Program.html#Non_002dFortran-Main-Program" accesskey="p" rel="previous">Non-Fortran Main Program</a>, Up: <a href="Mixed_002dLanguage-Programming.html#Mixed_002dLanguage-Programming" accesskey="u" rel="up">Mixed-Language Programming</a> [<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> +</div> +<hr> +<a name="Naming-and-argument_002dpassing-conventions-1"></a> +<h3 class="section">6.4 Naming and argument-passing conventions</h3> + +<p>This section gives an overview about the naming convention of procedures +and global variables and about the argument passing conventions used by +GNU Fortran. If a C binding has been specified, the naming convention +and some of the argument-passing conventions change. If possible, +mixed-language and mixed-compiler projects should use the better defined +C binding for interoperability. See see <a href="Interoperability-with-C.html#Interoperability-with-C">Interoperability with C</a>. +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="Naming-conventions.html#Naming-conventions" accesskey="1">Naming conventions</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Argument-passing-conventions.html#Argument-passing-conventions" accesskey="2">Argument passing conventions</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Naming-conventions.html b/share/doc/gfortran/Naming-conventions.html new file mode 100644 index 0000000..4e96bdd --- /dev/null +++ b/share/doc/gfortran/Naming-conventions.html @@ -0,0 +1,111 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Naming conventions</title> + +<meta name="description" content="The GNU Fortran Compiler: Naming conventions"> +<meta name="keywords" content="The GNU Fortran Compiler: Naming conventions"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Naming-and-argument_002dpassing-conventions.html#Naming-and-argument_002dpassing-conventions" rel="up" title="Naming and argument-passing conventions"> +<link href="Argument-passing-conventions.html#Argument-passing-conventions" rel="next" title="Argument passing conventions"> +<link href="Naming-and-argument_002dpassing-conventions.html#Naming-and-argument_002dpassing-conventions" rel="previous" title="Naming and argument-passing conventions"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Naming-conventions"></a> +<div class="header"> +<p> +Next: <a href="Argument-passing-conventions.html#Argument-passing-conventions" accesskey="n" rel="next">Argument passing conventions</a>, Up: <a href="Naming-and-argument_002dpassing-conventions.html#Naming-and-argument_002dpassing-conventions" accesskey="u" rel="up">Naming and argument-passing conventions</a> [<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> +</div> +<hr> +<a name="Naming-conventions-1"></a> +<h4 class="subsection">6.4.1 Naming conventions</h4> + +<p>According the Fortran standard, valid Fortran names consist of a letter +between <code>A</code> to <code>Z</code>, <code>a</code> to <code>z</code>, digits <code>0</code>, +<code>1</code> to <code>9</code> and underscores (<code>_</code>) with the restriction +that names may only start with a letter. As vendor extension, the +dollar sign (<code>$</code>) is additionally permitted with the option +<samp>-fdollar-ok</samp>, but not as first character and only if the +target system supports it. +</p> +<p>By default, the procedure name is the lower-cased Fortran name with an +appended underscore (<code>_</code>); using <samp>-fno-underscoring</samp> no +underscore is appended while <code>-fsecond-underscore</code> appends two +underscores. Depending on the target system and the calling convention, +the procedure might be additionally dressed; for instance, on 32bit +Windows with <code>stdcall</code>, an at-sign <code>@</code> followed by an integer +number is appended. For the changing the calling convention, see +see <a href="GNU-Fortran-Compiler-Directives.html#GNU-Fortran-Compiler-Directives">GNU Fortran Compiler Directives</a>. +</p> +<p>For common blocks, the same convention is used, i.e. by default an +underscore is appended to the lower-cased Fortran name. Blank commons +have the name <code>__BLNK__</code>. +</p> +<p>For procedures and variables declared in the specification space of a +module, the name is formed by <code>__</code>, followed by the lower-cased +module name, <code>_MOD_</code>, and the lower-cased Fortran name. Note that +no underscore is appended. +</p> + + + + +</body> +</html> diff --git a/share/doc/gfortran/Non_002dFortran-Main-Program.html b/share/doc/gfortran/Non_002dFortran-Main-Program.html new file mode 100644 index 0000000..e2c34bf --- /dev/null +++ b/share/doc/gfortran/Non_002dFortran-Main-Program.html @@ -0,0 +1,136 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Non-Fortran Main Program</title> + +<meta name="description" content="The GNU Fortran Compiler: Non-Fortran Main Program"> +<meta name="keywords" content="The GNU Fortran Compiler: Non-Fortran Main Program"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Mixed_002dLanguage-Programming.html#Mixed_002dLanguage-Programming" rel="up" title="Mixed-Language Programming"> +<link href="_005fgfortran_005fset_005fargs.html#g_t_005fgfortran_005fset_005fargs" rel="next" title="_gfortran_set_args"> +<link href="NOVECTOR-directive.html#NOVECTOR-directive" rel="previous" title="NOVECTOR directive"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Non_002dFortran-Main-Program"></a> +<div class="header"> +<p> +Next: <a href="Naming-and-argument_002dpassing-conventions.html#Naming-and-argument_002dpassing-conventions" accesskey="n" rel="next">Naming and argument-passing conventions</a>, Previous: <a href="GNU-Fortran-Compiler-Directives.html#GNU-Fortran-Compiler-Directives" accesskey="p" rel="previous">GNU Fortran Compiler Directives</a>, Up: <a href="Mixed_002dLanguage-Programming.html#Mixed_002dLanguage-Programming" accesskey="u" rel="up">Mixed-Language Programming</a> [<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> +</div> +<hr> +<a name="Non_002dFortran-Main-Program-1"></a> +<h3 class="section">6.3 Non-Fortran Main Program</h3> + +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fset_005fargs.html#g_t_005fgfortran_005fset_005fargs" accesskey="1">_gfortran_set_args</a>:</td><td> </td><td align="left" valign="top">Save command-line arguments +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fset_005foptions.html#g_t_005fgfortran_005fset_005foptions" accesskey="2">_gfortran_set_options</a>:</td><td> </td><td align="left" valign="top">Set library option flags +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fset_005fconvert.html#g_t_005fgfortran_005fset_005fconvert" accesskey="3">_gfortran_set_convert</a>:</td><td> </td><td align="left" valign="top">Set endian conversion +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fset_005frecord_005fmarker.html#g_t_005fgfortran_005fset_005frecord_005fmarker" accesskey="4">_gfortran_set_record_marker</a>:</td><td> </td><td align="left" valign="top">Set length of record markers +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fset_005ffpe.html#g_t_005fgfortran_005fset_005ffpe" accesskey="5">_gfortran_set_fpe</a>:</td><td> </td><td align="left" valign="top">Set when a Floating Point Exception should be raised +</td></tr> +<tr><td align="left" valign="top">• <a href="_005fgfortran_005fset_005fmax_005fsubrecord_005flength.html#g_t_005fgfortran_005fset_005fmax_005fsubrecord_005flength" accesskey="6">_gfortran_set_max_subrecord_length</a>:</td><td> </td><td align="left" valign="top">Set subrecord length +</td></tr> +</table> + +<p>Even if you are doing mixed-language programming, it is very +likely that you do not need to know or use the information in this +section. Since it is about the internal structure of GNU Fortran, +it may also change in GCC minor releases. +</p> +<p>When you compile a <code>PROGRAM</code> with GNU Fortran, a function +with the name <code>main</code> (in the symbol table of the object file) +is generated, which initializes the libgfortran library and then +calls the actual program which uses the name <code>MAIN__</code>, for +historic reasons. If you link GNU Fortran compiled procedures +to, e.g., a C or C++ program or to a Fortran program compiled by +a different compiler, the libgfortran library is not initialized +and thus a few intrinsic procedures do not work properly, e.g. +those for obtaining the command-line arguments. +</p> +<p>Therefore, if your <code>PROGRAM</code> is not compiled with +GNU Fortran and the GNU Fortran compiled procedures require +intrinsics relying on the library initialization, you need to +initialize the library yourself. Using the default options, +gfortran calls <code>_gfortran_set_args</code> and +<code>_gfortran_set_options</code>. The initialization of the former +is needed if the called procedures access the command line +(and for backtracing); the latter sets some flags based on the +standard chosen or to enable backtracing. In typical programs, +it is not necessary to call any initialization function. +</p> +<p>If your <code>PROGRAM</code> is compiled with GNU Fortran, you shall +not call any of the following functions. The libgfortran +initialization functions are shown in C syntax but using C +bindings they are also accessible from Fortran. +</p> + +<hr> +<div class="header"> +<p> +Next: <a href="Naming-and-argument_002dpassing-conventions.html#Naming-and-argument_002dpassing-conventions" accesskey="n" rel="next">Naming and argument-passing conventions</a>, Previous: <a href="GNU-Fortran-Compiler-Directives.html#GNU-Fortran-Compiler-Directives" accesskey="p" rel="previous">GNU Fortran Compiler Directives</a>, Up: <a href="Mixed_002dLanguage-Programming.html#Mixed_002dLanguage-Programming" accesskey="u" rel="up">Mixed-Language Programming</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/OPEN_0028-_002e_002e_002e-NAME_003d_0029.html b/share/doc/gfortran/OPEN_0028-_002e_002e_002e-NAME_003d_0029.html new file mode 100644 index 0000000..32ee9e3 --- /dev/null +++ b/share/doc/gfortran/OPEN_0028-_002e_002e_002e-NAME_003d_0029.html @@ -0,0 +1,91 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: OPEN( ... NAME=)</title> + +<meta name="description" content="The GNU Fortran Compiler: OPEN( ... NAME=)"> +<meta name="keywords" content="The GNU Fortran Compiler: OPEN( ... NAME=)"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran" rel="up" title="Extensions not implemented in GNU Fortran"> +<link href="Q-edit-descriptor.html#Q-edit-descriptor" rel="next" title="Q edit descriptor"> +<link href="Volatile-COMMON-blocks.html#Volatile-COMMON-blocks" rel="previous" title="Volatile COMMON blocks"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="OPEN_0028-_002e_002e_002e-NAME_003d_0029"></a> +<div class="header"> +<p> +Next: <a href="Q-edit-descriptor.html#Q-edit-descriptor" accesskey="n" rel="next">Q edit descriptor</a>, Previous: <a href="Volatile-COMMON-blocks.html#Volatile-COMMON-blocks" accesskey="p" rel="previous">Volatile COMMON blocks</a>, Up: <a href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran" accesskey="u" rel="up">Extensions not implemented in GNU Fortran</a> [<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> +</div> +<hr> +<a name="OPEN_0028-_002e_002e_002e-NAME_003d_0029-1"></a> +<h4 class="subsection">5.2.5 <code>OPEN( ... NAME=)</code></h4> +<a name="index-NAME"></a> + +<p>Some Fortran compilers, including <code>g77</code>, let the user declare +<code>OPEN( ... NAME=)</code>. This is +invalid standard Fortran syntax and is not supported by +<code>gfortran</code>. <code>OPEN( ... NAME=)</code> should be replaced +with <code>OPEN( ... FILE=)</code>. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/OR.html b/share/doc/gfortran/OR.html new file mode 100644 index 0000000..e4bffde --- /dev/null +++ b/share/doc/gfortran/OR.html @@ -0,0 +1,149 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: OR</title> + +<meta name="description" content="The GNU Fortran Compiler: OR"> +<meta name="keywords" content="The GNU Fortran Compiler: OR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="PACK.html#PACK" rel="next" title="PACK"> +<link href="NUM_005fIMAGES.html#NUM_005fIMAGES" rel="previous" title="NUM_IMAGES"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="OR"></a> +<div class="header"> +<p> +Next: <a href="PACK.html#PACK" accesskey="n" rel="next">PACK</a>, Previous: <a href="NUM_005fIMAGES.html#NUM_005fIMAGES" accesskey="p" rel="previous">NUM_IMAGES</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="OR-_002d_002d_002d-Bitwise-logical-OR"></a> +<h3 class="section">8.211 <code>OR</code> — Bitwise logical OR</h3> +<a name="index-OR"></a> +<a name="index-bitwise-logical-or-1"></a> +<a name="index-logical-or_002c-bitwise-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Bitwise logical <code>OR</code>. +</p> +<p>This intrinsic routine is provided for backwards compatibility with +GNU Fortran 77. For integer arguments, programmers should consider +the use of the <a href="IOR.html#IOR">IOR</a> intrinsic defined by the Fortran standard. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = OR(I, J)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">The type shall be either a scalar <code>INTEGER</code> +type or a scalar <code>LOGICAL</code> type or a boz-literal-constant.</td></tr> +<tr><td width="15%"><var>J</var></td><td width="70%">The type shall be the same as the type of <var>I</var> or +a boz-literal-constant. <var>I</var> and <var>J</var> shall not both be +boz-literal-constants. If either <var>I</var> and <var>J</var> is a +boz-literal-constant, then the other argument must be a scalar <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return type is either a scalar <code>INTEGER</code> or a scalar +<code>LOGICAL</code>. If the kind type parameters differ, then the +smaller kind type is implicitly converted to larger kind, and the +return has the larger kind. A boz-literal-constant is +converted to an <code>INTEGER</code> with the kind type parameter of +the other argument as-if a call to <a href="INT.html#INT">INT</a> occurred. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_or + LOGICAL :: T = .TRUE., F = .FALSE. + INTEGER :: a, b + DATA a / Z'F' /, b / Z'3' / + + WRITE (*,*) OR(T, T), OR(T, F), OR(F, T), OR(F, F) + WRITE (*,*) OR(a, b) +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Fortran 95 elemental function: <br> +<a href="IOR.html#IOR">IOR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Old_002dstyle-kind-specifications.html b/share/doc/gfortran/Old_002dstyle-kind-specifications.html new file mode 100644 index 0000000..febe90c --- /dev/null +++ b/share/doc/gfortran/Old_002dstyle-kind-specifications.html @@ -0,0 +1,109 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Old-style kind specifications</title> + +<meta name="description" content="The GNU Fortran Compiler: Old-style kind specifications"> +<meta name="keywords" content="The GNU Fortran Compiler: Old-style kind specifications"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="Old_002dstyle-variable-initialization.html#Old_002dstyle-variable-initialization" rel="next" title="Old-style variable initialization"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="previous" title="Extensions implemented in GNU Fortran"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Old_002dstyle-kind-specifications"></a> +<div class="header"> +<p> +Next: <a href="Old_002dstyle-variable-initialization.html#Old_002dstyle-variable-initialization" accesskey="n" rel="next">Old-style variable initialization</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> [<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> +</div> +<hr> +<a name="Old_002dstyle-kind-specifications-1"></a> +<h4 class="subsection">5.1.1 Old-style kind specifications</h4> +<a name="index-kind_002c-old_002dstyle"></a> + +<p>GNU Fortran allows old-style kind specifications in declarations. These +look like: +</p><div class="smallexample"> +<pre class="smallexample"> TYPESPEC*size x,y,z +</pre></div> +<p>where <code>TYPESPEC</code> is a basic type (<code>INTEGER</code>, <code>REAL</code>, +etc.), and where <code>size</code> is a byte count corresponding to the +storage size of a valid kind for that type. (For <code>COMPLEX</code> +variables, <code>size</code> is the total size of the real and imaginary +parts.) The statement then declares <code>x</code>, <code>y</code> and <code>z</code> to +be of type <code>TYPESPEC</code> with the appropriate kind. This is +equivalent to the standard-conforming declaration +</p><div class="smallexample"> +<pre class="smallexample"> TYPESPEC(k) x,y,z +</pre></div> +<p>where <code>k</code> is the kind parameter suitable for the intended precision. As +kind parameters are implementation-dependent, use the <code>KIND</code>, +<code>SELECTED_INT_KIND</code> and <code>SELECTED_REAL_KIND</code> intrinsics to retrieve +the correct value, for instance <code>REAL*8 x</code> can be replaced by: +</p><div class="smallexample"> +<pre class="smallexample">INTEGER, PARAMETER :: dbl = KIND(1.0d0) +REAL(KIND=dbl) :: x +</pre></div> + + + + +</body> +</html> diff --git a/share/doc/gfortran/Old_002dstyle-variable-initialization.html b/share/doc/gfortran/Old_002dstyle-variable-initialization.html new file mode 100644 index 0000000..2f9259a --- /dev/null +++ b/share/doc/gfortran/Old_002dstyle-variable-initialization.html @@ -0,0 +1,115 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Old-style variable initialization</title> + +<meta name="description" content="The GNU Fortran Compiler: Old-style variable initialization"> +<meta name="keywords" content="The GNU Fortran Compiler: Old-style variable initialization"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="Extensions-to-namelist.html#Extensions-to-namelist" rel="next" title="Extensions to namelist"> +<link href="Old_002dstyle-kind-specifications.html#Old_002dstyle-kind-specifications" rel="previous" title="Old-style kind specifications"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Old_002dstyle-variable-initialization"></a> +<div class="header"> +<p> +Next: <a href="Extensions-to-namelist.html#Extensions-to-namelist" accesskey="n" rel="next">Extensions to namelist</a>, Previous: <a href="Old_002dstyle-kind-specifications.html#Old_002dstyle-kind-specifications" accesskey="p" rel="previous">Old-style kind specifications</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> [<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> +</div> +<hr> +<a name="Old_002dstyle-variable-initialization-1"></a> +<h4 class="subsection">5.1.2 Old-style variable initialization</h4> + +<p>GNU Fortran allows old-style initialization of variables of the +form: +</p><div class="smallexample"> +<pre class="smallexample"> INTEGER i/1/,j/2/ + REAL x(2,2) /3*0.,1./ +</pre></div> +<p>The syntax for the initializers is as for the <code>DATA</code> statement, but +unlike in a <code>DATA</code> statement, an initializer only applies to the +variable immediately preceding the initialization. In other words, +something like <code>INTEGER I,J/2,3/</code> is not valid. This style of +initialization is only allowed in declarations without double colons +(<code>::</code>); the double colons were introduced in Fortran 90, which also +introduced a standard syntax for initializing variables in type +declarations. +</p> +<p>Examples of standard-conforming code equivalent to the above example +are: +</p><div class="smallexample"> +<pre class="smallexample">! Fortran 90 + INTEGER :: i = 1, j = 2 + REAL :: x(2,2) = RESHAPE((/0.,0.,0.,1./),SHAPE(x)) +! Fortran 77 + INTEGER i, j + REAL x(2,2) + DATA i/1/, j/2/, x/3*0.,1./ +</pre></div> + +<p>Note that variables which are explicitly initialized in declarations +or in <code>DATA</code> statements automatically acquire the <code>SAVE</code> +attribute. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/OpenACC-Module-OPENACC.html b/share/doc/gfortran/OpenACC-Module-OPENACC.html new file mode 100644 index 0000000..137ee55 --- /dev/null +++ b/share/doc/gfortran/OpenACC-Module-OPENACC.html @@ -0,0 +1,109 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: OpenACC Module OPENACC</title> + +<meta name="description" content="The GNU Fortran Compiler: OpenACC Module OPENACC"> +<meta name="keywords" content="The GNU Fortran Compiler: OpenACC Module OPENACC"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Modules.html#Intrinsic-Modules" rel="up" title="Intrinsic Modules"> +<link href="Contributing.html#Contributing" rel="next" title="Contributing"> +<link href="OpenMP-Modules-OMP_005fLIB-and-OMP_005fLIB_005fKINDS.html#OpenMP-Modules-OMP_005fLIB-and-OMP_005fLIB_005fKINDS" rel="previous" title="OpenMP Modules OMP_LIB and OMP_LIB_KINDS"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="OpenACC-Module-OPENACC"></a> +<div class="header"> +<p> +Previous: <a href="OpenMP-Modules-OMP_005fLIB-and-OMP_005fLIB_005fKINDS.html#OpenMP-Modules-OMP_005fLIB-and-OMP_005fLIB_005fKINDS" accesskey="p" rel="previous">OpenMP Modules OMP_LIB and OMP_LIB_KINDS</a>, Up: <a href="Intrinsic-Modules.html#Intrinsic-Modules" accesskey="u" rel="up">Intrinsic Modules</a> [<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> +</div> +<hr> +<a name="OpenACC-Module-OPENACC-1"></a> +<h3 class="section">9.5 OpenACC Module <code>OPENACC</code></h3> +<dl compact="compact"> +<dt><em>Standard</em>:</dt> +<dd><p>OpenACC Application Programming Interface v2.6 +</p></dd> +</dl> + + +<p>The OpenACC Fortran runtime library routines are provided both in a +form of a Fortran 90 module, named <code>OPENACC</code>, and in form of a +Fortran <code>include</code> file named <samp>openacc_lib.h</samp>. The +procedures provided by <code>OPENACC</code> can be found in the +<a href="http://gcc.gnu.org/onlinedocs/libgomp/index.html#Top">Introduction</a> in <cite>GNU Offloading and Multi Processing +Runtime Library</cite> manual, the named constants defined in the modules +are listed below. +</p> +<p>For details refer to the actual +<a href="https://www.openacc.org/">OpenACC Application Programming Interface v2.6</a>. +</p> +<p><code>OPENACC</code> provides the scalar default-integer +named constant <code>openacc_version</code> with a value of the form +<var>yyyymm</var>, where <code>yyyy</code> is the year and <var>mm</var> the month +of the OpenACC version; for OpenACC v2.6 the value is <code>201711</code>. +</p> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/OpenACC.html b/share/doc/gfortran/OpenACC.html new file mode 100644 index 0000000..780818f --- /dev/null +++ b/share/doc/gfortran/OpenACC.html @@ -0,0 +1,108 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: OpenACC</title> + +<meta name="description" content="The GNU Fortran Compiler: OpenACC"> +<meta name="keywords" content="The GNU Fortran Compiler: OpenACC"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="Argument-list-functions.html#Argument-list-functions" rel="next" title="Argument list functions"> +<link href="OpenMP.html#OpenMP" rel="previous" title="OpenMP"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="OpenACC"></a> +<div class="header"> +<p> +Next: <a href="Argument-list-functions.html#Argument-list-functions" accesskey="n" rel="next">Argument list functions</a>, Previous: <a href="OpenMP.html#OpenMP" accesskey="p" rel="previous">OpenMP</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> [<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> +</div> +<hr> +<a name="OpenACC-1"></a> +<h4 class="subsection">5.1.19 OpenACC</h4> +<a name="index-OpenACC-1"></a> + +<p>OpenACC is an application programming interface (API) that supports +offloading of code to accelerator devices. It consists of a set of +compiler directives, library routines, and environment variables that +influence run-time behavior. +</p> +<p>GNU Fortran strives to be compatible to the +<a href="https://www.openacc.org/">OpenACC Application Programming +Interface v2.6</a>. +</p> +<p>To enable the processing of the OpenACC directive <code>!$acc</code> in +free-form source code; the <code>c$acc</code>, <code>*$acc</code> and <code>!$acc</code> +directives in fixed form; the <code>!$</code> conditional compilation +sentinels in free form; and the <code>c$</code>, <code>*$</code> and <code>!$</code> +sentinels in fixed form, <code>gfortran</code> needs to be invoked with +the <samp>-fopenacc</samp>. This also arranges for automatic linking of +the GNU Offloading and Multi Processing Runtime Library +<a href="http://gcc.gnu.org/onlinedocs/libgomp/index.html#Top">libgomp</a> in <cite>GNU Offloading and Multi Processing Runtime +Library</cite>. +</p> +<p>The OpenACC Fortran runtime library routines are provided both in a +form of a Fortran 90 module named <code>openacc</code> and in a form of a +Fortran <code>include</code> file named <samp>openacc_lib.h</samp>. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/OpenMP-Modules-OMP_005fLIB-and-OMP_005fLIB_005fKINDS.html b/share/doc/gfortran/OpenMP-Modules-OMP_005fLIB-and-OMP_005fLIB_005fKINDS.html new file mode 100644 index 0000000..9d714d8 --- /dev/null +++ b/share/doc/gfortran/OpenMP-Modules-OMP_005fLIB-and-OMP_005fLIB_005fKINDS.html @@ -0,0 +1,253 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: OpenMP Modules OMP_LIB and OMP_LIB_KINDS</title> + +<meta name="description" content="The GNU Fortran Compiler: OpenMP Modules OMP_LIB and OMP_LIB_KINDS"> +<meta name="keywords" content="The GNU Fortran Compiler: OpenMP Modules OMP_LIB and OMP_LIB_KINDS"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Modules.html#Intrinsic-Modules" rel="up" title="Intrinsic Modules"> +<link href="OpenACC-Module-OPENACC.html#OpenACC-Module-OPENACC" rel="next" title="OpenACC Module OPENACC"> +<link href="IEEE-modules.html#IEEE-modules" rel="previous" title="IEEE modules"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="OpenMP-Modules-OMP_005fLIB-and-OMP_005fLIB_005fKINDS"></a> +<div class="header"> +<p> +Next: <a href="OpenACC-Module-OPENACC.html#OpenACC-Module-OPENACC" accesskey="n" rel="next">OpenACC Module OPENACC</a>, Previous: <a href="IEEE-modules.html#IEEE-modules" accesskey="p" rel="previous">IEEE modules</a>, Up: <a href="Intrinsic-Modules.html#Intrinsic-Modules" accesskey="u" rel="up">Intrinsic Modules</a> [<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> +</div> +<hr> +<a name="OpenMP-Modules-OMP_005fLIB-and-OMP_005fLIB_005fKINDS-1"></a> +<h3 class="section">9.4 OpenMP Modules <code>OMP_LIB</code> and <code>OMP_LIB_KINDS</code></h3> +<dl compact="compact"> +<dt><em>Standard</em>:</dt> +<dd><p>OpenMP Application Program Interface v4.5, +OpenMP Application Program Interface v5.0 (partially supported) and +OpenMP Application Program Interface v5.1 (partially supported). +</p></dd> +</dl> + +<p>The OpenMP Fortran runtime library routines are provided both in +a form of two Fortran modules, named <code>OMP_LIB</code> and +<code>OMP_LIB_KINDS</code>, and in a form of a Fortran <code>include</code> file named +<samp>omp_lib.h</samp>. The procedures provided by <code>OMP_LIB</code> can be found +in the <a href="http://gcc.gnu.org/onlinedocs/libgomp/index.html#Top">Introduction</a> in <cite>GNU Offloading and Multi +Processing Runtime Library</cite> manual, +the named constants defined in the modules are listed +below. +</p> +<p>For details refer to the actual +<a href="https://www.openmp.org/wp-content/uploads/openmp-4.5.pdf">OpenMP Application Program Interface v4.5</a> and +<a href="https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-5.0.pdf">OpenMP Application Program Interface v5.0</a>. +</p> +<p><code>OMP_LIB_KINDS</code> provides the following scalar default-integer +named constants: +</p> +<dl compact="compact"> +<dt><code>omp_allocator_handle_kind</code></dt> +<dt><code>omp_alloctrait_key_kind</code></dt> +<dt><code>omp_alloctrait_val_kind</code></dt> +<dt><code>omp_depend_kind</code></dt> +<dt><code>omp_lock_kind</code></dt> +<dt><code>omp_lock_hint_kind</code></dt> +<dt><code>omp_nest_lock_kind</code></dt> +<dt><code>omp_pause_resource_kind</code></dt> +<dt><code>omp_memspace_handle_kind</code></dt> +<dt><code>omp_proc_bind_kind</code></dt> +<dt><code>omp_sched_kind</code></dt> +<dt><code>omp_sync_hint_kind</code></dt> +</dl> + +<p><code>OMP_LIB</code> provides the scalar default-integer +named constant <code>openmp_version</code> with a value of the form +<var>yyyymm</var>, where <code>yyyy</code> is the year and <var>mm</var> the month +of the OpenMP version; for OpenMP v4.5 the value is <code>201511</code>. +</p> +<p>The following derived type: +</p> +<dl compact="compact"> +<dt><code>omp_alloctrait</code></dt> +</dl> + +<p>The following scalar integer named constants of the +kind <code>omp_sched_kind</code>: +</p> +<dl compact="compact"> +<dt><code>omp_sched_static</code></dt> +<dt><code>omp_sched_dynamic</code></dt> +<dt><code>omp_sched_guided</code></dt> +<dt><code>omp_sched_auto</code></dt> +</dl> + +<p>And the following scalar integer named constants of the +kind <code>omp_proc_bind_kind</code>: +</p> +<dl compact="compact"> +<dt><code>omp_proc_bind_false</code></dt> +<dt><code>omp_proc_bind_true</code></dt> +<dt><code>omp_proc_bind_primary</code></dt> +<dt><code>omp_proc_bind_master</code></dt> +<dt><code>omp_proc_bind_close</code></dt> +<dt><code>omp_proc_bind_spread</code></dt> +</dl> + +<p>The following scalar integer named constants are of the +kind <code>omp_lock_hint_kind</code>: +</p> +<dl compact="compact"> +<dt><code>omp_lock_hint_none</code></dt> +<dt><code>omp_lock_hint_uncontended</code></dt> +<dt><code>omp_lock_hint_contended</code></dt> +<dt><code>omp_lock_hint_nonspeculative</code></dt> +<dt><code>omp_lock_hint_speculative</code></dt> +<dt><code>omp_sync_hint_none</code></dt> +<dt><code>omp_sync_hint_uncontended</code></dt> +<dt><code>omp_sync_hint_contended</code></dt> +<dt><code>omp_sync_hint_nonspeculative</code></dt> +<dt><code>omp_sync_hint_speculative</code></dt> +</dl> + +<p>And the following two scalar integer named constants are of the +kind <code>omp_pause_resource_kind</code>: +</p> +<dl compact="compact"> +<dt><code>omp_pause_soft</code></dt> +<dt><code>omp_pause_hard</code></dt> +</dl> + +<p>The following scalar integer named constants are of the kind +<code>omp_alloctrait_key_kind</code>: +</p> +<dl compact="compact"> +<dt><code>omp_atk_sync_hint</code></dt> +<dt><code>omp_atk_alignment</code></dt> +<dt><code>omp_atk_access</code></dt> +<dt><code>omp_atk_pool_size</code></dt> +<dt><code>omp_atk_fallback</code></dt> +<dt><code>omp_atk_fb_data</code></dt> +<dt><code>omp_atk_pinned</code></dt> +<dt><code>omp_atk_partition</code></dt> +</dl> + +<p>The following scalar integer named constants are of the kind +<code>omp_alloctrait_val_kind</code>: +</p> +<dl compact="compact"> +<dd><p><code>omp_alloctrait_key_kind</code>: +</p></dd> +<dt><code>omp_atv_default</code></dt> +<dt><code>omp_atv_false</code></dt> +<dt><code>omp_atv_true</code></dt> +<dt><code>omp_atv_contended</code></dt> +<dt><code>omp_atv_uncontended</code></dt> +<dt><code>omp_atv_serialized</code></dt> +<dt><code>omp_atv_sequential</code></dt> +<dt><code>omp_atv_private</code></dt> +<dt><code>omp_atv_all</code></dt> +<dt><code>omp_atv_thread</code></dt> +<dt><code>omp_atv_pteam</code></dt> +<dt><code>omp_atv_cgroup</code></dt> +<dt><code>omp_atv_default_mem_fb</code></dt> +<dt><code>omp_atv_null_fb</code></dt> +<dt><code>omp_atv_abort_fb</code></dt> +<dt><code>omp_atv_allocator_fb</code></dt> +<dt><code>omp_atv_environment</code></dt> +<dt><code>omp_atv_nearest</code></dt> +<dt><code>omp_atv_blocked</code></dt> +</dl> + +<p>The following scalar integer named constants are of the kind +<code>omp_allocator_handle_kind</code>: +</p> +<dl compact="compact"> +<dt><code>omp_null_allocator</code></dt> +<dt><code>omp_default_mem_alloc</code></dt> +<dt><code>omp_large_cap_mem_alloc</code></dt> +<dt><code>omp_const_mem_alloc</code></dt> +<dt><code>omp_high_bw_mem_alloc</code></dt> +<dt><code>omp_low_lat_mem_alloc</code></dt> +<dt><code>omp_cgroup_mem_alloc</code></dt> +<dt><code>omp_pteam_mem_alloc</code></dt> +<dt><code>omp_thread_mem_alloc</code></dt> +</dl> + +<p>The following scalar integer named constants are of the kind +<code>omp_memspace_handle_kind</code>: +</p> +<dl compact="compact"> +<dt><code>omp_default_mem_space</code></dt> +<dt><code>omp_large_cap_mem_space</code></dt> +<dt><code>omp_const_mem_space</code></dt> +<dt><code>omp_high_bw_mem_space</code></dt> +<dt><code>omp_low_lat_mem_space</code></dt> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="OpenACC-Module-OPENACC.html#OpenACC-Module-OPENACC" accesskey="n" rel="next">OpenACC Module OPENACC</a>, Previous: <a href="IEEE-modules.html#IEEE-modules" accesskey="p" rel="previous">IEEE modules</a>, Up: <a href="Intrinsic-Modules.html#Intrinsic-Modules" accesskey="u" rel="up">Intrinsic Modules</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/OpenMP.html b/share/doc/gfortran/OpenMP.html new file mode 100644 index 0000000..d4748c1 --- /dev/null +++ b/share/doc/gfortran/OpenMP.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: OpenMP</title> + +<meta name="description" content="The GNU Fortran Compiler: OpenMP"> +<meta name="keywords" content="The GNU Fortran Compiler: OpenMP"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="OpenACC.html#OpenACC" rel="next" title="OpenACC"> +<link href="CONVERT-specifier.html#CONVERT-specifier" rel="previous" title="CONVERT specifier"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="OpenMP"></a> +<div class="header"> +<p> +Next: <a href="OpenACC.html#OpenACC" accesskey="n" rel="next">OpenACC</a>, Previous: <a href="CONVERT-specifier.html#CONVERT-specifier" accesskey="p" rel="previous">CONVERT specifier</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> [<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> +</div> +<hr> +<a name="OpenMP-1"></a> +<h4 class="subsection">5.1.18 OpenMP</h4> +<a name="index-OpenMP-1"></a> + +<p>OpenMP (Open Multi-Processing) is an application programming +interface (API) that supports multi-platform shared memory +multiprocessing programming in C/C++ and Fortran on many +architectures, including Unix and Microsoft Windows platforms. +It consists of a set of compiler directives, library routines, +and environment variables that influence run-time behavior. +</p> +<p>GNU Fortran strives to be compatible to the +<a href="https://openmp.org/specifications/">OpenMP Application Program Interface v4.5</a>. +</p> +<p>To enable the processing of the OpenMP directive <code>!$omp</code> in +free-form source code; the <code>c$omp</code>, <code>*$omp</code> and <code>!$omp</code> +directives in fixed form; the <code>!$</code> conditional compilation sentinels +in free form; and the <code>c$</code>, <code>*$</code> and <code>!$</code> sentinels +in fixed form, <code>gfortran</code> needs to be invoked with the +<samp>-fopenmp</samp>. This also arranges for automatic linking of the +GNU Offloading and Multi Processing Runtime Library +<a href="http://gcc.gnu.org/onlinedocs/libgomp/index.html#Top">libgomp</a> in <cite>GNU Offloading and Multi Processing Runtime +Library</cite>. +</p> +<p>The OpenMP Fortran runtime library routines are provided both in a +form of a Fortran 90 module named <code>omp_lib</code> and in a form of +a Fortran <code>include</code> file named <samp>omp_lib.h</samp>. +</p> +<p>An example of a parallelized loop taken from Appendix A.1 of +the OpenMP Application Program Interface v2.5: +</p><div class="smallexample"> +<pre class="smallexample">SUBROUTINE A1(N, A, B) + INTEGER I, N + REAL B(N), A(N) +!$OMP PARALLEL DO !I is private by default + DO I=2,N + B(I) = (A(I) + A(I-1)) / 2.0 + ENDDO +!$OMP END PARALLEL DO +END SUBROUTINE A1 +</pre></div> + +<p>Please note: +</p><ul> +<li> <samp>-fopenmp</samp> implies <samp>-frecursive</samp>, i.e., all local arrays +will be allocated on the stack. When porting existing code to OpenMP, +this may lead to surprising results, especially to segmentation faults +if the stacksize is limited. + +</li><li> On glibc-based systems, OpenMP enabled applications cannot be statically +linked due to limitations of the underlying pthreads-implementation. It +might be possible to get a working solution if +<code>-Wl,--whole-archive -lpthread -Wl,--no-whole-archive</code> is added +to the command line. However, this is not supported by <code>gcc</code> and +thus not recommended. +</li></ul> + +<hr> +<div class="header"> +<p> +Next: <a href="OpenACC.html#OpenACC" accesskey="n" rel="next">OpenACC</a>, Previous: <a href="CONVERT-specifier.html#CONVERT-specifier" accesskey="p" rel="previous">CONVERT specifier</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> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Option-Index.html b/share/doc/gfortran/Option-Index.html new file mode 100644 index 0000000..6a49325 --- /dev/null +++ b/share/doc/gfortran/Option-Index.html @@ -0,0 +1,348 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Option Index</title> + +<meta name="description" content="The GNU Fortran Compiler: Option Index"> +<meta name="keywords" content="The GNU Fortran Compiler: Option Index"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="index.html#Top" rel="up" title="Top"> +<link href="Keyword-Index.html#Keyword-Index" rel="next" title="Keyword Index"> +<link href="Funding.html#Funding" rel="previous" title="Funding"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Option-Index"></a> +<div class="header"> +<p> +Next: <a href="Keyword-Index.html#Keyword-Index" accesskey="n" rel="next">Keyword Index</a>, Previous: <a href="Funding.html#Funding" accesskey="p" rel="previous">Funding</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Option-Index" title="Index" rel="index">Index</a>]</p> +</div> +<hr> +<a name="Option-Index-1"></a> +<h2 class="unnumbered">Option Index</h2> +<p><code>gfortran</code>’s command line options are indexed here without any +initial ‘<samp>-</samp>’ or ‘<samp>--</samp>’. Where an option has both positive and +negative forms (such as -foption and -fno-option), relevant entries in +the manual are indexed under the most appropriate form; it may sometimes +be useful to look up both forms. +</p><table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Option-Index_op_letter-A"><b>A</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-B"><b>B</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-C"><b>C</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-D"><b>D</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-F"><b>F</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-H"><b>H</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-I"><b>I</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-J"><b>J</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-M"><b>M</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-N"><b>N</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-P"><b>P</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-S"><b>S</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-T"><b>T</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-U"><b>U</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-W"><b>W</b></a> + +</td></tr></table> +<table class="index-op" border="0"> +<tr><td></td><th align="left">Index Entry</th><td> </td><th align="left"> Section</th></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Option-Index_op_letter-A">A</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-A_002dpredicate_003danswer"><code><code>A-<var>predicate</var>=<var>answer</var></code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-allow_002dinvalid_002dboz"><code><code>allow-invalid-boz</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-Apredicate_003danswer"><code><code>A<var>predicate</var>=<var>answer</var></code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Option-Index_op_letter-B">B</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-backslash-1"><code><code>backslash</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Option-Index_op_letter-C">C</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-C"><code><code>C</code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Interoperability-Options.html#index-c_002dprototypes"><code><code>c-prototypes</code></code></a>:</td><td> </td><td valign="top"><a href="Interoperability-Options.html#Interoperability-Options">Interoperability Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Interoperability-Options.html#index-c_002dprototypes_002dexternal"><code><code>c-prototypes-external</code></code></a>:</td><td> </td><td valign="top"><a href="Interoperability-Options.html#Interoperability-Options">Interoperability Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-CC"><code><code>CC</code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-cpp"><code><code>cpp</code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Option-Index_op_letter-D">D</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-dD"><code><code>dD</code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-dI"><code><code>dI</code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-dM"><code><code>dM</code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-dN"><code><code>dN</code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-Dname"><code><code>D<var>name</var></code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-Dname_003ddefinition"><code><code>D<var>name</var>=<var>definition</var></code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-dU"><code><code>dU</code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Option-Index_op_letter-F">F</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-faggressive_002dfunction_002delimination"><code><code>faggressive-function-elimination</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-falign_002dcommons"><code><code>falign-commons</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fall_002dintrinsics"><code><code>fall-intrinsics</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fallow_002dargument_002dmismatch"><code><code>fallow-argument-mismatch</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-fblas_002dmatmul_002dlimit"><code><code>fblas-matmul-limit</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-fbounds_002dcheck"><code><code>fbounds-check</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-fcheck"><code><code>fcheck</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-fcheck_002darray_002dtemporaries"><code><code>fcheck-array-temporaries</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-fcoarray"><code><code>fcoarray</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Runtime-Options.html#index-fconvert_003dconversion"><code><code>fconvert=</code><var>conversion</var></code></a>:</td><td> </td><td valign="top"><a href="Runtime-Options.html#Runtime-Options">Runtime Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fcray_002dpointer"><code><code>fcray-pointer</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fd_002dlines_002das_002dcode"><code><code>fd-lines-as-code</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fd_002dlines_002das_002dcomments"><code><code>fd-lines-as-comments</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Debugging-Options.html#index-fdebug_002daux_002dvars"><code><code>fdebug-aux-vars</code></code></a>:</td><td> </td><td valign="top"><a href="Debugging-Options.html#Debugging-Options">Debugging Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fdec"><code><code>fdec</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fdec_002dblank_002dformat_002ditem"><code><code>fdec-blank-format-item</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fdec_002dchar_002dconversions"><code><code>fdec-char-conversions</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fdec_002dformat_002ddefaults"><code><code>fdec-format-defaults</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fdec_002dinclude"><code><code>fdec-include</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fdec_002dintrinsic_002dints"><code><code>fdec-intrinsic-ints</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fdec_002dmath"><code><code>fdec-math</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fdec_002dstatic"><code><code>fdec-static</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fdec_002dstructure"><code><code>fdec-structure</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fdefault_002ddouble_002d8"><code><code>fdefault-double-8</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fdefault_002dinteger_002d8"><code><code>fdefault-integer-8</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fdefault_002dreal_002d10"><code><code>fdefault-real-10</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fdefault_002dreal_002d16"><code><code>fdefault-real-16</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fdefault_002dreal_002d8"><code><code>fdefault-real-8</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fdollar_002dok"><code><code>fdollar-ok</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Debugging-Options.html#index-fdump_002dfortran_002dglobal"><code><code>fdump-fortran-global</code></code></a>:</td><td> </td><td valign="top"><a href="Debugging-Options.html#Debugging-Options">Debugging Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Debugging-Options.html#index-fdump_002dfortran_002doptimized"><code><code>fdump-fortran-optimized</code></code></a>:</td><td> </td><td valign="top"><a href="Debugging-Options.html#Debugging-Options">Debugging Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Debugging-Options.html#index-fdump_002dfortran_002doriginal"><code><code>fdump-fortran-original</code></code></a>:</td><td> </td><td valign="top"><a href="Debugging-Options.html#Debugging-Options">Debugging Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Debugging-Options.html#index-fdump_002dparse_002dtree"><code><code>fdump-parse-tree</code></code></a>:</td><td> </td><td valign="top"><a href="Debugging-Options.html#Debugging-Options">Debugging Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-fexternal_002dblas"><code><code>fexternal-blas</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-ff2c"><code>ff2c</code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-ffixed_002dform"><code><code>ffixed-form</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-ffixed_002dline_002dlength_002dn"><code><code>ffixed-line-length-</code><var>n</var></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Debugging-Options.html#index-ffpe_002dsummary_003dlist"><code><code>ffpe-summary=</code><var>list</var></code></a>:</td><td> </td><td valign="top"><a href="Debugging-Options.html#Debugging-Options">Debugging Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Debugging-Options.html#index-ffpe_002dtrap_003dlist"><code><code>ffpe-trap=</code><var>list</var></code></a>:</td><td> </td><td valign="top"><a href="Debugging-Options.html#Debugging-Options">Debugging Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-ffree_002dform"><code><code>ffree-form</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-ffree_002dline_002dlength_002dn"><code><code>ffree-line-length-</code><var>n</var></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fimplicit_002dnone"><code><code>fimplicit-none</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-finit_002dcharacter"><code><code>finit-character</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-finit_002dderived"><code><code>finit-derived</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-finit_002dinteger"><code><code>finit-integer</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-finit_002dlocal_002dzero"><code><code>finit-local-zero</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-finit_002dlogical"><code><code>finit-logical</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-finit_002dreal"><code><code>finit-real</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-finline_002darg_002dpacking"><code><code>finline-arg-packing</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-finline_002dmatmul_002dlimit"><code><code>finline-matmul-limit</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-finteger_002d4_002dinteger_002d8"><code><code>finteger-4-integer-8</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Directory-Options.html#index-fintrinsic_002dmodules_002dpath-dir"><code><code>fintrinsic-modules-path</code> <var>dir</var></code></a>:</td><td> </td><td valign="top"><a href="Directory-Options.html#Directory-Options">Directory Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-fmax_002darray_002dconstructor"><code><code>fmax-array-constructor</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-fmax_002derrors_003dn"><code><code>fmax-errors=</code><var>n</var></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fmax_002didentifier_002dlength_003dn"><code><code>fmax-identifier-length=</code><var>n</var></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-fmax_002dstack_002dvar_002dsize"><code><code>fmax-stack-var-size</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Runtime-Options.html#index-fmax_002dsubrecord_002dlength_003dlength"><code><code>fmax-subrecord-length=</code><var>length</var></code></a>:</td><td> </td><td valign="top"><a href="Runtime-Options.html#Runtime-Options">Runtime Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fmodule_002dprivate"><code><code>fmodule-private</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-fno_002dautomatic"><code><code>fno-automatic</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Debugging-Options.html#index-fno_002dbacktrace"><code><code>fno-backtrace</code></code></a>:</td><td> </td><td valign="top"><a href="Debugging-Options.html#Debugging-Options">Debugging Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-fno_002dprotect_002dparens"><code><code>fno-protect-parens</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-fno_002dunderscoring"><code><code>fno-underscoring</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fopenacc"><code><code>fopenacc</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fopenmp"><code><code>fopenmp</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-fpack_002dderived"><code><code>fpack-derived</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-fpad_002dsource"><code><code>fpad-source</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-fpp"><code><code>fpp</code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-frange_002dcheck"><code><code>frange-check</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-freal_002d4_002dreal_002d10"><code><code>freal-4-real-10</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-freal_002d4_002dreal_002d16"><code><code>freal-4-real-16</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-freal_002d4_002dreal_002d8"><code><code>freal-4-real-8</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-freal_002d8_002dreal_002d10"><code><code>freal-8-real-10</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-freal_002d8_002dreal_002d16"><code><code>freal-8-real-16</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-freal_002d8_002dreal_002d4"><code><code>freal-8-real-4</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-frealloc_002dlhs"><code><code>frealloc-lhs</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Runtime-Options.html#index-frecord_002dmarker_003dlength"><code><code>frecord-marker=</code><var>length</var></code></a>:</td><td> </td><td valign="top"><a href="Runtime-Options.html#Runtime-Options">Runtime Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-frecursive"><code><code>frecursive</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-frepack_002darrays"><code><code>frepack-arrays</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-frontend_002dloop_002dinterchange"><code><code>frontend-loop-interchange</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-frontend_002doptimize"><code><code>frontend-optimize</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-fsecond_002dunderscore"><code><code>fsecond-underscore</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-fshort_002denums"><code><code>fshort-enums</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Runtime-Options.html#index-fsign_002dzero"><code><code>fsign-zero</code></code></a>:</td><td> </td><td valign="top"><a href="Runtime-Options.html#Runtime-Options">Runtime Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-fstack_002darrays"><code><code>fstack-arrays</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-fsyntax_002donly"><code><code>fsyntax-only</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-ftest_002dforall_002dtemp"><code><code>ftest-forall-temp</code></code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-fworking_002ddirectory"><code><code>fworking-directory</code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Option-Index_op_letter-H">H</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-H"><code><code>H</code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Option-Index_op_letter-I">I</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Directory-Options.html#index-Idir"><code><code>I</code><var>dir</var></code></a>:</td><td> </td><td valign="top"><a href="Directory-Options.html#Directory-Options">Directory Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-idirafter-dir"><code><code>idirafter <var>dir</var></code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-imultilib-dir"><code><code>imultilib <var>dir</var></code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-iprefix-prefix"><code><code>iprefix <var>prefix</var></code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-iquote-dir"><code><code>iquote <var>dir</var></code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-isysroot-dir"><code><code>isysroot <var>dir</var></code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-isystem-dir"><code><code>isystem <var>dir</var></code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Option-Index_op_letter-J">J</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Directory-Options.html#index-Jdir"><code><code>J</code><var>dir</var></code></a>:</td><td> </td><td valign="top"><a href="Directory-Options.html#Directory-Options">Directory Options</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Option-Index_op_letter-M">M</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Directory-Options.html#index-Mdir"><code><code>M</code><var>dir</var></code></a>:</td><td> </td><td valign="top"><a href="Directory-Options.html#Directory-Options">Directory Options</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Option-Index_op_letter-N">N</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-nostdinc"><code><code>nostdinc</code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Option-Index_op_letter-P">P</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-P"><code><code>P</code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-pedantic"><code><code>pedantic</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-pedantic_002derrors"><code><code>pedantic-errors</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Option-Index_op_letter-S">S</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Link-Options.html#index-static_002dlibgfortran"><code><code>static-libgfortran</code></code></a>:</td><td> </td><td valign="top"><a href="Link-Options.html#Link-Options">Link Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Link-Options.html#index-static_002dlibquadmath"><code><code>static-libquadmath</code></code></a>:</td><td> </td><td valign="top"><a href="Link-Options.html#Link-Options">Link Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Fortran-Dialect-Options.html#index-std_003dstd-option"><code><code>std=</code><var>std</var> option</code></a>:</td><td> </td><td valign="top"><a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Fortran Dialect Options</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Option-Index_op_letter-T">T</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Code-Gen-Options.html#index-tail_002dcall_002dworkaround"><code><code>tail-call-workaround</code></code></a>:</td><td> </td><td valign="top"><a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Option-Index_op_letter-U">U</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-Uname"><code><code>U<var>name</var></code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Preprocessing-Options.html#index-undef"><code><code>undef</code></code></a>:</td><td> </td><td valign="top"><a href="Preprocessing-Options.html#Preprocessing-Options">Preprocessing Options</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th><a name="Option-Index_op_letter-W">W</a></th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Waliasing"><code><code>Waliasing</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Walign_002dcommons"><code><code>Walign-commons</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wall"><code><code>Wall</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wampersand"><code><code>Wampersand</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Warray_002dtemporaries"><code><code>Warray-temporaries</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wc_002dbinding_002dtype"><code><code>Wc-binding-type</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wcharacter_002dtruncation"><code><code>Wcharacter-truncation</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wcompare_002dreals"><code><code>Wcompare-reals</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wconversion"><code><code>Wconversion</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wconversion_002dextra"><code><code>Wconversion-extra</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wdo_002dsubscript"><code><code>Wdo-subscript</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Werror"><code><code>Werror</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wextra"><code><code>Wextra</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wfrontend_002dloop_002dinterchange"><code><code>Wfrontend-loop-interchange</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wfunction_002delimination"><code><code>Wfunction-elimination</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wimplicit_002dinterface"><code><code>Wimplicit-interface</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wimplicit_002dprocedure"><code><code>Wimplicit-procedure</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Winteger_002ddivision"><code><code>Winteger-division</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wintrinsic_002dshadow"><code><code>Wintrinsic-shadow</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wintrinsics_002dstd"><code><code>Wintrinsics-std</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wline_002dtruncation"><code><code>Wline-truncation</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Woverwrite_002drecursive"><code><code>Woverwrite-recursive</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wpedantic"><code><code>Wpedantic</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wreal_002dq_002dconstant"><code><code>Wreal-q-constant</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wrealloc_002dlhs"><code><code>Wrealloc-lhs</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wrealloc_002dlhs_002dall"><code><code>Wrealloc-lhs-all</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wsurprising"><code><code>Wsurprising</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wtabs"><code><code>Wtabs</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wtargt_002dlifetime"><code><code>Wtargt-lifetime</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wundefined_002ddo_002dloop"><code><code>Wundefined-do-loop</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wunderflow"><code><code>Wunderflow</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wunused_002ddummy_002dargument"><code><code>Wunused-dummy-argument</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wunused_002dparameter"><code><code>Wunused-parameter</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wuse_002dwithout_002donly"><code><code>Wuse-without-only</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td></td><td valign="top"><a href="Error-and-Warning-Options.html#index-Wzerotrip"><code><code>Wzerotrip</code></code></a>:</td><td> </td><td valign="top"><a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Error and Warning Options</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +</table> +<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Option-Index_op_letter-A"><b>A</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-B"><b>B</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-C"><b>C</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-D"><b>D</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-F"><b>F</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-H"><b>H</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-I"><b>I</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-J"><b>J</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-M"><b>M</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-N"><b>N</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-P"><b>P</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-S"><b>S</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-T"><b>T</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-U"><b>U</b></a> + +<a class="summary-letter" href="#Option-Index_op_letter-W"><b>W</b></a> + +</td></tr></table> + +<hr> +<div class="header"> +<p> +Next: <a href="Keyword-Index.html#Keyword-Index" accesskey="n" rel="next">Keyword Index</a>, Previous: <a href="Funding.html#Funding" accesskey="p" rel="previous">Funding</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Option-Index" title="Index" rel="index">Index</a>]</p> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Option-Summary.html b/share/doc/gfortran/Option-Summary.html new file mode 100644 index 0000000..02ee8e6 --- /dev/null +++ b/share/doc/gfortran/Option-Summary.html @@ -0,0 +1,209 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Option Summary</title> + +<meta name="description" content="The GNU Fortran Compiler: Option Summary"> +<meta name="keywords" content="The GNU Fortran Compiler: Option Summary"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" rel="up" title="Invoking GNU Fortran"> +<link href="Fortran-Dialect-Options.html#Fortran-Dialect-Options" rel="next" title="Fortran Dialect Options"> +<link href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" rel="previous" title="Invoking GNU Fortran"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Option-Summary"></a> +<div class="header"> +<p> +Next: <a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options" accesskey="n" rel="next">Fortran Dialect Options</a>, Up: <a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" accesskey="u" rel="up">Invoking GNU Fortran</a> [<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> +</div> +<hr> +<a name="Option-summary"></a> +<h3 class="section">2.1 Option summary</h3> + + +<p>Here is a summary of all the options specific to GNU Fortran, grouped +by type. Explanations are in the following sections. +</p> +<dl compact="compact"> +<dt><em>Fortran Language Options</em></dt> +<dd><p>See <a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">Options controlling Fortran dialect</a>. +</p><div class="smallexample"> +<pre class="smallexample">-fall-intrinsics -fallow-argument-mismatch -fallow-invalid-boz +-fbackslash -fcray-pointer -fd-lines-as-code -fd-lines-as-comments +-fdec -fdec-char-conversions -fdec-structure -fdec-intrinsic-ints +-fdec-static -fdec-math -fdec-include -fdec-format-defaults +-fdec-blank-format-item -fdefault-double-8 -fdefault-integer-8 +-fdefault-real-8 -fdefault-real-10 -fdefault-real-16 -fdollar-ok +-ffixed-line-length-<var>n</var> -ffixed-line-length-none -fpad-source +-ffree-form -ffree-line-length-<var>n</var> -ffree-line-length-none +-fimplicit-none -finteger-4-integer-8 -fmax-identifier-length +-fmodule-private -ffixed-form -fno-range-check -fopenacc -fopenmp +-freal-4-real-10 -freal-4-real-16 -freal-4-real-8 -freal-8-real-10 +-freal-8-real-16 -freal-8-real-4 -std=<var>std</var> -ftest-forall-temp + +</pre></div> + +</dd> +<dt><em>Preprocessing Options</em></dt> +<dd><p>See <a href="Preprocessing-Options.html#Preprocessing-Options">Enable and customize preprocessing</a>. +</p><div class="smallexample"> +<pre class="smallexample">-A-<var>question</var><span class="roman">[</span>=<var>answer</var><span class="roman">]</span> +-A<var>question</var>=<var>answer</var> -C -CC -D<var>macro</var><span class="roman">[</span>=<var>defn</var><span class="roman">]</span> +-H -P +-U<var>macro</var> -cpp -dD -dI -dM -dN -dU -fworking-directory +-imultilib <var>dir</var> +-iprefix <var>file</var> -iquote -isysroot <var>dir</var> -isystem <var>dir</var> -nocpp +-nostdinc +-undef + +</pre></div> + +</dd> +<dt><em>Error and Warning Options</em></dt> +<dd><p>See <a href="Error-and-Warning-Options.html#Error-and-Warning-Options">Options to request or suppress errors +and warnings</a>. +</p><div class="smallexample"> +<pre class="smallexample">-Waliasing -Wall -Wampersand -Warray-bounds +-Wc-binding-type -Wcharacter-truncation -Wconversion +-Wdo-subscript -Wfunction-elimination -Wimplicit-interface +-Wimplicit-procedure -Wintrinsic-shadow -Wuse-without-only +-Wintrinsics-std -Wline-truncation -Wno-align-commons +-Wno-overwrite-recursive -Wno-tabs -Wreal-q-constant -Wsurprising +-Wunderflow -Wunused-parameter -Wrealloc-lhs -Wrealloc-lhs-all +-Wfrontend-loop-interchange -Wtarget-lifetime -fmax-errors=<var>n</var> +-fsyntax-only -pedantic +-pedantic-errors + +</pre></div> + +</dd> +<dt><em>Debugging Options</em></dt> +<dd><p>See <a href="Debugging-Options.html#Debugging-Options">Options for debugging your program or GNU Fortran</a>. +</p><div class="smallexample"> +<pre class="smallexample">-fbacktrace -fdump-fortran-optimized -fdump-fortran-original +-fdebug-aux-vars -fdump-fortran-global -fdump-parse-tree -ffpe-trap=<var>list</var> +-ffpe-summary=<var>list</var> + +</pre></div> + +</dd> +<dt><em>Directory Options</em></dt> +<dd><p>See <a href="Directory-Options.html#Directory-Options">Options for directory search</a>. +</p><div class="smallexample"> +<pre class="smallexample">-I<var>dir</var> -J<var>dir</var> -fintrinsic-modules-path <var>dir</var> +</pre></div> + +</dd> +<dt><em>Link Options</em></dt> +<dd><p>See <a href="Link-Options.html#Link-Options">Options for influencing the linking step</a>. +</p><div class="smallexample"> +<pre class="smallexample">-static-libgfortran -static-libquadmath +</pre></div> + +</dd> +<dt><em>Runtime Options</em></dt> +<dd><p>See <a href="Runtime-Options.html#Runtime-Options">Options for influencing runtime behavior</a>. +</p><div class="smallexample"> +<pre class="smallexample">-fconvert=<var>conversion</var> -fmax-subrecord-length=<var>length</var> +-frecord-marker=<var>length</var> -fsign-zero + +</pre></div> + +</dd> +<dt><em>Interoperability Options</em></dt> +<dd><p>See <a href="Interoperability-Options.html#Interoperability-Options">Options for interoperability</a>. +</p><div class="smallexample"> +<pre class="smallexample">-fc-prototypes -fc-prototypes-external +</pre></div> + +</dd> +<dt><em>Code Generation Options</em></dt> +<dd><p>See <a href="Code-Gen-Options.html#Code-Gen-Options">Options for code generation conventions</a>. +</p><div class="smallexample"> +<pre class="smallexample">-faggressive-function-elimination -fblas-matmul-limit=<var>n</var> +-fbounds-check -ftail-call-workaround -ftail-call-workaround=<var>n</var> +-fcheck-array-temporaries +-fcheck=<var><all|array-temps|bits|bounds|do|mem|pointer|recursion></var> +-fcoarray=<var><none|single|lib></var> -fexternal-blas -ff2c +-ffrontend-loop-interchange -ffrontend-optimize +-finit-character=<var>n</var> -finit-integer=<var>n</var> -finit-local-zero +-finit-derived -finit-logical=<var><true|false></var> +-finit-real=<var><zero|inf|-inf|nan|snan></var> +-finline-matmul-limit=<var>n</var> +-finline-arg-packing -fmax-array-constructor=<var>n</var> +-fmax-stack-var-size=<var>n</var> -fno-align-commons -fno-automatic +-fno-protect-parens -fno-underscoring -fsecond-underscore +-fpack-derived -frealloc-lhs -frecursive -frepack-arrays +-fshort-enums -fstack-arrays + +</pre></div> +</dd> +</dl> + +<hr> +<div class="header"> +<p> +Next: <a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options" accesskey="n" rel="next">Fortran Dialect Options</a>, Up: <a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" accesskey="u" rel="up">Invoking GNU Fortran</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/PACK.html b/share/doc/gfortran/PACK.html new file mode 100644 index 0000000..0edfc8f --- /dev/null +++ b/share/doc/gfortran/PACK.html @@ -0,0 +1,163 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: PACK</title> + +<meta name="description" content="The GNU Fortran Compiler: PACK"> +<meta name="keywords" content="The GNU Fortran Compiler: PACK"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="PARITY.html#PARITY" rel="next" title="PARITY"> +<link href="OR.html#OR" rel="previous" title="OR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="PACK"></a> +<div class="header"> +<p> +Next: <a href="PARITY.html#PARITY" accesskey="n" rel="next">PARITY</a>, Previous: <a href="OR.html#OR" accesskey="p" rel="previous">OR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="PACK-_002d_002d_002d-Pack-an-array-into-an-array-of-rank-one"></a> +<h3 class="section">8.212 <code>PACK</code> — Pack an array into an array of rank one</h3> +<a name="index-PACK"></a> +<a name="index-array_002c-packing"></a> +<a name="index-array_002c-reduce-dimension"></a> +<a name="index-array_002c-gather-elements"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Stores the elements of <var>ARRAY</var> in an array of rank one. +</p> +<p>The beginning of the resulting array is made up of elements whose <var>MASK</var> +equals <code>TRUE</code>. Afterwards, positions are filled with elements taken from +<var>VECTOR</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = PACK(ARRAY, MASK[,VECTOR])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ARRAY</var></td><td width="70%">Shall be an array of any type.</td></tr> +<tr><td width="15%"><var>MASK</var></td><td width="70%">Shall be an array of type <code>LOGICAL</code> and +of the same size as <var>ARRAY</var>. Alternatively, it may be a <code>LOGICAL</code> +scalar.</td></tr> +<tr><td width="15%"><var>VECTOR</var></td><td width="70%">(Optional) shall be an array of the same type +as <var>ARRAY</var> and of rank one. If present, the number of elements in +<var>VECTOR</var> shall be equal to or greater than the number of true elements +in <var>MASK</var>. If <var>MASK</var> is scalar, the number of elements in +<var>VECTOR</var> shall be equal to or greater than the number of elements in +<var>ARRAY</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The result is an array of rank one and the same type as that of <var>ARRAY</var>. +If <var>VECTOR</var> is present, the result size is that of <var>VECTOR</var>, the +number of <code>TRUE</code> values in <var>MASK</var> otherwise. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><p>Gathering nonzero elements from an array: +</p><div class="smallexample"> +<pre class="smallexample">PROGRAM test_pack_1 + INTEGER :: m(6) + m = (/ 1, 0, 0, 0, 5, 0 /) + WRITE(*, FMT="(6(I0, ' '))") pack(m, m /= 0) ! "1 5" +END PROGRAM +</pre></div> + +<p>Gathering nonzero elements from an array and appending elements from <var>VECTOR</var>: +</p><div class="smallexample"> +<pre class="smallexample">PROGRAM test_pack_2 + INTEGER :: m(4) + m = (/ 1, 0, 0, 2 /) + ! The following results in "1 2 3 4" + WRITE(*, FMT="(4(I0, ' '))") pack(m, m /= 0, (/ 0, 0, 3, 4 /)) +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="UNPACK.html#UNPACK">UNPACK</a> +</p></dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="PARITY.html#PARITY" accesskey="n" rel="next">PARITY</a>, Previous: <a href="OR.html#OR" accesskey="p" rel="previous">OR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/PARITY.html b/share/doc/gfortran/PARITY.html new file mode 100644 index 0000000..6a7aafa --- /dev/null +++ b/share/doc/gfortran/PARITY.html @@ -0,0 +1,140 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: PARITY</title> + +<meta name="description" content="The GNU Fortran Compiler: PARITY"> +<meta name="keywords" content="The GNU Fortran Compiler: PARITY"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="PERROR.html#PERROR" rel="next" title="PERROR"> +<link href="PACK.html#PACK" rel="previous" title="PACK"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="PARITY"></a> +<div class="header"> +<p> +Next: <a href="PERROR.html#PERROR" accesskey="n" rel="next">PERROR</a>, Previous: <a href="PACK.html#PACK" accesskey="p" rel="previous">PACK</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="PARITY-_002d_002d_002d-Reduction-with-exclusive-OR"></a> +<h3 class="section">8.213 <code>PARITY</code> — Reduction with exclusive OR</h3> +<a name="index-PARITY"></a> +<a name="index-Parity"></a> +<a name="index-Reduction_002c-XOR"></a> +<a name="index-XOR-reduction"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Calculates the parity, i.e. the reduction using <code>.XOR.</code>, +of <var>MASK</var> along dimension <var>DIM</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>RESULT = PARITY(MASK[, DIM])</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>MASK</var></td><td width="70%">Shall be an array of type <code>LOGICAL</code></td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">(Optional) shall be a scalar of type +<code>INTEGER</code> with a value in the range from 1 to n, where n +equals the rank of <var>MASK</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The result is of the same type as <var>MASK</var>. +</p> +<p>If <var>DIM</var> is absent, a scalar with the parity of all elements in +<var>MASK</var> is returned, i.e. true if an odd number of elements is +<code>.true.</code> and false otherwise. If <var>DIM</var> is present, an array +of rank <em>n-1</em>, where <em>n</em> equals the rank of <var>ARRAY</var>, +and a shape similar to that of <var>MASK</var> with dimension <var>DIM</var> +dropped is returned. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_sum + LOGICAL :: x(2) = [ .true., .false. ] + print *, PARITY(x) ! prints "T" (true). +END PROGRAM +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/PERROR.html b/share/doc/gfortran/PERROR.html new file mode 100644 index 0000000..4f6ae19 --- /dev/null +++ b/share/doc/gfortran/PERROR.html @@ -0,0 +1,119 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: PERROR</title> + +<meta name="description" content="The GNU Fortran Compiler: PERROR"> +<meta name="keywords" content="The GNU Fortran Compiler: PERROR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="POPCNT.html#POPCNT" rel="next" title="POPCNT"> +<link href="PARITY.html#PARITY" rel="previous" title="PARITY"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="PERROR"></a> +<div class="header"> +<p> +Next: <a href="POPCNT.html#POPCNT" accesskey="n" rel="next">POPCNT</a>, Previous: <a href="PARITY.html#PARITY" accesskey="p" rel="previous">PARITY</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="PERROR-_002d_002d_002d-Print-system-error-message"></a> +<h3 class="section">8.214 <code>PERROR</code> — Print system error message</h3> +<a name="index-PERROR"></a> +<a name="index-system_002c-error-handling-2"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Prints (on the C <code>stderr</code> stream) a newline-terminated error +message corresponding to the last system error. This is prefixed by +<var>STRING</var>, a colon and a space. See <code>perror(3)</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL PERROR(STRING)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>STRING</var></td><td width="70%">A scalar of type <code>CHARACTER</code> and of the +default kind.</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="IERRNO.html#IERRNO">IERRNO</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/POPCNT.html b/share/doc/gfortran/POPCNT.html new file mode 100644 index 0000000..720a9f5 --- /dev/null +++ b/share/doc/gfortran/POPCNT.html @@ -0,0 +1,134 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: POPCNT</title> + +<meta name="description" content="The GNU Fortran Compiler: POPCNT"> +<meta name="keywords" content="The GNU Fortran Compiler: POPCNT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="POPPAR.html#POPPAR" rel="next" title="POPPAR"> +<link href="PERROR.html#PERROR" rel="previous" title="PERROR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="POPCNT"></a> +<div class="header"> +<p> +Next: <a href="POPPAR.html#POPPAR" accesskey="n" rel="next">POPPAR</a>, Previous: <a href="PERROR.html#PERROR" accesskey="p" rel="previous">PERROR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="POPCNT-_002d_002d_002d-Number-of-bits-set"></a> +<h3 class="section">8.215 <code>POPCNT</code> — Number of bits set</h3> +<a name="index-POPCNT"></a> +<a name="index-binary-representation"></a> +<a name="index-bits-set"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>POPCNT(I)</code> returns the number of bits set (’1’ bits) in the binary +representation of <code>I</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = POPCNT(I)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">Shall be of type <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of the default integer +kind. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_population + print *, popcnt(127), poppar(127) + print *, popcnt(huge(0_4)), poppar(huge(0_4)) + print *, popcnt(huge(0_8)), poppar(huge(0_8)) +end program test_population +</pre></div> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="POPPAR.html#POPPAR">POPPAR</a>, <br> +<a href="LEADZ.html#LEADZ">LEADZ</a>, <br> +<a href="TRAILZ.html#TRAILZ">TRAILZ</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/POPPAR.html b/share/doc/gfortran/POPPAR.html new file mode 100644 index 0000000..b922cb5 --- /dev/null +++ b/share/doc/gfortran/POPPAR.html @@ -0,0 +1,136 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: POPPAR</title> + +<meta name="description" content="The GNU Fortran Compiler: POPPAR"> +<meta name="keywords" content="The GNU Fortran Compiler: POPPAR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="PRECISION.html#PRECISION" rel="next" title="PRECISION"> +<link href="POPCNT.html#POPCNT" rel="previous" title="POPCNT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="POPPAR"></a> +<div class="header"> +<p> +Next: <a href="PRECISION.html#PRECISION" accesskey="n" rel="next">PRECISION</a>, Previous: <a href="POPCNT.html#POPCNT" accesskey="p" rel="previous">POPCNT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="POPPAR-_002d_002d_002d-Parity-of-the-number-of-bits-set"></a> +<h3 class="section">8.216 <code>POPPAR</code> — Parity of the number of bits set</h3> +<a name="index-POPPAR"></a> +<a name="index-binary-representation-1"></a> +<a name="index-parity"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>POPPAR(I)</code> returns parity of the integer <code>I</code>, i.e. the parity +of the number of bits set (’1’ bits) in the binary representation of +<code>I</code>. It is equal to 0 if <code>I</code> has an even number of bits set, +and 1 for an odd number of ’1’ bits. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = POPPAR(I)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">Shall be of type <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of the default integer +kind. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_population + print *, popcnt(127), poppar(127) + print *, popcnt(huge(0_4)), poppar(huge(0_4)) + print *, popcnt(huge(0_8)), poppar(huge(0_8)) +end program test_population +</pre></div> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="POPCNT.html#POPCNT">POPCNT</a>, <br> +<a href="LEADZ.html#LEADZ">LEADZ</a>, <br> +<a href="TRAILZ.html#TRAILZ">TRAILZ</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/PRECISION.html b/share/doc/gfortran/PRECISION.html new file mode 100644 index 0000000..4d4a0e7 --- /dev/null +++ b/share/doc/gfortran/PRECISION.html @@ -0,0 +1,135 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: PRECISION</title> + +<meta name="description" content="The GNU Fortran Compiler: PRECISION"> +<meta name="keywords" content="The GNU Fortran Compiler: PRECISION"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="PRESENT.html#PRESENT" rel="next" title="PRESENT"> +<link href="POPPAR.html#POPPAR" rel="previous" title="POPPAR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="PRECISION"></a> +<div class="header"> +<p> +Next: <a href="PRESENT.html#PRESENT" accesskey="n" rel="next">PRESENT</a>, Previous: <a href="POPPAR.html#POPPAR" accesskey="p" rel="previous">POPPAR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="PRECISION-_002d_002d_002d-Decimal-precision-of-a-real-kind"></a> +<h3 class="section">8.217 <code>PRECISION</code> — Decimal precision of a real kind</h3> +<a name="index-PRECISION"></a> +<a name="index-model-representation_002c-precision"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>PRECISION(X)</code> returns the decimal precision in the model of the +type of <code>X</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = PRECISION(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">Shall be of type <code>REAL</code> or <code>COMPLEX</code>. It may +be scalar or valued.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of the default integer +kind. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program prec_and_range + real(kind=4) :: x(2) + complex(kind=8) :: y + + print *, precision(x), range(x) + print *, precision(y), range(y) +end program prec_and_range +</pre></div> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="SELECTED_005fREAL_005fKIND.html#SELECTED_005fREAL_005fKIND">SELECTED_REAL_KIND</a>, <br> +<a href="RANGE.html#RANGE">RANGE</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/PRESENT.html b/share/doc/gfortran/PRESENT.html new file mode 100644 index 0000000..8233b46 --- /dev/null +++ b/share/doc/gfortran/PRESENT.html @@ -0,0 +1,131 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: PRESENT</title> + +<meta name="description" content="The GNU Fortran Compiler: PRESENT"> +<meta name="keywords" content="The GNU Fortran Compiler: PRESENT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="PRODUCT.html#PRODUCT" rel="next" title="PRODUCT"> +<link href="PRECISION.html#PRECISION" rel="previous" title="PRECISION"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="PRESENT"></a> +<div class="header"> +<p> +Next: <a href="PRODUCT.html#PRODUCT" accesskey="n" rel="next">PRODUCT</a>, Previous: <a href="PRECISION.html#PRECISION" accesskey="p" rel="previous">PRECISION</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="PRESENT-_002d_002d_002d-Determine-whether-an-optional-dummy-argument-is-specified"></a> +<h3 class="section">8.218 <code>PRESENT</code> — Determine whether an optional dummy argument is specified</h3> +<a name="index-PRESENT"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Determines whether an optional dummy argument is present. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = PRESENT(A)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>A</var></td><td width="70%">May be of any type and may be a pointer, scalar or array +value, or a dummy procedure. It shall be the name of an optional dummy argument +accessible within the current subroutine or function.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Returns either <code>TRUE</code> if the optional argument <var>A</var> is present, or +<code>FALSE</code> otherwise. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_present + WRITE(*,*) f(), f(42) ! "F T" +CONTAINS + LOGICAL FUNCTION f(x) + INTEGER, INTENT(IN), OPTIONAL :: x + f = PRESENT(x) + END FUNCTION +END PROGRAM +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/PRODUCT.html b/share/doc/gfortran/PRODUCT.html new file mode 100644 index 0000000..1a4459b --- /dev/null +++ b/share/doc/gfortran/PRODUCT.html @@ -0,0 +1,149 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: PRODUCT</title> + +<meta name="description" content="The GNU Fortran Compiler: PRODUCT"> +<meta name="keywords" content="The GNU Fortran Compiler: PRODUCT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="RADIX.html#RADIX" rel="next" title="RADIX"> +<link href="PRESENT.html#PRESENT" rel="previous" title="PRESENT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="PRODUCT"></a> +<div class="header"> +<p> +Next: <a href="RADIX.html#RADIX" accesskey="n" rel="next">RADIX</a>, Previous: <a href="PRESENT.html#PRESENT" accesskey="p" rel="previous">PRESENT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="PRODUCT-_002d_002d_002d-Product-of-array-elements"></a> +<h3 class="section">8.219 <code>PRODUCT</code> — Product of array elements</h3> +<a name="index-PRODUCT"></a> +<a name="index-array_002c-product"></a> +<a name="index-array_002c-multiply-elements"></a> +<a name="index-array_002c-conditionally-multiply-elements"></a> +<a name="index-multiply-array-elements"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Multiplies the elements of <var>ARRAY</var> along dimension <var>DIM</var> if +the corresponding element in <var>MASK</var> is <code>TRUE</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>RESULT = PRODUCT(ARRAY[, MASK])</code></td></tr> +<tr><td width="80%"><code>RESULT = PRODUCT(ARRAY, DIM[, MASK])</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ARRAY</var></td><td width="70%">Shall be an array of type <code>INTEGER</code>, +<code>REAL</code> or <code>COMPLEX</code>.</td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">(Optional) shall be a scalar of type +<code>INTEGER</code> with a value in the range from 1 to n, where n +equals the rank of <var>ARRAY</var>.</td></tr> +<tr><td width="15%"><var>MASK</var></td><td width="70%">(Optional) shall be of type <code>LOGICAL</code> +and either be a scalar or an array of the same shape as <var>ARRAY</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The result is of the same type as <var>ARRAY</var>. +</p> +<p>If <var>DIM</var> is absent, a scalar with the product of all elements in +<var>ARRAY</var> is returned. Otherwise, an array of rank n-1, where n equals +the rank of <var>ARRAY</var>, and a shape similar to that of <var>ARRAY</var> with +dimension <var>DIM</var> dropped is returned. +</p> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_product + INTEGER :: x(5) = (/ 1, 2, 3, 4 ,5 /) + print *, PRODUCT(x) ! all elements, product = 120 + print *, PRODUCT(x, MASK=MOD(x, 2)==1) ! odd elements, product = 15 +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="SUM.html#SUM">SUM</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Preprocessing-Options.html b/share/doc/gfortran/Preprocessing-Options.html new file mode 100644 index 0000000..19a10b0 --- /dev/null +++ b/share/doc/gfortran/Preprocessing-Options.html @@ -0,0 +1,390 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Preprocessing Options</title> + +<meta name="description" content="The GNU Fortran Compiler: Preprocessing Options"> +<meta name="keywords" content="The GNU Fortran Compiler: Preprocessing Options"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" rel="up" title="Invoking GNU Fortran"> +<link href="Error-and-Warning-Options.html#Error-and-Warning-Options" rel="next" title="Error and Warning Options"> +<link href="Fortran-Dialect-Options.html#Fortran-Dialect-Options" rel="previous" title="Fortran Dialect Options"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Preprocessing-Options"></a> +<div class="header"> +<p> +Next: <a href="Error-and-Warning-Options.html#Error-and-Warning-Options" accesskey="n" rel="next">Error and Warning Options</a>, Previous: <a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options" accesskey="p" rel="previous">Fortran Dialect Options</a>, Up: <a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" accesskey="u" rel="up">Invoking GNU Fortran</a> [<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> +</div> +<hr> +<a name="Enable-and-customize-preprocessing"></a> +<h3 class="section">2.3 Enable and customize preprocessing</h3> +<a name="index-preprocessor"></a> +<a name="index-options_002c-preprocessor"></a> +<a name="index-CPP"></a> +<a name="index-FPP"></a> +<a name="index-Conditional-compilation"></a> +<a name="index-Preprocessing"></a> +<a name="index-preprocessor_002c-include-file-handling"></a> + +<p>Many Fortran compilers including GNU Fortran allow passing the source code +through a C preprocessor (CPP; sometimes also called the Fortran preprocessor, +FPP) to allow for conditional compilation. In the case of GNU Fortran, +this is the GNU C Preprocessor in the traditional mode. On systems with +case-preserving file names, the preprocessor is automatically invoked if the +filename extension is <samp>.F</samp>, <samp>.FOR</samp>, <samp>.FTN</samp>, <samp>.fpp</samp>, +<samp>.FPP</samp>, <samp>.F90</samp>, <samp>.F95</samp>, <samp>.F03</samp> or <samp>.F08</samp>. To manually +invoke the preprocessor on any file, use <samp>-cpp</samp>, to disable +preprocessing on files where the preprocessor is run automatically, use +<samp>-nocpp</samp>. +</p> +<p>If a preprocessed file includes another file with the Fortran <code>INCLUDE</code> +statement, the included file is not preprocessed. To preprocess included +files, use the equivalent preprocessor statement <code>#include</code>. +</p> +<p>If GNU Fortran invokes the preprocessor, <code>__GFORTRAN__</code> +is defined. The macros <code>__GNUC__</code>, <code>__GNUC_MINOR__</code> and +<code>__GNUC_PATCHLEVEL__</code> can be used to determine the version of the +compiler. See <a href="http://gcc.gnu.org/onlinedocs/cpp/index.html#Top">Overview</a> in <cite>The C Preprocessor</cite> for details. +</p> +<p>GNU Fortran supports a number of <code>INTEGER</code> and <code>REAL</code> kind types +in additional to the kind types required by the Fortran standard. +The availability of any given kind type is architecture dependent. The +following pre-defined preprocessor macros can be used to conditionally +include code for these additional kind types: <code>__GFC_INT_1__</code>, +<code>__GFC_INT_2__</code>, <code>__GFC_INT_8__</code>, <code>__GFC_INT_16__</code>, +<code>__GFC_REAL_10__</code>, and <code>__GFC_REAL_16__</code>. +</p> +<p>While CPP is the de-facto standard for preprocessing Fortran code, +Part 3 of the Fortran 95 standard (ISO/IEC 1539-3:1998) defines +Conditional Compilation, which is not widely used and not directly +supported by the GNU Fortran compiler. You can use the program coco +to preprocess such files (<a href="http://www.daniellnagle.com/coco.html">http://www.daniellnagle.com/coco.html</a>). +</p> +<p>The following options control preprocessing of Fortran code: +</p> +<dl compact="compact"> +<dd><a name="index-cpp"></a> +<a name="index-fpp"></a> +<a name="index-preprocessor_002c-enable"></a> +<a name="index-preprocessor_002c-disable"></a> +</dd> +<dt><code>-cpp</code></dt> +<dt><code>-nocpp</code></dt> +<dd><p>Enable preprocessing. The preprocessor is automatically invoked if +the file extension is <samp>.fpp</samp>, <samp>.FPP</samp>, <samp>.F</samp>, <samp>.FOR</samp>, +<samp>.FTN</samp>, <samp>.F90</samp>, <samp>.F95</samp>, <samp>.F03</samp> or <samp>.F08</samp>. Use +this option to manually enable preprocessing of any kind of Fortran file. +</p> +<p>To disable preprocessing of files with any of the above listed extensions, +use the negative form: <samp>-nocpp</samp>. +</p> +<p>The preprocessor is run in traditional mode. Any restrictions of the +file-format, especially the limits on line length, apply for +preprocessed output as well, so it might be advisable to use the +<samp>-ffree-line-length-none</samp> or <samp>-ffixed-line-length-none</samp> +options. +</p> +<a name="index-dM"></a> +<a name="index-preprocessor_002c-debugging"></a> +<a name="index-debugging_002c-preprocessor"></a> +</dd> +<dt><code>-dM</code></dt> +<dd><p>Instead of the normal output, generate a list of <code>'#define'</code> +directives for all the macros defined during the execution of the +preprocessor, including predefined macros. This gives you a way +of finding out what is predefined in your version of the preprocessor. +Assuming you have no file <samp>foo.f90</samp>, the command +</p><div class="smallexample"> +<pre class="smallexample"> touch foo.f90; gfortran -cpp -E -dM foo.f90 +</pre></div> +<p>will show all the predefined macros. +</p> +<a name="index-dD"></a> +<a name="index-preprocessor_002c-debugging-1"></a> +<a name="index-debugging_002c-preprocessor-1"></a> +</dd> +<dt><code>-dD</code></dt> +<dd><p>Like <samp>-dM</samp> except in two respects: it does not include the +predefined macros, and it outputs both the <code>#define</code> directives +and the result of preprocessing. Both kinds of output go to the +standard output file. +</p> +<a name="index-dN"></a> +<a name="index-preprocessor_002c-debugging-2"></a> +<a name="index-debugging_002c-preprocessor-2"></a> +</dd> +<dt><code>-dN</code></dt> +<dd><p>Like <samp>-dD</samp>, but emit only the macro names, not their expansions. +</p> +<a name="index-dU"></a> +<a name="index-preprocessor_002c-debugging-3"></a> +<a name="index-debugging_002c-preprocessor-3"></a> +</dd> +<dt><code>-dU</code></dt> +<dd><p>Like <samp>dD</samp> except that only macros that are expanded, or whose +definedness is tested in preprocessor directives, are output; the +output is delayed until the use or test of the macro; and <code>'#undef'</code> +directives are also output for macros tested but undefined at the time. +</p> +<a name="index-dI"></a> +<a name="index-preprocessor_002c-debugging-4"></a> +<a name="index-debugging_002c-preprocessor-4"></a> +</dd> +<dt><code>-dI</code></dt> +<dd><p>Output <code>'#include'</code> directives in addition to the result +of preprocessing. +</p> +<a name="index-fworking_002ddirectory"></a> +<a name="index-preprocessor_002c-working-directory"></a> +</dd> +<dt><code>-fworking-directory</code></dt> +<dd><p>Enable generation of linemarkers in the preprocessor output that will +let the compiler know the current working directory at the time of +preprocessing. When this option is enabled, the preprocessor will emit, +after the initial linemarker, a second linemarker with the current +working directory followed by two slashes. GCC will use this directory, +when it is present in the preprocessed input, as the directory emitted +as the current working directory in some debugging information formats. +This option is implicitly enabled if debugging information is enabled, +but this can be inhibited with the negated form +<samp>-fno-working-directory</samp>. If the <samp>-P</samp> flag is present +in the command line, this option has no effect, since no <code>#line</code> +directives are emitted whatsoever. +</p> +<a name="index-idirafter-dir"></a> +<a name="index-preprocessing_002c-include-path"></a> +</dd> +<dt><code>-idirafter <var>dir</var></code></dt> +<dd><p>Search <var>dir</var> for include files, but do it after all directories +specified with <samp>-I</samp> and the standard system directories have +been exhausted. <var>dir</var> is treated as a system include directory. +If dir begins with <code>=</code>, then the <code>=</code> will be replaced by +the sysroot prefix; see <samp>--sysroot</samp> and <samp>-isysroot</samp>. +</p> +<a name="index-imultilib-dir"></a> +<a name="index-preprocessing_002c-include-path-1"></a> +</dd> +<dt><code>-imultilib <var>dir</var></code></dt> +<dd><p>Use <var>dir</var> as a subdirectory of the directory containing target-specific +C++ headers. +</p> +<a name="index-iprefix-prefix"></a> +<a name="index-preprocessing_002c-include-path-2"></a> +</dd> +<dt><code>-iprefix <var>prefix</var></code></dt> +<dd><p>Specify <var>prefix</var> as the prefix for subsequent <samp>-iwithprefix</samp> +options. If the <var>prefix</var> represents a directory, you should include +the final <code>'/'</code>. +</p> +<a name="index-isysroot-dir"></a> +<a name="index-preprocessing_002c-include-path-3"></a> +</dd> +<dt><code>-isysroot <var>dir</var></code></dt> +<dd><p>This option is like the <samp>--sysroot</samp> option, but applies only to +header files. See the <samp>--sysroot</samp> option for more information. +</p> +<a name="index-iquote-dir"></a> +<a name="index-preprocessing_002c-include-path-4"></a> +</dd> +<dt><code>-iquote <var>dir</var></code></dt> +<dd><p>Search <var>dir</var> only for header files requested with <code>#include "file"</code>; +they are not searched for <code>#include <file></code>, before all directories +specified by <samp>-I</samp> and before the standard system directories. If +<var>dir</var> begins with <code>=</code>, then the <code>=</code> will be replaced by the +sysroot prefix; see <samp>--sysroot</samp> and <samp>-isysroot</samp>. +</p> +<a name="index-isystem-dir"></a> +<a name="index-preprocessing_002c-include-path-5"></a> +</dd> +<dt><code>-isystem <var>dir</var></code></dt> +<dd><p>Search <var>dir</var> for header files, after all directories specified by +<samp>-I</samp> but before the standard system directories. Mark it as a +system directory, so that it gets the same special treatment as is +applied to the standard system directories. If <var>dir</var> begins with +<code>=</code>, then the <code>=</code> will be replaced by the sysroot prefix; +see <samp>--sysroot</samp> and <samp>-isysroot</samp>. +</p> +<a name="index-nostdinc"></a> +</dd> +<dt><code>-nostdinc</code></dt> +<dd><p>Do not search the standard system directories for header files. Only +the directories you have specified with <samp>-I</samp> options (and the +directory of the current file, if appropriate) are searched. +</p> +<a name="index-undef"></a> +</dd> +<dt><code>-undef</code></dt> +<dd><p>Do not predefine any system-specific or GCC-specific macros. +The standard predefined macros remain defined. +</p> +<a name="index-Apredicate_003danswer"></a> +<a name="index-preprocessing_002c-assertion"></a> +</dd> +<dt><code>-A<var>predicate</var>=<var>answer</var></code></dt> +<dd><p>Make an assertion with the predicate <var>predicate</var> and answer <var>answer</var>. +This form is preferred to the older form -A predicate(answer), which is still +supported, because it does not use shell special characters. +</p> +<a name="index-A_002dpredicate_003danswer"></a> +<a name="index-preprocessing_002c-assertion-1"></a> +</dd> +<dt><code>-A-<var>predicate</var>=<var>answer</var></code></dt> +<dd><p>Cancel an assertion with the predicate <var>predicate</var> and answer <var>answer</var>. +</p> +<a name="index-C"></a> +<a name="index-preprocessing_002c-keep-comments"></a> +</dd> +<dt><code>-C</code></dt> +<dd><p>Do not discard comments. All comments are passed through to the output +file, except for comments in processed directives, which are deleted +along with the directive. +</p> +<p>You should be prepared for side effects when using <samp>-C</samp>; it causes +the preprocessor to treat comments as tokens in their own right. For example, +comments appearing at the start of what would be a directive line have the +effect of turning that line into an ordinary source line, since the first +token on the line is no longer a <code>'#'</code>. +</p> +<p>Warning: this currently handles C-Style comments only. The preprocessor +does not yet recognize Fortran-style comments. +</p> +<a name="index-CC"></a> +<a name="index-preprocessing_002c-keep-comments-1"></a> +</dd> +<dt><code>-CC</code></dt> +<dd><p>Do not discard comments, including during macro expansion. This is like +<samp>-C</samp>, except that comments contained within macros are also passed +through to the output file where the macro is expanded. +</p> +<p>In addition to the side-effects of the <samp>-C</samp> option, the <samp>-CC</samp> +option causes all C++-style comments inside a macro to be converted to C-style +comments. This is to prevent later use of that macro from inadvertently +commenting out the remainder of the source line. The <samp>-CC</samp> option +is generally used to support lint comments. +</p> +<p>Warning: this currently handles C- and C++-Style comments only. The +preprocessor does not yet recognize Fortran-style comments. +</p> +<a name="index-Dname"></a> +<a name="index-preprocessing_002c-define-macros"></a> +</dd> +<dt><code>-D<var>name</var></code></dt> +<dd><p>Predefine name as a macro, with definition <code>1</code>. +</p> +<a name="index-Dname_003ddefinition"></a> +<a name="index-preprocessing_002c-define-macros-1"></a> +</dd> +<dt><code>-D<var>name</var>=<var>definition</var></code></dt> +<dd><p>The contents of <var>definition</var> are tokenized and processed as if they +appeared during translation phase three in a <code>'#define'</code> directive. +In particular, the definition will be truncated by embedded newline +characters. +</p> +<p>If you are invoking the preprocessor from a shell or shell-like program +you may need to use the shell’s quoting syntax to protect characters such +as spaces that have a meaning in the shell syntax. +</p> +<p>If you wish to define a function-like macro on the command line, write +its argument list with surrounding parentheses before the equals sign +(if any). Parentheses are meaningful to most shells, so you will need +to quote the option. With sh and csh, <code>-D'name(args...)=definition'</code> +works. +</p> +<p><samp>-D</samp> and <samp>-U</samp> options are processed in the order they are +given on the command line. All -imacros file and -include file options +are processed after all -D and -U options. +</p> +<a name="index-H"></a> +</dd> +<dt><code>-H</code></dt> +<dd><p>Print the name of each header file used, in addition to other normal +activities. Each name is indented to show how deep in the <code>'#include'</code> +stack it is. +</p> +<a name="index-P"></a> +<a name="index-preprocessing_002c-no-linemarkers"></a> +</dd> +<dt><code>-P</code></dt> +<dd><p>Inhibit generation of linemarkers in the output from the preprocessor. +This might be useful when running the preprocessor on something that +is not C code, and will be sent to a program which might be confused +by the linemarkers. +</p> +<a name="index-Uname"></a> +<a name="index-preprocessing_002c-undefine-macros"></a> +</dd> +<dt><code>-U<var>name</var></code></dt> +<dd><p>Cancel any previous definition of <var>name</var>, either built in or provided +with a <samp>-D</samp> option. +</p></dd> +</dl> + + +<hr> +<div class="header"> +<p> +Next: <a href="Error-and-Warning-Options.html#Error-and-Warning-Options" accesskey="n" rel="next">Error and Warning Options</a>, Previous: <a href="Fortran-Dialect-Options.html#Fortran-Dialect-Options" accesskey="p" rel="previous">Fortran Dialect Options</a>, Up: <a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" accesskey="u" rel="up">Invoking GNU Fortran</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Projects.html b/share/doc/gfortran/Projects.html new file mode 100644 index 0000000..b914f2a --- /dev/null +++ b/share/doc/gfortran/Projects.html @@ -0,0 +1,112 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Projects</title> + +<meta name="description" content="The GNU Fortran Compiler: Projects"> +<meta name="keywords" content="The GNU Fortran Compiler: Projects"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Contributing.html#Contributing" rel="up" title="Contributing"> +<link href="Copying.html#Copying" rel="next" title="Copying"> +<link href="Contributors.html#Contributors" rel="previous" title="Contributors"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Projects"></a> +<div class="header"> +<p> +Previous: <a href="Contributors.html#Contributors" accesskey="p" rel="previous">Contributors</a>, Up: <a href="Contributing.html#Contributing" accesskey="u" rel="up">Contributing</a> [<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> +</div> +<hr> +<a name="Projects-1"></a> +<h3 class="section">Projects</h3> + +<dl compact="compact"> +<dt><em>Help build the test suite</em></dt> +<dd><p>Solicit more code for donation to the test suite: the more extensive the +testsuite, the smaller the risk of breaking things in the future! We can +keep code private on request. +</p> +</dd> +<dt><em>Bug hunting/squishing</em></dt> +<dd><p>Find bugs and write more test cases! Test cases are especially very +welcome, because it allows us to concentrate on fixing bugs instead of +isolating them. Going through the bugzilla database at +<a href="https://gcc.gnu.org/bugzilla/">https://gcc.gnu.org/bugzilla/</a> to reduce testcases posted there and +add more information (for example, for which version does the testcase +work, for which versions does it fail?) is also very helpful. +</p> +</dd> +<dt><em>Missing features</em></dt> +<dd><p>For a larger project, consider working on the missing features required for +Fortran language standards compliance (see <a href="Standards.html#Standards">Standards</a>), or contributing +to the implementation of extensions such as OpenMP (see <a href="OpenMP.html#OpenMP">OpenMP</a>) or +OpenACC (see <a href="OpenACC.html#OpenACC">OpenACC</a>) that are under active development. Again, +contributing test cases for these features is useful too! +</p> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Q-edit-descriptor.html b/share/doc/gfortran/Q-edit-descriptor.html new file mode 100644 index 0000000..ff29df8 --- /dev/null +++ b/share/doc/gfortran/Q-edit-descriptor.html @@ -0,0 +1,104 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Q edit descriptor</title> + +<meta name="description" content="The GNU Fortran Compiler: Q edit descriptor"> +<meta name="keywords" content="The GNU Fortran Compiler: Q edit descriptor"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran" rel="up" title="Extensions not implemented in GNU Fortran"> +<link href="Mixed_002dLanguage-Programming.html#Mixed_002dLanguage-Programming" rel="next" title="Mixed-Language Programming"> +<link href="OPEN_0028-_002e_002e_002e-NAME_003d_0029.html#OPEN_0028-_002e_002e_002e-NAME_003d_0029" rel="previous" title="OPEN( ... NAME=)"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Q-edit-descriptor"></a> +<div class="header"> +<p> +Previous: <a href="OPEN_0028-_002e_002e_002e-NAME_003d_0029.html#OPEN_0028-_002e_002e_002e-NAME_003d_0029" accesskey="p" rel="previous">OPEN( ... NAME=)</a>, Up: <a href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran" accesskey="u" rel="up">Extensions not implemented in GNU Fortran</a> [<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> +</div> +<hr> +<a name="Q-edit-descriptor-1"></a> +<h4 class="subsection">5.2.6 <code>Q</code> edit descriptor</h4> +<a name="index-Q-edit-descriptor"></a> + +<p>Some Fortran compilers provide the <code>Q</code> edit descriptor, which +transfers the number of characters left within an input record into an +integer variable. +</p> +<p>A direct replacement of the <code>Q</code> edit descriptor is not available +in <code>gfortran</code>. How to replicate its functionality using +standard-conforming code depends on what the intent of the original +code is. +</p> +<p>Options to replace <code>Q</code> may be to read the whole line into a +character variable and then counting the number of non-blank +characters left using <code>LEN_TRIM</code>. Another method may be to use +formatted stream, read the data up to the position where the <code>Q</code> +descriptor occurred, use <code>INQUIRE</code> to get the file position, +count the characters up to the next <code>NEW_LINE</code> and then start +reading from the position marked previously. +</p> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Q-exponent_002dletter.html b/share/doc/gfortran/Q-exponent_002dletter.html new file mode 100644 index 0000000..ef1eceb --- /dev/null +++ b/share/doc/gfortran/Q-exponent_002dletter.html @@ -0,0 +1,93 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Q exponent-letter</title> + +<meta name="description" content="The GNU Fortran Compiler: Q exponent-letter"> +<meta name="keywords" content="The GNU Fortran Compiler: Q exponent-letter"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="BOZ-literal-constants.html#BOZ-literal-constants" rel="next" title="BOZ literal constants"> +<link href="I_002fO-item-lists.html#I_002fO-item-lists" rel="previous" title="I/O item lists"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Q-exponent_002dletter"></a> +<div class="header"> +<p> +Next: <a href="BOZ-literal-constants.html#BOZ-literal-constants" accesskey="n" rel="next">BOZ literal constants</a>, Previous: <a href="I_002fO-item-lists.html#I_002fO-item-lists" accesskey="p" rel="previous">I/O item lists</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> [<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> +</div> +<hr> +<a name="Q-exponent_002dletter-1"></a> +<h4 class="subsection">5.1.9 <code>Q</code> exponent-letter</h4> +<a name="index-Q-exponent_002dletter"></a> + +<p>GNU Fortran accepts real literal constants with an exponent-letter +of <code>Q</code>, for example, <code>1.23Q45</code>. The constant is interpreted +as a <code>REAL(16)</code> entity on targets that support this type. If +the target does not support <code>REAL(16)</code> but has a <code>REAL(10)</code> +type, then the real-literal-constant will be interpreted as a +<code>REAL(10)</code> entity. In the absence of <code>REAL(16)</code> and +<code>REAL(10)</code>, an error will occur. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/RADIX.html b/share/doc/gfortran/RADIX.html new file mode 100644 index 0000000..0f492cb --- /dev/null +++ b/share/doc/gfortran/RADIX.html @@ -0,0 +1,130 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: RADIX</title> + +<meta name="description" content="The GNU Fortran Compiler: RADIX"> +<meta name="keywords" content="The GNU Fortran Compiler: RADIX"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="RAN.html#RAN" rel="next" title="RAN"> +<link href="PRODUCT.html#PRODUCT" rel="previous" title="PRODUCT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="RADIX"></a> +<div class="header"> +<p> +Next: <a href="RAN.html#RAN" accesskey="n" rel="next">RAN</a>, Previous: <a href="PRODUCT.html#PRODUCT" accesskey="p" rel="previous">PRODUCT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="RADIX-_002d_002d_002d-Base-of-a-model-number"></a> +<h3 class="section">8.220 <code>RADIX</code> — Base of a model number</h3> +<a name="index-RADIX"></a> +<a name="index-model-representation_002c-base"></a> +<a name="index-model-representation_002c-radix"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>RADIX(X)</code> returns the base of the model representing the entity <var>X</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = RADIX(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">Shall be of type <code>INTEGER</code> or <code>REAL</code></td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is a scalar of type <code>INTEGER</code> and of the default +integer kind. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_radix + print *, "The radix for the default integer kind is", radix(0) + print *, "The radix for the default real kind is", radix(0.0) +end program test_radix +</pre></div> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="SELECTED_005fREAL_005fKIND.html#SELECTED_005fREAL_005fKIND">SELECTED_REAL_KIND</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/RAN.html b/share/doc/gfortran/RAN.html new file mode 100644 index 0000000..61d67f9 --- /dev/null +++ b/share/doc/gfortran/RAN.html @@ -0,0 +1,109 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: RAN</title> + +<meta name="description" content="The GNU Fortran Compiler: RAN"> +<meta name="keywords" content="The GNU Fortran Compiler: RAN"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="RAND.html#RAND" rel="next" title="RAND"> +<link href="RADIX.html#RADIX" rel="previous" title="RADIX"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="RAN"></a> +<div class="header"> +<p> +Next: <a href="RAND.html#RAND" accesskey="n" rel="next">RAND</a>, Previous: <a href="RADIX.html#RADIX" accesskey="p" rel="previous">RADIX</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="RAN-_002d_002d_002d-Real-pseudo_002drandom-number"></a> +<h3 class="section">8.221 <code>RAN</code> — Real pseudo-random number</h3> +<a name="index-RAN"></a> +<a name="index-random-number-generation-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>For compatibility with HP FORTRAN 77/iX, the <code>RAN</code> intrinsic is +provided as an alias for <code>RAND</code>. See <a href="RAND.html#RAND">RAND</a> for complete +documentation. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Function +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="RAND.html#RAND">RAND</a>, <br> +<a href="RANDOM_005fNUMBER.html#RANDOM_005fNUMBER">RANDOM_NUMBER</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/RAND.html b/share/doc/gfortran/RAND.html new file mode 100644 index 0000000..442539b --- /dev/null +++ b/share/doc/gfortran/RAND.html @@ -0,0 +1,142 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: RAND</title> + +<meta name="description" content="The GNU Fortran Compiler: RAND"> +<meta name="keywords" content="The GNU Fortran Compiler: RAND"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="RANDOM_005fINIT.html#RANDOM_005fINIT" rel="next" title="RANDOM_INIT"> +<link href="RAN.html#RAN" rel="previous" title="RAN"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="RAND"></a> +<div class="header"> +<p> +Next: <a href="RANDOM_005fINIT.html#RANDOM_005fINIT" accesskey="n" rel="next">RANDOM_INIT</a>, Previous: <a href="RAN.html#RAN" accesskey="p" rel="previous">RAN</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="RAND-_002d_002d_002d-Real-pseudo_002drandom-number"></a> +<h3 class="section">8.222 <code>RAND</code> — Real pseudo-random number</h3> +<a name="index-RAND"></a> +<a name="index-random-number-generation-2"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>RAND(FLAG)</code> returns a pseudo-random number from a uniform +distribution between 0 and 1. If <var>FLAG</var> is 0, the next number +in the current sequence is returned; if <var>FLAG</var> is 1, the generator +is restarted by <code>CALL SRAND(0)</code>; if <var>FLAG</var> has any other value, +it is used as a new seed with <code>SRAND</code>. +</p> +<p>This intrinsic routine is provided for backwards compatibility with +GNU Fortran 77. It implements a simple modulo generator as provided +by <code>g77</code>. For new code, one should consider the use of +<a href="RANDOM_005fNUMBER.html#RANDOM_005fNUMBER">RANDOM_NUMBER</a> as it implements a superior algorithm. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = RAND(I)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">Shall be a scalar <code>INTEGER</code> of kind 4.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of <code>REAL</code> type and the default kind. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_rand + integer,parameter :: seed = 86456 + + call srand(seed) + print *, rand(), rand(), rand(), rand() + print *, rand(seed), rand(), rand(), rand() +end program test_rand +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="SRAND.html#SRAND">SRAND</a>, <br> +<a href="RANDOM_005fNUMBER.html#RANDOM_005fNUMBER">RANDOM_NUMBER</a> +</p> +</dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/RANDOM_005fINIT.html b/share/doc/gfortran/RANDOM_005fINIT.html new file mode 100644 index 0000000..e6deef1 --- /dev/null +++ b/share/doc/gfortran/RANDOM_005fINIT.html @@ -0,0 +1,144 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: RANDOM_INIT</title> + +<meta name="description" content="The GNU Fortran Compiler: RANDOM_INIT"> +<meta name="keywords" content="The GNU Fortran Compiler: RANDOM_INIT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="RANDOM_005fNUMBER.html#RANDOM_005fNUMBER" rel="next" title="RANDOM_NUMBER"> +<link href="RAND.html#RAND" rel="previous" title="RAND"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="RANDOM_005fINIT"></a> +<div class="header"> +<p> +Next: <a href="RANDOM_005fNUMBER.html#RANDOM_005fNUMBER" accesskey="n" rel="next">RANDOM_NUMBER</a>, Previous: <a href="RAND.html#RAND" accesskey="p" rel="previous">RAND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="RANDOM_005fINIT-_002d_002d_002d-Initialize-a-pseudo_002drandom-number-generator"></a> +<h3 class="section">8.223 <code>RANDOM_INIT</code> — Initialize a pseudo-random number generator</h3> +<a name="index-RANDOM_005fINIT"></a> +<a name="index-random-number-generation_002c-initialization"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Initializes the state of the pseudorandom number generator used by +<code>RANDOM_NUMBER</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2018 +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL RANDOM_INIT(REPEATABLE, IMAGE_DISTINCT)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="25%"><var>REPEATABLE</var></td><td width="70%">Shall be a scalar with a <code>LOGICAL</code> type, +and it is <code>INTENT(IN)</code>. If it is <code>.true.</code>, the seed is set to +a processor-dependent value that is the same each time <code>RANDOM_INIT</code> +is called from the same image. The term “same image” means a single +instance of program execution. The sequence of random numbers is different +for repeated execution of the program. If it is <code>.false.</code>, the seed +is set to a processor-dependent value.</td></tr> +<tr><td width="25%"><var>IMAGE_DISTINCT</var></td><td width="70%">Shall be a scalar with a +<code>LOGICAL</code> type, and it is <code>INTENT(IN)</code>. If it is <code>.true.</code>, +the seed is set to a processor-dependent value that is distinct from th +seed set by a call to <code>RANDOM_INIT</code> in another image. If it is +<code>.false.</code>, the seed is set to a value that does depend which image called +<code>RANDOM_INIT</code>.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_random_seed + implicit none + real x(3), y(3) + call random_init(.true., .true.) + call random_number(x) + call random_init(.true., .true.) + call random_number(y) + ! x and y are the same sequence + if (any(x /= y)) call abort +end program test_random_seed +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="RANDOM_005fNUMBER.html#RANDOM_005fNUMBER">RANDOM_NUMBER</a>, <br> +<a href="RANDOM_005fSEED.html#RANDOM_005fSEED">RANDOM_SEED</a> +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/RANDOM_005fNUMBER.html b/share/doc/gfortran/RANDOM_005fNUMBER.html new file mode 100644 index 0000000..03a5dc8 --- /dev/null +++ b/share/doc/gfortran/RANDOM_005fNUMBER.html @@ -0,0 +1,138 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: RANDOM_NUMBER</title> + +<meta name="description" content="The GNU Fortran Compiler: RANDOM_NUMBER"> +<meta name="keywords" content="The GNU Fortran Compiler: RANDOM_NUMBER"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="RANDOM_005fSEED.html#RANDOM_005fSEED" rel="next" title="RANDOM_SEED"> +<link href="RANDOM_005fINIT.html#RANDOM_005fINIT" rel="previous" title="RANDOM_INIT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="RANDOM_005fNUMBER"></a> +<div class="header"> +<p> +Next: <a href="RANDOM_005fSEED.html#RANDOM_005fSEED" accesskey="n" rel="next">RANDOM_SEED</a>, Previous: <a href="RANDOM_005fINIT.html#RANDOM_005fINIT" accesskey="p" rel="previous">RANDOM_INIT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="RANDOM_005fNUMBER-_002d_002d_002d-Pseudo_002drandom-number"></a> +<h3 class="section">8.224 <code>RANDOM_NUMBER</code> — Pseudo-random number</h3> +<a name="index-RANDOM_005fNUMBER"></a> +<a name="index-random-number-generation-3"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns a single pseudorandom number or an array of pseudorandom numbers +from the uniform distribution over the range <em>0 \leq x < 1</em>. +</p> +<p>The runtime-library implements the xoshiro256** pseudorandom number +generator (PRNG). This generator has a period of <em>2^{256} - 1</em>, +and when using multiple threads up to <em>2^{128}</em> threads can each +generate <em>2^{128}</em> random numbers before any aliasing occurs. +</p> +<p>Note that in a multi-threaded program (e.g. using OpenMP directives), +each thread will have its own random number state. For details of the +seeding procedure, see the documentation for the <code>RANDOM_SEED</code> +intrinsic. +</p> + +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL RANDOM_NUMBER(HARVEST)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>HARVEST</var></td><td width="70%">Shall be a scalar or an array of type <code>REAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_random_number + REAL :: r(5,5) + CALL RANDOM_NUMBER(r) +end program +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="RANDOM_005fSEED.html#RANDOM_005fSEED">RANDOM_SEED</a>, <br> +<a href="RANDOM_005fINIT.html#RANDOM_005fINIT">RANDOM_INIT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/RANDOM_005fSEED.html b/share/doc/gfortran/RANDOM_005fSEED.html new file mode 100644 index 0000000..3765cdb --- /dev/null +++ b/share/doc/gfortran/RANDOM_005fSEED.html @@ -0,0 +1,164 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: RANDOM_SEED</title> + +<meta name="description" content="The GNU Fortran Compiler: RANDOM_SEED"> +<meta name="keywords" content="The GNU Fortran Compiler: RANDOM_SEED"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="RANGE.html#RANGE" rel="next" title="RANGE"> +<link href="RANDOM_005fNUMBER.html#RANDOM_005fNUMBER" rel="previous" title="RANDOM_NUMBER"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="RANDOM_005fSEED"></a> +<div class="header"> +<p> +Next: <a href="RANGE.html#RANGE" accesskey="n" rel="next">RANGE</a>, Previous: <a href="RANDOM_005fNUMBER.html#RANDOM_005fNUMBER" accesskey="p" rel="previous">RANDOM_NUMBER</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="RANDOM_005fSEED-_002d_002d_002d-Initialize-a-pseudo_002drandom-number-sequence"></a> +<h3 class="section">8.225 <code>RANDOM_SEED</code> — Initialize a pseudo-random number sequence</h3> +<a name="index-RANDOM_005fSEED"></a> +<a name="index-random-number-generation_002c-seeding"></a> +<a name="index-seeding-a-random-number-generator"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Restarts or queries the state of the pseudorandom number generator used by +<code>RANDOM_NUMBER</code>. +</p> +<p>If <code>RANDOM_SEED</code> is called without arguments, it is seeded with +random data retrieved from the operating system. +</p> +<p>As an extension to the Fortran standard, the GFortran +<code>RANDOM_NUMBER</code> supports multiple threads. Each thread in a +multi-threaded program has its own seed. When <code>RANDOM_SEED</code> is +called either without arguments or with the <var>PUT</var> argument, the +given seed is copied into a master seed as well as the seed of the +current thread. When a new thread uses <code>RANDOM_NUMBER</code> for the +first time, the seed is copied from the master seed, and forwarded +<em>N * 2^{128}</em> steps to guarantee that the random stream does not +alias any other stream in the system, where <var>N</var> is the number of +threads that have used <code>RANDOM_NUMBER</code> so far during the program +execution. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL RANDOM_SEED([SIZE, PUT, GET])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>SIZE</var></td><td width="70%">(Optional) Shall be a scalar and of type default +<code>INTEGER</code>, with <code>INTENT(OUT)</code>. It specifies the minimum size +of the arrays used with the <var>PUT</var> and <var>GET</var> arguments.</td></tr> +<tr><td width="15%"><var>PUT</var></td><td width="70%">(Optional) Shall be an array of type default +<code>INTEGER</code> and rank one. It is <code>INTENT(IN)</code> and the size of +the array must be larger than or equal to the number returned by the +<var>SIZE</var> argument.</td></tr> +<tr><td width="15%"><var>GET</var></td><td width="70%">(Optional) Shall be an array of type default +<code>INTEGER</code> and rank one. It is <code>INTENT(OUT)</code> and the size +of the array must be larger than or equal to the number returned by +the <var>SIZE</var> argument.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_random_seed + implicit none + integer, allocatable :: seed(:) + integer :: n + + call random_seed(size = n) + allocate(seed(n)) + call random_seed(get=seed) + write (*, *) seed +end program test_random_seed +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="RANDOM_005fNUMBER.html#RANDOM_005fNUMBER">RANDOM_NUMBER</a>, <br> +<a href="RANDOM_005fINIT.html#RANDOM_005fINIT">RANDOM_INIT</a> +</p></dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="RANGE.html#RANGE" accesskey="n" rel="next">RANGE</a>, Previous: <a href="RANDOM_005fNUMBER.html#RANDOM_005fNUMBER" accesskey="p" rel="previous">RANDOM_NUMBER</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/RANGE.html b/share/doc/gfortran/RANGE.html new file mode 100644 index 0000000..f2973ea --- /dev/null +++ b/share/doc/gfortran/RANGE.html @@ -0,0 +1,127 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: RANGE</title> + +<meta name="description" content="The GNU Fortran Compiler: RANGE"> +<meta name="keywords" content="The GNU Fortran Compiler: RANGE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="RANK.html#RANK" rel="next" title="RANK"> +<link href="RANDOM_005fSEED.html#RANDOM_005fSEED" rel="previous" title="RANDOM_SEED"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="RANGE"></a> +<div class="header"> +<p> +Next: <a href="RANK.html#RANK" accesskey="n" rel="next">RANK</a>, Previous: <a href="RANDOM_005fSEED.html#RANDOM_005fSEED" accesskey="p" rel="previous">RANDOM_SEED</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="RANGE-_002d_002d_002d-Decimal-exponent-range"></a> +<h3 class="section">8.226 <code>RANGE</code> — Decimal exponent range</h3> +<a name="index-RANGE"></a> +<a name="index-model-representation_002c-range"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>RANGE(X)</code> returns the decimal exponent range in the model of the +type of <code>X</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = RANGE(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">Shall be of type <code>INTEGER</code>, <code>REAL</code> +or <code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of the default integer +kind. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><p>See <code>PRECISION</code> for an example. +</p></dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="SELECTED_005fREAL_005fKIND.html#SELECTED_005fREAL_005fKIND">SELECTED_REAL_KIND</a>, <br> +<a href="PRECISION.html#PRECISION">PRECISION</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/RANK.html b/share/doc/gfortran/RANK.html new file mode 100644 index 0000000..faea4cd --- /dev/null +++ b/share/doc/gfortran/RANK.html @@ -0,0 +1,129 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: RANK</title> + +<meta name="description" content="The GNU Fortran Compiler: RANK"> +<meta name="keywords" content="The GNU Fortran Compiler: RANK"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="REAL.html#REAL" rel="next" title="REAL"> +<link href="RANGE.html#RANGE" rel="previous" title="RANGE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="RANK"></a> +<div class="header"> +<p> +Next: <a href="REAL.html#REAL" accesskey="n" rel="next">REAL</a>, Previous: <a href="RANGE.html#RANGE" accesskey="p" rel="previous">RANGE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="RANK-_002d_002d_002d-Rank-of-a-data-object"></a> +<h3 class="section">8.227 <code>RANK</code> — Rank of a data object</h3> +<a name="index-RANK"></a> +<a name="index-rank"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>RANK(A)</code> returns the rank of a scalar or array data object. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Technical Specification (TS) 29113 +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = RANK(A)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>A</var></td><td width="70%">can be of any type</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of the default integer +kind. For arrays, their rank is returned; for scalars zero is returned. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_rank + integer :: a + real, allocatable :: b(:,:) + + print *, rank(a), rank(b) ! Prints: 0 2 +end program test_rank +</pre></div> + +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/REAL.html b/share/doc/gfortran/REAL.html new file mode 100644 index 0000000..311bf49 --- /dev/null +++ b/share/doc/gfortran/REAL.html @@ -0,0 +1,181 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: REAL</title> + +<meta name="description" content="The GNU Fortran Compiler: REAL"> +<meta name="keywords" content="The GNU Fortran Compiler: REAL"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="RENAME.html#RENAME" rel="next" title="RENAME"> +<link href="RANK.html#RANK" rel="previous" title="RANK"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="REAL"></a> +<div class="header"> +<p> +Next: <a href="RENAME.html#RENAME" accesskey="n" rel="next">RENAME</a>, Previous: <a href="RANK.html#RANK" accesskey="p" rel="previous">RANK</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="REAL-_002d_002d_002d-Convert-to-real-type"></a> +<h3 class="section">8.228 <code>REAL</code> — Convert to real type</h3> +<a name="index-REAL"></a> +<a name="index-REALPART"></a> +<a name="index-FLOAT"></a> +<a name="index-DFLOAT"></a> +<a name="index-FLOATI"></a> +<a name="index-FLOATJ"></a> +<a name="index-FLOATK"></a> +<a name="index-SNGL"></a> +<a name="index-conversion_002c-to-real-1"></a> +<a name="index-complex-numbers_002c-real-part-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>REAL(A [, KIND])</code> converts its argument <var>A</var> to a real type. The +<code>REALPART</code> function is provided for compatibility with <code>g77</code>, +and its use is strongly discouraged. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later, with <var>KIND</var> argument Fortran 90 and later, has GNU extensions +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>RESULT = REAL(A [, KIND])</code></td></tr> +<tr><td width="80%"><code>RESULT = REALPART(Z)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>A</var></td><td width="70%">Shall be <code>INTEGER</code>, <code>REAL</code>, or +<code>COMPLEX</code>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>These functions return a <code>REAL</code> variable or array under +the following rules: +</p> +<dl compact="compact"> +<dt>(A)</dt> +<dd><p><code>REAL(A)</code> is converted to a default real type if <var>A</var> is an +integer or real variable. +</p></dd> +<dt>(B)</dt> +<dd><p><code>REAL(A)</code> is converted to a real type with the kind type parameter +of <var>A</var> if <var>A</var> is a complex variable. +</p></dd> +<dt>(C)</dt> +<dd><p><code>REAL(A, KIND)</code> is converted to a real type with kind type +parameter <var>KIND</var> if <var>A</var> is a complex, integer, or real +variable. +</p></dd> +</dl> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_real + complex :: x = (1.0, 2.0) + print *, real(x), real(x,8), realpart(x) +end program test_real +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>FLOAT(A)</code></td><td width="23%"><code>INTEGER(4)</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>DFLOAT(A)</code></td><td width="23%"><code>INTEGER(4)</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>FLOATI(A)</code></td><td width="23%"><code>INTEGER(2)</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">GNU extension (-fdec)</td></tr> +<tr><td width="20%"><code>FLOATJ(A)</code></td><td width="23%"><code>INTEGER(4)</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">GNU extension (-fdec)</td></tr> +<tr><td width="20%"><code>FLOATK(A)</code></td><td width="23%"><code>INTEGER(8)</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">GNU extension (-fdec)</td></tr> +<tr><td width="20%"><code>SNGL(A)</code></td><td width="23%"><code>REAL(8)</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +</table> + + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="DBLE.html#DBLE">DBLE</a> +</p> +</dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="RENAME.html#RENAME" accesskey="n" rel="next">RENAME</a>, Previous: <a href="RANK.html#RANK" accesskey="p" rel="previous">RANK</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/RENAME.html b/share/doc/gfortran/RENAME.html new file mode 100644 index 0000000..91dc432 --- /dev/null +++ b/share/doc/gfortran/RENAME.html @@ -0,0 +1,130 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: RENAME</title> + +<meta name="description" content="The GNU Fortran Compiler: RENAME"> +<meta name="keywords" content="The GNU Fortran Compiler: RENAME"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="REPEAT.html#REPEAT" rel="next" title="REPEAT"> +<link href="REAL.html#REAL" rel="previous" title="REAL"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="RENAME"></a> +<div class="header"> +<p> +Next: <a href="REPEAT.html#REPEAT" accesskey="n" rel="next">REPEAT</a>, Previous: <a href="REAL.html#REAL" accesskey="p" rel="previous">REAL</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="RENAME-_002d_002d_002d-Rename-a-file"></a> +<h3 class="section">8.229 <code>RENAME</code> — Rename a file</h3> +<a name="index-RENAME"></a> +<a name="index-file-system_002c-rename-file"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Renames a file from file <var>PATH1</var> to <var>PATH2</var>. A null +character (<code>CHAR(0)</code>) can be used to mark the end of the names in +<var>PATH1</var> and <var>PATH2</var>; otherwise, trailing blanks in the file +names are ignored. If the <var>STATUS</var> argument is supplied, it +contains 0 on success or a nonzero error code upon return; see +<code>rename(2)</code>. +</p> +<p>This intrinsic is provided in both subroutine and function forms; +however, only one form can be used in any given program unit. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL RENAME(PATH1, PATH2 [, STATUS])</code></td></tr> +<tr><td width="80%"><code>STATUS = RENAME(PATH1, PATH2)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>PATH1</var></td><td width="70%">Shall be of default <code>CHARACTER</code> type.</td></tr> +<tr><td width="15%"><var>PATH2</var></td><td width="70%">Shall be of default <code>CHARACTER</code> type.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">(Optional) Shall be of default <code>INTEGER</code> type.</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="LINK.html#LINK">LINK</a> +</p> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/REPEAT.html b/share/doc/gfortran/REPEAT.html new file mode 100644 index 0000000..d10ad6c --- /dev/null +++ b/share/doc/gfortran/REPEAT.html @@ -0,0 +1,127 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: REPEAT</title> + +<meta name="description" content="The GNU Fortran Compiler: REPEAT"> +<meta name="keywords" content="The GNU Fortran Compiler: REPEAT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="RESHAPE.html#RESHAPE" rel="next" title="RESHAPE"> +<link href="RENAME.html#RENAME" rel="previous" title="RENAME"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="REPEAT"></a> +<div class="header"> +<p> +Next: <a href="RESHAPE.html#RESHAPE" accesskey="n" rel="next">RESHAPE</a>, Previous: <a href="RENAME.html#RENAME" accesskey="p" rel="previous">RENAME</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="REPEAT-_002d_002d_002d-Repeated-string-concatenation"></a> +<h3 class="section">8.230 <code>REPEAT</code> — Repeated string concatenation</h3> +<a name="index-REPEAT"></a> +<a name="index-string_002c-repeat"></a> +<a name="index-string_002c-concatenate"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Concatenates <var>NCOPIES</var> copies of a string. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = REPEAT(STRING, NCOPIES)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>STRING</var></td><td width="70%">Shall be scalar and of type <code>CHARACTER</code>.</td></tr> +<tr><td width="15%"><var>NCOPIES</var></td><td width="70%">Shall be scalar and of type <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>A new scalar of type <code>CHARACTER</code> built up from <var>NCOPIES</var> copies +of <var>STRING</var>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_repeat + write(*,*) repeat("x", 5) ! "xxxxx" +end program +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/RESHAPE.html b/share/doc/gfortran/RESHAPE.html new file mode 100644 index 0000000..d36bccf --- /dev/null +++ b/share/doc/gfortran/RESHAPE.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: RESHAPE</title> + +<meta name="description" content="The GNU Fortran Compiler: RESHAPE"> +<meta name="keywords" content="The GNU Fortran Compiler: RESHAPE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="RRSPACING.html#RRSPACING" rel="next" title="RRSPACING"> +<link href="REPEAT.html#REPEAT" rel="previous" title="REPEAT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="RESHAPE"></a> +<div class="header"> +<p> +Next: <a href="RRSPACING.html#RRSPACING" accesskey="n" rel="next">RRSPACING</a>, Previous: <a href="REPEAT.html#REPEAT" accesskey="p" rel="previous">REPEAT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="RESHAPE-_002d_002d_002d-Function-to-reshape-an-array"></a> +<h3 class="section">8.231 <code>RESHAPE</code> — Function to reshape an array</h3> +<a name="index-RESHAPE"></a> +<a name="index-array_002c-change-dimensions"></a> +<a name="index-array_002c-transmogrify"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Reshapes <var>SOURCE</var> to correspond to <var>SHAPE</var>. If necessary, +the new array may be padded with elements from <var>PAD</var> or permuted +as defined by <var>ORDER</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = RESHAPE(SOURCE, SHAPE[, PAD, ORDER])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>SOURCE</var></td><td width="70%">Shall be an array of any type.</td></tr> +<tr><td width="15%"><var>SHAPE</var></td><td width="70%">Shall be of type <code>INTEGER</code> and an +array of rank one. Its values must be positive or zero.</td></tr> +<tr><td width="15%"><var>PAD</var></td><td width="70%">(Optional) shall be an array of the same +type as <var>SOURCE</var>.</td></tr> +<tr><td width="15%"><var>ORDER</var></td><td width="70%">(Optional) shall be of type <code>INTEGER</code> +and an array of the same shape as <var>SHAPE</var>. Its values shall +be a permutation of the numbers from 1 to n, where n is the size of +<var>SHAPE</var>. If <var>ORDER</var> is absent, the natural ordering shall +be assumed.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The result is an array of shape <var>SHAPE</var> with the same type as +<var>SOURCE</var>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_reshape + INTEGER, DIMENSION(4) :: x + WRITE(*,*) SHAPE(x) ! prints "4" + WRITE(*,*) SHAPE(RESHAPE(x, (/2, 2/))) ! prints "2 2" +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="SHAPE.html#SHAPE">SHAPE</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/RRSPACING.html b/share/doc/gfortran/RRSPACING.html new file mode 100644 index 0000000..325fe33 --- /dev/null +++ b/share/doc/gfortran/RRSPACING.html @@ -0,0 +1,125 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: RRSPACING</title> + +<meta name="description" content="The GNU Fortran Compiler: RRSPACING"> +<meta name="keywords" content="The GNU Fortran Compiler: RRSPACING"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="RSHIFT.html#RSHIFT" rel="next" title="RSHIFT"> +<link href="RESHAPE.html#RESHAPE" rel="previous" title="RESHAPE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="RRSPACING"></a> +<div class="header"> +<p> +Next: <a href="RSHIFT.html#RSHIFT" accesskey="n" rel="next">RSHIFT</a>, Previous: <a href="RESHAPE.html#RESHAPE" accesskey="p" rel="previous">RESHAPE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="RRSPACING-_002d_002d_002d-Reciprocal-of-the-relative-spacing"></a> +<h3 class="section">8.232 <code>RRSPACING</code> — Reciprocal of the relative spacing</h3> +<a name="index-RRSPACING"></a> +<a name="index-real-number_002c-relative-spacing"></a> +<a name="index-floating-point_002c-relative-spacing"></a> + + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>RRSPACING(X)</code> returns the reciprocal of the relative spacing of +model numbers near <var>X</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = RRSPACING(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">Shall be of type <code>REAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of the same type and kind as <var>X</var>. +The value returned is equal to +<code>ABS(FRACTION(X)) * FLOAT(RADIX(X))**DIGITS(X)</code>. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="SPACING.html#SPACING">SPACING</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/RSHIFT.html b/share/doc/gfortran/RSHIFT.html new file mode 100644 index 0000000..f891058 --- /dev/null +++ b/share/doc/gfortran/RSHIFT.html @@ -0,0 +1,137 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: RSHIFT</title> + +<meta name="description" content="The GNU Fortran Compiler: RSHIFT"> +<meta name="keywords" content="The GNU Fortran Compiler: RSHIFT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SAME_005fTYPE_005fAS.html#SAME_005fTYPE_005fAS" rel="next" title="SAME_TYPE_AS"> +<link href="RRSPACING.html#RRSPACING" rel="previous" title="RRSPACING"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="RSHIFT"></a> +<div class="header"> +<p> +Next: <a href="SAME_005fTYPE_005fAS.html#SAME_005fTYPE_005fAS" accesskey="n" rel="next">SAME_TYPE_AS</a>, Previous: <a href="RRSPACING.html#RRSPACING" accesskey="p" rel="previous">RRSPACING</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="RSHIFT-_002d_002d_002d-Right-shift-bits"></a> +<h3 class="section">8.233 <code>RSHIFT</code> — Right shift bits</h3> +<a name="index-RSHIFT"></a> +<a name="index-bits_002c-shift-right"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>RSHIFT</code> returns a value corresponding to <var>I</var> with all of the +bits shifted right by <var>SHIFT</var> places. <var>SHIFT</var> shall be +nonnegative and less than or equal to <code>BIT_SIZE(I)</code>, otherwise +the result value is undefined. Bits shifted out from the right end +are lost. The fill is arithmetic: the bits shifted in from the left +end are equal to the leftmost bit, which in two’s complement +representation is the sign bit. +</p> +<p>This function has been superseded by the <code>SHIFTA</code> intrinsic, which +is standard in Fortran 2008 and later. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = RSHIFT(I, SHIFT)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>SHIFT</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of the same kind as +<var>I</var>. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ISHFT.html#ISHFT">ISHFT</a>, <br> +<a href="ISHFTC.html#ISHFTC">ISHFTC</a>, <br> +<a href="LSHIFT.html#LSHIFT">LSHIFT</a>, <br> +<a href="SHIFTA.html#SHIFTA">SHIFTA</a>, <br> +<a href="SHIFTR.html#SHIFTR">SHIFTR</a>, <br> +<a href="SHIFTL.html#SHIFTL">SHIFTL</a> +</p> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Read_002fWrite-after-EOF-marker.html b/share/doc/gfortran/Read_002fWrite-after-EOF-marker.html new file mode 100644 index 0000000..c21d6d9 --- /dev/null +++ b/share/doc/gfortran/Read_002fWrite-after-EOF-marker.html @@ -0,0 +1,95 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Read/Write after EOF marker</title> + +<meta name="description" content="The GNU Fortran Compiler: Read/Write after EOF marker"> +<meta name="keywords" content="The GNU Fortran Compiler: Read/Write after EOF marker"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="STRUCTURE-and-RECORD.html#STRUCTURE-and-RECORD" rel="next" title="STRUCTURE and RECORD"> +<link href="Argument-list-functions.html#Argument-list-functions" rel="previous" title="Argument list functions"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Read_002fWrite-after-EOF-marker"></a> +<div class="header"> +<p> +Next: <a href="STRUCTURE-and-RECORD.html#STRUCTURE-and-RECORD" accesskey="n" rel="next">STRUCTURE and RECORD</a>, Previous: <a href="Argument-list-functions.html#Argument-list-functions" accesskey="p" rel="previous">Argument list functions</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> [<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> +</div> +<hr> +<a name="Read_002fWrite-after-EOF-marker-1"></a> +<h4 class="subsection">5.1.21 Read/Write after EOF marker</h4> +<a name="index-EOF"></a> +<a name="index-BACKSPACE"></a> +<a name="index-REWIND"></a> + +<p>Some legacy codes rely on allowing <code>READ</code> or <code>WRITE</code> after the +EOF file marker in order to find the end of a file. GNU Fortran normally +rejects these codes with a run-time error message and suggests the user +consider <code>BACKSPACE</code> or <code>REWIND</code> to properly position +the file before the EOF marker. As an extension, the run-time error may +be disabled using -std=legacy. +</p> + + + + +</body> +</html> diff --git a/share/doc/gfortran/Real-array-indices.html b/share/doc/gfortran/Real-array-indices.html new file mode 100644 index 0000000..f8d521b --- /dev/null +++ b/share/doc/gfortran/Real-array-indices.html @@ -0,0 +1,88 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Real array indices</title> + +<meta name="description" content="The GNU Fortran Compiler: Real array indices"> +<meta name="keywords" content="The GNU Fortran Compiler: Real array indices"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="Unary-operators.html#Unary-operators" rel="next" title="Unary operators"> +<link href="BOZ-literal-constants.html#BOZ-literal-constants" rel="previous" title="BOZ literal constants"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Real-array-indices"></a> +<div class="header"> +<p> +Next: <a href="Unary-operators.html#Unary-operators" accesskey="n" rel="next">Unary operators</a>, Previous: <a href="BOZ-literal-constants.html#BOZ-literal-constants" accesskey="p" rel="previous">BOZ literal constants</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> [<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> +</div> +<hr> +<a name="Real-array-indices-1"></a> +<h4 class="subsection">5.1.11 Real array indices</h4> +<a name="index-array_002c-indices-of-type-real"></a> + +<p>As an extension, GNU Fortran allows the use of <code>REAL</code> expressions +or variables as array indices. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/Runtime-Options.html b/share/doc/gfortran/Runtime-Options.html new file mode 100644 index 0000000..102a9c3 --- /dev/null +++ b/share/doc/gfortran/Runtime-Options.html @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Runtime Options</title> + +<meta name="description" content="The GNU Fortran Compiler: Runtime Options"> +<meta name="keywords" content="The GNU Fortran Compiler: Runtime Options"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" rel="up" title="Invoking GNU Fortran"> +<link href="Code-Gen-Options.html#Code-Gen-Options" rel="next" title="Code Gen Options"> +<link href="Link-Options.html#Link-Options" rel="previous" title="Link Options"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Runtime-Options"></a> +<div class="header"> +<p> +Next: <a href="Code-Gen-Options.html#Code-Gen-Options" accesskey="n" rel="next">Code Gen Options</a>, Previous: <a href="Link-Options.html#Link-Options" accesskey="p" rel="previous">Link Options</a>, Up: <a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" accesskey="u" rel="up">Invoking GNU Fortran</a> [<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> +</div> +<hr> +<a name="Influencing-runtime-behavior"></a> +<h3 class="section">2.8 Influencing runtime behavior</h3> +<a name="index-options_002c-runtime"></a> + +<p>These options affect the runtime behavior of programs compiled with GNU Fortran. +</p> +<dl compact="compact"> +<dd><a name="index-fconvert_003dconversion"></a> +</dd> +<dt><code>-fconvert=<var>conversion</var></code></dt> +<dd><p>Specify the representation of data for unformatted files. Valid +values for conversion on most systems are: ‘<samp>native</samp>’, the default; +‘<samp>swap</samp>’, swap between big- and little-endian; ‘<samp>big-endian</samp>’, use +big-endian representation for unformatted files; ‘<samp>little-endian</samp>’, use +little-endian representation for unformatted files. +</p> +<p>On POWER systems which suppport <samp>-mabi=ieeelongdouble</samp>, +there are additional options, which can be combined with others with +commas. Those are +</p><ul class="no-bullet"> +<li><!-- /@w --> <samp>-fconvert=r16_ieee</samp> Use IEEE 128-bit format for +<code>REAL(KIND=16)</code>. +</li><li><!-- /@w --> <samp>-fconvert=r16_ibm</samp> Use IBM long double format for +<code>REAL(KIND=16)</code>. +</li></ul> + +<p><em>This option has an effect only when used in the main program. +The <code>CONVERT</code> specifier and the GFORTRAN_CONVERT_UNIT environment +variable override the default specified by <samp>-fconvert</samp>.</em> +</p> +<a name="index-frecord_002dmarker_003dlength"></a> +</dd> +<dt><code>-frecord-marker=<var>length</var></code></dt> +<dd><p>Specify the length of record markers for unformatted files. +Valid values for <var>length</var> are 4 and 8. Default is 4. +<em>This is different from previous versions of <code>gfortran</code></em>, +which specified a default record marker length of 8 on most +systems. If you want to read or write files compatible +with earlier versions of <code>gfortran</code>, use <samp>-frecord-marker=8</samp>. +</p> +<a name="index-fmax_002dsubrecord_002dlength_003dlength"></a> +</dd> +<dt><code>-fmax-subrecord-length=<var>length</var></code></dt> +<dd><p>Specify the maximum length for a subrecord. The maximum permitted +value for length is 2147483639, which is also the default. Only +really useful for use by the gfortran testsuite. +</p> +<a name="index-fsign_002dzero"></a> +</dd> +<dt><code>-fsign-zero</code></dt> +<dd><p>When enabled, floating point numbers of value zero with the sign bit set +are written as negative number in formatted output and treated as +negative in the <code>SIGN</code> intrinsic. <samp>-fno-sign-zero</samp> does not +print the negative sign of zero values (or values rounded to zero for I/O) +and regards zero as positive number in the <code>SIGN</code> intrinsic for +compatibility with Fortran 77. The default is <samp>-fsign-zero</samp>. +</p></dd> +</dl> + +<hr> +<div class="header"> +<p> +Next: <a href="Code-Gen-Options.html#Code-Gen-Options" accesskey="n" rel="next">Code Gen Options</a>, Previous: <a href="Link-Options.html#Link-Options" accesskey="p" rel="previous">Link Options</a>, Up: <a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" accesskey="u" rel="up">Invoking GNU Fortran</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Runtime.html b/share/doc/gfortran/Runtime.html new file mode 100644 index 0000000..f2a6a3e --- /dev/null +++ b/share/doc/gfortran/Runtime.html @@ -0,0 +1,119 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Runtime</title> + +<meta name="description" content="The GNU Fortran Compiler: Runtime"> +<meta name="keywords" content="The GNU Fortran Compiler: Runtime"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="index.html#Top" rel="up" title="Top"> +<link href="TMPDIR.html#TMPDIR" rel="next" title="TMPDIR"> +<link href="Environment-Variables.html#Environment-Variables" rel="previous" title="Environment Variables"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Runtime"></a> +<div class="header"> +<p> +Next: <a href="Compiler-Characteristics.html#Compiler-Characteristics" accesskey="n" rel="next">Compiler Characteristics</a>, Previous: <a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" accesskey="p" rel="previous">Invoking GNU Fortran</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<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> +</div> +<hr> +<a name="Runtime_003a-Influencing-runtime-behavior-with-environment-variables"></a> +<h2 class="chapter">3 Runtime: Influencing runtime behavior with environment variables</h2> +<a name="index-environment-variable-1"></a> + +<p>The behavior of the <code>gfortran</code> can be influenced by +environment variables. +</p> +<p>Malformed environment variables are silently ignored. +</p> +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="TMPDIR.html#TMPDIR" accesskey="1">TMPDIR</a>:</td><td> </td><td align="left" valign="top">Directory for scratch files +</td></tr> +<tr><td align="left" valign="top">• <a href="GFORTRAN_005fSTDIN_005fUNIT.html#GFORTRAN_005fSTDIN_005fUNIT" accesskey="2">GFORTRAN_STDIN_UNIT</a>:</td><td> </td><td align="left" valign="top">Unit number for standard input +</td></tr> +<tr><td align="left" valign="top">• <a href="GFORTRAN_005fSTDOUT_005fUNIT.html#GFORTRAN_005fSTDOUT_005fUNIT" accesskey="3">GFORTRAN_STDOUT_UNIT</a>:</td><td> </td><td align="left" valign="top">Unit number for standard output +</td></tr> +<tr><td align="left" valign="top">• <a href="GFORTRAN_005fSTDERR_005fUNIT.html#GFORTRAN_005fSTDERR_005fUNIT" accesskey="4">GFORTRAN_STDERR_UNIT</a>:</td><td> </td><td align="left" valign="top">Unit number for standard error +</td></tr> +<tr><td align="left" valign="top">• <a href="GFORTRAN_005fUNBUFFERED_005fALL.html#GFORTRAN_005fUNBUFFERED_005fALL" accesskey="5">GFORTRAN_UNBUFFERED_ALL</a>:</td><td> </td><td align="left" valign="top">Do not buffer I/O for all units +</td></tr> +<tr><td align="left" valign="top">• <a href="GFORTRAN_005fUNBUFFERED_005fPRECONNECTED.html#GFORTRAN_005fUNBUFFERED_005fPRECONNECTED" accesskey="6">GFORTRAN_UNBUFFERED_PRECONNECTED</a>:</td><td> </td><td align="left" valign="top">Do not buffer I/O for preconnected units. +</td></tr> +<tr><td align="left" valign="top">• <a href="GFORTRAN_005fSHOW_005fLOCUS.html#GFORTRAN_005fSHOW_005fLOCUS" accesskey="7">GFORTRAN_SHOW_LOCUS</a>:</td><td> </td><td align="left" valign="top">Show location for runtime errors +</td></tr> +<tr><td align="left" valign="top">• <a href="GFORTRAN_005fOPTIONAL_005fPLUS.html#GFORTRAN_005fOPTIONAL_005fPLUS" accesskey="8">GFORTRAN_OPTIONAL_PLUS</a>:</td><td> </td><td align="left" valign="top">Print leading + where permitted +</td></tr> +<tr><td align="left" valign="top">• <a href="GFORTRAN_005fLIST_005fSEPARATOR.html#GFORTRAN_005fLIST_005fSEPARATOR" accesskey="9">GFORTRAN_LIST_SEPARATOR</a>:</td><td> </td><td align="left" valign="top">Separator for list output +</td></tr> +<tr><td align="left" valign="top">• <a href="GFORTRAN_005fCONVERT_005fUNIT.html#GFORTRAN_005fCONVERT_005fUNIT">GFORTRAN_CONVERT_UNIT</a>:</td><td> </td><td align="left" valign="top">Set conversion for unformatted I/O +</td></tr> +<tr><td align="left" valign="top">• <a href="GFORTRAN_005fERROR_005fBACKTRACE.html#GFORTRAN_005fERROR_005fBACKTRACE">GFORTRAN_ERROR_BACKTRACE</a>:</td><td> </td><td align="left" valign="top">Show backtrace on run-time errors +</td></tr> +<tr><td align="left" valign="top">• <a href="GFORTRAN_005fFORMATTED_005fBUFFER_005fSIZE.html#GFORTRAN_005fFORMATTED_005fBUFFER_005fSIZE">GFORTRAN_FORMATTED_BUFFER_SIZE</a>:</td><td> </td><td align="left" valign="top">Buffer size for formatted files +</td></tr> +<tr><td align="left" valign="top">• <a href="GFORTRAN_005fUNFORMATTED_005fBUFFER_005fSIZE.html#GFORTRAN_005fUNFORMATTED_005fBUFFER_005fSIZE">GFORTRAN_UNFORMATTED_BUFFER_SIZE</a>:</td><td> </td><td align="left" valign="top">Buffer size for unformatted files +</td></tr> +</table> + + + + +</body> +</html> diff --git a/share/doc/gfortran/SAME_005fTYPE_005fAS.html b/share/doc/gfortran/SAME_005fTYPE_005fAS.html new file mode 100644 index 0000000..3a8518e --- /dev/null +++ b/share/doc/gfortran/SAME_005fTYPE_005fAS.html @@ -0,0 +1,124 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SAME_TYPE_AS</title> + +<meta name="description" content="The GNU Fortran Compiler: SAME_TYPE_AS"> +<meta name="keywords" content="The GNU Fortran Compiler: SAME_TYPE_AS"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SCALE.html#SCALE" rel="next" title="SCALE"> +<link href="RSHIFT.html#RSHIFT" rel="previous" title="RSHIFT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SAME_005fTYPE_005fAS"></a> +<div class="header"> +<p> +Next: <a href="SCALE.html#SCALE" accesskey="n" rel="next">SCALE</a>, Previous: <a href="RSHIFT.html#RSHIFT" accesskey="p" rel="previous">RSHIFT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SAME_005fTYPE_005fAS-_002d_002d_002d-Query-dynamic-types-for-equality"></a> +<h3 class="section">8.234 <code>SAME_TYPE_AS</code> — Query dynamic types for equality</h3> +<a name="index-SAME_005fTYPE_005fAS"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Query dynamic types for equality. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = SAME_TYPE_AS(A, B)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>A</var></td><td width="70%">Shall be an object of extensible declared type or +unlimited polymorphic.</td></tr> +<tr><td width="15%"><var>B</var></td><td width="70%">Shall be an object of extensible declared type or +unlimited polymorphic.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is a scalar of type default logical. It is true if and +only if the dynamic type of A is the same as the dynamic type of B. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="EXTENDS_005fTYPE_005fOF.html#EXTENDS_005fTYPE_005fOF">EXTENDS_TYPE_OF</a> +</p> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SCALE.html b/share/doc/gfortran/SCALE.html new file mode 100644 index 0000000..c38c319 --- /dev/null +++ b/share/doc/gfortran/SCALE.html @@ -0,0 +1,130 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SCALE</title> + +<meta name="description" content="The GNU Fortran Compiler: SCALE"> +<meta name="keywords" content="The GNU Fortran Compiler: SCALE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SCAN.html#SCAN" rel="next" title="SCAN"> +<link href="SAME_005fTYPE_005fAS.html#SAME_005fTYPE_005fAS" rel="previous" title="SAME_TYPE_AS"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SCALE"></a> +<div class="header"> +<p> +Next: <a href="SCAN.html#SCAN" accesskey="n" rel="next">SCAN</a>, Previous: <a href="SAME_005fTYPE_005fAS.html#SAME_005fTYPE_005fAS" accesskey="p" rel="previous">SAME_TYPE_AS</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SCALE-_002d_002d_002d-Scale-a-real-value"></a> +<h3 class="section">8.235 <code>SCALE</code> — Scale a real value</h3> +<a name="index-SCALE"></a> +<a name="index-real-number_002c-scale"></a> +<a name="index-floating-point_002c-scale"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>SCALE(X,I)</code> returns <code>X * RADIX(X)**I</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = SCALE(X, I)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type of the argument shall be a <code>REAL</code>.</td></tr> +<tr><td width="15%"><var>I</var></td><td width="70%">The type of the argument shall be a <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of the same type and kind as <var>X</var>. +Its value is <code>X * RADIX(X)**I</code>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_scale + real :: x = 178.1387e-4 + integer :: i = 5 + print *, scale(x,i), x*radix(x)**i +end program test_scale +</pre></div> + +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SCAN.html b/share/doc/gfortran/SCAN.html new file mode 100644 index 0000000..36cf623 --- /dev/null +++ b/share/doc/gfortran/SCAN.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SCAN</title> + +<meta name="description" content="The GNU Fortran Compiler: SCAN"> +<meta name="keywords" content="The GNU Fortran Compiler: SCAN"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SECNDS.html#SECNDS" rel="next" title="SECNDS"> +<link href="SCALE.html#SCALE" rel="previous" title="SCALE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SCAN"></a> +<div class="header"> +<p> +Next: <a href="SECNDS.html#SECNDS" accesskey="n" rel="next">SECNDS</a>, Previous: <a href="SCALE.html#SCALE" accesskey="p" rel="previous">SCALE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SCAN-_002d_002d_002d-Scan-a-string-for-the-presence-of-a-set-of-characters"></a> +<h3 class="section">8.236 <code>SCAN</code> — Scan a string for the presence of a set of characters</h3> +<a name="index-SCAN"></a> +<a name="index-string_002c-find-subset"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Scans a <var>STRING</var> for any of the characters in a <var>SET</var> +of characters. +</p> +<p>If <var>BACK</var> is either absent or equals <code>FALSE</code>, this function +returns the position of the leftmost character of <var>STRING</var> that is +in <var>SET</var>. If <var>BACK</var> equals <code>TRUE</code>, the rightmost position +is returned. If no character of <var>SET</var> is found in <var>STRING</var>, the +result is zero. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later, with <var>KIND</var> argument Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = SCAN(STRING, SET[, BACK [, KIND]])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>STRING</var></td><td width="70%">Shall be of type <code>CHARACTER</code>.</td></tr> +<tr><td width="15%"><var>SET</var></td><td width="70%">Shall be of type <code>CHARACTER</code>.</td></tr> +<tr><td width="15%"><var>BACK</var></td><td width="70%">(Optional) shall be of type <code>LOGICAL</code>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of kind <var>KIND</var>. If +<var>KIND</var> is absent, the return value is of default integer kind. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_scan + WRITE(*,*) SCAN("FORTRAN", "AO") ! 2, found 'O' + WRITE(*,*) SCAN("FORTRAN", "AO", .TRUE.) ! 6, found 'A' + WRITE(*,*) SCAN("FORTRAN", "C++") ! 0, found none +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="INDEX-intrinsic.html#INDEX-intrinsic">INDEX intrinsic</a>, <br> +<a href="VERIFY.html#VERIFY">VERIFY</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SECNDS.html b/share/doc/gfortran/SECNDS.html new file mode 100644 index 0000000..85029d4 --- /dev/null +++ b/share/doc/gfortran/SECNDS.html @@ -0,0 +1,136 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SECNDS</title> + +<meta name="description" content="The GNU Fortran Compiler: SECNDS"> +<meta name="keywords" content="The GNU Fortran Compiler: SECNDS"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SECOND.html#SECOND" rel="next" title="SECOND"> +<link href="SCAN.html#SCAN" rel="previous" title="SCAN"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SECNDS"></a> +<div class="header"> +<p> +Next: <a href="SECOND.html#SECOND" accesskey="n" rel="next">SECOND</a>, Previous: <a href="SCAN.html#SCAN" accesskey="p" rel="previous">SCAN</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SECNDS-_002d_002d_002d-Time-function"></a> +<h3 class="section">8.237 <code>SECNDS</code> — Time function</h3> +<a name="index-SECNDS"></a> +<a name="index-time_002c-elapsed-3"></a> +<a name="index-elapsed-time-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>SECNDS(X)</code> gets the time in seconds from the real-time system clock. +<var>X</var> is a reference time, also in seconds. If this is zero, the time in +seconds from midnight is returned. This function is non-standard and its +use is discouraged. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = SECNDS (X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>T</var></td><td width="70%">Shall be of type <code>REAL(4)</code>.</td></tr> +<tr><td width="15%"><var>X</var></td><td width="70%">Shall be of type <code>REAL(4)</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>None +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_secnds + integer :: i + real(4) :: t1, t2 + print *, secnds (0.0) ! seconds since midnight + t1 = secnds (0.0) ! reference time + do i = 1, 10000000 ! do something + end do + t2 = secnds (t1) ! elapsed time + print *, "Something took ", t2, " seconds." +end program test_secnds +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SECOND.html b/share/doc/gfortran/SECOND.html new file mode 100644 index 0000000..4ced5e9 --- /dev/null +++ b/share/doc/gfortran/SECOND.html @@ -0,0 +1,132 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SECOND</title> + +<meta name="description" content="The GNU Fortran Compiler: SECOND"> +<meta name="keywords" content="The GNU Fortran Compiler: SECOND"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SELECTED_005fCHAR_005fKIND.html#SELECTED_005fCHAR_005fKIND" rel="next" title="SELECTED_CHAR_KIND"> +<link href="SECNDS.html#SECNDS" rel="previous" title="SECNDS"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SECOND"></a> +<div class="header"> +<p> +Next: <a href="SELECTED_005fCHAR_005fKIND.html#SELECTED_005fCHAR_005fKIND" accesskey="n" rel="next">SELECTED_CHAR_KIND</a>, Previous: <a href="SECNDS.html#SECNDS" accesskey="p" rel="previous">SECNDS</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SECOND-_002d_002d_002d-CPU-time-function"></a> +<h3 class="section">8.238 <code>SECOND</code> — CPU time function</h3> +<a name="index-SECOND"></a> +<a name="index-time_002c-elapsed-4"></a> +<a name="index-elapsed-time-2"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns a <code>REAL(4)</code> value representing the elapsed CPU time in +seconds. This provides the same functionality as the standard +<code>CPU_TIME</code> intrinsic, and is only included for backwards +compatibility. +</p> +<p>This intrinsic is provided in both subroutine and function forms; +however, only one form can be used in any given program unit. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL SECOND(TIME)</code></td></tr> +<tr><td width="80%"><code>TIME = SECOND()</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>TIME</var></td><td width="70%">Shall be of type <code>REAL(4)</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>In either syntax, <var>TIME</var> is set to the process’s current runtime in +seconds. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="CPU_005fTIME.html#CPU_005fTIME">CPU_TIME</a> +</p> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SELECTED_005fCHAR_005fKIND.html b/share/doc/gfortran/SELECTED_005fCHAR_005fKIND.html new file mode 100644 index 0000000..9d311be --- /dev/null +++ b/share/doc/gfortran/SELECTED_005fCHAR_005fKIND.html @@ -0,0 +1,142 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SELECTED_CHAR_KIND</title> + +<meta name="description" content="The GNU Fortran Compiler: SELECTED_CHAR_KIND"> +<meta name="keywords" content="The GNU Fortran Compiler: SELECTED_CHAR_KIND"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SELECTED_005fINT_005fKIND.html#SELECTED_005fINT_005fKIND" rel="next" title="SELECTED_INT_KIND"> +<link href="SECOND.html#SECOND" rel="previous" title="SECOND"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SELECTED_005fCHAR_005fKIND"></a> +<div class="header"> +<p> +Next: <a href="SELECTED_005fINT_005fKIND.html#SELECTED_005fINT_005fKIND" accesskey="n" rel="next">SELECTED_INT_KIND</a>, Previous: <a href="SECOND.html#SECOND" accesskey="p" rel="previous">SECOND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SELECTED_005fCHAR_005fKIND-_002d_002d_002d-Choose-character-kind"></a> +<h3 class="section">8.239 <code>SELECTED_CHAR_KIND</code> — Choose character kind</h3> +<a name="index-SELECTED_005fCHAR_005fKIND"></a> +<a name="index-character-kind"></a> +<a name="index-kind_002c-character"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd> +<p><code>SELECTED_CHAR_KIND(NAME)</code> returns the kind value for the character +set named <var>NAME</var>, if a character set with such a name is supported, +or <em>-1</em> otherwise. Currently, supported character sets include +“ASCII” and “DEFAULT”, which are equivalent, and “ISO_10646” +(Universal Character Set, UCS-4) which is commonly known as Unicode. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = SELECTED_CHAR_KIND(NAME)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>NAME</var></td><td width="70%">Shall be a scalar and of the default character type.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program character_kind + use iso_fortran_env + implicit none + integer, parameter :: ascii = selected_char_kind ("ascii") + integer, parameter :: ucs4 = selected_char_kind ('ISO_10646') + + character(kind=ascii, len=26) :: alphabet + character(kind=ucs4, len=30) :: hello_world + + alphabet = ascii_"abcdefghijklmnopqrstuvwxyz" + hello_world = ucs4_'Hello World and Ni Hao -- ' & + // char (int (z'4F60'), ucs4) & + // char (int (z'597D'), ucs4) + + write (*,*) alphabet + + open (output_unit, encoding='UTF-8') + write (*,*) trim (hello_world) +end program character_kind +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SELECTED_005fINT_005fKIND.html b/share/doc/gfortran/SELECTED_005fINT_005fKIND.html new file mode 100644 index 0000000..8949ac0 --- /dev/null +++ b/share/doc/gfortran/SELECTED_005fINT_005fKIND.html @@ -0,0 +1,133 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SELECTED_INT_KIND</title> + +<meta name="description" content="The GNU Fortran Compiler: SELECTED_INT_KIND"> +<meta name="keywords" content="The GNU Fortran Compiler: SELECTED_INT_KIND"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SELECTED_005fREAL_005fKIND.html#SELECTED_005fREAL_005fKIND" rel="next" title="SELECTED_REAL_KIND"> +<link href="SELECTED_005fCHAR_005fKIND.html#SELECTED_005fCHAR_005fKIND" rel="previous" title="SELECTED_CHAR_KIND"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SELECTED_005fINT_005fKIND"></a> +<div class="header"> +<p> +Next: <a href="SELECTED_005fREAL_005fKIND.html#SELECTED_005fREAL_005fKIND" accesskey="n" rel="next">SELECTED_REAL_KIND</a>, Previous: <a href="SELECTED_005fCHAR_005fKIND.html#SELECTED_005fCHAR_005fKIND" accesskey="p" rel="previous">SELECTED_CHAR_KIND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SELECTED_005fINT_005fKIND-_002d_002d_002d-Choose-integer-kind"></a> +<h3 class="section">8.240 <code>SELECTED_INT_KIND</code> — Choose integer kind</h3> +<a name="index-SELECTED_005fINT_005fKIND"></a> +<a name="index-integer-kind"></a> +<a name="index-kind_002c-integer"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>SELECTED_INT_KIND(R)</code> return the kind value of the smallest integer +type that can represent all values ranging from <em>-10^R</em> (exclusive) +to <em>10^R</em> (exclusive). If there is no integer kind that accommodates +this range, <code>SELECTED_INT_KIND</code> returns <em>-1</em>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = SELECTED_INT_KIND(R)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>R</var></td><td width="70%">Shall be a scalar and of type <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program large_integers + integer,parameter :: k5 = selected_int_kind(5) + integer,parameter :: k15 = selected_int_kind(15) + integer(kind=k5) :: i5 + integer(kind=k15) :: i15 + + print *, huge(i5), huge(i15) + + ! The following inequalities are always true + print *, huge(i5) >= 10_k5**5-1 + print *, huge(i15) >= 10_k15**15-1 +end program large_integers +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SELECTED_005fREAL_005fKIND.html b/share/doc/gfortran/SELECTED_005fREAL_005fKIND.html new file mode 100644 index 0000000..33558c6 --- /dev/null +++ b/share/doc/gfortran/SELECTED_005fREAL_005fKIND.html @@ -0,0 +1,175 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SELECTED_REAL_KIND</title> + +<meta name="description" content="The GNU Fortran Compiler: SELECTED_REAL_KIND"> +<meta name="keywords" content="The GNU Fortran Compiler: SELECTED_REAL_KIND"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SET_005fEXPONENT.html#SET_005fEXPONENT" rel="next" title="SET_EXPONENT"> +<link href="SELECTED_005fINT_005fKIND.html#SELECTED_005fINT_005fKIND" rel="previous" title="SELECTED_INT_KIND"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SELECTED_005fREAL_005fKIND"></a> +<div class="header"> +<p> +Next: <a href="SET_005fEXPONENT.html#SET_005fEXPONENT" accesskey="n" rel="next">SET_EXPONENT</a>, Previous: <a href="SELECTED_005fINT_005fKIND.html#SELECTED_005fINT_005fKIND" accesskey="p" rel="previous">SELECTED_INT_KIND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SELECTED_005fREAL_005fKIND-_002d_002d_002d-Choose-real-kind"></a> +<h3 class="section">8.241 <code>SELECTED_REAL_KIND</code> — Choose real kind</h3> +<a name="index-SELECTED_005fREAL_005fKIND"></a> +<a name="index-real-kind"></a> +<a name="index-kind_002c-real"></a> +<a name="index-radix_002c-real"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>SELECTED_REAL_KIND(P,R)</code> returns the kind value of a real data type +with decimal precision of at least <code>P</code> digits, exponent range of +at least <code>R</code>, and with a radix of <code>RADIX</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later, with <code>RADIX</code> Fortran 2008 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = SELECTED_REAL_KIND([P, R, RADIX])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>P</var></td><td width="70%">(Optional) shall be a scalar and of type <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>R</var></td><td width="70%">(Optional) shall be a scalar and of type <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>RADIX</var></td><td width="70%">(Optional) shall be a scalar and of type <code>INTEGER</code>.</td></tr> +</table> +<p>Before Fortran 2008, at least one of the arguments <var>R</var> or <var>P</var> shall +be present; since Fortran 2008, they are assumed to be zero if absent. +</p> +</dd> +<dt><em>Return value</em>:</dt> +<dd> +<p><code>SELECTED_REAL_KIND</code> returns the value of the kind type parameter of +a real data type with decimal precision of at least <code>P</code> digits, a +decimal exponent range of at least <code>R</code>, and with the requested +<code>RADIX</code>. If the <code>RADIX</code> parameter is absent, real kinds with +any radix can be returned. If more than one real data type meet the +criteria, the kind of the data type with the smallest decimal precision +is returned. If no real data type matches the criteria, the result is +</p><dl compact="compact"> +<dt>-1 if the processor does not support a real data type with a</dt> +<dd><p>precision greater than or equal to <code>P</code>, but the <code>R</code> and +<code>RADIX</code> requirements can be fulfilled +</p></dd> +<dt>-2 if the processor does not support a real type with an exponent</dt> +<dd><p>range greater than or equal to <code>R</code>, but <code>P</code> and <code>RADIX</code> +are fulfillable +</p></dd> +<dt>-3 if <code>RADIX</code> but not <code>P</code> and <code>R</code> requirements</dt> +<dd><p>are fulfillable +</p></dd> +<dt>-4 if <code>RADIX</code> and either <code>P</code> or <code>R</code> requirements</dt> +<dd><p>are fulfillable +</p></dd> +<dt>-5 if there is no real type with the given <code>RADIX</code></dt> +</dl> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program real_kinds + integer,parameter :: p6 = selected_real_kind(6) + integer,parameter :: p10r100 = selected_real_kind(10,100) + integer,parameter :: r400 = selected_real_kind(r=400) + real(kind=p6) :: x + real(kind=p10r100) :: y + real(kind=r400) :: z + + print *, precision(x), range(x) + print *, precision(y), range(y) + print *, precision(z), range(z) +end program real_kinds +</pre></div> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="PRECISION.html#PRECISION">PRECISION</a>, <br> +<a href="RANGE.html#RANGE">RANGE</a>, <br> +<a href="RADIX.html#RADIX">RADIX</a> +</p></dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="SET_005fEXPONENT.html#SET_005fEXPONENT" accesskey="n" rel="next">SET_EXPONENT</a>, Previous: <a href="SELECTED_005fINT_005fKIND.html#SELECTED_005fINT_005fKIND" accesskey="p" rel="previous">SELECTED_INT_KIND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/SET_005fEXPONENT.html b/share/doc/gfortran/SET_005fEXPONENT.html new file mode 100644 index 0000000..ccd2c83 --- /dev/null +++ b/share/doc/gfortran/SET_005fEXPONENT.html @@ -0,0 +1,133 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SET_EXPONENT</title> + +<meta name="description" content="The GNU Fortran Compiler: SET_EXPONENT"> +<meta name="keywords" content="The GNU Fortran Compiler: SET_EXPONENT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SHAPE.html#SHAPE" rel="next" title="SHAPE"> +<link href="SELECTED_005fREAL_005fKIND.html#SELECTED_005fREAL_005fKIND" rel="previous" title="SELECTED_REAL_KIND"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SET_005fEXPONENT"></a> +<div class="header"> +<p> +Next: <a href="SHAPE.html#SHAPE" accesskey="n" rel="next">SHAPE</a>, Previous: <a href="SELECTED_005fREAL_005fKIND.html#SELECTED_005fREAL_005fKIND" accesskey="p" rel="previous">SELECTED_REAL_KIND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SET_005fEXPONENT-_002d_002d_002d-Set-the-exponent-of-the-model"></a> +<h3 class="section">8.242 <code>SET_EXPONENT</code> — Set the exponent of the model</h3> +<a name="index-SET_005fEXPONENT"></a> +<a name="index-real-number_002c-set-exponent"></a> +<a name="index-floating-point_002c-set-exponent"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>SET_EXPONENT(X, I)</code> returns the real number whose fractional part +is that of <var>X</var> and whose exponent part is <var>I</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = SET_EXPONENT(X, I)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">Shall be of type <code>REAL</code>.</td></tr> +<tr><td width="15%"><var>I</var></td><td width="70%">Shall be of type <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of the same type and kind as <var>X</var>. +The real number whose fractional part +is that of <var>X</var> and whose exponent part if <var>I</var> is returned; +it is <code>FRACTION(X) * RADIX(X)**I</code>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_setexp + REAL :: x = 178.1387e-4 + INTEGER :: i = 17 + PRINT *, SET_EXPONENT(x, i), FRACTION(x) * RADIX(x)**i +END PROGRAM +</pre></div> + +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SHAPE.html b/share/doc/gfortran/SHAPE.html new file mode 100644 index 0000000..1a116fc --- /dev/null +++ b/share/doc/gfortran/SHAPE.html @@ -0,0 +1,139 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SHAPE</title> + +<meta name="description" content="The GNU Fortran Compiler: SHAPE"> +<meta name="keywords" content="The GNU Fortran Compiler: SHAPE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SHIFTA.html#SHIFTA" rel="next" title="SHIFTA"> +<link href="SET_005fEXPONENT.html#SET_005fEXPONENT" rel="previous" title="SET_EXPONENT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SHAPE"></a> +<div class="header"> +<p> +Next: <a href="SHIFTA.html#SHIFTA" accesskey="n" rel="next">SHIFTA</a>, Previous: <a href="SET_005fEXPONENT.html#SET_005fEXPONENT" accesskey="p" rel="previous">SET_EXPONENT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SHAPE-_002d_002d_002d-Determine-the-shape-of-an-array"></a> +<h3 class="section">8.243 <code>SHAPE</code> — Determine the shape of an array</h3> +<a name="index-SHAPE"></a> +<a name="index-array_002c-shape"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Determines the shape of an array. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later, with <var>KIND</var> argument Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = SHAPE(SOURCE [, KIND])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>SOURCE</var></td><td width="70%">Shall be an array or scalar of any type. +If <var>SOURCE</var> is a pointer it must be associated and allocatable +arrays must be allocated.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>An <code>INTEGER</code> array of rank one with as many elements as <var>SOURCE</var> +has dimensions. The elements of the resulting array correspond to the extend +of <var>SOURCE</var> along the respective dimensions. If <var>SOURCE</var> is a scalar, +the result is the rank one array of size zero. If <var>KIND</var> is absent, the +return value has the default integer kind otherwise the specified kind. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_shape + INTEGER, DIMENSION(-1:1, -1:2) :: A + WRITE(*,*) SHAPE(A) ! (/ 3, 4 /) + WRITE(*,*) SIZE(SHAPE(42)) ! (/ /) +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="RESHAPE.html#RESHAPE">RESHAPE</a>, <br> +<a href="SIZE.html#SIZE">SIZE</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SHIFTA.html b/share/doc/gfortran/SHIFTA.html new file mode 100644 index 0000000..5617192 --- /dev/null +++ b/share/doc/gfortran/SHIFTA.html @@ -0,0 +1,130 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SHIFTA</title> + +<meta name="description" content="The GNU Fortran Compiler: SHIFTA"> +<meta name="keywords" content="The GNU Fortran Compiler: SHIFTA"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SHIFTL.html#SHIFTL" rel="next" title="SHIFTL"> +<link href="SHAPE.html#SHAPE" rel="previous" title="SHAPE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SHIFTA"></a> +<div class="header"> +<p> +Next: <a href="SHIFTL.html#SHIFTL" accesskey="n" rel="next">SHIFTL</a>, Previous: <a href="SHAPE.html#SHAPE" accesskey="p" rel="previous">SHAPE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SHIFTA-_002d_002d_002d-Right-shift-with-fill"></a> +<h3 class="section">8.244 <code>SHIFTA</code> — Right shift with fill</h3> +<a name="index-SHIFTA"></a> +<a name="index-bits_002c-shift-right-1"></a> +<a name="index-shift_002c-right-with-fill"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>SHIFTA</code> returns a value corresponding to <var>I</var> with all of the +bits shifted right by <var>SHIFT</var> places. <var>SHIFT</var> that be +nonnegative and less than or equal to <code>BIT_SIZE(I)</code>, otherwise +the result value is undefined. Bits shifted out from the right end +are lost. The fill is arithmetic: the bits shifted in from the left +end are equal to the leftmost bit, which in two’s complement +representation is the sign bit. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = SHIFTA(I, SHIFT)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>SHIFT</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of the same kind as +<var>I</var>. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="SHIFTL.html#SHIFTL">SHIFTL</a>, <br> +<a href="SHIFTR.html#SHIFTR">SHIFTR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SHIFTL.html b/share/doc/gfortran/SHIFTL.html new file mode 100644 index 0000000..b154544 --- /dev/null +++ b/share/doc/gfortran/SHIFTL.html @@ -0,0 +1,128 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SHIFTL</title> + +<meta name="description" content="The GNU Fortran Compiler: SHIFTL"> +<meta name="keywords" content="The GNU Fortran Compiler: SHIFTL"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SHIFTR.html#SHIFTR" rel="next" title="SHIFTR"> +<link href="SHIFTA.html#SHIFTA" rel="previous" title="SHIFTA"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SHIFTL"></a> +<div class="header"> +<p> +Next: <a href="SHIFTR.html#SHIFTR" accesskey="n" rel="next">SHIFTR</a>, Previous: <a href="SHIFTA.html#SHIFTA" accesskey="p" rel="previous">SHIFTA</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SHIFTL-_002d_002d_002d-Left-shift"></a> +<h3 class="section">8.245 <code>SHIFTL</code> — Left shift</h3> +<a name="index-SHIFTL"></a> +<a name="index-bits_002c-shift-left-1"></a> +<a name="index-shift_002c-left-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>SHIFTL</code> returns a value corresponding to <var>I</var> with all of the +bits shifted left by <var>SHIFT</var> places. <var>SHIFT</var> shall be +nonnegative and less than or equal to <code>BIT_SIZE(I)</code>, otherwise +the result value is undefined. Bits shifted out from the left end are +lost, and bits shifted in from the right end are set to 0. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = SHIFTL(I, SHIFT)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>SHIFT</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of the same kind as +<var>I</var>. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="SHIFTA.html#SHIFTA">SHIFTA</a>, <br> +<a href="SHIFTR.html#SHIFTR">SHIFTR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SHIFTR.html b/share/doc/gfortran/SHIFTR.html new file mode 100644 index 0000000..5087edd --- /dev/null +++ b/share/doc/gfortran/SHIFTR.html @@ -0,0 +1,128 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SHIFTR</title> + +<meta name="description" content="The GNU Fortran Compiler: SHIFTR"> +<meta name="keywords" content="The GNU Fortran Compiler: SHIFTR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SIGN.html#SIGN" rel="next" title="SIGN"> +<link href="SHIFTL.html#SHIFTL" rel="previous" title="SHIFTL"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SHIFTR"></a> +<div class="header"> +<p> +Next: <a href="SIGN.html#SIGN" accesskey="n" rel="next">SIGN</a>, Previous: <a href="SHIFTL.html#SHIFTL" accesskey="p" rel="previous">SHIFTL</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SHIFTR-_002d_002d_002d-Right-shift"></a> +<h3 class="section">8.246 <code>SHIFTR</code> — Right shift</h3> +<a name="index-SHIFTR"></a> +<a name="index-bits_002c-shift-right-2"></a> +<a name="index-shift_002c-right-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>SHIFTR</code> returns a value corresponding to <var>I</var> with all of the +bits shifted right by <var>SHIFT</var> places. <var>SHIFT</var> shall be +nonnegative and less than or equal to <code>BIT_SIZE(I)</code>, otherwise +the result value is undefined. Bits shifted out from the right end +are lost, and bits shifted in from the left end are set to 0. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = SHIFTR(I, SHIFT)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>SHIFT</var></td><td width="70%">The type shall be <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of the same kind as +<var>I</var>. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="SHIFTA.html#SHIFTA">SHIFTA</a>, <br> +<a href="SHIFTL.html#SHIFTL">SHIFTL</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SIGN.html b/share/doc/gfortran/SIGN.html new file mode 100644 index 0000000..812e075 --- /dev/null +++ b/share/doc/gfortran/SIGN.html @@ -0,0 +1,144 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SIGN</title> + +<meta name="description" content="The GNU Fortran Compiler: SIGN"> +<meta name="keywords" content="The GNU Fortran Compiler: SIGN"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SIGNAL.html#SIGNAL" rel="next" title="SIGNAL"> +<link href="SHIFTR.html#SHIFTR" rel="previous" title="SHIFTR"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SIGN"></a> +<div class="header"> +<p> +Next: <a href="SIGNAL.html#SIGNAL" accesskey="n" rel="next">SIGNAL</a>, Previous: <a href="SHIFTR.html#SHIFTR" accesskey="p" rel="previous">SHIFTR</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SIGN-_002d_002d_002d-Sign-copying-function"></a> +<h3 class="section">8.247 <code>SIGN</code> — Sign copying function</h3> +<a name="index-SIGN"></a> +<a name="index-ISIGN"></a> +<a name="index-DSIGN"></a> +<a name="index-sign-copying"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>SIGN(A,B)</code> returns the value of <var>A</var> with the sign of <var>B</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = SIGN(A, B)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>A</var></td><td width="70%">Shall be of type <code>INTEGER</code> or <code>REAL</code></td></tr> +<tr><td width="15%"><var>B</var></td><td width="70%">Shall be of the same type and kind as <var>A</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The kind of the return value is that of <var>A</var> and <var>B</var>. +If <em>B \ge 0</em> then the result is <code>ABS(A)</code>, else +it is <code>-ABS(A)</code>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_sign + print *, sign(-12,1) + print *, sign(-12,0) + print *, sign(-12,-1) + + print *, sign(-12.,1.) + print *, sign(-12.,0.) + print *, sign(-12.,-1.) +end program test_sign +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="26%">Arguments</th><th width="20%">Return type</th><th width="30%">Standard</th></tr></thead> +<tr><td width="20%"><code>SIGN(A,B)</code></td><td width="26%"><code>REAL(4) A, B</code></td><td width="20%"><code>REAL(4)</code></td><td width="30%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>ISIGN(A,B)</code></td><td width="26%"><code>INTEGER(4) A, B</code></td><td width="20%"><code>INTEGER(4)</code></td><td width="30%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>DSIGN(A,B)</code></td><td width="26%"><code>REAL(8) A, B</code></td><td width="20%"><code>REAL(8)</code></td><td width="30%">Fortran 77 and later</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SIGNAL.html b/share/doc/gfortran/SIGNAL.html new file mode 100644 index 0000000..1d2577e --- /dev/null +++ b/share/doc/gfortran/SIGNAL.html @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SIGNAL</title> + +<meta name="description" content="The GNU Fortran Compiler: SIGNAL"> +<meta name="keywords" content="The GNU Fortran Compiler: SIGNAL"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SIN.html#SIN" rel="next" title="SIN"> +<link href="SIGN.html#SIGN" rel="previous" title="SIGN"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SIGNAL"></a> +<div class="header"> +<p> +Next: <a href="SIN.html#SIN" accesskey="n" rel="next">SIN</a>, Previous: <a href="SIGN.html#SIGN" accesskey="p" rel="previous">SIGN</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SIGNAL-_002d_002d_002d-Signal-handling-subroutine-_0028or-function_0029"></a> +<h3 class="section">8.248 <code>SIGNAL</code> — Signal handling subroutine (or function)</h3> +<a name="index-SIGNAL"></a> +<a name="index-system_002c-signal-handling"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>SIGNAL(NUMBER, HANDLER [, STATUS])</code> causes external subroutine +<var>HANDLER</var> to be executed with a single integer argument when signal +<var>NUMBER</var> occurs. If <var>HANDLER</var> is an integer, it can be used to +turn off handling of signal <var>NUMBER</var> or revert to its default +action. See <code>signal(2)</code>. +</p> +<p>If <code>SIGNAL</code> is called as a subroutine and the <var>STATUS</var> argument +is supplied, it is set to the value returned by <code>signal(2)</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL SIGNAL(NUMBER, HANDLER [, STATUS])</code></td></tr> +<tr><td width="80%"><code>STATUS = SIGNAL(NUMBER, HANDLER)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>NUMBER</var></td><td width="70%">Shall be a scalar integer, with <code>INTENT(IN)</code></td></tr> +<tr><td width="15%"><var>HANDLER</var></td><td width="70%">Signal handler (<code>INTEGER FUNCTION</code> or +<code>SUBROUTINE</code>) or dummy/global <code>INTEGER</code> scalar. +<code>INTEGER</code>. It is <code>INTENT(IN)</code>.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">(Optional) <var>STATUS</var> shall be a scalar +integer. It has <code>INTENT(OUT)</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The <code>SIGNAL</code> function returns the value returned by <code>signal(2)</code>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_signal + intrinsic signal + external handler_print + + call signal (12, handler_print) + call signal (10, 1) + + call sleep (30) +end program test_signal +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SIN.html b/share/doc/gfortran/SIN.html new file mode 100644 index 0000000..2f1a0d7 --- /dev/null +++ b/share/doc/gfortran/SIN.html @@ -0,0 +1,149 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SIN</title> + +<meta name="description" content="The GNU Fortran Compiler: SIN"> +<meta name="keywords" content="The GNU Fortran Compiler: SIN"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SIND.html#SIND" rel="next" title="SIND"> +<link href="SIGNAL.html#SIGNAL" rel="previous" title="SIGNAL"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SIN"></a> +<div class="header"> +<p> +Next: <a href="SIND.html#SIND" accesskey="n" rel="next">SIND</a>, Previous: <a href="SIGNAL.html#SIGNAL" accesskey="p" rel="previous">SIGNAL</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SIN-_002d_002d_002d-Sine-function"></a> +<h3 class="section">8.249 <code>SIN</code> — Sine function</h3> +<a name="index-SIN"></a> +<a name="index-DSIN"></a> +<a name="index-CSIN"></a> +<a name="index-ZSIN"></a> +<a name="index-CDSIN"></a> +<a name="index-trigonometric-function_002c-sine"></a> +<a name="index-sine"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>SIN(X)</code> computes the sine of <var>X</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = SIN(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code> or +<code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value has same type and kind as <var>X</var>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_sin + real :: x = 0.0 + x = sin(x) +end program test_sin +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>SIN(X)</code></td><td width="23%"><code>REAL(4) X</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>DSIN(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>CSIN(X)</code></td><td width="23%"><code>COMPLEX(4) X</code></td><td width="20%"><code>COMPLEX(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>ZSIN(X)</code></td><td width="23%"><code>COMPLEX(8) X</code></td><td width="20%"><code>COMPLEX(8)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>CDSIN(X)</code></td><td width="23%"><code>COMPLEX(8) X</code></td><td width="20%"><code>COMPLEX(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Inverse function: <br> +<a href="ASIN.html#ASIN">ASIN</a> <br> +Degrees function: <br> +<a href="SIND.html#SIND">SIND</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SIND.html b/share/doc/gfortran/SIND.html new file mode 100644 index 0000000..6cf7f13 --- /dev/null +++ b/share/doc/gfortran/SIND.html @@ -0,0 +1,152 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SIND</title> + +<meta name="description" content="The GNU Fortran Compiler: SIND"> +<meta name="keywords" content="The GNU Fortran Compiler: SIND"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SINH.html#SINH" rel="next" title="SINH"> +<link href="SIN.html#SIN" rel="previous" title="SIN"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SIND"></a> +<div class="header"> +<p> +Next: <a href="SINH.html#SINH" accesskey="n" rel="next">SINH</a>, Previous: <a href="SIN.html#SIN" accesskey="p" rel="previous">SIN</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SIND-_002d_002d_002d-Sine-function_002c-degrees"></a> +<h3 class="section">8.250 <code>SIND</code> — Sine function, degrees</h3> +<a name="index-SIND"></a> +<a name="index-DSIND"></a> +<a name="index-CSIND"></a> +<a name="index-ZSIND"></a> +<a name="index-CDSIND"></a> +<a name="index-trigonometric-function_002c-sine_002c-degrees"></a> +<a name="index-sine_002c-degrees"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>SIND(X)</code> computes the sine of <var>X</var> in degrees. +</p> +<p>This function is for compatibility only and should be avoided in favor of +standard constructs wherever possible. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension, enabled with <samp>-fdec-math</samp>. +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = SIND(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code> or +<code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value has same type and kind as <var>X</var>, and its value is in degrees. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_sind + real :: x = 0.0 + x = sind(x) +end program test_sind +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>SIND(X)</code></td><td width="23%"><code>REAL(4) X</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>DSIND(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>CSIND(X)</code></td><td width="23%"><code>COMPLEX(4) X</code></td><td width="20%"><code>COMPLEX(4)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>ZSIND(X)</code></td><td width="23%"><code>COMPLEX(8) X</code></td><td width="20%"><code>COMPLEX(8)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>CDSIND(X)</code></td><td width="23%"><code>COMPLEX(8) X</code></td><td width="20%"><code>COMPLEX(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Inverse function: <br> +<a href="ASIND.html#ASIND">ASIND</a> <br> +Radians function: <br> +<a href="SIN.html#SIN">SIN</a> <br> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SINH.html b/share/doc/gfortran/SINH.html new file mode 100644 index 0000000..cc51f7c --- /dev/null +++ b/share/doc/gfortran/SINH.html @@ -0,0 +1,140 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SINH</title> + +<meta name="description" content="The GNU Fortran Compiler: SINH"> +<meta name="keywords" content="The GNU Fortran Compiler: SINH"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SIZE.html#SIZE" rel="next" title="SIZE"> +<link href="SIND.html#SIND" rel="previous" title="SIND"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SINH"></a> +<div class="header"> +<p> +Next: <a href="SIZE.html#SIZE" accesskey="n" rel="next">SIZE</a>, Previous: <a href="SIND.html#SIND" accesskey="p" rel="previous">SIND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SINH-_002d_002d_002d-Hyperbolic-sine-function"></a> +<h3 class="section">8.251 <code>SINH</code> — Hyperbolic sine function</h3> +<a name="index-SINH"></a> +<a name="index-DSINH"></a> +<a name="index-hyperbolic-sine"></a> +<a name="index-hyperbolic-function_002c-sine"></a> +<a name="index-sine_002c-hyperbolic"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>SINH(X)</code> computes the hyperbolic sine of <var>X</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later, for a complex argument Fortran 2008 or later, has +a GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = SINH(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code> or <code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value has same type and kind as <var>X</var>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_sinh + real(8) :: x = - 1.0_8 + x = sinh(x) +end program test_sinh +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>DSINH(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">Fortran 90 and later</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ASINH.html#ASINH">ASINH</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SIZE.html b/share/doc/gfortran/SIZE.html new file mode 100644 index 0000000..9a83d04 --- /dev/null +++ b/share/doc/gfortran/SIZE.html @@ -0,0 +1,138 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SIZE</title> + +<meta name="description" content="The GNU Fortran Compiler: SIZE"> +<meta name="keywords" content="The GNU Fortran Compiler: SIZE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SIZEOF.html#SIZEOF" rel="next" title="SIZEOF"> +<link href="SINH.html#SINH" rel="previous" title="SINH"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SIZE"></a> +<div class="header"> +<p> +Next: <a href="SIZEOF.html#SIZEOF" accesskey="n" rel="next">SIZEOF</a>, Previous: <a href="SINH.html#SINH" accesskey="p" rel="previous">SINH</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SIZE-_002d_002d_002d-Determine-the-size-of-an-array"></a> +<h3 class="section">8.252 <code>SIZE</code> — Determine the size of an array</h3> +<a name="index-SIZE"></a> +<a name="index-array_002c-size"></a> +<a name="index-array_002c-number-of-elements-1"></a> +<a name="index-array_002c-count-elements"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Determine the extent of <var>ARRAY</var> along a specified dimension <var>DIM</var>, +or the total number of elements in <var>ARRAY</var> if <var>DIM</var> is absent. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later, with <var>KIND</var> argument Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = SIZE(ARRAY[, DIM [, KIND]])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ARRAY</var></td><td width="70%">Shall be an array of any type. If <var>ARRAY</var> is +a pointer it must be associated and allocatable arrays must be allocated.</td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">(Optional) shall be a scalar of type <code>INTEGER</code> +and its value shall be in the range from 1 to n, where n equals the rank +of <var>ARRAY</var>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of kind <var>KIND</var>. If +<var>KIND</var> is absent, the return value is of default integer kind. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_size + WRITE(*,*) SIZE((/ 1, 2 /)) ! 2 +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="SHAPE.html#SHAPE">SHAPE</a>, <br> +<a href="RESHAPE.html#RESHAPE">RESHAPE</a> +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SIZEOF.html b/share/doc/gfortran/SIZEOF.html new file mode 100644 index 0000000..9b2f1b1 --- /dev/null +++ b/share/doc/gfortran/SIZEOF.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SIZEOF</title> + +<meta name="description" content="The GNU Fortran Compiler: SIZEOF"> +<meta name="keywords" content="The GNU Fortran Compiler: SIZEOF"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SLEEP.html#SLEEP" rel="next" title="SLEEP"> +<link href="SIZE.html#SIZE" rel="previous" title="SIZE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SIZEOF"></a> +<div class="header"> +<p> +Next: <a href="SLEEP.html#SLEEP" accesskey="n" rel="next">SLEEP</a>, Previous: <a href="SIZE.html#SIZE" accesskey="p" rel="previous">SIZE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SIZEOF-_002d_002d_002d-Size-in-bytes-of-an-expression"></a> +<h3 class="section">8.253 <code>SIZEOF</code> — Size in bytes of an expression</h3> +<a name="index-SIZEOF"></a> +<a name="index-expression-size-1"></a> +<a name="index-size-of-an-expression-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>SIZEOF(X)</code> calculates the number of bytes of storage the +expression <code>X</code> occupies. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>N = SIZEOF(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The argument shall be of any type, rank or shape.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type integer and of the system-dependent kind +<var>C_SIZE_T</var> (from the <var>ISO_C_BINDING</var> module). Its value is the +number of bytes occupied by the argument. If the argument has the +<code>POINTER</code> attribute, the number of bytes of the storage area pointed +to is returned. If the argument is of a derived type with <code>POINTER</code> +or <code>ALLOCATABLE</code> components, the return value does not account for +the sizes of the data pointed to by these components. If the argument is +polymorphic, the size according to the dynamic type is returned. The argument +may not be a procedure or procedure pointer. Note that the code assumes for +arrays that those are contiguous; for contiguous arrays, it returns the +storage or an array element multiplied by the size of the array. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample"> integer :: i + real :: r, s(5) + print *, (sizeof(s)/sizeof(r) == 5) + end +</pre></div> +<p>The example will print <code>.TRUE.</code> unless you are using a platform +where default <code>REAL</code> variables are unusually padded. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="C_005fSIZEOF.html#C_005fSIZEOF">C_SIZEOF</a>, <br> +<a href="STORAGE_005fSIZE.html#STORAGE_005fSIZE">STORAGE_SIZE</a> +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SLEEP.html b/share/doc/gfortran/SLEEP.html new file mode 100644 index 0000000..6e97b4b --- /dev/null +++ b/share/doc/gfortran/SLEEP.html @@ -0,0 +1,120 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SLEEP</title> + +<meta name="description" content="The GNU Fortran Compiler: SLEEP"> +<meta name="keywords" content="The GNU Fortran Compiler: SLEEP"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SPACING.html#SPACING" rel="next" title="SPACING"> +<link href="SIZEOF.html#SIZEOF" rel="previous" title="SIZEOF"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SLEEP"></a> +<div class="header"> +<p> +Next: <a href="SPACING.html#SPACING" accesskey="n" rel="next">SPACING</a>, Previous: <a href="SIZEOF.html#SIZEOF" accesskey="p" rel="previous">SIZEOF</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SLEEP-_002d_002d_002d-Sleep-for-the-specified-number-of-seconds"></a> +<h3 class="section">8.254 <code>SLEEP</code> — Sleep for the specified number of seconds</h3> +<a name="index-SLEEP"></a> +<a name="index-delayed-execution-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Calling this subroutine causes the process to pause for <var>SECONDS</var> seconds. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL SLEEP(SECONDS)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>SECONDS</var></td><td width="70%">The type shall be of default <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_sleep + call sleep(5) +end +</pre></div> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SPACING.html b/share/doc/gfortran/SPACING.html new file mode 100644 index 0000000..87be995 --- /dev/null +++ b/share/doc/gfortran/SPACING.html @@ -0,0 +1,134 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SPACING</title> + +<meta name="description" content="The GNU Fortran Compiler: SPACING"> +<meta name="keywords" content="The GNU Fortran Compiler: SPACING"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SPREAD.html#SPREAD" rel="next" title="SPREAD"> +<link href="SLEEP.html#SLEEP" rel="previous" title="SLEEP"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SPACING"></a> +<div class="header"> +<p> +Next: <a href="SPREAD.html#SPREAD" accesskey="n" rel="next">SPREAD</a>, Previous: <a href="SLEEP.html#SLEEP" accesskey="p" rel="previous">SLEEP</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SPACING-_002d_002d_002d-Smallest-distance-between-two-numbers-of-a-given-type"></a> +<h3 class="section">8.255 <code>SPACING</code> — Smallest distance between two numbers of a given type</h3> +<a name="index-SPACING"></a> +<a name="index-real-number_002c-relative-spacing-1"></a> +<a name="index-floating-point_002c-relative-spacing-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Determines the distance between the argument <var>X</var> and the nearest +adjacent number of the same type. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = SPACING(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">Shall be of type <code>REAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The result is of the same type as the input argument <var>X</var>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_spacing + INTEGER, PARAMETER :: SGL = SELECTED_REAL_KIND(p=6, r=37) + INTEGER, PARAMETER :: DBL = SELECTED_REAL_KIND(p=13, r=200) + + WRITE(*,*) spacing(1.0_SGL) ! "1.1920929E-07" on i686 + WRITE(*,*) spacing(1.0_DBL) ! "2.220446049250313E-016" on i686 +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="RRSPACING.html#RRSPACING">RRSPACING</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SPREAD.html b/share/doc/gfortran/SPREAD.html new file mode 100644 index 0000000..25593cc --- /dev/null +++ b/share/doc/gfortran/SPREAD.html @@ -0,0 +1,138 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SPREAD</title> + +<meta name="description" content="The GNU Fortran Compiler: SPREAD"> +<meta name="keywords" content="The GNU Fortran Compiler: SPREAD"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SQRT.html#SQRT" rel="next" title="SQRT"> +<link href="SPACING.html#SPACING" rel="previous" title="SPACING"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SPREAD"></a> +<div class="header"> +<p> +Next: <a href="SQRT.html#SQRT" accesskey="n" rel="next">SQRT</a>, Previous: <a href="SPACING.html#SPACING" accesskey="p" rel="previous">SPACING</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SPREAD-_002d_002d_002d-Add-a-dimension-to-an-array"></a> +<h3 class="section">8.256 <code>SPREAD</code> — Add a dimension to an array</h3> +<a name="index-SPREAD"></a> +<a name="index-array_002c-increase-dimension"></a> +<a name="index-array_002c-duplicate-elements"></a> +<a name="index-array_002c-duplicate-dimensions"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Replicates a <var>SOURCE</var> array <var>NCOPIES</var> times along a specified +dimension <var>DIM</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = SPREAD(SOURCE, DIM, NCOPIES)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>SOURCE</var></td><td width="70%">Shall be a scalar or an array of any type and +a rank less than seven.</td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">Shall be a scalar of type <code>INTEGER</code> with a +value in the range from 1 to n+1, where n equals the rank of <var>SOURCE</var>.</td></tr> +<tr><td width="15%"><var>NCOPIES</var></td><td width="70%">Shall be a scalar of type <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The result is an array of the same type as <var>SOURCE</var> and has rank n+1 +where n equals the rank of <var>SOURCE</var>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_spread + INTEGER :: a = 1, b(2) = (/ 1, 2 /) + WRITE(*,*) SPREAD(A, 1, 2) ! "1 1" + WRITE(*,*) SPREAD(B, 1, 2) ! "1 1 2 2" +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="UNPACK.html#UNPACK">UNPACK</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SQRT.html b/share/doc/gfortran/SQRT.html new file mode 100644 index 0000000..c259fe7 --- /dev/null +++ b/share/doc/gfortran/SQRT.html @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SQRT</title> + +<meta name="description" content="The GNU Fortran Compiler: SQRT"> +<meta name="keywords" content="The GNU Fortran Compiler: SQRT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SRAND.html#SRAND" rel="next" title="SRAND"> +<link href="SPREAD.html#SPREAD" rel="previous" title="SPREAD"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SQRT"></a> +<div class="header"> +<p> +Next: <a href="SRAND.html#SRAND" accesskey="n" rel="next">SRAND</a>, Previous: <a href="SPREAD.html#SPREAD" accesskey="p" rel="previous">SPREAD</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SQRT-_002d_002d_002d-Square_002droot-function"></a> +<h3 class="section">8.257 <code>SQRT</code> — Square-root function</h3> +<a name="index-SQRT"></a> +<a name="index-DSQRT"></a> +<a name="index-CSQRT"></a> +<a name="index-ZSQRT"></a> +<a name="index-CDSQRT"></a> +<a name="index-root"></a> +<a name="index-square_002droot"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>SQRT(X)</code> computes the square root of <var>X</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = SQRT(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code> or +<code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>REAL</code> or <code>COMPLEX</code>. +The kind type parameter is the same as <var>X</var>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_sqrt + real(8) :: x = 2.0_8 + complex :: z = (1.0, 2.0) + x = sqrt(x) + z = sqrt(z) +end program test_sqrt +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>SQRT(X)</code></td><td width="23%"><code>REAL(4) X</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>DSQRT(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>CSQRT(X)</code></td><td width="23%"><code>COMPLEX(4) X</code></td><td width="20%"><code>COMPLEX(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>ZSQRT(X)</code></td><td width="23%"><code>COMPLEX(8) X</code></td><td width="20%"><code>COMPLEX(8)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>CDSQRT(X)</code></td><td width="23%"><code>COMPLEX(8) X</code></td><td width="20%"><code>COMPLEX(8)</code></td><td width="33%">GNU extension</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SRAND.html b/share/doc/gfortran/SRAND.html new file mode 100644 index 0000000..f6d8b02 --- /dev/null +++ b/share/doc/gfortran/SRAND.html @@ -0,0 +1,141 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SRAND</title> + +<meta name="description" content="The GNU Fortran Compiler: SRAND"> +<meta name="keywords" content="The GNU Fortran Compiler: SRAND"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="STAT.html#STAT" rel="next" title="STAT"> +<link href="SQRT.html#SQRT" rel="previous" title="SQRT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SRAND"></a> +<div class="header"> +<p> +Next: <a href="STAT.html#STAT" accesskey="n" rel="next">STAT</a>, Previous: <a href="SQRT.html#SQRT" accesskey="p" rel="previous">SQRT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SRAND-_002d_002d_002d-Reinitialize-the-random-number-generator"></a> +<h3 class="section">8.258 <code>SRAND</code> — Reinitialize the random number generator</h3> +<a name="index-SRAND"></a> +<a name="index-random-number-generation_002c-seeding-1"></a> +<a name="index-seeding-a-random-number-generator-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>SRAND</code> reinitializes the pseudo-random number generator +called by <code>RAND</code> and <code>IRAND</code>. The new seed used by the +generator is specified by the required argument <var>SEED</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL SRAND(SEED)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>SEED</var></td><td width="70%">Shall be a scalar <code>INTEGER(kind=4)</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Does not return anything. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><p>See <code>RAND</code> and <code>IRAND</code> for examples. +</p> +</dd> +<dt><em>Notes</em>:</dt> +<dd><p>The Fortran standard specifies the intrinsic subroutines +<code>RANDOM_SEED</code> to initialize the pseudo-random number +generator and <code>RANDOM_NUMBER</code> to generate pseudo-random numbers. +These subroutines should be used in new codes. +</p> +<p>Please note that in GNU Fortran, these two sets of intrinsics (<code>RAND</code>, +<code>IRAND</code> and <code>SRAND</code> on the one hand, <code>RANDOM_NUMBER</code> and +<code>RANDOM_SEED</code> on the other hand) access two independent +pseudo-random number generators. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="RAND.html#RAND">RAND</a>, <br> +<a href="RANDOM_005fSEED.html#RANDOM_005fSEED">RANDOM_SEED</a>, <br> +<a href="RANDOM_005fNUMBER.html#RANDOM_005fNUMBER">RANDOM_NUMBER</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/STAT.html b/share/doc/gfortran/STAT.html new file mode 100644 index 0000000..680a7e4 --- /dev/null +++ b/share/doc/gfortran/STAT.html @@ -0,0 +1,183 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: STAT</title> + +<meta name="description" content="The GNU Fortran Compiler: STAT"> +<meta name="keywords" content="The GNU Fortran Compiler: STAT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="STORAGE_005fSIZE.html#STORAGE_005fSIZE" rel="next" title="STORAGE_SIZE"> +<link href="SRAND.html#SRAND" rel="previous" title="SRAND"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="STAT"></a> +<div class="header"> +<p> +Next: <a href="STORAGE_005fSIZE.html#STORAGE_005fSIZE" accesskey="n" rel="next">STORAGE_SIZE</a>, Previous: <a href="SRAND.html#SRAND" accesskey="p" rel="previous">SRAND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="STAT-_002d_002d_002d-Get-file-status"></a> +<h3 class="section">8.259 <code>STAT</code> — Get file status</h3> +<a name="index-STAT"></a> +<a name="index-file-system_002c-file-status-2"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>This function returns information about a file. No permissions are required on +the file itself, but execute (search) permission is required on all of the +directories in path that lead to the file. +</p> +<p>The elements that are obtained and stored in the array <code>VALUES</code>: +</p><table> +<tr><td width="15%"><code>VALUES(1)</code></td><td width="70%">Device ID</td></tr> +<tr><td width="15%"><code>VALUES(2)</code></td><td width="70%">Inode number</td></tr> +<tr><td width="15%"><code>VALUES(3)</code></td><td width="70%">File mode</td></tr> +<tr><td width="15%"><code>VALUES(4)</code></td><td width="70%">Number of links</td></tr> +<tr><td width="15%"><code>VALUES(5)</code></td><td width="70%">Owner’s uid</td></tr> +<tr><td width="15%"><code>VALUES(6)</code></td><td width="70%">Owner’s gid</td></tr> +<tr><td width="15%"><code>VALUES(7)</code></td><td width="70%">ID of device containing directory entry for file (0 if not available)</td></tr> +<tr><td width="15%"><code>VALUES(8)</code></td><td width="70%">File size (bytes)</td></tr> +<tr><td width="15%"><code>VALUES(9)</code></td><td width="70%">Last access time</td></tr> +<tr><td width="15%"><code>VALUES(10)</code></td><td width="70%">Last modification time</td></tr> +<tr><td width="15%"><code>VALUES(11)</code></td><td width="70%">Last file status change time</td></tr> +<tr><td width="15%"><code>VALUES(12)</code></td><td width="70%">Preferred I/O block size (-1 if not available)</td></tr> +<tr><td width="15%"><code>VALUES(13)</code></td><td width="70%">Number of blocks allocated (-1 if not available)</td></tr> +</table> + +<p>Not all these elements are relevant on all systems. +If an element is not relevant, it is returned as 0. +</p> +<p>This intrinsic is provided in both subroutine and function forms; however, +only one form can be used in any given program unit. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL STAT(NAME, VALUES [, STATUS])</code></td></tr> +<tr><td width="80%"><code>STATUS = STAT(NAME, VALUES)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>NAME</var></td><td width="70%">The type shall be <code>CHARACTER</code>, of the +default kind and a valid path within the file system.</td></tr> +<tr><td width="15%"><var>VALUES</var></td><td width="70%">The type shall be <code>INTEGER(4), DIMENSION(13)</code>.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">(Optional) status flag of type <code>INTEGER(4)</code>. Returns 0 +on success and a system specific error code otherwise.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_stat + INTEGER, DIMENSION(13) :: buff + INTEGER :: status + + CALL STAT("/etc/passwd", buff, status) + + IF (status == 0) THEN + WRITE (*, FMT="('Device ID:', T30, I19)") buff(1) + WRITE (*, FMT="('Inode number:', T30, I19)") buff(2) + WRITE (*, FMT="('File mode (octal):', T30, O19)") buff(3) + WRITE (*, FMT="('Number of links:', T30, I19)") buff(4) + WRITE (*, FMT="('Owner''s uid:', T30, I19)") buff(5) + WRITE (*, FMT="('Owner''s gid:', T30, I19)") buff(6) + WRITE (*, FMT="('Device where located:', T30, I19)") buff(7) + WRITE (*, FMT="('File size:', T30, I19)") buff(8) + WRITE (*, FMT="('Last access time:', T30, A19)") CTIME(buff(9)) + WRITE (*, FMT="('Last modification time', T30, A19)") CTIME(buff(10)) + WRITE (*, FMT="('Last status change time:', T30, A19)") CTIME(buff(11)) + WRITE (*, FMT="('Preferred block size:', T30, I19)") buff(12) + WRITE (*, FMT="('No. of blocks allocated:', T30, I19)") buff(13) + END IF +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>To stat an open file: <br> +<a href="FSTAT.html#FSTAT">FSTAT</a> <br> +To stat a link: <br> +<a href="LSTAT.html#LSTAT">LSTAT</a> +</p></dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="STORAGE_005fSIZE.html#STORAGE_005fSIZE" accesskey="n" rel="next">STORAGE_SIZE</a>, Previous: <a href="SRAND.html#SRAND" accesskey="p" rel="previous">SRAND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/STORAGE_005fSIZE.html b/share/doc/gfortran/STORAGE_005fSIZE.html new file mode 100644 index 0000000..30c13ab --- /dev/null +++ b/share/doc/gfortran/STORAGE_005fSIZE.html @@ -0,0 +1,122 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: STORAGE_SIZE</title> + +<meta name="description" content="The GNU Fortran Compiler: STORAGE_SIZE"> +<meta name="keywords" content="The GNU Fortran Compiler: STORAGE_SIZE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SUM.html#SUM" rel="next" title="SUM"> +<link href="STAT.html#STAT" rel="previous" title="STAT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="STORAGE_005fSIZE"></a> +<div class="header"> +<p> +Next: <a href="SUM.html#SUM" accesskey="n" rel="next">SUM</a>, Previous: <a href="STAT.html#STAT" accesskey="p" rel="previous">STAT</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="STORAGE_005fSIZE-_002d_002d_002d-Storage-size-in-bits"></a> +<h3 class="section">8.260 <code>STORAGE_SIZE</code> — Storage size in bits</h3> +<a name="index-STORAGE_005fSIZE"></a> +<a name="index-storage-size"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the storage size of argument <var>A</var> in bits. +</p></dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p></dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p></dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = STORAGE_SIZE(A [, KIND])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>A</var></td><td width="70%">Shall be a scalar or array of any type.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) shall be a scalar integer constant expression.</td></tr> +</table> + +</dd> +<dt><em>Return Value</em>:</dt> +<dd><p>The result is a scalar integer with the kind type parameter specified by KIND +(or default integer type if KIND is missing). The result value is the size +expressed in bits for an element of an array that has the dynamic type and type +parameters of A. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="C_005fSIZEOF.html#C_005fSIZEOF">C_SIZEOF</a>, <br> +<a href="SIZEOF.html#SIZEOF">SIZEOF</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/STRUCTURE-and-RECORD.html b/share/doc/gfortran/STRUCTURE-and-RECORD.html new file mode 100644 index 0000000..59640da --- /dev/null +++ b/share/doc/gfortran/STRUCTURE-and-RECORD.html @@ -0,0 +1,239 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: STRUCTURE and RECORD</title> + +<meta name="description" content="The GNU Fortran Compiler: STRUCTURE and RECORD"> +<meta name="keywords" content="The GNU Fortran Compiler: STRUCTURE and RECORD"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="UNION-and-MAP.html#UNION-and-MAP" rel="next" title="UNION and MAP"> +<link href="Read_002fWrite-after-EOF-marker.html#Read_002fWrite-after-EOF-marker" rel="previous" title="Read/Write after EOF marker"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="STRUCTURE-and-RECORD"></a> +<div class="header"> +<p> +Next: <a href="UNION-and-MAP.html#UNION-and-MAP" accesskey="n" rel="next">UNION and MAP</a>, Previous: <a href="Read_002fWrite-after-EOF-marker.html#Read_002fWrite-after-EOF-marker" accesskey="p" rel="previous">Read/Write after EOF marker</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> [<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> +</div> +<hr> +<a name="STRUCTURE-and-RECORD-1"></a> +<h4 class="subsection">5.1.22 <code>STRUCTURE</code> and <code>RECORD</code></h4> +<a name="index-STRUCTURE"></a> +<a name="index-RECORD"></a> + +<p>Record structures are a pre-Fortran-90 vendor extension to create +user-defined aggregate data types. Support for record structures in GNU +Fortran can be enabled with the <samp>-fdec-structure</samp> compile flag. +If you have a choice, you should instead use Fortran 90’s “derived types”, +which have a different syntax. +</p> +<p>In many cases, record structures can easily be converted to derived types. +To convert, replace <code>STRUCTURE /</code><var>structure-name</var><code>/</code> +by <code>TYPE</code> <var>type-name</var>. Additionally, replace +<code>RECORD /</code><var>structure-name</var><code>/</code> by +<code>TYPE(</code><var>type-name</var><code>)</code>. Finally, in the component access, +replace the period (<code>.</code>) by the percent sign (<code>%</code>). +</p> +<p>Here is an example of code using the non portable record structure syntax: +</p> +<div class="example"> +<pre class="example">! Declaring a structure named ``item'' and containing three fields: +! an integer ID, an description string and a floating-point price. +STRUCTURE /item/ + INTEGER id + CHARACTER(LEN=200) description + REAL price +END STRUCTURE + +! Define two variables, an single record of type ``item'' +! named ``pear'', and an array of items named ``store_catalog'' +RECORD /item/ pear, store_catalog(100) + +! We can directly access the fields of both variables +pear.id = 92316 +pear.description = "juicy D'Anjou pear" +pear.price = 0.15 +store_catalog(7).id = 7831 +store_catalog(7).description = "milk bottle" +store_catalog(7).price = 1.2 + +! We can also manipulate the whole structure +store_catalog(12) = pear +print *, store_catalog(12) +</pre></div> + +<p>This code can easily be rewritten in the Fortran 90 syntax as following: +</p> +<div class="example"> +<pre class="example">! ``STRUCTURE /name/ ... END STRUCTURE'' becomes +! ``TYPE name ... END TYPE'' +TYPE item + INTEGER id + CHARACTER(LEN=200) description + REAL price +END TYPE + +! ``RECORD /name/ variable'' becomes ``TYPE(name) variable'' +TYPE(item) pear, store_catalog(100) + +! Instead of using a dot (.) to access fields of a record, the +! standard syntax uses a percent sign (%) +pear%id = 92316 +pear%description = "juicy D'Anjou pear" +pear%price = 0.15 +store_catalog(7)%id = 7831 +store_catalog(7)%description = "milk bottle" +store_catalog(7)%price = 1.2 + +! Assignments of a whole variable do not change +store_catalog(12) = pear +print *, store_catalog(12) +</pre></div> + +<p>GNU Fortran implements STRUCTURES like derived types with the following +rules and exceptions: +</p> +<ul> +<li> Structures act like derived types with the <code>SEQUENCE</code> attribute. +Otherwise they may contain no specifiers. + +</li><li> Structures may contain a special field with the name <code>%FILL</code>. +This will create an anonymous component which cannot be accessed but occupies +space just as if a component of the same type was declared in its place, useful +for alignment purposes. As an example, the following structure will consist +of at least sixteen bytes: + +<div class="smallexample"> +<pre class="smallexample">structure /padded/ + character(4) start + character(8) %FILL + character(4) end +end structure +</pre></div> + +</li><li> Structures may share names with other symbols. For example, the following +is invalid for derived types, but valid for structures: + +<div class="smallexample"> +<pre class="smallexample">structure /header/ + ! ... +end structure +record /header/ header +</pre></div> + +</li><li> Structure types may be declared nested within another parent structure. +The syntax is: +<div class="smallexample"> +<pre class="smallexample">structure /type-name/ + ... + structure [/<type-name>/] <field-list> +... +</pre></div> + +<p>The type name may be ommitted, in which case the structure type itself is +anonymous, and other structures of the same type cannot be instantiated. The +following shows some examples: +</p> +<div class="example"> +<pre class="example">structure /appointment/ + ! nested structure definition: app_time is an array of two 'time' + structure /time/ app_time (2) + integer(1) hour, minute + end structure + character(10) memo +end structure + +! The 'time' structure is still usable +record /time/ now +now = time(5, 30) + +... + +structure /appointment/ + ! anonymous nested structure definition + structure start, end + integer(1) hour, minute + end structure + character(10) memo +end structure +</pre></div> + +</li><li> Structures may contain <code>UNION</code> blocks. For more detail see the +section on <a href="UNION-and-MAP.html#UNION-and-MAP">UNION and MAP</a>. + +</li><li> Structures support old-style initialization of components, like +those described in <a href="Old_002dstyle-variable-initialization.html#Old_002dstyle-variable-initialization">Old-style variable initialization</a>. For array +initializers, an initializer may contain a repeat specification of the form +<code><literal-integer> * <constant-initializer></code>. The value of the integer +indicates the number of times to repeat the constant initializer when expanding +the initializer list. +</li></ul> + +<hr> +<div class="header"> +<p> +Next: <a href="UNION-and-MAP.html#UNION-and-MAP" accesskey="n" rel="next">UNION and MAP</a>, Previous: <a href="Read_002fWrite-after-EOF-marker.html#Read_002fWrite-after-EOF-marker" accesskey="p" rel="previous">Read/Write after EOF marker</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> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/SUM.html b/share/doc/gfortran/SUM.html new file mode 100644 index 0000000..32875de --- /dev/null +++ b/share/doc/gfortran/SUM.html @@ -0,0 +1,148 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SUM</title> + +<meta name="description" content="The GNU Fortran Compiler: SUM"> +<meta name="keywords" content="The GNU Fortran Compiler: SUM"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SYMLNK.html#SYMLNK" rel="next" title="SYMLNK"> +<link href="STORAGE_005fSIZE.html#STORAGE_005fSIZE" rel="previous" title="STORAGE_SIZE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SUM"></a> +<div class="header"> +<p> +Next: <a href="SYMLNK.html#SYMLNK" accesskey="n" rel="next">SYMLNK</a>, Previous: <a href="STORAGE_005fSIZE.html#STORAGE_005fSIZE" accesskey="p" rel="previous">STORAGE_SIZE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SUM-_002d_002d_002d-Sum-of-array-elements"></a> +<h3 class="section">8.261 <code>SUM</code> — Sum of array elements</h3> +<a name="index-SUM"></a> +<a name="index-array_002c-sum"></a> +<a name="index-array_002c-add-elements"></a> +<a name="index-array_002c-conditionally-add-elements"></a> +<a name="index-sum-array-elements"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Adds the elements of <var>ARRAY</var> along dimension <var>DIM</var> if +the corresponding element in <var>MASK</var> is <code>TRUE</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>RESULT = SUM(ARRAY[, MASK])</code></td></tr> +<tr><td width="80%"><code>RESULT = SUM(ARRAY, DIM[, MASK])</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ARRAY</var></td><td width="70%">Shall be an array of type <code>INTEGER</code>, +<code>REAL</code> or <code>COMPLEX</code>.</td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">(Optional) shall be a scalar of type +<code>INTEGER</code> with a value in the range from 1 to n, where n +equals the rank of <var>ARRAY</var>.</td></tr> +<tr><td width="15%"><var>MASK</var></td><td width="70%">(Optional) shall be of type <code>LOGICAL</code> +and either be a scalar or an array of the same shape as <var>ARRAY</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The result is of the same type as <var>ARRAY</var>. +</p> +<p>If <var>DIM</var> is absent, a scalar with the sum of all elements in <var>ARRAY</var> +is returned. Otherwise, an array of rank n-1, where n equals the rank of +<var>ARRAY</var>, and a shape similar to that of <var>ARRAY</var> with dimension <var>DIM</var> +dropped is returned. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_sum + INTEGER :: x(5) = (/ 1, 2, 3, 4 ,5 /) + print *, SUM(x) ! all elements, sum = 15 + print *, SUM(x, MASK=MOD(x, 2)==1) ! odd elements, sum = 9 +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="PRODUCT.html#PRODUCT">PRODUCT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SYMLNK.html b/share/doc/gfortran/SYMLNK.html new file mode 100644 index 0000000..dfcdea6 --- /dev/null +++ b/share/doc/gfortran/SYMLNK.html @@ -0,0 +1,132 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SYMLNK</title> + +<meta name="description" content="The GNU Fortran Compiler: SYMLNK"> +<meta name="keywords" content="The GNU Fortran Compiler: SYMLNK"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SYSTEM.html#SYSTEM" rel="next" title="SYSTEM"> +<link href="SUM.html#SUM" rel="previous" title="SUM"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SYMLNK"></a> +<div class="header"> +<p> +Next: <a href="SYSTEM.html#SYSTEM" accesskey="n" rel="next">SYSTEM</a>, Previous: <a href="SUM.html#SUM" accesskey="p" rel="previous">SUM</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SYMLNK-_002d_002d_002d-Create-a-symbolic-link"></a> +<h3 class="section">8.262 <code>SYMLNK</code> — Create a symbolic link</h3> +<a name="index-SYMLNK"></a> +<a name="index-file-system_002c-create-link-1"></a> +<a name="index-file-system_002c-soft-link"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Makes a symbolic link from file <var>PATH1</var> to <var>PATH2</var>. A null +character (<code>CHAR(0)</code>) can be used to mark the end of the names in +<var>PATH1</var> and <var>PATH2</var>; otherwise, trailing blanks in the file +names are ignored. If the <var>STATUS</var> argument is supplied, it +contains 0 on success or a nonzero error code upon return; see +<code>symlink(2)</code>. If the system does not supply <code>symlink(2)</code>, +<code>ENOSYS</code> is returned. +</p> +<p>This intrinsic is provided in both subroutine and function forms; +however, only one form can be used in any given program unit. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL SYMLNK(PATH1, PATH2 [, STATUS])</code></td></tr> +<tr><td width="80%"><code>STATUS = SYMLNK(PATH1, PATH2)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>PATH1</var></td><td width="70%">Shall be of default <code>CHARACTER</code> type.</td></tr> +<tr><td width="15%"><var>PATH2</var></td><td width="70%">Shall be of default <code>CHARACTER</code> type.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">(Optional) Shall be of default <code>INTEGER</code> type.</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="LINK.html#LINK">LINK</a>, <br> +<a href="UNLINK.html#UNLINK">UNLINK</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SYSTEM.html b/share/doc/gfortran/SYSTEM.html new file mode 100644 index 0000000..4be04ab --- /dev/null +++ b/share/doc/gfortran/SYSTEM.html @@ -0,0 +1,132 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SYSTEM</title> + +<meta name="description" content="The GNU Fortran Compiler: SYSTEM"> +<meta name="keywords" content="The GNU Fortran Compiler: SYSTEM"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="SYSTEM_005fCLOCK.html#SYSTEM_005fCLOCK" rel="next" title="SYSTEM_CLOCK"> +<link href="SYMLNK.html#SYMLNK" rel="previous" title="SYMLNK"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SYSTEM"></a> +<div class="header"> +<p> +Next: <a href="SYSTEM_005fCLOCK.html#SYSTEM_005fCLOCK" accesskey="n" rel="next">SYSTEM_CLOCK</a>, Previous: <a href="SYMLNK.html#SYMLNK" accesskey="p" rel="previous">SYMLNK</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SYSTEM-_002d_002d_002d-Execute-a-shell-command"></a> +<h3 class="section">8.263 <code>SYSTEM</code> — Execute a shell command</h3> +<a name="index-SYSTEM"></a> +<a name="index-system_002c-system-call-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Passes the command <var>COMMAND</var> to a shell (see <code>system(3)</code>). If +argument <var>STATUS</var> is present, it contains the value returned by +<code>system(3)</code>, which is presumably 0 if the shell command succeeded. +Note that which shell is used to invoke the command is system-dependent +and environment-dependent. +</p> +<p>This intrinsic is provided in both subroutine and function forms; +however, only one form can be used in any given program unit. +</p> +<p>Note that the <code>system</code> function need not be thread-safe. It is +the responsibility of the user to ensure that <code>system</code> is not +called concurrently. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL SYSTEM(COMMAND [, STATUS])</code></td></tr> +<tr><td width="80%"><code>STATUS = SYSTEM(COMMAND)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>COMMAND</var></td><td width="70%">Shall be of default <code>CHARACTER</code> type.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">(Optional) Shall be of default <code>INTEGER</code> type.</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="EXECUTE_005fCOMMAND_005fLINE.html#EXECUTE_005fCOMMAND_005fLINE">EXECUTE_COMMAND_LINE</a>, which is part of the Fortran 2008 standard +and should considered in new code for future portability. +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/SYSTEM_005fCLOCK.html b/share/doc/gfortran/SYSTEM_005fCLOCK.html new file mode 100644 index 0000000..d7dfb37 --- /dev/null +++ b/share/doc/gfortran/SYSTEM_005fCLOCK.html @@ -0,0 +1,171 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: SYSTEM_CLOCK</title> + +<meta name="description" content="The GNU Fortran Compiler: SYSTEM_CLOCK"> +<meta name="keywords" content="The GNU Fortran Compiler: SYSTEM_CLOCK"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="TAN.html#TAN" rel="next" title="TAN"> +<link href="SYSTEM.html#SYSTEM" rel="previous" title="SYSTEM"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="SYSTEM_005fCLOCK"></a> +<div class="header"> +<p> +Next: <a href="TAN.html#TAN" accesskey="n" rel="next">TAN</a>, Previous: <a href="SYSTEM.html#SYSTEM" accesskey="p" rel="previous">SYSTEM</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="SYSTEM_005fCLOCK-_002d_002d_002d-Time-function"></a> +<h3 class="section">8.264 <code>SYSTEM_CLOCK</code> — Time function</h3> +<a name="index-SYSTEM_005fCLOCK"></a> +<a name="index-time_002c-clock-ticks-2"></a> +<a name="index-clock-ticks-2"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Determines the <var>COUNT</var> of a processor clock since an unspecified +time in the past modulo <var>COUNT_MAX</var>, <var>COUNT_RATE</var> determines +the number of clock ticks per second. If the platform supports a +monotonic clock, that clock is used and can, depending on the platform +clock implementation, provide up to nanosecond resolution. If a +monotonic clock is not available, the implementation falls back to a +realtime clock. +</p> +<p><var>COUNT_RATE</var> is system dependent and can vary depending on the kind of +the arguments. For <var>kind=4</var> arguments (and smaller integer kinds), +<var>COUNT</var> represents milliseconds, while for <var>kind=8</var> arguments (and +larger integer kinds), <var>COUNT</var> typically represents micro- or +nanoseconds depending on resolution of the underlying platform clock. +<var>COUNT_MAX</var> usually equals <code>HUGE(COUNT_MAX)</code>. Note that the +millisecond resolution of the <var>kind=4</var> version implies that the +<var>COUNT</var> will wrap around in roughly 25 days. In order to avoid issues +with the wrap around and for more precise timing, please use the +<var>kind=8</var> version. +</p> +<p>If there is no clock, or querying the clock fails, <var>COUNT</var> is set +to <code>-HUGE(COUNT)</code>, and <var>COUNT_RATE</var> and <var>COUNT_MAX</var> are +set to zero. +</p> +<p>When running on a platform using the GNU C library (glibc) version +2.16 or older, or a derivative thereof, the high resolution monotonic +clock is available only when linking with the <var>rt</var> library. This +can be done explicitly by adding the <code>-lrt</code> flag when linking the +application, but is also done implicitly when using OpenMP. +</p> +<p>On the Windows platform, the version with <var>kind=4</var> arguments uses +the <code>GetTickCount</code> function, whereas the <var>kind=8</var> version +uses <code>QueryPerformanceCounter</code> and +<code>QueryPerformanceCounterFrequency</code>. For more information, and +potential caveats, please see the platform documentation. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>CALL SYSTEM_CLOCK([COUNT, COUNT_RATE, COUNT_MAX])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="20%"><var>COUNT</var></td><td width="65%">(Optional) shall be a scalar of type +<code>INTEGER</code> with <code>INTENT(OUT)</code>.</td></tr> +<tr><td width="20%"><var>COUNT_RATE</var></td><td width="65%">(Optional) shall be a scalar of type +<code>INTEGER</code> or <code>REAL</code>, with <code>INTENT(OUT)</code>.</td></tr> +<tr><td width="20%"><var>COUNT_MAX</var></td><td width="65%">(Optional) shall be a scalar of type +<code>INTEGER</code> with <code>INTENT(OUT)</code>.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_system_clock + INTEGER :: count, count_rate, count_max + CALL SYSTEM_CLOCK(count, count_rate, count_max) + WRITE(*,*) count, count_rate, count_max +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME">DATE_AND_TIME</a>, <br> +<a href="CPU_005fTIME.html#CPU_005fTIME">CPU_TIME</a> +</p></dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="TAN.html#TAN" accesskey="n" rel="next">TAN</a>, Previous: <a href="SYSTEM.html#SYSTEM" accesskey="p" rel="previous">SYSTEM</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Standards.html b/share/doc/gfortran/Standards.html new file mode 100644 index 0000000..581bc9b --- /dev/null +++ b/share/doc/gfortran/Standards.html @@ -0,0 +1,125 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Standards</title> + +<meta name="description" content="The GNU Fortran Compiler: Standards"> +<meta name="keywords" content="The GNU Fortran Compiler: Standards"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Introduction.html#Introduction" rel="up" title="Introduction"> +<link href="Fortran-95-status.html#Fortran-95-status" rel="next" title="Fortran 95 status"> +<link href="GNU-Fortran-and-GCC.html#GNU-Fortran-and-GCC" rel="previous" title="GNU Fortran and GCC"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Standards"></a> +<div class="header"> +<p> +Previous: <a href="GNU-Fortran-and-GCC.html#GNU-Fortran-and-GCC" accesskey="p" rel="previous">GNU Fortran and GCC</a>, Up: <a href="Introduction.html#Introduction" accesskey="u" rel="up">Introduction</a> [<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> +</div> +<hr> +<a name="Standards-1"></a> +<h3 class="section">1.3 Standards</h3> +<a name="index-Standards"></a> + +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="Fortran-95-status.html#Fortran-95-status" accesskey="1">Fortran 95 status</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Fortran-2003-status.html#Fortran-2003-status" accesskey="2">Fortran 2003 status</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Fortran-2008-status.html#Fortran-2008-status" accesskey="3">Fortran 2008 status</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Fortran-2018-status.html#Fortran-2018-status" accesskey="4">Fortran 2018 status</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + +<p>Fortran is developed by the Working Group 5 of Sub-Committee 22 of the +Joint Technical Committee 1 of the International Organization for +Standardization and the International Electrotechnical Commission (IEC). +This group is known as <a href="http://www.nag.co.uk/sc22wg5/">WG5</a>. +Official Fortran standard documents are available for purchase +from ISO; a collection of free documents (typically final drafts) are +also available on the <a href="https://gcc.gnu.org/wiki/GFortranStandards">wiki</a>. +</p> +<p>The GNU Fortran compiler implements ISO/IEC 1539:1997 (Fortran 95). +As such, it can also compile essentially all standard-compliant +Fortran 90 and Fortran 77 programs. It also supports the ISO/IEC +TR-15581 enhancements to allocatable arrays. +</p> +<p>GNU Fortran also supports almost all of ISO/IEC 1539-1:2004 +(Fortran 2003) and ISO/IEC 1539-1:2010 (Fortran 2008). +It has partial support for features introduced in ISO/IEC +1539:2018 (Fortran 2018), the most recent version of the Fortran +language standard, including full support for the Technical Specification +<code>Further Interoperability of Fortran with C</code> (ISO/IEC TS 29113:2012). +More details on support for these standards can be +found in the following sections of the documentation. +</p> +<p>Additionally, the GNU Fortran compilers supports the OpenMP specification +(version 4.5 and partial support of the features of the 5.0 version, +<a href="https://openmp.org/specifications/">https://openmp.org/specifications/</a>). +There also is support for the OpenACC specification (targeting +version 2.6, <a href="https://www.openacc.org/">https://www.openacc.org/</a>). See +<a href="https://gcc.gnu.org/wiki/OpenACC">https://gcc.gnu.org/wiki/OpenACC</a> for more information. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/TAN.html b/share/doc/gfortran/TAN.html new file mode 100644 index 0000000..a938a0a --- /dev/null +++ b/share/doc/gfortran/TAN.html @@ -0,0 +1,142 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: TAN</title> + +<meta name="description" content="The GNU Fortran Compiler: TAN"> +<meta name="keywords" content="The GNU Fortran Compiler: TAN"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="TAND.html#TAND" rel="next" title="TAND"> +<link href="SYSTEM_005fCLOCK.html#SYSTEM_005fCLOCK" rel="previous" title="SYSTEM_CLOCK"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="TAN"></a> +<div class="header"> +<p> +Next: <a href="TAND.html#TAND" accesskey="n" rel="next">TAND</a>, Previous: <a href="SYSTEM_005fCLOCK.html#SYSTEM_005fCLOCK" accesskey="p" rel="previous">SYSTEM_CLOCK</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="TAN-_002d_002d_002d-Tangent-function"></a> +<h3 class="section">8.265 <code>TAN</code> — Tangent function</h3> +<a name="index-TAN"></a> +<a name="index-DTAN"></a> +<a name="index-trigonometric-function_002c-tangent"></a> +<a name="index-tangent"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>TAN(X)</code> computes the tangent of <var>X</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later, for a complex argument Fortran 2008 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = TAN(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code> or <code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value has same type and kind as <var>X</var>, and its value is in radians. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_tan + real(8) :: x = 0.165_8 + x = tan(x) +end program test_tan +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>TAN(X)</code></td><td width="23%"><code>REAL(4) X</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>DTAN(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">Fortran 77 and later</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Inverse function: <br> +<a href="ATAN.html#ATAN">ATAN</a> <br> +Degrees function: <br> +<a href="TAND.html#TAND">TAND</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/TAND.html b/share/doc/gfortran/TAND.html new file mode 100644 index 0000000..ad1c738 --- /dev/null +++ b/share/doc/gfortran/TAND.html @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: TAND</title> + +<meta name="description" content="The GNU Fortran Compiler: TAND"> +<meta name="keywords" content="The GNU Fortran Compiler: TAND"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="TANH.html#TANH" rel="next" title="TANH"> +<link href="TAN.html#TAN" rel="previous" title="TAN"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="TAND"></a> +<div class="header"> +<p> +Next: <a href="TANH.html#TANH" accesskey="n" rel="next">TANH</a>, Previous: <a href="TAN.html#TAN" accesskey="p" rel="previous">TAN</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="TAND-_002d_002d_002d-Tangent-function_002c-degrees"></a> +<h3 class="section">8.266 <code>TAND</code> — Tangent function, degrees</h3> +<a name="index-TAND"></a> +<a name="index-DTAND"></a> +<a name="index-trigonometric-function_002c-tangent_002c-degrees"></a> +<a name="index-tangent_002c-degrees"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>TAND(X)</code> computes the tangent of <var>X</var> in degrees. +</p> +<p>This function is for compatibility only and should be avoided in favor of +standard constructs wherever possible. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension, enabled with <samp>-fdec-math</samp>. +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = TAND(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code> or <code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value has same type and kind as <var>X</var>, and its value is in degrees. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_tand + real(8) :: x = 0.165_8 + x = tand(x) +end program test_tand +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>TAND(X)</code></td><td width="23%"><code>REAL(4) X</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">GNU extension</td></tr> +<tr><td width="20%"><code>DTAND(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">GNU extension</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Inverse function: <br> +<a href="ATAND.html#ATAND">ATAND</a> <br> +Radians function: <br> +<a href="TAN.html#TAN">TAN</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/TANH.html b/share/doc/gfortran/TANH.html new file mode 100644 index 0000000..9781658 --- /dev/null +++ b/share/doc/gfortran/TANH.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: TANH</title> + +<meta name="description" content="The GNU Fortran Compiler: TANH"> +<meta name="keywords" content="The GNU Fortran Compiler: TANH"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="THIS_005fIMAGE.html#THIS_005fIMAGE" rel="next" title="THIS_IMAGE"> +<link href="TAND.html#TAND" rel="previous" title="TAND"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="TANH"></a> +<div class="header"> +<p> +Next: <a href="THIS_005fIMAGE.html#THIS_005fIMAGE" accesskey="n" rel="next">THIS_IMAGE</a>, Previous: <a href="TAND.html#TAND" accesskey="p" rel="previous">TAND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="TANH-_002d_002d_002d-Hyperbolic-tangent-function"></a> +<h3 class="section">8.267 <code>TANH</code> — Hyperbolic tangent function</h3> +<a name="index-TANH"></a> +<a name="index-DTANH"></a> +<a name="index-hyperbolic-tangent"></a> +<a name="index-hyperbolic-function_002c-tangent"></a> +<a name="index-tangent_002c-hyperbolic"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>TANH(X)</code> computes the hyperbolic tangent of <var>X</var>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 77 and later, for a complex argument Fortran 2008 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>X = TANH(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">The type shall be <code>REAL</code> or <code>COMPLEX</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value has same type and kind as <var>X</var>. If <var>X</var> is +complex, the imaginary part of the result is in radians. If <var>X</var> +is <code>REAL</code>, the return value lies in the range +<em>- 1 \leq tanh(x) \leq 1 </em>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">program test_tanh + real(8) :: x = 2.1_8 + x = tanh(x) +end program test_tanh +</pre></div> + +</dd> +<dt><em>Specific names</em>:</dt> +<dd><table> +<thead><tr><th width="20%">Name</th><th width="23%">Argument</th><th width="20%">Return type</th><th width="33%">Standard</th></tr></thead> +<tr><td width="20%"><code>TANH(X)</code></td><td width="23%"><code>REAL(4) X</code></td><td width="20%"><code>REAL(4)</code></td><td width="33%">Fortran 77 and later</td></tr> +<tr><td width="20%"><code>DTANH(X)</code></td><td width="23%"><code>REAL(8) X</code></td><td width="20%"><code>REAL(8)</code></td><td width="33%">Fortran 77 and later</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ATANH.html#ATANH">ATANH</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/THIS_005fIMAGE.html b/share/doc/gfortran/THIS_005fIMAGE.html new file mode 100644 index 0000000..9540e88 --- /dev/null +++ b/share/doc/gfortran/THIS_005fIMAGE.html @@ -0,0 +1,166 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: THIS_IMAGE</title> + +<meta name="description" content="The GNU Fortran Compiler: THIS_IMAGE"> +<meta name="keywords" content="The GNU Fortran Compiler: THIS_IMAGE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="TIME.html#TIME" rel="next" title="TIME"> +<link href="TANH.html#TANH" rel="previous" title="TANH"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="THIS_005fIMAGE"></a> +<div class="header"> +<p> +Next: <a href="TIME.html#TIME" accesskey="n" rel="next">TIME</a>, Previous: <a href="TANH.html#TANH" accesskey="p" rel="previous">TANH</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="THIS_005fIMAGE-_002d_002d_002d-Function-that-returns-the-cosubscript-index-of-this-image"></a> +<h3 class="section">8.268 <code>THIS_IMAGE</code> — Function that returns the cosubscript index of this image</h3> +<a name="index-THIS_005fIMAGE"></a> +<a name="index-coarray_002c-THIS_005fIMAGE"></a> +<a name="index-images_002c-index-of-this-image"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the cosubscript for this image. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later. With <var>DISTANCE</var> argument, +Technical Specification (TS) 18508 or later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>RESULT = THIS_IMAGE()</code></td></tr> +<tr><td width="80%"><code>RESULT = THIS_IMAGE(DISTANCE)</code></td></tr> +<tr><td width="80%"><code>RESULT = THIS_IMAGE(COARRAY [, DIM])</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>DISTANCE</var></td><td width="70%">(optional, intent(in)) Nonnegative scalar integer +(not permitted together with <var>COARRAY</var>).</td></tr> +<tr><td width="15%"><var>COARRAY</var></td><td width="70%">Coarray of any type (optional; if <var>DIM</var> +present, required).</td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">default integer scalar (optional). If present, +<var>DIM</var> shall be between one and the corank of <var>COARRAY</var>.</td></tr> +</table> + + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>Default integer. If <var>COARRAY</var> is not present, it is scalar; if +<var>DISTANCE</var> is not present or has value 0, its value is the image index on +the invoking image for the current team, for values smaller or equal +distance to the initial team, it returns the image index on the ancestor team +which has a distance of <var>DISTANCE</var> from the invoking team. If +<var>DISTANCE</var> is larger than the distance to the initial team, the image +index of the initial team is returned. Otherwise when the <var>COARRAY</var> is +present, if <var>DIM</var> is not present, a rank-1 array with corank elements is +returned, containing the cosubscripts for <var>COARRAY</var> specifying the invoking +image. If <var>DIM</var> is present, a scalar is returned, with the value of +the <var>DIM</var> element of <code>THIS_IMAGE(COARRAY)</code>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">INTEGER :: value[*] +INTEGER :: i +value = THIS_IMAGE() +SYNC ALL +IF (THIS_IMAGE() == 1) THEN + DO i = 1, NUM_IMAGES() + WRITE(*,'(2(a,i0))') 'value[', i, '] is ', value[i] + END DO +END IF + +! Check whether the current image is the initial image +IF (THIS_IMAGE(HUGE(1)) /= THIS_IMAGE()) + error stop "something is rotten here" +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="NUM_005fIMAGES.html#NUM_005fIMAGES">NUM_IMAGES</a>, <br> +<a href="IMAGE_005fINDEX.html#IMAGE_005fINDEX">IMAGE_INDEX</a> +</p></dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="TIME.html#TIME" accesskey="n" rel="next">TIME</a>, Previous: <a href="TANH.html#TANH" accesskey="p" rel="previous">TANH</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/TIME.html b/share/doc/gfortran/TIME.html new file mode 100644 index 0000000..72af6bb --- /dev/null +++ b/share/doc/gfortran/TIME.html @@ -0,0 +1,132 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: TIME</title> + +<meta name="description" content="The GNU Fortran Compiler: TIME"> +<meta name="keywords" content="The GNU Fortran Compiler: TIME"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="TIME8.html#TIME8" rel="next" title="TIME8"> +<link href="THIS_005fIMAGE.html#THIS_005fIMAGE" rel="previous" title="THIS_IMAGE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="TIME"></a> +<div class="header"> +<p> +Next: <a href="TIME8.html#TIME8" accesskey="n" rel="next">TIME8</a>, Previous: <a href="THIS_005fIMAGE.html#THIS_005fIMAGE" accesskey="p" rel="previous">THIS_IMAGE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="TIME-_002d_002d_002d-Time-function"></a> +<h3 class="section">8.269 <code>TIME</code> — Time function</h3> +<a name="index-TIME"></a> +<a name="index-time_002c-current-3"></a> +<a name="index-current-time-3"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the current time encoded as an integer (in the manner of the +function <code>time(3)</code> in the C standard library). This value is +suitable for passing to <a href="CTIME.html#CTIME">CTIME</a>, <a href="GMTIME.html#GMTIME">GMTIME</a>, and <a href="LTIME.html#LTIME">LTIME</a>. +</p> +<p>This intrinsic is not fully portable, such as to systems with 32-bit +<code>INTEGER</code> types but supporting times wider than 32 bits. Therefore, +the values returned by this intrinsic might be, or become, negative, or +numerically less than previous values, during a single run of the +compiled program. +</p> +<p>See <a href="TIME8.html#TIME8">TIME8</a>, for information on a similar intrinsic that might be +portable to more GNU Fortran implementations, though to fewer Fortran +compilers. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = TIME()</code> +</p> +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is a scalar of type <code>INTEGER(4)</code>. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME">DATE_AND_TIME</a>, <br> +<a href="CTIME.html#CTIME">CTIME</a>, <br> +<a href="GMTIME.html#GMTIME">GMTIME</a>, <br> +<a href="LTIME.html#LTIME">LTIME</a>, <br> +<a href="MCLOCK.html#MCLOCK">MCLOCK</a>, <br> +<a href="TIME8.html#TIME8">TIME8</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/TIME8.html b/share/doc/gfortran/TIME8.html new file mode 100644 index 0000000..c096f30 --- /dev/null +++ b/share/doc/gfortran/TIME8.html @@ -0,0 +1,130 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: TIME8</title> + +<meta name="description" content="The GNU Fortran Compiler: TIME8"> +<meta name="keywords" content="The GNU Fortran Compiler: TIME8"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="TINY.html#TINY" rel="next" title="TINY"> +<link href="TIME.html#TIME" rel="previous" title="TIME"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="TIME8"></a> +<div class="header"> +<p> +Next: <a href="TINY.html#TINY" accesskey="n" rel="next">TINY</a>, Previous: <a href="TIME.html#TIME" accesskey="p" rel="previous">TIME</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="TIME8-_002d_002d_002d-Time-function-_002864_002dbit_0029"></a> +<h3 class="section">8.270 <code>TIME8</code> — Time function (64-bit)</h3> +<a name="index-TIME8"></a> +<a name="index-time_002c-current-4"></a> +<a name="index-current-time-4"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the current time encoded as an integer (in the manner of the +function <code>time(3)</code> in the C standard library). This value is +suitable for passing to <a href="CTIME.html#CTIME">CTIME</a>, <a href="GMTIME.html#GMTIME">GMTIME</a>, and <a href="LTIME.html#LTIME">LTIME</a>. +</p> +<p><em>Warning:</em> this intrinsic does not increase the range of the timing +values over that returned by <code>time(3)</code>. On a system with a 32-bit +<code>time(3)</code>, <code>TIME8</code> will return a 32-bit value, even though +it is converted to a 64-bit <code>INTEGER(8)</code> value. That means +overflows of the 32-bit value can still occur. Therefore, the values +returned by this intrinsic might be or become negative or numerically +less than previous values during a single run of the compiled program. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = TIME8()</code> +</p> +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is a scalar of type <code>INTEGER(8)</code>. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME">DATE_AND_TIME</a>, <br> +<a href="CTIME.html#CTIME">CTIME</a>, <br> +<a href="GMTIME.html#GMTIME">GMTIME</a>, <br> +<a href="LTIME.html#LTIME">LTIME</a>, <br> +<a href="MCLOCK8.html#MCLOCK8">MCLOCK8</a>, <br> +<a href="TIME.html#TIME">TIME</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/TINY.html b/share/doc/gfortran/TINY.html new file mode 100644 index 0000000..aec2b8a --- /dev/null +++ b/share/doc/gfortran/TINY.html @@ -0,0 +1,122 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: TINY</title> + +<meta name="description" content="The GNU Fortran Compiler: TINY"> +<meta name="keywords" content="The GNU Fortran Compiler: TINY"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="TRAILZ.html#TRAILZ" rel="next" title="TRAILZ"> +<link href="TIME8.html#TIME8" rel="previous" title="TIME8"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="TINY"></a> +<div class="header"> +<p> +Next: <a href="TRAILZ.html#TRAILZ" accesskey="n" rel="next">TRAILZ</a>, Previous: <a href="TIME8.html#TIME8" accesskey="p" rel="previous">TIME8</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="TINY-_002d_002d_002d-Smallest-positive-number-of-a-real-kind"></a> +<h3 class="section">8.271 <code>TINY</code> — Smallest positive number of a real kind</h3> +<a name="index-TINY"></a> +<a name="index-limits_002c-smallest-number"></a> +<a name="index-model-representation_002c-smallest-number"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>TINY(X)</code> returns the smallest positive (non zero) number +in the model of the type of <code>X</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = TINY(X)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>X</var></td><td width="70%">Shall be of type <code>REAL</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of the same type and kind as <var>X</var> +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><p>See <code>HUGE</code> for an example. +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/TMPDIR.html b/share/doc/gfortran/TMPDIR.html new file mode 100644 index 0000000..7140dee --- /dev/null +++ b/share/doc/gfortran/TMPDIR.html @@ -0,0 +1,99 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: TMPDIR</title> + +<meta name="description" content="The GNU Fortran Compiler: TMPDIR"> +<meta name="keywords" content="The GNU Fortran Compiler: TMPDIR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Runtime.html#Runtime" rel="up" title="Runtime"> +<link href="GFORTRAN_005fSTDIN_005fUNIT.html#GFORTRAN_005fSTDIN_005fUNIT" rel="next" title="GFORTRAN_STDIN_UNIT"> +<link href="Runtime.html#Runtime" rel="previous" title="Runtime"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="TMPDIR"></a> +<div class="header"> +<p> +Next: <a href="GFORTRAN_005fSTDIN_005fUNIT.html#GFORTRAN_005fSTDIN_005fUNIT" accesskey="n" rel="next">GFORTRAN_STDIN_UNIT</a>, Up: <a href="Runtime.html#Runtime" accesskey="u" rel="up">Runtime</a> [<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> +</div> +<hr> +<a name="TMPDIR_002d_002d_002dDirectory-for-scratch-files"></a> +<h3 class="section">3.1 <code>TMPDIR</code>—Directory for scratch files</h3> + +<p>When opening a file with <code>STATUS='SCRATCH'</code>, GNU Fortran tries to +create the file in one of the potential directories by testing each +directory in the order below. +</p> +<ol> +<li> The environment variable <code>TMPDIR</code>, if it exists. + +</li><li> On the MinGW target, the directory returned by the <code>GetTempPath</code> +function. Alternatively, on the Cygwin target, the <code>TMP</code> and +<code>TEMP</code> environment variables, if they exist, in that order. + +</li><li> The <code>P_tmpdir</code> macro if it is defined, otherwise the directory +<samp>/tmp</samp>. +</li></ol> + + + + +</body> +</html> diff --git a/share/doc/gfortran/TRAILZ.html b/share/doc/gfortran/TRAILZ.html new file mode 100644 index 0000000..1b212e8 --- /dev/null +++ b/share/doc/gfortran/TRAILZ.html @@ -0,0 +1,132 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: TRAILZ</title> + +<meta name="description" content="The GNU Fortran Compiler: TRAILZ"> +<meta name="keywords" content="The GNU Fortran Compiler: TRAILZ"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="TRANSFER.html#TRANSFER" rel="next" title="TRANSFER"> +<link href="TINY.html#TINY" rel="previous" title="TINY"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="TRAILZ"></a> +<div class="header"> +<p> +Next: <a href="TRANSFER.html#TRANSFER" accesskey="n" rel="next">TRANSFER</a>, Previous: <a href="TINY.html#TINY" accesskey="p" rel="previous">TINY</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="TRAILZ-_002d_002d_002d-Number-of-trailing-zero-bits-of-an-integer"></a> +<h3 class="section">8.272 <code>TRAILZ</code> — Number of trailing zero bits of an integer</h3> +<a name="index-TRAILZ"></a> +<a name="index-zero-bits-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>TRAILZ</code> returns the number of trailing zero bits of an integer. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = TRAILZ(I)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">Shall be of type <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The type of the return value is the default <code>INTEGER</code>. +If all the bits of <code>I</code> are zero, the result value is <code>BIT_SIZE(I)</code>. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_trailz + WRITE (*,*) TRAILZ(8) ! prints 3 +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="BIT_005fSIZE.html#BIT_005fSIZE">BIT_SIZE</a>, <br> +<a href="LEADZ.html#LEADZ">LEADZ</a>, <br> +<a href="POPPAR.html#POPPAR">POPPAR</a>, <br> +<a href="POPCNT.html#POPCNT">POPCNT</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/TRANSFER.html b/share/doc/gfortran/TRANSFER.html new file mode 100644 index 0000000..9f64788 --- /dev/null +++ b/share/doc/gfortran/TRANSFER.html @@ -0,0 +1,156 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: TRANSFER</title> + +<meta name="description" content="The GNU Fortran Compiler: TRANSFER"> +<meta name="keywords" content="The GNU Fortran Compiler: TRANSFER"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="TRANSPOSE.html#TRANSPOSE" rel="next" title="TRANSPOSE"> +<link href="TRAILZ.html#TRAILZ" rel="previous" title="TRAILZ"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="TRANSFER"></a> +<div class="header"> +<p> +Next: <a href="TRANSPOSE.html#TRANSPOSE" accesskey="n" rel="next">TRANSPOSE</a>, Previous: <a href="TRAILZ.html#TRAILZ" accesskey="p" rel="previous">TRAILZ</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="TRANSFER-_002d_002d_002d-Transfer-bit-patterns"></a> +<h3 class="section">8.273 <code>TRANSFER</code> — Transfer bit patterns</h3> +<a name="index-TRANSFER"></a> +<a name="index-bits_002c-move-1"></a> +<a name="index-type-cast"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Interprets the bitwise representation of <var>SOURCE</var> in memory as if it +is the representation of a variable or array of the same type and type +parameters as <var>MOLD</var>. +</p> +<p>This is approximately equivalent to the C concept of <em>casting</em> one +type to another. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = TRANSFER(SOURCE, MOLD[, SIZE])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>SOURCE</var></td><td width="70%">Shall be a scalar or an array of any type.</td></tr> +<tr><td width="15%"><var>MOLD</var></td><td width="70%">Shall be a scalar or an array of any type.</td></tr> +<tr><td width="15%"><var>SIZE</var></td><td width="70%">(Optional) shall be a scalar of type +<code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The result has the same type as <var>MOLD</var>, with the bit level +representation of <var>SOURCE</var>. If <var>SIZE</var> is present, the result is +a one-dimensional array of length <var>SIZE</var>. If <var>SIZE</var> is absent +but <var>MOLD</var> is an array (of any size or shape), the result is a one- +dimensional array of the minimum length needed to contain the entirety +of the bitwise representation of <var>SOURCE</var>. If <var>SIZE</var> is absent +and <var>MOLD</var> is a scalar, the result is a scalar. +</p> +<p>If the bitwise representation of the result is longer than that of +<var>SOURCE</var>, then the leading bits of the result correspond to those of +<var>SOURCE</var> and any trailing bits are filled arbitrarily. +</p> +<p>When the resulting bit representation does not correspond to a valid +representation of a variable of the same type as <var>MOLD</var>, the results +are undefined, and subsequent operations on the result cannot be +guaranteed to produce sensible behavior. For example, it is possible to +create <code>LOGICAL</code> variables for which <code><var>VAR</var></code> and +<code>.NOT.<var>VAR</var></code> both appear to be true. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_transfer + integer :: x = 2143289344 + print *, transfer(x, 1.0) ! prints "NaN" on i686 +END PROGRAM +</pre></div> +</dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="TRANSPOSE.html#TRANSPOSE" accesskey="n" rel="next">TRANSPOSE</a>, Previous: <a href="TRAILZ.html#TRAILZ" accesskey="p" rel="previous">TRAILZ</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/TRANSPOSE.html b/share/doc/gfortran/TRANSPOSE.html new file mode 100644 index 0000000..9494ce6 --- /dev/null +++ b/share/doc/gfortran/TRANSPOSE.html @@ -0,0 +1,120 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: TRANSPOSE</title> + +<meta name="description" content="The GNU Fortran Compiler: TRANSPOSE"> +<meta name="keywords" content="The GNU Fortran Compiler: TRANSPOSE"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="TRIM.html#TRIM" rel="next" title="TRIM"> +<link href="TRANSFER.html#TRANSFER" rel="previous" title="TRANSFER"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="TRANSPOSE"></a> +<div class="header"> +<p> +Next: <a href="TRIM.html#TRIM" accesskey="n" rel="next">TRIM</a>, Previous: <a href="TRANSFER.html#TRANSFER" accesskey="p" rel="previous">TRANSFER</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="TRANSPOSE-_002d_002d_002d-Transpose-an-array-of-rank-two"></a> +<h3 class="section">8.274 <code>TRANSPOSE</code> — Transpose an array of rank two</h3> +<a name="index-TRANSPOSE"></a> +<a name="index-array_002c-transpose"></a> +<a name="index-matrix_002c-transpose"></a> +<a name="index-transpose"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Transpose an array of rank two. Element (i, j) of the result has the value +<code>MATRIX(j, i)</code>, for all i, j. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = TRANSPOSE(MATRIX)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>MATRIX</var></td><td width="70%">Shall be an array of any type and have a rank of two.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The result has the same type as <var>MATRIX</var>, and has shape +<code>(/ m, n /)</code> if <var>MATRIX</var> has shape <code>(/ n, m /)</code>. +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/TRIM.html b/share/doc/gfortran/TRIM.html new file mode 100644 index 0000000..83ce538 --- /dev/null +++ b/share/doc/gfortran/TRIM.html @@ -0,0 +1,131 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: TRIM</title> + +<meta name="description" content="The GNU Fortran Compiler: TRIM"> +<meta name="keywords" content="The GNU Fortran Compiler: TRIM"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="TTYNAM.html#TTYNAM" rel="next" title="TTYNAM"> +<link href="TRANSPOSE.html#TRANSPOSE" rel="previous" title="TRANSPOSE"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="TRIM"></a> +<div class="header"> +<p> +Next: <a href="TTYNAM.html#TTYNAM" accesskey="n" rel="next">TTYNAM</a>, Previous: <a href="TRANSPOSE.html#TRANSPOSE" accesskey="p" rel="previous">TRANSPOSE</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="TRIM-_002d_002d_002d-Remove-trailing-blank-characters-of-a-string"></a> +<h3 class="section">8.275 <code>TRIM</code> — Remove trailing blank characters of a string</h3> +<a name="index-TRIM"></a> +<a name="index-string_002c-remove-trailing-whitespace"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Removes trailing blank characters of a string. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = TRIM(STRING)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>STRING</var></td><td width="70%">Shall be a scalar of type <code>CHARACTER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>A scalar of type <code>CHARACTER</code> which length is that of <var>STRING</var> +less the number of trailing blanks. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_trim + CHARACTER(len=10), PARAMETER :: s = "GFORTRAN " + WRITE(*,*) LEN(s), LEN(TRIM(s)) ! "10 8", with/without trailing blanks +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ADJUSTL.html#ADJUSTL">ADJUSTL</a>, <br> +<a href="ADJUSTR.html#ADJUSTR">ADJUSTR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/TTYNAM.html b/share/doc/gfortran/TTYNAM.html new file mode 100644 index 0000000..622b291 --- /dev/null +++ b/share/doc/gfortran/TTYNAM.html @@ -0,0 +1,135 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: TTYNAM</title> + +<meta name="description" content="The GNU Fortran Compiler: TTYNAM"> +<meta name="keywords" content="The GNU Fortran Compiler: TTYNAM"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="UBOUND.html#UBOUND" rel="next" title="UBOUND"> +<link href="TRIM.html#TRIM" rel="previous" title="TRIM"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="TTYNAM"></a> +<div class="header"> +<p> +Next: <a href="UBOUND.html#UBOUND" accesskey="n" rel="next">UBOUND</a>, Previous: <a href="TRIM.html#TRIM" accesskey="p" rel="previous">TRIM</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="TTYNAM-_002d_002d_002d-Get-the-name-of-a-terminal-device"></a> +<h3 class="section">8.276 <code>TTYNAM</code> — Get the name of a terminal device</h3> +<a name="index-TTYNAM"></a> +<a name="index-system_002c-terminal-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Get the name of a terminal device. For more information, +see <code>ttyname(3)</code>. +</p> +<p>This intrinsic is provided in both subroutine and function forms; +however, only one form can be used in any given program unit. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL TTYNAM(UNIT, NAME)</code></td></tr> +<tr><td width="80%"><code>NAME = TTYNAM(UNIT)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>UNIT</var></td><td width="70%">Shall be a scalar <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>NAME</var></td><td width="70%">Shall be of type <code>CHARACTER</code>.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_ttynam + INTEGER :: unit + DO unit = 1, 10 + IF (isatty(unit=unit)) write(*,*) ttynam(unit) + END DO +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="ISATTY.html#ISATTY">ISATTY</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/TYPE-as-an-alias-for-PRINT.html b/share/doc/gfortran/TYPE-as-an-alias-for-PRINT.html new file mode 100644 index 0000000..a7e17a2 --- /dev/null +++ b/share/doc/gfortran/TYPE-as-an-alias-for-PRINT.html @@ -0,0 +1,96 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: TYPE as an alias for PRINT</title> + +<meta name="description" content="The GNU Fortran Compiler: TYPE as an alias for PRINT"> +<meta name="keywords" content="The GNU Fortran Compiler: TYPE as an alias for PRINT"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="_0025LOC-as-an-rvalue.html#g_t_0025LOC-as-an-rvalue" rel="next" title="%LOC as an rvalue"> +<link href="Form-feed-as-whitespace.html#Form-feed-as-whitespace" rel="previous" title="Form feed as whitespace"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="TYPE-as-an-alias-for-PRINT"></a> +<div class="header"> +<p> +Next: <a href="_0025LOC-as-an-rvalue.html#g_t_0025LOC-as-an-rvalue" accesskey="n" rel="next">%LOC as an rvalue</a>, Previous: <a href="Form-feed-as-whitespace.html#Form-feed-as-whitespace" accesskey="p" rel="previous">Form feed as whitespace</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> [<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> +</div> +<hr> +<a name="TYPE-as-an-alias-for-PRINT-1"></a> +<h4 class="subsection">5.1.28 TYPE as an alias for PRINT</h4> +<a name="index-type-alias-print"></a> +<p>For compatibility, GNU Fortran will interpret <code>TYPE</code> statements as +<code>PRINT</code> statements with the flag <samp>-fdec</samp>. With this flag asserted, +the following two examples are equivalent: +</p> +<div class="smallexample"> +<pre class="smallexample">TYPE *, 'hello world' +</pre></div> + +<div class="smallexample"> +<pre class="smallexample">PRINT *, 'hello world' +</pre></div> + + + + +</body> +</html> diff --git a/share/doc/gfortran/Thread_002dsafety-of-the-runtime-library.html b/share/doc/gfortran/Thread_002dsafety-of-the-runtime-library.html new file mode 100644 index 0000000..86361c8 --- /dev/null +++ b/share/doc/gfortran/Thread_002dsafety-of-the-runtime-library.html @@ -0,0 +1,132 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Thread-safety of the runtime library</title> + +<meta name="description" content="The GNU Fortran Compiler: Thread-safety of the runtime library"> +<meta name="keywords" content="The GNU Fortran Compiler: Thread-safety of the runtime library"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Compiler-Characteristics.html#Compiler-Characteristics" rel="up" title="Compiler Characteristics"> +<link href="Data-consistency-and-durability.html#Data-consistency-and-durability" rel="next" title="Data consistency and durability"> +<link href="MAX-and-MIN-intrinsics-with-REAL-NaN-arguments.html#MAX-and-MIN-intrinsics-with-REAL-NaN-arguments" rel="previous" title="MAX and MIN intrinsics with REAL NaN arguments"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Thread_002dsafety-of-the-runtime-library"></a> +<div class="header"> +<p> +Next: <a href="Data-consistency-and-durability.html#Data-consistency-and-durability" accesskey="n" rel="next">Data consistency and durability</a>, Previous: <a href="MAX-and-MIN-intrinsics-with-REAL-NaN-arguments.html#MAX-and-MIN-intrinsics-with-REAL-NaN-arguments" accesskey="p" rel="previous">MAX and MIN intrinsics with REAL NaN arguments</a>, Up: <a href="Compiler-Characteristics.html#Compiler-Characteristics" accesskey="u" rel="up">Compiler Characteristics</a> [<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> +</div> +<hr> +<a name="Thread_002dsafety-of-the-runtime-library-1"></a> +<h3 class="section">4.5 Thread-safety of the runtime library</h3> +<a name="index-thread_002dsafety_002c-threads"></a> + +<p>GNU Fortran can be used in programs with multiple threads, e.g. by +using OpenMP, by calling OS thread handling functions via the +<code>ISO_C_BINDING</code> facility, or by GNU Fortran compiled library code +being called from a multi-threaded program. +</p> +<p>The GNU Fortran runtime library, (<code>libgfortran</code>), supports being +called concurrently from multiple threads with the following +exceptions. +</p> +<p>During library initialization, the C <code>getenv</code> function is used, +which need not be thread-safe. Similarly, the <code>getenv</code> +function is used to implement the <code>GET_ENVIRONMENT_VARIABLE</code> and +<code>GETENV</code> intrinsics. It is the responsibility of the user to +ensure that the environment is not being updated concurrently when any +of these actions are taking place. +</p> +<p>The <code>EXECUTE_COMMAND_LINE</code> and <code>SYSTEM</code> intrinsics are +implemented with the <code>system</code> function, which need not be +thread-safe. It is the responsibility of the user to ensure that +<code>system</code> is not called concurrently. +</p> +<p>For platforms not supporting thread-safe POSIX functions, further +functionality might not be thread-safe. For details, please consult +the documentation for your operating system. +</p> +<p>The GNU Fortran runtime library uses various C library functions that +depend on the locale, such as <code>strtod</code> and <code>snprintf</code>. In +order to work correctly in locale-aware programs that set the locale +using <code>setlocale</code>, the locale is reset to the default “C” +locale while executing a formatted <code>READ</code> or <code>WRITE</code> +statement. On targets supporting the POSIX 2008 per-thread locale +functions (e.g. <code>newlocale</code>, <code>uselocale</code>, +<code>freelocale</code>), these are used and thus the global locale set +using <code>setlocale</code> or the per-thread locales in other threads are +not affected. However, on targets lacking this functionality, the +global LC_NUMERIC locale is set to “C” during the formatted I/O. +Thus, on such targets it’s not safe to call <code>setlocale</code> +concurrently from another thread while a Fortran formatted I/O +operation is in progress. Also, other threads doing something +dependent on the LC_NUMERIC locale might not work correctly if a +formatted I/O operation is in progress in another thread. +</p> +<hr> +<div class="header"> +<p> +Next: <a href="Data-consistency-and-durability.html#Data-consistency-and-durability" accesskey="n" rel="next">Data consistency and durability</a>, Previous: <a href="MAX-and-MIN-intrinsics-with-REAL-NaN-arguments.html#MAX-and-MIN-intrinsics-with-REAL-NaN-arguments" accesskey="p" rel="previous">MAX and MIN intrinsics with REAL NaN arguments</a>, Up: <a href="Compiler-Characteristics.html#Compiler-Characteristics" accesskey="u" rel="up">Compiler Characteristics</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/Type-and-enum-ABI-Documentation.html b/share/doc/gfortran/Type-and-enum-ABI-Documentation.html new file mode 100644 index 0000000..632ba53 --- /dev/null +++ b/share/doc/gfortran/Type-and-enum-ABI-Documentation.html @@ -0,0 +1,97 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Type and enum ABI Documentation</title> + +<meta name="description" content="The GNU Fortran Compiler: Type and enum ABI Documentation"> +<meta name="keywords" content="The GNU Fortran Compiler: Type and enum ABI Documentation"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Coarray-Programming.html#Coarray-Programming" rel="up" title="Coarray Programming"> +<link href="caf_005ftoken_005ft.html#caf_005ftoken_005ft" rel="next" title="caf_token_t"> +<link href="Coarray-Programming.html#Coarray-Programming" rel="previous" title="Coarray Programming"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Type-and-enum-ABI-Documentation"></a> +<div class="header"> +<p> +Next: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="n" rel="next">Function ABI Documentation</a>, Up: <a href="Coarray-Programming.html#Coarray-Programming" accesskey="u" rel="up">Coarray Programming</a> [<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> +</div> +<hr> +<a name="Type-and-enum-ABI-Documentation-1"></a> +<h3 class="section">7.1 Type and enum ABI Documentation</h3> + +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="caf_005ftoken_005ft.html#caf_005ftoken_005ft" accesskey="1">caf_token_t</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="caf_005fregister_005ft.html#caf_005fregister_005ft" accesskey="2">caf_register_t</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="caf_005fderegister_005ft.html#caf_005fderegister_005ft" accesskey="3">caf_deregister_t</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="caf_005freference_005ft.html#caf_005freference_005ft" accesskey="4">caf_reference_t</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="caf_005fteam_005ft.html#caf_005fteam_005ft" accesskey="5">caf_team_t</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +</table> + + + + +</body> +</html> diff --git a/share/doc/gfortran/Type-variants-for-integer-intrinsics.html b/share/doc/gfortran/Type-variants-for-integer-intrinsics.html new file mode 100644 index 0000000..3e1ed65 --- /dev/null +++ b/share/doc/gfortran/Type-variants-for-integer-intrinsics.html @@ -0,0 +1,118 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Type variants for integer intrinsics</title> + +<meta name="description" content="The GNU Fortran Compiler: Type variants for integer intrinsics"> +<meta name="keywords" content="The GNU Fortran Compiler: Type variants for integer intrinsics"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="AUTOMATIC-and-STATIC-attributes.html#AUTOMATIC-and-STATIC-attributes" rel="next" title="AUTOMATIC and STATIC attributes"> +<link href="UNION-and-MAP.html#UNION-and-MAP" rel="previous" title="UNION and MAP"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Type-variants-for-integer-intrinsics"></a> +<div class="header"> +<p> +Next: <a href="AUTOMATIC-and-STATIC-attributes.html#AUTOMATIC-and-STATIC-attributes" accesskey="n" rel="next">AUTOMATIC and STATIC attributes</a>, Previous: <a href="UNION-and-MAP.html#UNION-and-MAP" accesskey="p" rel="previous">UNION and MAP</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> [<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> +</div> +<hr> +<a name="Type-variants-for-integer-intrinsics-1"></a> +<h4 class="subsection">5.1.24 Type variants for integer intrinsics</h4> +<a name="index-intrinsics_002c-integer"></a> + +<p>Similar to the D/C prefixes to real functions to specify the input/output +types, GNU Fortran offers B/I/J/K prefixes to integer functions for +compatibility with DEC programs. The types implied by each are: +</p> +<div class="example"> +<pre class="example"><code>B</code> - <code>INTEGER(kind=1)</code> +<code>I</code> - <code>INTEGER(kind=2)</code> +<code>J</code> - <code>INTEGER(kind=4)</code> +<code>K</code> - <code>INTEGER(kind=8)</code> +</pre></div> + +<p>GNU Fortran supports these with the flag <samp>-fdec-intrinsic-ints</samp>. +Intrinsics for which prefixed versions are available and in what form are noted +in <a href="Intrinsic-Procedures.html#Intrinsic-Procedures">Intrinsic Procedures</a>. The complete list of supported intrinsics is +here: +</p> +<table> +<thead><tr><th width="20%">Intrinsic</th><th width="20%">B</th><th width="20%">I</th><th width="20%">J</th><th width="20%">K</th></tr></thead> +<tr><td width="20%"><code><a href="ABS.html#ABS">ABS</a></code></td><td width="20%"><code>BABS</code></td><td width="20%"><code>IIABS</code></td><td width="20%"><code>JIABS</code></td><td width="20%"><code>KIABS</code></td></tr> +<tr><td width="20%"><code><a href="BTEST.html#BTEST">BTEST</a></code></td><td width="20%"><code>BBTEST</code></td><td width="20%"><code>BITEST</code></td><td width="20%"><code>BJTEST</code></td><td width="20%"><code>BKTEST</code></td></tr> +<tr><td width="20%"><code><a href="IAND.html#IAND">IAND</a></code></td><td width="20%"><code>BIAND</code></td><td width="20%"><code>IIAND</code></td><td width="20%"><code>JIAND</code></td><td width="20%"><code>KIAND</code></td></tr> +<tr><td width="20%"><code><a href="IBCLR.html#IBCLR">IBCLR</a></code></td><td width="20%"><code>BBCLR</code></td><td width="20%"><code>IIBCLR</code></td><td width="20%"><code>JIBCLR</code></td><td width="20%"><code>KIBCLR</code></td></tr> +<tr><td width="20%"><code><a href="IBITS.html#IBITS">IBITS</a></code></td><td width="20%"><code>BBITS</code></td><td width="20%"><code>IIBITS</code></td><td width="20%"><code>JIBITS</code></td><td width="20%"><code>KIBITS</code></td></tr> +<tr><td width="20%"><code><a href="IBSET.html#IBSET">IBSET</a></code></td><td width="20%"><code>BBSET</code></td><td width="20%"><code>IIBSET</code></td><td width="20%"><code>JIBSET</code></td><td width="20%"><code>KIBSET</code></td></tr> +<tr><td width="20%"><code><a href="IEOR.html#IEOR">IEOR</a></code></td><td width="20%"><code>BIEOR</code></td><td width="20%"><code>IIEOR</code></td><td width="20%"><code>JIEOR</code></td><td width="20%"><code>KIEOR</code></td></tr> +<tr><td width="20%"><code><a href="IOR.html#IOR">IOR</a></code></td><td width="20%"><code>BIOR</code></td><td width="20%"><code>IIOR</code></td><td width="20%"><code>JIOR</code></td><td width="20%"><code>KIOR</code></td></tr> +<tr><td width="20%"><code><a href="ISHFT.html#ISHFT">ISHFT</a></code></td><td width="20%"><code>BSHFT</code></td><td width="20%"><code>IISHFT</code></td><td width="20%"><code>JISHFT</code></td><td width="20%"><code>KISHFT</code></td></tr> +<tr><td width="20%"><code><a href="ISHFTC.html#ISHFTC">ISHFTC</a></code></td><td width="20%"><code>BSHFTC</code></td><td width="20%"><code>IISHFTC</code></td><td width="20%"><code>JISHFTC</code></td><td width="20%"><code>KISHFTC</code></td></tr> +<tr><td width="20%"><code><a href="MOD.html#MOD">MOD</a></code></td><td width="20%"><code>BMOD</code></td><td width="20%"><code>IMOD</code></td><td width="20%"><code>JMOD</code></td><td width="20%"><code>KMOD</code></td></tr> +<tr><td width="20%"><code><a href="NOT.html#NOT">NOT</a></code></td><td width="20%"><code>BNOT</code></td><td width="20%"><code>INOT</code></td><td width="20%"><code>JNOT</code></td><td width="20%"><code>KNOT</code></td></tr> +<tr><td width="20%"><code><a href="REAL.html#REAL">REAL</a></code></td><td width="20%"><code>--</code></td><td width="20%"><code>FLOATI</code></td><td width="20%"><code>FLOATJ</code></td><td width="20%"><code>FLOATK</code></td></tr> +</table> + + + + +</body> +</html> diff --git a/share/doc/gfortran/UBOUND.html b/share/doc/gfortran/UBOUND.html new file mode 100644 index 0000000..a84ab7a --- /dev/null +++ b/share/doc/gfortran/UBOUND.html @@ -0,0 +1,132 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: UBOUND</title> + +<meta name="description" content="The GNU Fortran Compiler: UBOUND"> +<meta name="keywords" content="The GNU Fortran Compiler: UBOUND"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="UCOBOUND.html#UCOBOUND" rel="next" title="UCOBOUND"> +<link href="TTYNAM.html#TTYNAM" rel="previous" title="TTYNAM"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="UBOUND"></a> +<div class="header"> +<p> +Next: <a href="UCOBOUND.html#UCOBOUND" accesskey="n" rel="next">UCOBOUND</a>, Previous: <a href="TTYNAM.html#TTYNAM" accesskey="p" rel="previous">TTYNAM</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="UBOUND-_002d_002d_002d-Upper-dimension-bounds-of-an-array"></a> +<h3 class="section">8.277 <code>UBOUND</code> — Upper dimension bounds of an array</h3> +<a name="index-UBOUND"></a> +<a name="index-array_002c-upper-bound"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the upper bounds of an array, or a single upper bound +along the <var>DIM</var> dimension. +</p></dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later, with <var>KIND</var> argument Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = UBOUND(ARRAY [, DIM [, KIND]])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ARRAY</var></td><td width="70%">Shall be an array, of any type.</td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">(Optional) Shall be a scalar <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of kind <var>KIND</var>. If +<var>KIND</var> is absent, the return value is of default integer kind. +If <var>DIM</var> is absent, the result is an array of the upper bounds of +<var>ARRAY</var>. If <var>DIM</var> is present, the result is a scalar +corresponding to the upper bound of the array along that dimension. If +<var>ARRAY</var> is an expression rather than a whole array or array +structure component, or if it has a zero extent along the relevant +dimension, the upper bound is taken to be the number of elements along +the relevant dimension. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="LBOUND.html#LBOUND">LBOUND</a>, <br> +<a href="LCOBOUND.html#LCOBOUND">LCOBOUND</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/UCOBOUND.html b/share/doc/gfortran/UCOBOUND.html new file mode 100644 index 0000000..1e93043 --- /dev/null +++ b/share/doc/gfortran/UCOBOUND.html @@ -0,0 +1,128 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: UCOBOUND</title> + +<meta name="description" content="The GNU Fortran Compiler: UCOBOUND"> +<meta name="keywords" content="The GNU Fortran Compiler: UCOBOUND"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="UMASK.html#UMASK" rel="next" title="UMASK"> +<link href="UBOUND.html#UBOUND" rel="previous" title="UBOUND"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="UCOBOUND"></a> +<div class="header"> +<p> +Next: <a href="UMASK.html#UMASK" accesskey="n" rel="next">UMASK</a>, Previous: <a href="UBOUND.html#UBOUND" accesskey="p" rel="previous">UBOUND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="UCOBOUND-_002d_002d_002d-Upper-codimension-bounds-of-an-array"></a> +<h3 class="section">8.278 <code>UCOBOUND</code> — Upper codimension bounds of an array</h3> +<a name="index-UCOBOUND"></a> +<a name="index-coarray_002c-upper-bound"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Returns the upper cobounds of a coarray, or a single upper cobound +along the <var>DIM</var> codimension. +</p></dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 2008 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Inquiry function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = UCOBOUND(COARRAY [, DIM [, KIND]])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>ARRAY</var></td><td width="70%">Shall be an coarray, of any type.</td></tr> +<tr><td width="15%"><var>DIM</var></td><td width="70%">(Optional) Shall be a scalar <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of kind <var>KIND</var>. If +<var>KIND</var> is absent, the return value is of default integer kind. +If <var>DIM</var> is absent, the result is an array of the lower cobounds of +<var>COARRAY</var>. If <var>DIM</var> is present, the result is a scalar +corresponding to the lower cobound of the array along that codimension. +</p> +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="LCOBOUND.html#LCOBOUND">LCOBOUND</a>, <br> +<a href="LBOUND.html#LBOUND">LBOUND</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/UMASK.html b/share/doc/gfortran/UMASK.html new file mode 100644 index 0000000..4a2f1dd --- /dev/null +++ b/share/doc/gfortran/UMASK.html @@ -0,0 +1,120 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: UMASK</title> + +<meta name="description" content="The GNU Fortran Compiler: UMASK"> +<meta name="keywords" content="The GNU Fortran Compiler: UMASK"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="UNLINK.html#UNLINK" rel="next" title="UNLINK"> +<link href="UCOBOUND.html#UCOBOUND" rel="previous" title="UCOBOUND"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="UMASK"></a> +<div class="header"> +<p> +Next: <a href="UNLINK.html#UNLINK" accesskey="n" rel="next">UNLINK</a>, Previous: <a href="UCOBOUND.html#UCOBOUND" accesskey="p" rel="previous">UCOBOUND</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="UMASK-_002d_002d_002d-Set-the-file-creation-mask"></a> +<h3 class="section">8.279 <code>UMASK</code> — Set the file creation mask</h3> +<a name="index-UMASK"></a> +<a name="index-file-system_002c-file-creation-mask"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Sets the file creation mask to <var>MASK</var>. If called as a function, it +returns the old value. If called as a subroutine and argument <var>OLD</var> +if it is supplied, it is set to the old value. See <code>umask(2)</code>. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL UMASK(MASK [, OLD])</code></td></tr> +<tr><td width="80%"><code>OLD = UMASK(MASK)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>MASK</var></td><td width="70%">Shall be a scalar of type <code>INTEGER</code>.</td></tr> +<tr><td width="15%"><var>OLD</var></td><td width="70%">(Optional) Shall be a scalar of type +<code>INTEGER</code>.</td></tr> +</table> + +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/UNION-and-MAP.html b/share/doc/gfortran/UNION-and-MAP.html new file mode 100644 index 0000000..c7e9e8d --- /dev/null +++ b/share/doc/gfortran/UNION-and-MAP.html @@ -0,0 +1,193 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: UNION and MAP</title> + +<meta name="description" content="The GNU Fortran Compiler: UNION and MAP"> +<meta name="keywords" content="The GNU Fortran Compiler: UNION and MAP"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="Type-variants-for-integer-intrinsics.html#Type-variants-for-integer-intrinsics" rel="next" title="Type variants for integer intrinsics"> +<link href="STRUCTURE-and-RECORD.html#STRUCTURE-and-RECORD" rel="previous" title="STRUCTURE and RECORD"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="UNION-and-MAP"></a> +<div class="header"> +<p> +Next: <a href="Type-variants-for-integer-intrinsics.html#Type-variants-for-integer-intrinsics" accesskey="n" rel="next">Type variants for integer intrinsics</a>, Previous: <a href="STRUCTURE-and-RECORD.html#STRUCTURE-and-RECORD" accesskey="p" rel="previous">STRUCTURE and RECORD</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> [<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> +</div> +<hr> +<a name="UNION-and-MAP-1"></a> +<h4 class="subsection">5.1.23 <code>UNION</code> and <code>MAP</code></h4> +<a name="index-UNION"></a> +<a name="index-MAP"></a> + +<p>Unions are an old vendor extension which were commonly used with the +non-standard <a href="STRUCTURE-and-RECORD.html#STRUCTURE-and-RECORD">STRUCTURE and RECORD</a> extensions. Use of <code>UNION</code> and +<code>MAP</code> is automatically enabled with <samp>-fdec-structure</samp>. +</p> +<p>A <code>UNION</code> declaration occurs within a structure; within the definition of +each union is a number of <code>MAP</code> blocks. Each <code>MAP</code> shares storage +with its sibling maps (in the same union), and the size of the union is the +size of the largest map within it, just as with unions in C. The major +difference is that component references do not indicate which union or map the +component is in (the compiler gets to figure that out). +</p> +<p>Here is a small example: +</p><div class="smallexample"> +<pre class="smallexample">structure /myunion/ +union + map + character(2) w0, w1, w2 + end map + map + character(6) long + end map +end union +end structure + +record /myunion/ rec +! After this assignment... +rec.long = 'hello!' + +! The following is true: +! rec.w0 === 'he' +! rec.w1 === 'll' +! rec.w2 === 'o!' +</pre></div> + +<p>The two maps share memory, and the size of the union is ultimately six bytes: +</p> +<div class="example"> +<pre class="example">0 1 2 3 4 5 6 Byte offset +------------------------------- +| | | | | | | +------------------------------- + +^ W0 ^ W1 ^ W2 ^ + \-------/ \-------/ \-------/ + +^ LONG ^ + \---------------------------/ +</pre></div> + +<p>Following is an example mirroring the layout of an Intel x86_64 register: +</p> +<div class="example"> +<pre class="example">structure /reg/ + union ! U0 ! rax + map + character(16) rx + end map + map + character(8) rh ! rah + union ! U1 + map + character(8) rl ! ral + end map + map + character(8) ex ! eax + end map + map + character(4) eh ! eah + union ! U2 + map + character(4) el ! eal + end map + map + character(4) x ! ax + end map + map + character(2) h ! ah + character(2) l ! al + end map + end union + end map + end union + end map + end union +end structure +record /reg/ a + +! After this assignment... +a.rx = 'AAAAAAAA.BBB.C.D' + +! The following is true: +a.rx === 'AAAAAAAA.BBB.C.D' +a.rh === 'AAAAAAAA' +a.rl === '.BBB.C.D' +a.ex === '.BBB.C.D' +a.eh === '.BBB' +a.el === '.C.D' +a.x === '.C.D' +a.h === '.C' +a.l === '.D' +</pre></div> + +<hr> +<div class="header"> +<p> +Next: <a href="Type-variants-for-integer-intrinsics.html#Type-variants-for-integer-intrinsics" accesskey="n" rel="next">Type variants for integer intrinsics</a>, Previous: <a href="STRUCTURE-and-RECORD.html#STRUCTURE-and-RECORD" accesskey="p" rel="previous">STRUCTURE and RECORD</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> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/UNLINK.html b/share/doc/gfortran/UNLINK.html new file mode 100644 index 0000000..fdeb3ea --- /dev/null +++ b/share/doc/gfortran/UNLINK.html @@ -0,0 +1,128 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: UNLINK</title> + +<meta name="description" content="The GNU Fortran Compiler: UNLINK"> +<meta name="keywords" content="The GNU Fortran Compiler: UNLINK"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="UNPACK.html#UNPACK" rel="next" title="UNPACK"> +<link href="UMASK.html#UMASK" rel="previous" title="UMASK"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="UNLINK"></a> +<div class="header"> +<p> +Next: <a href="UNPACK.html#UNPACK" accesskey="n" rel="next">UNPACK</a>, Previous: <a href="UMASK.html#UMASK" accesskey="p" rel="previous">UMASK</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="UNLINK-_002d_002d_002d-Remove-a-file-from-the-file-system"></a> +<h3 class="section">8.280 <code>UNLINK</code> — Remove a file from the file system</h3> +<a name="index-UNLINK"></a> +<a name="index-file-system_002c-remove-file"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Unlinks the file <var>PATH</var>. A null character (<code>CHAR(0)</code>) can be +used to mark the end of the name in <var>PATH</var>; otherwise, trailing +blanks in the file name are ignored. If the <var>STATUS</var> argument is +supplied, it contains 0 on success or a nonzero error code upon return; +see <code>unlink(2)</code>. +</p> +<p>This intrinsic is provided in both subroutine and function forms; +however, only one form can be used in any given program unit. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Subroutine, function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><table> +<tr><td width="80%"><code>CALL UNLINK(PATH [, STATUS])</code></td></tr> +<tr><td width="80%"><code>STATUS = UNLINK(PATH)</code></td></tr> +</table> + +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>PATH</var></td><td width="70%">Shall be of default <code>CHARACTER</code> type.</td></tr> +<tr><td width="15%"><var>STATUS</var></td><td width="70%">(Optional) Shall be of default <code>INTEGER</code> type.</td></tr> +</table> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="LINK.html#LINK">LINK</a>, <br> +<a href="SYMLNK.html#SYMLNK">SYMLNK</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/UNPACK.html b/share/doc/gfortran/UNPACK.html new file mode 100644 index 0000000..5bfcc6e --- /dev/null +++ b/share/doc/gfortran/UNPACK.html @@ -0,0 +1,141 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: UNPACK</title> + +<meta name="description" content="The GNU Fortran Compiler: UNPACK"> +<meta name="keywords" content="The GNU Fortran Compiler: UNPACK"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="VERIFY.html#VERIFY" rel="next" title="VERIFY"> +<link href="UNLINK.html#UNLINK" rel="previous" title="UNLINK"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="UNPACK"></a> +<div class="header"> +<p> +Next: <a href="VERIFY.html#VERIFY" accesskey="n" rel="next">VERIFY</a>, Previous: <a href="UNLINK.html#UNLINK" accesskey="p" rel="previous">UNLINK</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="UNPACK-_002d_002d_002d-Unpack-an-array-of-rank-one-into-an-array"></a> +<h3 class="section">8.281 <code>UNPACK</code> — Unpack an array of rank one into an array</h3> +<a name="index-UNPACK"></a> +<a name="index-array_002c-unpacking"></a> +<a name="index-array_002c-increase-dimension-1"></a> +<a name="index-array_002c-scatter-elements"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Store the elements of <var>VECTOR</var> in an array of higher rank. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Transformational function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = UNPACK(VECTOR, MASK, FIELD)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>VECTOR</var></td><td width="70%">Shall be an array of any type and rank one. It +shall have at least as many elements as <var>MASK</var> has <code>TRUE</code> values.</td></tr> +<tr><td width="15%"><var>MASK</var></td><td width="70%">Shall be an array of type <code>LOGICAL</code>.</td></tr> +<tr><td width="15%"><var>FIELD</var></td><td width="70%">Shall be of the same type as <var>VECTOR</var> and have +the same shape as <var>MASK</var>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The resulting array corresponds to <var>FIELD</var> with <code>TRUE</code> elements +of <var>MASK</var> replaced by values from <var>VECTOR</var> in array element order. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_unpack + integer :: vector(2) = (/1,1/) + logical :: mask(4) = (/ .TRUE., .FALSE., .FALSE., .TRUE. /) + integer :: field(2,2) = 0, unity(2,2) + + ! result: unity matrix + unity = unpack(vector, reshape(mask, (/2,2/)), field) +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="PACK.html#PACK">PACK</a>, <br> +<a href="SPREAD.html#SPREAD">SPREAD</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/UNROLL-directive.html b/share/doc/gfortran/UNROLL-directive.html new file mode 100644 index 0000000..fe90116 --- /dev/null +++ b/share/doc/gfortran/UNROLL-directive.html @@ -0,0 +1,94 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: UNROLL directive</title> + +<meta name="description" content="The GNU Fortran Compiler: UNROLL directive"> +<meta name="keywords" content="The GNU Fortran Compiler: UNROLL directive"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="GNU-Fortran-Compiler-Directives.html#GNU-Fortran-Compiler-Directives" rel="up" title="GNU Fortran Compiler Directives"> +<link href="BUILTIN-directive.html#BUILTIN-directive" rel="next" title="BUILTIN directive"> +<link href="ATTRIBUTES-directive.html#ATTRIBUTES-directive" rel="previous" title="ATTRIBUTES directive"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="UNROLL-directive"></a> +<div class="header"> +<p> +Next: <a href="BUILTIN-directive.html#BUILTIN-directive" accesskey="n" rel="next">BUILTIN directive</a>, Previous: <a href="ATTRIBUTES-directive.html#ATTRIBUTES-directive" accesskey="p" rel="previous">ATTRIBUTES directive</a>, Up: <a href="GNU-Fortran-Compiler-Directives.html#GNU-Fortran-Compiler-Directives" accesskey="u" rel="up">GNU Fortran Compiler Directives</a> [<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> +</div> +<hr> +<a name="UNROLL-directive-1"></a> +<h4 class="subsection">6.2.2 UNROLL directive</h4> + +<p>The syntax of the directive is +</p> +<p><code>!GCC$ unroll N</code> +</p> +<p>You can use this directive to control how many times a loop should be unrolled. +It must be placed immediately before a <code>DO</code> loop and applies only to the +loop that follows. N is an integer constant specifying the unrolling factor. +The values of 0 and 1 block any unrolling of the loop. +</p> + + + + +</body> +</html> diff --git a/share/doc/gfortran/Unary-operators.html b/share/doc/gfortran/Unary-operators.html new file mode 100644 index 0000000..075de6e --- /dev/null +++ b/share/doc/gfortran/Unary-operators.html @@ -0,0 +1,93 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Unary operators</title> + +<meta name="description" content="The GNU Fortran Compiler: Unary operators"> +<meta name="keywords" content="The GNU Fortran Compiler: Unary operators"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="Implicitly-convert-LOGICAL-and-INTEGER-values.html#Implicitly-convert-LOGICAL-and-INTEGER-values" rel="next" title="Implicitly convert LOGICAL and INTEGER values"> +<link href="Real-array-indices.html#Real-array-indices" rel="previous" title="Real array indices"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Unary-operators"></a> +<div class="header"> +<p> +Next: <a href="Implicitly-convert-LOGICAL-and-INTEGER-values.html#Implicitly-convert-LOGICAL-and-INTEGER-values" accesskey="n" rel="next">Implicitly convert LOGICAL and INTEGER values</a>, Previous: <a href="Real-array-indices.html#Real-array-indices" accesskey="p" rel="previous">Real array indices</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> [<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> +</div> +<hr> +<a name="Unary-operators-1"></a> +<h4 class="subsection">5.1.12 Unary operators</h4> +<a name="index-operators_002c-unary"></a> + +<p>As an extension, GNU Fortran allows unary plus and unary minus operators +to appear as the second operand of binary arithmetic operators without +the need for parenthesis. +</p> +<div class="smallexample"> +<pre class="smallexample"> X = Y * -Z +</pre></div> + + + + +</body> +</html> diff --git a/share/doc/gfortran/VECTOR-directive.html b/share/doc/gfortran/VECTOR-directive.html new file mode 100644 index 0000000..c876605 --- /dev/null +++ b/share/doc/gfortran/VECTOR-directive.html @@ -0,0 +1,93 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: VECTOR directive</title> + +<meta name="description" content="The GNU Fortran Compiler: VECTOR directive"> +<meta name="keywords" content="The GNU Fortran Compiler: VECTOR directive"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="GNU-Fortran-Compiler-Directives.html#GNU-Fortran-Compiler-Directives" rel="up" title="GNU Fortran Compiler Directives"> +<link href="NOVECTOR-directive.html#NOVECTOR-directive" rel="next" title="NOVECTOR directive"> +<link href="IVDEP-directive.html#IVDEP-directive" rel="previous" title="IVDEP directive"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="VECTOR-directive"></a> +<div class="header"> +<p> +Next: <a href="NOVECTOR-directive.html#NOVECTOR-directive" accesskey="n" rel="next">NOVECTOR directive</a>, Previous: <a href="IVDEP-directive.html#IVDEP-directive" accesskey="p" rel="previous">IVDEP directive</a>, Up: <a href="GNU-Fortran-Compiler-Directives.html#GNU-Fortran-Compiler-Directives" accesskey="u" rel="up">GNU Fortran Compiler Directives</a> [<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> +</div> +<hr> +<a name="VECTOR-directive-1"></a> +<h4 class="subsection">6.2.5 VECTOR directive</h4> + +<p>The syntax of the directive is +</p> +<p><code>!GCC$ vector</code> +</p> +<p>This directive tells the compiler to vectorize the following loop. It +must be placed immediately before a <code>DO</code> loop and applies only to +the loop that follows. +</p> + + + + +</body> +</html> diff --git a/share/doc/gfortran/VERIFY.html b/share/doc/gfortran/VERIFY.html new file mode 100644 index 0000000..8d9f7ee --- /dev/null +++ b/share/doc/gfortran/VERIFY.html @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: VERIFY</title> + +<meta name="description" content="The GNU Fortran Compiler: VERIFY"> +<meta name="keywords" content="The GNU Fortran Compiler: VERIFY"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="XOR.html#XOR" rel="next" title="XOR"> +<link href="UNPACK.html#UNPACK" rel="previous" title="UNPACK"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="VERIFY"></a> +<div class="header"> +<p> +Next: <a href="XOR.html#XOR" accesskey="n" rel="next">XOR</a>, Previous: <a href="UNPACK.html#UNPACK" accesskey="p" rel="previous">UNPACK</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="VERIFY-_002d_002d_002d-Scan-a-string-for-characters-not-a-given-set"></a> +<h3 class="section">8.282 <code>VERIFY</code> — Scan a string for characters not a given set</h3> +<a name="index-VERIFY"></a> +<a name="index-string_002c-find-missing-set"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Verifies that all the characters in <var>STRING</var> belong to the set of +characters in <var>SET</var>. +</p> +<p>If <var>BACK</var> is either absent or equals <code>FALSE</code>, this function +returns the position of the leftmost character of <var>STRING</var> that is +not in <var>SET</var>. If <var>BACK</var> equals <code>TRUE</code>, the rightmost +position is returned. If all characters of <var>STRING</var> are found in +<var>SET</var>, the result is zero. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>Fortran 90 and later, with <var>KIND</var> argument Fortran 2003 and later +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Elemental function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = VERIFY(STRING, SET[, BACK [, KIND]])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>STRING</var></td><td width="70%">Shall be of type <code>CHARACTER</code>.</td></tr> +<tr><td width="15%"><var>SET</var></td><td width="70%">Shall be of type <code>CHARACTER</code>.</td></tr> +<tr><td width="15%"><var>BACK</var></td><td width="70%">(Optional) shall be of type <code>LOGICAL</code>.</td></tr> +<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant +expression indicating the kind parameter of the result.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return value is of type <code>INTEGER</code> and of kind <var>KIND</var>. If +<var>KIND</var> is absent, the return value is of default integer kind. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_verify + WRITE(*,*) VERIFY("FORTRAN", "AO") ! 1, found 'F' + WRITE(*,*) VERIFY("FORTRAN", "FOO") ! 3, found 'R' + WRITE(*,*) VERIFY("FORTRAN", "C++") ! 1, found 'F' + WRITE(*,*) VERIFY("FORTRAN", "C++", .TRUE.) ! 7, found 'N' + WRITE(*,*) VERIFY("FORTRAN", "FORTRAN") ! 0' found none +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p><a href="SCAN.html#SCAN">SCAN</a>, <br> +<a href="INDEX-intrinsic.html#INDEX-intrinsic">INDEX intrinsic</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Variable-FORMAT-expressions.html b/share/doc/gfortran/Variable-FORMAT-expressions.html new file mode 100644 index 0000000..6bf73c0 --- /dev/null +++ b/share/doc/gfortran/Variable-FORMAT-expressions.html @@ -0,0 +1,122 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Variable FORMAT expressions</title> + +<meta name="description" content="The GNU Fortran Compiler: Variable FORMAT expressions"> +<meta name="keywords" content="The GNU Fortran Compiler: Variable FORMAT expressions"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran" rel="up" title="Extensions not implemented in GNU Fortran"> +<link href="Alternate-complex-function-syntax.html#Alternate-complex-function-syntax" rel="next" title="Alternate complex function syntax"> +<link href="ENCODE-and-DECODE-statements.html#ENCODE-and-DECODE-statements" rel="previous" title="ENCODE and DECODE statements"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Variable-FORMAT-expressions"></a> +<div class="header"> +<p> +Next: <a href="Alternate-complex-function-syntax.html#Alternate-complex-function-syntax" accesskey="n" rel="next">Alternate complex function syntax</a>, Previous: <a href="ENCODE-and-DECODE-statements.html#ENCODE-and-DECODE-statements" accesskey="p" rel="previous">ENCODE and DECODE statements</a>, Up: <a href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran" accesskey="u" rel="up">Extensions not implemented in GNU Fortran</a> [<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> +</div> +<hr> +<a name="Variable-FORMAT-expressions-1"></a> +<h4 class="subsection">5.2.2 Variable <code>FORMAT</code> expressions</h4> +<a name="index-FORMAT"></a> + +<p>A variable <code>FORMAT</code> expression is format statement which includes +angle brackets enclosing a Fortran expression: <code>FORMAT(I<N>)</code>. GNU +Fortran does not support this legacy extension. The effect of variable +format expressions can be reproduced by using the more powerful (and +standard) combination of internal output and string formats. For example, +replace a code fragment like this: +</p> +<div class="smallexample"> +<pre class="smallexample"> WRITE(6,20) INT1 + 20 FORMAT(I<N+1>) +</pre></div> + +<p>with the following: +</p> +<div class="smallexample"> +<pre class="smallexample">c Variable declaration + CHARACTER(LEN=20) FMT +c +c Other code here... +c + WRITE(FMT,'("(I", I0, ")")') N+1 + WRITE(6,FMT) INT1 +</pre></div> + +<p>or with: +</p> +<div class="smallexample"> +<pre class="smallexample">c Variable declaration + CHARACTER(LEN=20) FMT +c +c Other code here... +c + WRITE(FMT,*) N+1 + WRITE(6,"(I" // ADJUSTL(FMT) // ")") INT1 +</pre></div> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/Volatile-COMMON-blocks.html b/share/doc/gfortran/Volatile-COMMON-blocks.html new file mode 100644 index 0000000..2ae1f82 --- /dev/null +++ b/share/doc/gfortran/Volatile-COMMON-blocks.html @@ -0,0 +1,93 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Volatile COMMON blocks</title> + +<meta name="description" content="The GNU Fortran Compiler: Volatile COMMON blocks"> +<meta name="keywords" content="The GNU Fortran Compiler: Volatile COMMON blocks"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran" rel="up" title="Extensions not implemented in GNU Fortran"> +<link href="OPEN_0028-_002e_002e_002e-NAME_003d_0029.html#OPEN_0028-_002e_002e_002e-NAME_003d_0029" rel="next" title="OPEN( ... NAME=)"> +<link href="Alternate-complex-function-syntax.html#Alternate-complex-function-syntax" rel="previous" title="Alternate complex function syntax"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Volatile-COMMON-blocks"></a> +<div class="header"> +<p> +Next: <a href="OPEN_0028-_002e_002e_002e-NAME_003d_0029.html#OPEN_0028-_002e_002e_002e-NAME_003d_0029" accesskey="n" rel="next">OPEN( ... NAME=)</a>, Previous: <a href="Alternate-complex-function-syntax.html#Alternate-complex-function-syntax" accesskey="p" rel="previous">Alternate complex function syntax</a>, Up: <a href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran" accesskey="u" rel="up">Extensions not implemented in GNU Fortran</a> [<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> +</div> +<hr> +<a name="Volatile-COMMON-blocks-1"></a> +<h4 class="subsection">5.2.4 Volatile <code>COMMON</code> blocks</h4> +<a name="index-VOLATILE"></a> +<a name="index-COMMON"></a> + +<p>Some Fortran compilers, including <code>g77</code>, let the user declare +<code>COMMON</code> with the <code>VOLATILE</code> attribute. This is +invalid standard Fortran syntax and is not supported by +<code>gfortran</code>. Note that <code>gfortran</code> accepts +<code>VOLATILE</code> variables in <code>COMMON</code> blocks since revision 4.3. +</p> + + + + +</body> +</html> diff --git a/share/doc/gfortran/Working-with-C-Pointers.html b/share/doc/gfortran/Working-with-C-Pointers.html new file mode 100644 index 0000000..e1c70cb --- /dev/null +++ b/share/doc/gfortran/Working-with-C-Pointers.html @@ -0,0 +1,241 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Working with C Pointers</title> + +<meta name="description" content="The GNU Fortran Compiler: Working with C Pointers"> +<meta name="keywords" content="The GNU Fortran Compiler: Working with C Pointers"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Interoperability-with-C.html#Interoperability-with-C" rel="up" title="Interoperability with C"> +<link href="Further-Interoperability-of-Fortran-with-C.html#Further-Interoperability-of-Fortran-with-C" rel="next" title="Further Interoperability of Fortran with C"> +<link href="Interoperable-Subroutines-and-Functions.html#Interoperable-Subroutines-and-Functions" rel="previous" title="Interoperable Subroutines and Functions"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Working-with-C-Pointers"></a> +<div class="header"> +<p> +Next: <a href="Further-Interoperability-of-Fortran-with-C.html#Further-Interoperability-of-Fortran-with-C" accesskey="n" rel="next">Further Interoperability of Fortran with C</a>, Previous: <a href="Interoperable-Subroutines-and-Functions.html#Interoperable-Subroutines-and-Functions" accesskey="p" rel="previous">Interoperable Subroutines and Functions</a>, Up: <a href="Interoperability-with-C.html#Interoperability-with-C" accesskey="u" rel="up">Interoperability with C</a> [<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> +</div> +<hr> +<a name="Working-with-C-Pointers-1"></a> +<h4 class="subsection">6.1.5 Working with C Pointers</h4> +<a name="index-C-pointers"></a> +<a name="index-pointers_002c-C"></a> + +<p>C pointers are represented in Fortran via the special opaque derived +type <code>type(c_ptr)</code> (with private components). C pointers are distinct +from Fortran objects with the <code>POINTER</code> attribute. Thus one needs to +use intrinsic conversion procedures to convert from or to C pointers. +For some applications, using an assumed type (<code>TYPE(*)</code>) can be +an alternative to a C pointer, and you can also use library routines +to access Fortran pointers from C. See <a href="Further-Interoperability-of-Fortran-with-C.html#Further-Interoperability-of-Fortran-with-C">Further Interoperability of Fortran with C</a>. +</p> +<p>Here is an example of using C pointers in Fortran: +</p> +<div class="smallexample"> +<pre class="smallexample"> use iso_c_binding + type(c_ptr) :: cptr1, cptr2 + integer, target :: array(7), scalar + integer, pointer :: pa(:), ps + cptr1 = c_loc(array(1)) ! The programmer needs to ensure that the + ! array is contiguous if required by the C + ! procedure + cptr2 = c_loc(scalar) + call c_f_pointer(cptr2, ps) + call c_f_pointer(cptr2, pa, shape=[7]) +</pre></div> + +<p>When converting C to Fortran arrays, the one-dimensional <code>SHAPE</code> argument +has to be passed. +</p> +<p>If a pointer is a dummy argument of an interoperable procedure, it usually +has to be declared using the <code>VALUE</code> attribute. <code>void*</code> +matches <code>TYPE(C_PTR), VALUE</code>, while <code>TYPE(C_PTR)</code> alone +matches <code>void**</code>. +</p> +<p>Procedure pointers are handled analogously to pointers; the C type is +<code>TYPE(C_FUNPTR)</code> and the intrinsic conversion procedures are +<code>C_F_PROCPOINTER</code> and <code>C_FUNLOC</code>. +</p> +<p>Let us consider two examples of actually passing a procedure pointer from +C to Fortran and vice versa. Note that these examples are also very +similar to passing ordinary pointers between both languages. First, +consider this code in C: +</p> +<div class="smallexample"> +<pre class="smallexample">/* Procedure implemented in Fortran. */ +void get_values (void (*)(double)); + +/* Call-back routine we want called from Fortran. */ +void +print_it (double x) +{ + printf ("Number is %f.\n", x); +} + +/* Call Fortran routine and pass call-back to it. */ +void +foobar () +{ + get_values (&print_it); +} +</pre></div> + +<p>A matching implementation for <code>get_values</code> in Fortran, that correctly +receives the procedure pointer from C and is able to call it, is given +in the following <code>MODULE</code>: +</p> +<div class="smallexample"> +<pre class="smallexample">MODULE m + IMPLICIT NONE + + ! Define interface of call-back routine. + ABSTRACT INTERFACE + SUBROUTINE callback (x) + USE, INTRINSIC :: ISO_C_BINDING + REAL(KIND=C_DOUBLE), INTENT(IN), VALUE :: x + END SUBROUTINE callback + END INTERFACE + +CONTAINS + + ! Define C-bound procedure. + SUBROUTINE get_values (cproc) BIND(C) + USE, INTRINSIC :: ISO_C_BINDING + TYPE(C_FUNPTR), INTENT(IN), VALUE :: cproc + + PROCEDURE(callback), POINTER :: proc + + ! Convert C to Fortran procedure pointer. + CALL C_F_PROCPOINTER (cproc, proc) + + ! Call it. + CALL proc (1.0_C_DOUBLE) + CALL proc (-42.0_C_DOUBLE) + CALL proc (18.12_C_DOUBLE) + END SUBROUTINE get_values + +END MODULE m +</pre></div> + +<p>Next, we want to call a C routine that expects a procedure pointer argument +and pass it a Fortran procedure (which clearly must be interoperable!). +Again, the C function may be: +</p> +<div class="smallexample"> +<pre class="smallexample">int +call_it (int (*func)(int), int arg) +{ + return func (arg); +} +</pre></div> + +<p>It can be used as in the following Fortran code: +</p> +<div class="smallexample"> +<pre class="smallexample">MODULE m + USE, INTRINSIC :: ISO_C_BINDING + IMPLICIT NONE + + ! Define interface of C function. + INTERFACE + INTEGER(KIND=C_INT) FUNCTION call_it (func, arg) BIND(C) + USE, INTRINSIC :: ISO_C_BINDING + TYPE(C_FUNPTR), INTENT(IN), VALUE :: func + INTEGER(KIND=C_INT), INTENT(IN), VALUE :: arg + END FUNCTION call_it + END INTERFACE + +CONTAINS + + ! Define procedure passed to C function. + ! It must be interoperable! + INTEGER(KIND=C_INT) FUNCTION double_it (arg) BIND(C) + INTEGER(KIND=C_INT), INTENT(IN), VALUE :: arg + double_it = arg + arg + END FUNCTION double_it + + ! Call C function. + SUBROUTINE foobar () + TYPE(C_FUNPTR) :: cproc + INTEGER(KIND=C_INT) :: i + + ! Get C procedure pointer. + cproc = C_FUNLOC (double_it) + + ! Use it. + DO i = 1_C_INT, 10_C_INT + PRINT *, call_it (cproc, i) + END DO + END SUBROUTINE foobar + +END MODULE m +</pre></div> + +<hr> +<div class="header"> +<p> +Next: <a href="Further-Interoperability-of-Fortran-with-C.html#Further-Interoperability-of-Fortran-with-C" accesskey="n" rel="next">Further Interoperability of Fortran with C</a>, Previous: <a href="Interoperable-Subroutines-and-Functions.html#Interoperable-Subroutines-and-Functions" accesskey="p" rel="previous">Interoperable Subroutines and Functions</a>, Up: <a href="Interoperability-with-C.html#Interoperability-with-C" accesskey="u" rel="up">Interoperability with C</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/X-format-descriptor-without-count-field.html b/share/doc/gfortran/X-format-descriptor-without-count-field.html new file mode 100644 index 0000000..7834390 --- /dev/null +++ b/share/doc/gfortran/X-format-descriptor-without-count-field.html @@ -0,0 +1,93 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: X format descriptor without count field</title> + +<meta name="description" content="The GNU Fortran Compiler: X format descriptor without count field"> +<meta name="keywords" content="The GNU Fortran Compiler: X format descriptor without count field"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="Commas-in-FORMAT-specifications.html#Commas-in-FORMAT-specifications" rel="next" title="Commas in FORMAT specifications"> +<link href="Extensions-to-namelist.html#Extensions-to-namelist" rel="previous" title="Extensions to namelist"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="X-format-descriptor-without-count-field"></a> +<div class="header"> +<p> +Next: <a href="Commas-in-FORMAT-specifications.html#Commas-in-FORMAT-specifications" accesskey="n" rel="next">Commas in FORMAT specifications</a>, Previous: <a href="Extensions-to-namelist.html#Extensions-to-namelist" accesskey="p" rel="previous">Extensions to namelist</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> [<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> +</div> +<hr> +<a name="X-format-descriptor-without-count-field-1"></a> +<h4 class="subsection">5.1.4 <code>X</code> format descriptor without count field</h4> + +<p>To support legacy codes, GNU Fortran permits the count field of the +<code>X</code> edit descriptor in <code>FORMAT</code> statements to be omitted. +When omitted, the count is implicitly assumed to be one. +</p> +<div class="smallexample"> +<pre class="smallexample"> PRINT 10, 2, 3 +10 FORMAT (I1, X, I1) +</pre></div> + + + + +</body> +</html> diff --git a/share/doc/gfortran/XOR.html b/share/doc/gfortran/XOR.html new file mode 100644 index 0000000..c6c2d83 --- /dev/null +++ b/share/doc/gfortran/XOR.html @@ -0,0 +1,150 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: XOR</title> + +<meta name="description" content="The GNU Fortran Compiler: XOR"> +<meta name="keywords" content="The GNU Fortran Compiler: XOR"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures"> +<link href="Intrinsic-Modules.html#Intrinsic-Modules" rel="next" title="Intrinsic Modules"> +<link href="VERIFY.html#VERIFY" rel="previous" title="VERIFY"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="XOR"></a> +<div class="header"> +<p> +Previous: <a href="VERIFY.html#VERIFY" accesskey="p" rel="previous">VERIFY</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> [<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> +</div> +<hr> +<a name="XOR-_002d_002d_002d-Bitwise-logical-exclusive-OR"></a> +<h3 class="section">8.283 <code>XOR</code> — Bitwise logical exclusive OR</h3> +<a name="index-XOR"></a> +<a name="index-bitwise-logical-exclusive-or-1"></a> +<a name="index-logical-exclusive-or_002c-bitwise-1"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Bitwise logical exclusive or. +</p> +<p>This intrinsic routine is provided for backwards compatibility with +GNU Fortran 77. For integer arguments, programmers should consider +the use of the <a href="IEOR.html#IEOR">IEOR</a> intrinsic and for logical arguments the +<code>.NEQV.</code> operator, which are both defined by the Fortran standard. +</p> +</dd> +<dt><em>Standard</em>:</dt> +<dd><p>GNU extension +</p> +</dd> +<dt><em>Class</em>:</dt> +<dd><p>Function +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>RESULT = XOR(I, J)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>I</var></td><td width="70%">The type shall be either a scalar <code>INTEGER</code> +type or a scalar <code>LOGICAL</code> type or a boz-literal-constant.</td></tr> +<tr><td width="15%"><var>J</var></td><td width="70%">The type shall be the same as the type of <var>I</var> or +a boz-literal-constant. <var>I</var> and <var>J</var> shall not both be +boz-literal-constants. If either <var>I</var> and <var>J</var> is a +boz-literal-constant, then the other argument must be a scalar <code>INTEGER</code>.</td></tr> +</table> + +</dd> +<dt><em>Return value</em>:</dt> +<dd><p>The return type is either a scalar <code>INTEGER</code> or a scalar +<code>LOGICAL</code>. If the kind type parameters differ, then the +smaller kind type is implicitly converted to larger kind, and the +return has the larger kind. A boz-literal-constant is +converted to an <code>INTEGER</code> with the kind type parameter of +the other argument as-if a call to <a href="INT.html#INT">INT</a> occurred. +</p> +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">PROGRAM test_xor + LOGICAL :: T = .TRUE., F = .FALSE. + INTEGER :: a, b + DATA a / Z'F' /, b / Z'3' / + + WRITE (*,*) XOR(T, T), XOR(T, F), XOR(F, T), XOR(F, F) + WRITE (*,*) XOR(a, b) +END PROGRAM +</pre></div> + +</dd> +<dt><em>See also</em>:</dt> +<dd><p>Fortran 95 elemental function: <br> +<a href="IEOR.html#IEOR">IEOR</a> +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_0025LOC-as-an-rvalue.html b/share/doc/gfortran/_0025LOC-as-an-rvalue.html new file mode 100644 index 0000000..80f28f9 --- /dev/null +++ b/share/doc/gfortran/_0025LOC-as-an-rvalue.html @@ -0,0 +1,101 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: %LOC as an rvalue</title> + +<meta name="description" content="The GNU Fortran Compiler: %LOC as an rvalue"> +<meta name="keywords" content="The GNU Fortran Compiler: %LOC as an rvalue"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="_002eXOR_002e-operator.html#g_t_002eXOR_002e-operator" rel="next" title=".XOR. operator"> +<link href="TYPE-as-an-alias-for-PRINT.html#TYPE-as-an-alias-for-PRINT" rel="previous" title="TYPE as an alias for PRINT"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_0025LOC-as-an-rvalue"></a> +<div class="header"> +<p> +Next: <a href="_002eXOR_002e-operator.html#g_t_002eXOR_002e-operator" accesskey="n" rel="next">.XOR. operator</a>, Previous: <a href="TYPE-as-an-alias-for-PRINT.html#TYPE-as-an-alias-for-PRINT" accesskey="p" rel="previous">TYPE as an alias for PRINT</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> [<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> +</div> +<hr> +<a name="g_t_0025LOC-as-an-rvalue-1"></a> +<h4 class="subsection">5.1.29 %LOC as an rvalue</h4> +<a name="index-LOC"></a> +<p>Normally <code>%LOC</code> is allowed only in parameter lists. However the intrinsic +function <code>LOC</code> does the same thing, and is usable as the right-hand-side of +assignments. For compatibility, GNU Fortran supports the use of <code>%LOC</code> as +an alias for the builtin <code>LOC</code> with <samp>-std=legacy</samp>. With this +feature enabled the following two examples are equivalent: +</p> +<div class="smallexample"> +<pre class="smallexample">integer :: i, l +l = %loc(i) +call sub(l) +</pre></div> + +<div class="smallexample"> +<pre class="smallexample">integer :: i +call sub(%loc(i)) +</pre></div> + + + + +</body> +</html> diff --git a/share/doc/gfortran/_002eXOR_002e-operator.html b/share/doc/gfortran/_002eXOR_002e-operator.html new file mode 100644 index 0000000..10c0afd --- /dev/null +++ b/share/doc/gfortran/_002eXOR_002e-operator.html @@ -0,0 +1,89 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: .XOR. operator</title> + +<meta name="description" content="The GNU Fortran Compiler: .XOR. operator"> +<meta name="keywords" content="The GNU Fortran Compiler: .XOR. operator"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran" rel="up" title="Extensions implemented in GNU Fortran"> +<link href="Bitwise-logical-operators.html#Bitwise-logical-operators" rel="next" title="Bitwise logical operators"> +<link href="_0025LOC-as-an-rvalue.html#g_t_0025LOC-as-an-rvalue" rel="previous" title="%LOC as an rvalue"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_002eXOR_002e-operator"></a> +<div class="header"> +<p> +Next: <a href="Bitwise-logical-operators.html#Bitwise-logical-operators" accesskey="n" rel="next">Bitwise logical operators</a>, Previous: <a href="_0025LOC-as-an-rvalue.html#g_t_0025LOC-as-an-rvalue" accesskey="p" rel="previous">%LOC as an rvalue</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> [<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> +</div> +<hr> +<a name="g_t_002eXOR_002e-operator-1"></a> +<h4 class="subsection">5.1.30 .XOR. operator</h4> +<a name="index-operators_002c-xor"></a> + +<p>GNU Fortran supports <code>.XOR.</code> as a logical operator with <code>-std=legacy</code> +for compatibility with legacy code. <code>.XOR.</code> is equivalent to +<code>.NEQV.</code>. That is, the output is true if and only if the inputs differ. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fatomic_005fcas.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fatomic_005fcas.html new file mode 100644 index 0000000..e57fd09 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fatomic_005fcas.html @@ -0,0 +1,121 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_atomic_cas</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_atomic_cas"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_atomic_cas"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fatomic_005fop.html#g_t_005fgfortran_005fcaf_005fatomic_005fop" rel="next" title="_gfortran_caf_atomic_op"> +<link href="_005fgfortran_005fcaf_005fatomic_005fref.html#g_t_005fgfortran_005fcaf_005fatomic_005fref" rel="previous" title="_gfortran_caf_atomic_ref"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fatomic_005fcas"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fatomic_005fop.html#g_t_005fgfortran_005fcaf_005fatomic_005fop" accesskey="n" rel="next">_gfortran_caf_atomic_op</a>, Previous: <a href="_005fgfortran_005fcaf_005fatomic_005fref.html#g_t_005fgfortran_005fcaf_005fatomic_005fref" accesskey="p" rel="previous">_gfortran_caf_atomic_ref</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fatomic_005fcas-_002d_002d_002d-Atomic-compare-and-swap"></a> +<h4 class="subsection">7.2.30 <code>_gfortran_caf_atomic_cas</code> — Atomic compare and swap</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fatomic_005fcas"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Atomic compare and swap of a kind-4 integer or logical variable. Assigns +atomically the specified value to the atomic variable, if the latter has +the value specified by the passed condition value. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_atomic_cas (caf_token_t token, size_t offset, +int image_index, void *old, void *compare, void *new_val, int *stat, +int type, int kind)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>token</var></td><td width="70%">intent(in) An opaque pointer identifying the coarray.</td></tr> +<tr><td width="15%"><var>offset</var></td><td width="70%">intent(in) By which amount of bytes the actual data is +shifted compared to the base address of the coarray.</td></tr> +<tr><td width="15%"><var>image_index</var></td><td width="70%">intent(in) The ID of the remote image; must be a +positive number; zero indicates the current image when used noncoindexed.</td></tr> +<tr><td width="15%"><var>old</var></td><td width="70%">intent(out) The value which the atomic variable had +just before the cas operation.</td></tr> +<tr><td width="15%"><var>compare</var></td><td width="70%">intent(in) The value used for comparision.</td></tr> +<tr><td width="15%"><var>new_val</var></td><td width="70%">intent(in) The new value for the atomic variable, +assigned to the atomic variable, if <code>compare</code> equals the value of the +atomic variable.</td></tr> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) Stores the status STAT= and may be NULL.</td></tr> +<tr><td width="15%"><var>type</var></td><td width="70%">intent(in) the data type, i.e. <code>BT_INTEGER</code> (1) or +<code>BT_LOGICAL</code> (2).</td></tr> +<tr><td width="15%"><var>kind</var></td><td width="70%">intent(in) The kind value (only 4; always <code>int</code>)</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fatomic_005fdefine.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fatomic_005fdefine.html new file mode 100644 index 0000000..736ad4b --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fatomic_005fdefine.html @@ -0,0 +1,113 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_atomic_define</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_atomic_define"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_atomic_define"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fatomic_005fref.html#g_t_005fgfortran_005fcaf_005fatomic_005fref" rel="next" title="_gfortran_caf_atomic_ref"> +<link href="_005fgfortran_005fcaf_005ffail_005fimage.html#g_t_005fgfortran_005fcaf_005ffail_005fimage" rel="previous" title="_gfortran_caf_fail_image"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fatomic_005fdefine"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fatomic_005fref.html#g_t_005fgfortran_005fcaf_005fatomic_005fref" accesskey="n" rel="next">_gfortran_caf_atomic_ref</a>, Previous: <a href="_005fgfortran_005fcaf_005ffail_005fimage.html#g_t_005fgfortran_005fcaf_005ffail_005fimage" accesskey="p" rel="previous">_gfortran_caf_fail_image</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fatomic_005fdefine-_002d_002d_002d-Atomic-variable-assignment"></a> +<h4 class="subsection">7.2.28 <code>_gfortran_caf_atomic_define</code> — Atomic variable assignment</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fatomic_005fdefine"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Assign atomically a value to an integer or logical variable. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_atomic_define (caf_token_t token, size_t offset, +int image_index, void *value, int *stat, int type, int kind)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>token</var></td><td width="70%">intent(in) An opaque pointer identifying the coarray.</td></tr> +<tr><td width="15%"><var>offset</var></td><td width="70%">intent(in) By which amount of bytes the actual data is +shifted compared to the base address of the coarray.</td></tr> +<tr><td width="15%"><var>image_index</var></td><td width="70%">intent(in) The ID of the remote image; must be a +positive number; zero indicates the current image when used noncoindexed.</td></tr> +<tr><td width="15%"><var>value</var></td><td width="70%">intent(in) the value to be assigned, passed by reference</td></tr> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) Stores the status STAT= and may be NULL.</td></tr> +<tr><td width="15%"><var>type</var></td><td width="70%">intent(in) The data type, i.e. <code>BT_INTEGER</code> (1) or +<code>BT_LOGICAL</code> (2).</td></tr> +<tr><td width="15%"><var>kind</var></td><td width="70%">intent(in) The kind value (only 4; always <code>int</code>)</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fatomic_005fop.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fatomic_005fop.html new file mode 100644 index 0000000..b5bfee4 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fatomic_005fop.html @@ -0,0 +1,126 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_atomic_op</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_atomic_op"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_atomic_op"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fco_005fbroadcast.html#g_t_005fgfortran_005fcaf_005fco_005fbroadcast" rel="next" title="_gfortran_caf_co_broadcast"> +<link href="_005fgfortran_005fcaf_005fatomic_005fcas.html#g_t_005fgfortran_005fcaf_005fatomic_005fcas" rel="previous" title="_gfortran_caf_atomic_cas"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fatomic_005fop"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fco_005fbroadcast.html#g_t_005fgfortran_005fcaf_005fco_005fbroadcast" accesskey="n" rel="next">_gfortran_caf_co_broadcast</a>, Previous: <a href="_005fgfortran_005fcaf_005fatomic_005fcas.html#g_t_005fgfortran_005fcaf_005fatomic_005fcas" accesskey="p" rel="previous">_gfortran_caf_atomic_cas</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fatomic_005fop-_002d_002d_002d-Atomic-operation"></a> +<h4 class="subsection">7.2.31 <code>_gfortran_caf_atomic_op</code> — Atomic operation</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fatomic_005fop"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Apply an operation atomically to an atomic integer or logical variable. +After the operation, <var>old</var> contains the value just before the operation, +which, respectively, adds (GFC_CAF_ATOMIC_ADD) atomically the <code>value</code> to +the atomic integer variable or does a bitwise AND, OR or exclusive OR +between the atomic variable and <var>value</var>; the result is then stored in the +atomic variable. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_atomic_op (int op, caf_token_t token, size_t offset, +int image_index, void *value, void *old, int *stat, int type, int kind)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>op</var></td><td width="70%">intent(in) the operation to be performed; possible values +<code>GFC_CAF_ATOMIC_ADD</code> (1), <code>GFC_CAF_ATOMIC_AND</code> (2), +<code>GFC_CAF_ATOMIC_OR</code> (3), <code>GFC_CAF_ATOMIC_XOR</code> (4).</td></tr> +<tr><td width="15%"><var>token</var></td><td width="70%">intent(in) An opaque pointer identifying the coarray.</td></tr> +<tr><td width="15%"><var>offset</var></td><td width="70%">intent(in) By which amount of bytes the actual data is +shifted compared to the base address of the coarray.</td></tr> +<tr><td width="15%"><var>image_index</var></td><td width="70%">intent(in) The ID of the remote image; must be a +positive number; zero indicates the current image when used noncoindexed.</td></tr> +<tr><td width="15%"><var>old</var></td><td width="70%">intent(out) The value which the atomic variable had +just before the atomic operation.</td></tr> +<tr><td width="15%"><var>val</var></td><td width="70%">intent(in) The new value for the atomic variable, +assigned to the atomic variable, if <code>compare</code> equals the value of the +atomic variable.</td></tr> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) Stores the status STAT= and may be NULL.</td></tr> +<tr><td width="15%"><var>type</var></td><td width="70%">intent(in) the data type, i.e. <code>BT_INTEGER</code> (1) or +<code>BT_LOGICAL</code> (2)</td></tr> +<tr><td width="15%"><var>kind</var></td><td width="70%">intent(in) the kind value (only 4; always <code>int</code>)</td></tr> +</table> +</dd> +</dl> + + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fatomic_005fref.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fatomic_005fref.html new file mode 100644 index 0000000..5561cae --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fatomic_005fref.html @@ -0,0 +1,114 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_atomic_ref</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_atomic_ref"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_atomic_ref"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fatomic_005fcas.html#g_t_005fgfortran_005fcaf_005fatomic_005fcas" rel="next" title="_gfortran_caf_atomic_cas"> +<link href="_005fgfortran_005fcaf_005fatomic_005fdefine.html#g_t_005fgfortran_005fcaf_005fatomic_005fdefine" rel="previous" title="_gfortran_caf_atomic_define"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fatomic_005fref"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fatomic_005fcas.html#g_t_005fgfortran_005fcaf_005fatomic_005fcas" accesskey="n" rel="next">_gfortran_caf_atomic_cas</a>, Previous: <a href="_005fgfortran_005fcaf_005fatomic_005fdefine.html#g_t_005fgfortran_005fcaf_005fatomic_005fdefine" accesskey="p" rel="previous">_gfortran_caf_atomic_define</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fatomic_005fref-_002d_002d_002d-Atomic-variable-reference"></a> +<h4 class="subsection">7.2.29 <code>_gfortran_caf_atomic_ref</code> — Atomic variable reference</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fatomic_005fref"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Reference atomically a value of a kind-4 integer or logical variable. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_atomic_ref (caf_token_t token, size_t offset, +int image_index, void *value, int *stat, int type, int kind)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>token</var></td><td width="70%">intent(in) An opaque pointer identifying the coarray.</td></tr> +<tr><td width="15%"><var>offset</var></td><td width="70%">intent(in) By which amount of bytes the actual data is +shifted compared to the base address of the coarray.</td></tr> +<tr><td width="15%"><var>image_index</var></td><td width="70%">intent(in) The ID of the remote image; must be a +positive number; zero indicates the current image when used noncoindexed.</td></tr> +<tr><td width="15%"><var>value</var></td><td width="70%">intent(out) The variable assigned the atomically +referenced variable.</td></tr> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) Stores the status STAT= and may be NULL.</td></tr> +<tr><td width="15%"><var>type</var></td><td width="70%">the data type, i.e. <code>BT_INTEGER</code> (1) or +<code>BT_LOGICAL</code> (2).</td></tr> +<tr><td width="15%"><var>kind</var></td><td width="70%">The kind value (only 4; always <code>int</code>)</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fco_005fbroadcast.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fco_005fbroadcast.html new file mode 100644 index 0000000..fac2e74 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fco_005fbroadcast.html @@ -0,0 +1,112 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_co_broadcast</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_co_broadcast"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_co_broadcast"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fco_005fmax.html#g_t_005fgfortran_005fcaf_005fco_005fmax" rel="next" title="_gfortran_caf_co_max"> +<link href="_005fgfortran_005fcaf_005fatomic_005fop.html#g_t_005fgfortran_005fcaf_005fatomic_005fop" rel="previous" title="_gfortran_caf_atomic_op"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fco_005fbroadcast"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fco_005fmax.html#g_t_005fgfortran_005fcaf_005fco_005fmax" accesskey="n" rel="next">_gfortran_caf_co_max</a>, Previous: <a href="_005fgfortran_005fcaf_005fatomic_005fop.html#g_t_005fgfortran_005fcaf_005fatomic_005fop" accesskey="p" rel="previous">_gfortran_caf_atomic_op</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fco_005fbroadcast-_002d_002d_002d-Sending-data-to-all-images"></a> +<h4 class="subsection">7.2.32 <code>_gfortran_caf_co_broadcast</code> — Sending data to all images</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fco_005fbroadcast"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Distribute a value from a given image to all other images in the team. Has to +be called collectively. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_co_broadcast (gfc_descriptor_t *a, +int source_image, int *stat, char *errmsg, size_t errmsg_len)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>a</var></td><td width="70%">intent(inout) An array descriptor with the data to be +broadcasted (on <var>source_image</var>) or to be received (other images).</td></tr> +<tr><td width="15%"><var>source_image</var></td><td width="70%">intent(in) The ID of the image from which the +data should be broadcasted.</td></tr> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) Stores the status STAT= and may be NULL.</td></tr> +<tr><td width="15%"><var>errmsg</var></td><td width="70%">intent(out) When an error occurs, this will be set to +an error message; may be NULL.</td></tr> +<tr><td width="15%"><var>errmsg_len</var></td><td width="70%">intent(in) the buffer size of errmsg.</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fco_005fmax.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fco_005fmax.html new file mode 100644 index 0000000..cdc44da --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fco_005fmax.html @@ -0,0 +1,122 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_co_max</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_co_max"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_co_max"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fco_005fmin.html#g_t_005fgfortran_005fcaf_005fco_005fmin" rel="next" title="_gfortran_caf_co_min"> +<link href="_005fgfortran_005fcaf_005fco_005fbroadcast.html#g_t_005fgfortran_005fcaf_005fco_005fbroadcast" rel="previous" title="_gfortran_caf_co_broadcast"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fco_005fmax"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fco_005fmin.html#g_t_005fgfortran_005fcaf_005fco_005fmin" accesskey="n" rel="next">_gfortran_caf_co_min</a>, Previous: <a href="_005fgfortran_005fcaf_005fco_005fbroadcast.html#g_t_005fgfortran_005fcaf_005fco_005fbroadcast" accesskey="p" rel="previous">_gfortran_caf_co_broadcast</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fco_005fmax-_002d_002d_002d-Collective-maximum-reduction"></a> +<h4 class="subsection">7.2.33 <code>_gfortran_caf_co_max</code> — Collective maximum reduction</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fco_005fmax"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Calculates for each array element of the variable <var>a</var> the maximum +value for that element in the current team; if <var>result_image</var> has the +value 0, the result shall be stored on all images, otherwise, only on the +specified image. This function operates on numeric values and character +strings. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_co_max (gfc_descriptor_t *a, int result_image, +int *stat, char *errmsg, int a_len, size_t errmsg_len)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>a</var></td><td width="70%">intent(inout) An array descriptor for the data to be +processed. On the destination image(s) the result overwrites the old content.</td></tr> +<tr><td width="15%"><var>result_image</var></td><td width="70%">intent(in) The ID of the image to which the +reduced value should be copied to; if zero, it has to be copied to all images.</td></tr> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) Stores the status STAT= and may be NULL.</td></tr> +<tr><td width="15%"><var>errmsg</var></td><td width="70%">intent(out) When an error occurs, this will be set to +an error message; may be NULL.</td></tr> +<tr><td width="15%"><var>a_len</var></td><td width="70%">intent(in) the string length of argument <var>a</var></td></tr> +<tr><td width="15%"><var>errmsg_len</var></td><td width="70%">intent(in) the buffer size of errmsg</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>If <var>result_image</var> is nonzero, the data in the array descriptor <var>a</var> on +all images except of the specified one become undefined; hence, the library may +make use of this. +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fco_005fmin.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fco_005fmin.html new file mode 100644 index 0000000..43587db --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fco_005fmin.html @@ -0,0 +1,122 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_co_min</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_co_min"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_co_min"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fco_005fsum.html#g_t_005fgfortran_005fcaf_005fco_005fsum" rel="next" title="_gfortran_caf_co_sum"> +<link href="_005fgfortran_005fcaf_005fco_005fmax.html#g_t_005fgfortran_005fcaf_005fco_005fmax" rel="previous" title="_gfortran_caf_co_max"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fco_005fmin"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fco_005fsum.html#g_t_005fgfortran_005fcaf_005fco_005fsum" accesskey="n" rel="next">_gfortran_caf_co_sum</a>, Previous: <a href="_005fgfortran_005fcaf_005fco_005fmax.html#g_t_005fgfortran_005fcaf_005fco_005fmax" accesskey="p" rel="previous">_gfortran_caf_co_max</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fco_005fmin-_002d_002d_002d-Collective-minimum-reduction"></a> +<h4 class="subsection">7.2.34 <code>_gfortran_caf_co_min</code> — Collective minimum reduction</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fco_005fmin"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Calculates for each array element of the variable <var>a</var> the minimum +value for that element in the current team; if <var>result_image</var> has the +value 0, the result shall be stored on all images, otherwise, only on the +specified image. This function operates on numeric values and character +strings. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_co_min (gfc_descriptor_t *a, int result_image, +int *stat, char *errmsg, int a_len, size_t errmsg_len)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>a</var></td><td width="70%">intent(inout) An array descriptor for the data to be +processed. On the destination image(s) the result overwrites the old content.</td></tr> +<tr><td width="15%"><var>result_image</var></td><td width="70%">intent(in) The ID of the image to which the +reduced value should be copied to; if zero, it has to be copied to all images.</td></tr> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) Stores the status STAT= and may be NULL.</td></tr> +<tr><td width="15%"><var>errmsg</var></td><td width="70%">intent(out) When an error occurs, this will be set to +an error message; may be NULL.</td></tr> +<tr><td width="15%"><var>a_len</var></td><td width="70%">intent(in) the string length of argument <var>a</var></td></tr> +<tr><td width="15%"><var>errmsg_len</var></td><td width="70%">intent(in) the buffer size of errmsg</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>If <var>result_image</var> is nonzero, the data in the array descriptor <var>a</var> on +all images except of the specified one become undefined; hence, the library may +make use of this. +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fco_005freduce.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fco_005freduce.html new file mode 100644 index 0000000..3870ac0 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fco_005freduce.html @@ -0,0 +1,147 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_co_reduce</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_co_reduce"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_co_reduce"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="next" title="Intrinsic Procedures"> +<link href="_005fgfortran_005fcaf_005fco_005fsum.html#g_t_005fgfortran_005fcaf_005fco_005fsum" rel="previous" title="_gfortran_caf_co_sum"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fco_005freduce"></a> +<div class="header"> +<p> +Previous: <a href="_005fgfortran_005fcaf_005fco_005fsum.html#g_t_005fgfortran_005fcaf_005fco_005fsum" accesskey="p" rel="previous">_gfortran_caf_co_sum</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fco_005freduce-_002d_002d_002d-Generic-collective-reduction"></a> +<h4 class="subsection">7.2.36 <code>_gfortran_caf_co_reduce</code> — Generic collective reduction</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fco_005freduce"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Calculates for each array element of the variable <var>a</var> the reduction +value for that element in the current team; if <var>result_image</var> has the +value 0, the result shall be stored on all images, otherwise, only on the +specified image. The <var>opr</var> is a pure function doing a mathematically +commutative and associative operation. +</p> +<p>The <var>opr_flags</var> denote the following; the values are bitwise ored. +<code>GFC_CAF_BYREF</code> (1) if the result should be returned +by reference; <code>GFC_CAF_HIDDENLEN</code> (2) whether the result and argument +string lengths shall be specified as hidden arguments; +<code>GFC_CAF_ARG_VALUE</code> (4) whether the arguments shall be passed by value, +<code>GFC_CAF_ARG_DESC</code> (8) whether the arguments shall be passed by descriptor. +</p> + +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_co_reduce (gfc_descriptor_t *a, +void * (*opr) (void *, void *), int opr_flags, int result_image, +int *stat, char *errmsg, int a_len, size_t errmsg_len)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>a</var></td><td width="70%">intent(inout) An array descriptor with the data to be +processed. On the destination image(s) the result overwrites the old content.</td></tr> +<tr><td width="15%"><var>opr</var></td><td width="70%">intent(in) Function pointer to the reduction function</td></tr> +<tr><td width="15%"><var>opr_flags</var></td><td width="70%">intent(in) Flags regarding the reduction function</td></tr> +<tr><td width="15%"><var>result_image</var></td><td width="70%">intent(in) The ID of the image to which the +reduced value should be copied to; if zero, it has to be copied to all images.</td></tr> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) Stores the status STAT= and may be NULL.</td></tr> +<tr><td width="15%"><var>errmsg</var></td><td width="70%">intent(out) When an error occurs, this will be set to +an error message; may be NULL.</td></tr> +<tr><td width="15%"><var>a_len</var></td><td width="70%">intent(in) the string length of argument <var>a</var></td></tr> +<tr><td width="15%"><var>errmsg_len</var></td><td width="70%">intent(in) the buffer size of errmsg</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>If <var>result_image</var> is nonzero, the data in the array descriptor <var>a</var> on +all images except of the specified one become undefined; hence, the library may +make use of this. +</p> +<p>For character arguments, the result is passed as first argument, followed +by the result string length, next come the two string arguments, followed +by the two hidden string length arguments. With C binding, there are no hidden +arguments and by-reference passing and either only a single character is passed +or an array descriptor. +</p></dd> +</dl> + + + + + + +<hr> +<div class="header"> +<p> +Previous: <a href="_005fgfortran_005fcaf_005fco_005fsum.html#g_t_005fgfortran_005fcaf_005fco_005fsum" accesskey="p" rel="previous">_gfortran_caf_co_sum</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fco_005fsum.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fco_005fsum.html new file mode 100644 index 0000000..cc80910 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fco_005fsum.html @@ -0,0 +1,120 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_co_sum</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_co_sum"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_co_sum"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fco_005freduce.html#g_t_005fgfortran_005fcaf_005fco_005freduce" rel="next" title="_gfortran_caf_co_reduce"> +<link href="_005fgfortran_005fcaf_005fco_005fmin.html#g_t_005fgfortran_005fcaf_005fco_005fmin" rel="previous" title="_gfortran_caf_co_min"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fco_005fsum"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fco_005freduce.html#g_t_005fgfortran_005fcaf_005fco_005freduce" accesskey="n" rel="next">_gfortran_caf_co_reduce</a>, Previous: <a href="_005fgfortran_005fcaf_005fco_005fmin.html#g_t_005fgfortran_005fcaf_005fco_005fmin" accesskey="p" rel="previous">_gfortran_caf_co_min</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fco_005fsum-_002d_002d_002d-Collective-summing-reduction"></a> +<h4 class="subsection">7.2.35 <code>_gfortran_caf_co_sum</code> — Collective summing reduction</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fco_005fsum"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Calculates for each array element of the variable <var>a</var> the sum of all +values for that element in the current team; if <var>result_image</var> has the +value 0, the result shall be stored on all images, otherwise, only on the +specified image. This function operates on numeric values only. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_co_sum (gfc_descriptor_t *a, int result_image, +int *stat, char *errmsg, size_t errmsg_len)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>a</var></td><td width="70%">intent(inout) An array descriptor with the data to be +processed. On the destination image(s) the result overwrites the old content.</td></tr> +<tr><td width="15%"><var>result_image</var></td><td width="70%">intent(in) The ID of the image to which the +reduced value should be copied to; if zero, it has to be copied to all images.</td></tr> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) Stores the status STAT= and may be NULL.</td></tr> +<tr><td width="15%"><var>errmsg</var></td><td width="70%">intent(out) When an error occurs, this will be set to +an error message; may be NULL.</td></tr> +<tr><td width="15%"><var>errmsg_len</var></td><td width="70%">intent(in) the buffer size of errmsg</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>If <var>result_image</var> is nonzero, the data in the array descriptor <var>a</var> on +all images except of the specified one become undefined; hence, the library may +make use of this. +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fderegister.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fderegister.html new file mode 100644 index 0000000..b1d1a60 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fderegister.html @@ -0,0 +1,121 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_deregister</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_deregister"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_deregister"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fis_005fpresent.html#g_t_005fgfortran_005fcaf_005fis_005fpresent" rel="next" title="_gfortran_caf_is_present"> +<link href="_005fgfortran_005fcaf_005fregister.html#g_t_005fgfortran_005fcaf_005fregister" rel="previous" title="_gfortran_caf_register"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fderegister"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fis_005fpresent.html#g_t_005fgfortran_005fcaf_005fis_005fpresent" accesskey="n" rel="next">_gfortran_caf_is_present</a>, Previous: <a href="_005fgfortran_005fcaf_005fregister.html#g_t_005fgfortran_005fcaf_005fregister" accesskey="p" rel="previous">_gfortran_caf_register</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fderegister-_002d_002d_002d-Deregistering-coarrays"></a> +<h4 class="subsection">7.2.9 <code>_gfortran_caf_deregister</code> — Deregistering coarrays</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fderegister"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Called to free or deregister the memory of a coarray; the processor calls this +function for automatic and explicit deallocation. In case of an error, this +function shall fail with an error message, unless the <var>STAT</var> variable is +not null. The library is only expected to free memory it allocated itself +during a call to <code>_gfortran_caf_register</code>. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void caf_deregister (caf_token_t *token, caf_deregister_t type, +int *stat, char *errmsg, size_t errmsg_len)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>token</var></td><td width="70%">the token to free.</td></tr> +<tr><td width="15%"><var>type</var></td><td width="70%">the type of action to take for the coarray. A +<code>CAF_DEREGTYPE_COARRAY_DEALLOCATE_ONLY</code> is allowed only for allocatable or +pointer components of derived type coarrays. The action only deallocates the +local memory without deleting the token.</td></tr> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) Stores the STAT=; may be NULL</td></tr> +<tr><td width="15%"><var>errmsg</var></td><td width="70%">intent(out) When an error occurs, this will be set +to an error message; may be NULL</td></tr> +<tr><td width="15%"><var>errmsg_len</var></td><td width="70%">the buffer size of errmsg.</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>For nonalloatable coarrays this function is never called. If a cleanup is +required, it has to be handled via the finish, stop and error stop functions, +and via destructors. +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005ferror_005fstop.html b/share/doc/gfortran/_005fgfortran_005fcaf_005ferror_005fstop.html new file mode 100644 index 0000000..f6cd9b1 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005ferror_005fstop.html @@ -0,0 +1,105 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_error_stop</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_error_stop"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_error_stop"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005ferror_005fstop_005fstr.html#g_t_005fgfortran_005fcaf_005ferror_005fstop_005fstr" rel="next" title="_gfortran_caf_error_stop_str"> +<link href="_005fgfortran_005fcaf_005fsync_005fmemory.html#g_t_005fgfortran_005fcaf_005fsync_005fmemory" rel="previous" title="_gfortran_caf_sync_memory"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005ferror_005fstop"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005ferror_005fstop_005fstr.html#g_t_005fgfortran_005fcaf_005ferror_005fstop_005fstr" accesskey="n" rel="next">_gfortran_caf_error_stop_str</a>, Previous: <a href="_005fgfortran_005fcaf_005fsync_005fmemory.html#g_t_005fgfortran_005fcaf_005fsync_005fmemory" accesskey="p" rel="previous">_gfortran_caf_sync_memory</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005ferror_005fstop-_002d_002d_002d-Error-termination-with-exit-code"></a> +<h4 class="subsection">7.2.25 <code>_gfortran_caf_error_stop</code> — Error termination with exit code</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005ferror_005fstop"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Invoked for an <code>ERROR STOP</code> statement which has an integer argument. The +function should terminate the program with the specified exit code. +</p> + +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_error_stop (int error)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>error</var></td><td width="70%">intent(in) The exit status to be used.</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005ferror_005fstop_005fstr.html b/share/doc/gfortran/_005fgfortran_005fcaf_005ferror_005fstop_005fstr.html new file mode 100644 index 0000000..cb9cf43 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005ferror_005fstop_005fstr.html @@ -0,0 +1,105 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_error_stop_str</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_error_stop_str"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_error_stop_str"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005ffail_005fimage.html#g_t_005fgfortran_005fcaf_005ffail_005fimage" rel="next" title="_gfortran_caf_fail_image"> +<link href="_005fgfortran_005fcaf_005ferror_005fstop.html#g_t_005fgfortran_005fcaf_005ferror_005fstop" rel="previous" title="_gfortran_caf_error_stop"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005ferror_005fstop_005fstr"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005ffail_005fimage.html#g_t_005fgfortran_005fcaf_005ffail_005fimage" accesskey="n" rel="next">_gfortran_caf_fail_image</a>, Previous: <a href="_005fgfortran_005fcaf_005ferror_005fstop.html#g_t_005fgfortran_005fcaf_005ferror_005fstop" accesskey="p" rel="previous">_gfortran_caf_error_stop</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005ferror_005fstop_005fstr-_002d_002d_002d-Error-termination-with-string"></a> +<h4 class="subsection">7.2.26 <code>_gfortran_caf_error_stop_str</code> — Error termination with string</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005ferror_005fstop_005fstr"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Invoked for an <code>ERROR STOP</code> statement which has a string as argument. The +function should terminate the program with a nonzero-exit code. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_error_stop (const char *string, size_t len)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>string</var></td><td width="70%">intent(in) the error message (not zero terminated)</td></tr> +<tr><td width="15%"><var>len</var></td><td width="70%">intent(in) the length of the string</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fevent_005fpost.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fevent_005fpost.html new file mode 100644 index 0000000..c7263a2 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fevent_005fpost.html @@ -0,0 +1,120 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_event_post</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_event_post"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_event_post"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fevent_005fwait.html#g_t_005fgfortran_005fcaf_005fevent_005fwait" rel="next" title="_gfortran_caf_event_wait"> +<link href="_005fgfortran_005fcaf_005funlock.html#g_t_005fgfortran_005fcaf_005funlock" rel="previous" title="_gfortran_caf_unlock"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fevent_005fpost"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fevent_005fwait.html#g_t_005fgfortran_005fcaf_005fevent_005fwait" accesskey="n" rel="next">_gfortran_caf_event_wait</a>, Previous: <a href="_005fgfortran_005fcaf_005funlock.html#g_t_005fgfortran_005fcaf_005funlock" accesskey="p" rel="previous">_gfortran_caf_unlock</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fevent_005fpost-_002d_002d_002d-Post-an-event"></a> +<h4 class="subsection">7.2.19 <code>_gfortran_caf_event_post</code> — Post an event</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fevent_005fpost"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Increment the event count of the specified event variable. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_event_post (caf_token_t token, size_t index, +int image_index, int *stat, char *errmsg, size_t errmsg_len)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>token</var></td><td width="70%">intent(in) An opaque pointer identifying the coarray.</td></tr> +<tr><td width="15%"><var>index</var></td><td width="70%">intent(in) Array index; first array index is 0. For +scalars, it is always 0.</td></tr> +<tr><td width="15%"><var>image_index</var></td><td width="70%">intent(in) The ID of the remote image; must be a +positive number; zero indicates the current image, when accessed noncoindexed.</td></tr> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) Stores the STAT=; may be NULL.</td></tr> +<tr><td width="15%"><var>errmsg</var></td><td width="70%">intent(out) When an error occurs, this will be set to +an error message; may be NULL.</td></tr> +<tr><td width="15%"><var>errmsg_len</var></td><td width="70%">intent(in) the buffer size of errmsg</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>This acts like an atomic add of one to the remote image’s event variable. +The statement is an image-control statement but does not imply sync memory. +Still, all preceeding push communications of this image to the specified +remote image have to be completed before <code>event_wait</code> on the remote +image returns. +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fevent_005fquery.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fevent_005fquery.html new file mode 100644 index 0000000..ed88a74 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fevent_005fquery.html @@ -0,0 +1,118 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_event_query</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_event_query"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_event_query"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fsync_005fall.html#g_t_005fgfortran_005fcaf_005fsync_005fall" rel="next" title="_gfortran_caf_sync_all"> +<link href="_005fgfortran_005fcaf_005fevent_005fwait.html#g_t_005fgfortran_005fcaf_005fevent_005fwait" rel="previous" title="_gfortran_caf_event_wait"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fevent_005fquery"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fsync_005fall.html#g_t_005fgfortran_005fcaf_005fsync_005fall" accesskey="n" rel="next">_gfortran_caf_sync_all</a>, Previous: <a href="_005fgfortran_005fcaf_005fevent_005fwait.html#g_t_005fgfortran_005fcaf_005fevent_005fwait" accesskey="p" rel="previous">_gfortran_caf_event_wait</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fevent_005fquery-_002d_002d_002d-Query-event-count"></a> +<h4 class="subsection">7.2.21 <code>_gfortran_caf_event_query</code> — Query event count</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fevent_005fquery"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Return the event count of the specified event variable. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_event_query (caf_token_t token, size_t index, +int image_index, int *count, int *stat)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>token</var></td><td width="70%">intent(in) An opaque pointer identifying the coarray.</td></tr> +<tr><td width="15%"><var>index</var></td><td width="70%">intent(in) Array index; first array index is 0. For +scalars, it is always 0.</td></tr> +<tr><td width="15%"><var>image_index</var></td><td width="70%">intent(in) The ID of the remote image; must be a +positive number; zero indicates the current image when accessed noncoindexed.</td></tr> +<tr><td width="15%"><var>count</var></td><td width="70%">intent(out) The number of events currently posted to +the event variable.</td></tr> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) Stores the STAT=; may be NULL.</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>The typical use is to check the local event variable to only call +<code>event_wait</code> when the data is available. However, a coindexed variable +is permitted; there is no ordering or synchronization implied. It acts like +an atomic fetch of the value of the event variable. +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fevent_005fwait.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fevent_005fwait.html new file mode 100644 index 0000000..bc68457 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fevent_005fwait.html @@ -0,0 +1,135 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_event_wait</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_event_wait"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_event_wait"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fevent_005fquery.html#g_t_005fgfortran_005fcaf_005fevent_005fquery" rel="next" title="_gfortran_caf_event_query"> +<link href="_005fgfortran_005fcaf_005fevent_005fpost.html#g_t_005fgfortran_005fcaf_005fevent_005fpost" rel="previous" title="_gfortran_caf_event_post"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fevent_005fwait"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fevent_005fquery.html#g_t_005fgfortran_005fcaf_005fevent_005fquery" accesskey="n" rel="next">_gfortran_caf_event_query</a>, Previous: <a href="_005fgfortran_005fcaf_005fevent_005fpost.html#g_t_005fgfortran_005fcaf_005fevent_005fpost" accesskey="p" rel="previous">_gfortran_caf_event_post</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fevent_005fwait-_002d_002d_002d-Wait-that-an-event-occurred"></a> +<h4 class="subsection">7.2.20 <code>_gfortran_caf_event_wait</code> — Wait that an event occurred</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fevent_005fwait"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Wait until the event count has reached at least the specified +<var>until_count</var>; if so, atomically decrement the event variable by this +amount and return. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_event_wait (caf_token_t token, size_t index, +int until_count, int *stat, char *errmsg, size_t errmsg_len)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>token</var></td><td width="70%">intent(in) An opaque pointer identifying the coarray.</td></tr> +<tr><td width="15%"><var>index</var></td><td width="70%">intent(in) Array index; first array index is 0. For +scalars, it is always 0.</td></tr> +<tr><td width="15%"><var>until_count</var></td><td width="70%">intent(in) The number of events which have to be +available before the function returns.</td></tr> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) Stores the STAT=; may be NULL.</td></tr> +<tr><td width="15%"><var>errmsg</var></td><td width="70%">intent(out) When an error occurs, this will be set to +an error message; may be NULL.</td></tr> +<tr><td width="15%"><var>errmsg_len</var></td><td width="70%">intent(in) the buffer size of errmsg</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>This function only operates on a local coarray. It acts like a loop checking +atomically the value of the event variable, breaking if the value is greater +or equal the requested number of counts. Before the function returns, the +event variable has to be decremented by the requested <var>until_count</var> value. +A possible implementation would be a busy loop for a certain number of spins +(possibly depending on the number of threads relative to the number of available +cores) followed by another waiting strategy such as a sleeping wait (possibly +with an increasing number of sleep time) or, if possible, a futex wait. +</p> +<p>The statement is an image-control statement but does not imply sync memory. +Still, all preceeding push communications of this image to the specified +remote image have to be completed before <code>event_wait</code> on the remote +image returns. +</p></dd> +</dl> + + + +<hr> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fevent_005fquery.html#g_t_005fgfortran_005fcaf_005fevent_005fquery" accesskey="n" rel="next">_gfortran_caf_event_query</a>, Previous: <a href="_005fgfortran_005fcaf_005fevent_005fpost.html#g_t_005fgfortran_005fcaf_005fevent_005fpost" accesskey="p" rel="previous">_gfortran_caf_event_post</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005ffail_005fimage.html b/share/doc/gfortran/_005fgfortran_005fcaf_005ffail_005fimage.html new file mode 100644 index 0000000..4b2eaf1 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005ffail_005fimage.html @@ -0,0 +1,102 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_fail_image</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_fail_image"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_fail_image"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fatomic_005fdefine.html#g_t_005fgfortran_005fcaf_005fatomic_005fdefine" rel="next" title="_gfortran_caf_atomic_define"> +<link href="_005fgfortran_005fcaf_005ferror_005fstop_005fstr.html#g_t_005fgfortran_005fcaf_005ferror_005fstop_005fstr" rel="previous" title="_gfortran_caf_error_stop_str"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005ffail_005fimage"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fatomic_005fdefine.html#g_t_005fgfortran_005fcaf_005fatomic_005fdefine" accesskey="n" rel="next">_gfortran_caf_atomic_define</a>, Previous: <a href="_005fgfortran_005fcaf_005ferror_005fstop_005fstr.html#g_t_005fgfortran_005fcaf_005ferror_005fstop_005fstr" accesskey="p" rel="previous">_gfortran_caf_error_stop_str</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005ffail_005fimage-_002d_002d_002d-Mark-the-image-failed-and-end-its-execution"></a> +<h4 class="subsection">7.2.27 <code>_gfortran_caf_fail_image</code> — Mark the image failed and end its execution</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005ffail_005fimage"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Invoked for an <code>FAIL IMAGE</code> statement. The function should terminate the +current image. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_fail_image ()</code> +</p> +</dd> +<dt><em>NOTES</em></dt> +<dd><p>This function follows TS18508. +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005ffailed_005fimages.html b/share/doc/gfortran/_005fgfortran_005fcaf_005ffailed_005fimages.html new file mode 100644 index 0000000..05fd748 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005ffailed_005fimages.html @@ -0,0 +1,113 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_failed_images</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_failed_images"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_failed_images"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fstopped_005fimages.html#g_t_005fgfortran_005fcaf_005fstopped_005fimages" rel="next" title="_gfortran_caf_stopped_images"> +<link href="_005fgfortran_005fcaf_005fimage_005fstatus.html#g_t_005fgfortran_005fcaf_005fimage_005fstatus" rel="previous" title="_gfortran_caf_image_status"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005ffailed_005fimages"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fstopped_005fimages.html#g_t_005fgfortran_005fcaf_005fstopped_005fimages" accesskey="n" rel="next">_gfortran_caf_stopped_images</a>, Previous: <a href="_005fgfortran_005fcaf_005fimage_005fstatus.html#g_t_005fgfortran_005fcaf_005fimage_005fstatus" accesskey="p" rel="previous">_gfortran_caf_image_status</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005ffailed_005fimages-_002d_002d_002d-Get-an-array-of-the-indexes-of-the-failed-images"></a> +<h4 class="subsection">7.2.6 <code>_gfortran_caf_failed_images</code> — Get an array of the indexes of the failed images</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005ffailed_005fimages"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Get an array of image indexes in the current <var>team</var> that have failed. The +array is sorted ascendingly. When <var>team</var> is not provided the current team +is to be used. When <var>kind</var> is provided then the resulting array is of that +integer kind else it is of default integer kind. The returns an unallocated +size zero array when no images have failed. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>int _gfortran_caf_failed_images (caf_team_t * team, int * kind)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>team</var></td><td width="70%">optional; team on the which the inquiry is to be +performed.</td></tr> +<tr><td width="15%"><var>image</var></td><td width="70%">optional; the kind of the resulting integer array.</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>This function follows TS18508. Because team-functionality is not yet +implemented a null-pointer is passed for the <var>team</var> argument at the moment. +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005ffinish.html b/share/doc/gfortran/_005fgfortran_005fcaf_005ffinish.html new file mode 100644 index 0000000..c4655e7 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005ffinish.html @@ -0,0 +1,106 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_finish</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_finish"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_finish"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fthis_005fimage.html#g_t_005fgfortran_005fcaf_005fthis_005fimage" rel="next" title="_gfortran_caf_this_image"> +<link href="_005fgfortran_005fcaf_005finit.html#g_t_005fgfortran_005fcaf_005finit" rel="previous" title="_gfortran_caf_init"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005ffinish"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fthis_005fimage.html#g_t_005fgfortran_005fcaf_005fthis_005fimage" accesskey="n" rel="next">_gfortran_caf_this_image</a>, Previous: <a href="_005fgfortran_005fcaf_005finit.html#g_t_005fgfortran_005fcaf_005finit" accesskey="p" rel="previous">_gfortran_caf_init</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005ffinish-_002d_002d_002d-Finalization-function"></a> +<h4 class="subsection">7.2.2 <code>_gfortran_caf_finish</code> — Finalization function</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005ffinish"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>This function is called at the end of the Fortran main program, if it has +been compiled with the <samp>-fcoarray=lib</samp> option. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_finish (void)</code> +</p> +</dd> +<dt><em>NOTES</em></dt> +<dd><p>For non-Fortran programs, it is recommended to call the function at the end +of the main program. To ensure that the shutdown is also performed for +programs where this function is not explicitly invoked, for instance +non-Fortran programs or calls to the system’s exit() function, the library +can use a destructor function. Note that programs can also be terminated +using the STOP and ERROR STOP statements; those use different library calls. +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fget.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fget.html new file mode 100644 index 0000000..fc8da43 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fget.html @@ -0,0 +1,146 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_get</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_get"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_get"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fsendget.html#g_t_005fgfortran_005fcaf_005fsendget" rel="next" title="_gfortran_caf_sendget"> +<link href="_005fgfortran_005fcaf_005fsend.html#g_t_005fgfortran_005fcaf_005fsend" rel="previous" title="_gfortran_caf_send"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fget"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fsendget.html#g_t_005fgfortran_005fcaf_005fsendget" accesskey="n" rel="next">_gfortran_caf_sendget</a>, Previous: <a href="_005fgfortran_005fcaf_005fsend.html#g_t_005fgfortran_005fcaf_005fsend" accesskey="p" rel="previous">_gfortran_caf_send</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fget-_002d_002d_002d-Getting-data-from-a-remote-image"></a> +<h4 class="subsection">7.2.12 <code>_gfortran_caf_get</code> — Getting data from a remote image</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fget"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Called to get an array section or a whole array from a remote, +image identified by the image_index. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_get (caf_token_t token, size_t offset, +int image_index, gfc_descriptor_t *src, caf_vector_t *src_vector, +gfc_descriptor_t *dest, int src_kind, int dst_kind, bool may_require_tmp, +int *stat)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>token</var></td><td width="70%">intent(in) An opaque pointer identifying the coarray.</td></tr> +<tr><td width="15%"><var>offset</var></td><td width="70%">intent(in) By which amount of bytes the actual data is +shifted compared to the base address of the coarray.</td></tr> +<tr><td width="15%"><var>image_index</var></td><td width="70%">intent(in) The ID of the remote image; must be a +positive number.</td></tr> +<tr><td width="15%"><var>dest</var></td><td width="70%">intent(out) Array descriptor of the local array to store +the data retrieved from the remote image</td></tr> +<tr><td width="15%"><var>src</var></td><td width="70%">intent(in) Array descriptor for the remote image for the +bounds and the size. The <code>base_addr</code> shall not be accessed.</td></tr> +<tr><td width="15%"><var>src_vector</var></td><td width="70%">intent(in) If not NULL, it contains the vector +subscript of the source array; the values are relative to the dimension +triplet of the <var>src</var> argument.</td></tr> +<tr><td width="15%"><var>dst_kind</var></td><td width="70%">intent(in) Kind of the destination argument</td></tr> +<tr><td width="15%"><var>src_kind</var></td><td width="70%">intent(in) Kind of the source argument</td></tr> +<tr><td width="15%"><var>may_require_tmp</var></td><td width="70%">intent(in) The variable is <code>false</code> when +it is known at compile time that the <var>dest</var> and <var>src</var> either cannot +overlap or overlap (fully or partially) such that walking <var>src</var> and +<var>dest</var> in element wise element order (honoring the stride value) will not +lead to wrong results. Otherwise, the value is <code>true</code>.</td></tr> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) When non-NULL give the result of the +operation, i.e., zero on success and non-zero on error. When NULL and an error +occurs, then an error message is printed and the program is terminated.</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>It is permitted to have <var>image_index</var> equal the current image; the memory of +the send-to and the send-from might (partially) overlap in that case. The +implementation has to take care that it handles this case, e.g. using +<code>memmove</code> which handles (partially) overlapping memory. If +<var>may_require_tmp</var> is true, the library might additionally create a +temporary variable, unless additional checks show that this is not required +(e.g. because walking backward is possible or because both arrays are +contiguous and <code>memmove</code> takes care of overlap issues). +</p> +<p>Note that the library has to handle numeric-type conversion and for strings, +padding and different character kinds. +</p></dd> +</dl> + + +<hr> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fsendget.html#g_t_005fgfortran_005fcaf_005fsendget" accesskey="n" rel="next">_gfortran_caf_sendget</a>, Previous: <a href="_005fgfortran_005fcaf_005fsend.html#g_t_005fgfortran_005fcaf_005fsend" accesskey="p" rel="previous">_gfortran_caf_send</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fget_005fby_005fref.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fget_005fby_005fref.html new file mode 100644 index 0000000..1613bce --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fget_005fby_005fref.html @@ -0,0 +1,151 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_get_by_ref</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_get_by_ref"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_get_by_ref"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fsendget_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fsendget_005fby_005fref" rel="next" title="_gfortran_caf_sendget_by_ref"> +<link href="_005fgfortran_005fcaf_005fsend_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fsend_005fby_005fref" rel="previous" title="_gfortran_caf_send_by_ref"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fget_005fby_005fref"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fsendget_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fsendget_005fby_005fref" accesskey="n" rel="next">_gfortran_caf_sendget_by_ref</a>, Previous: <a href="_005fgfortran_005fcaf_005fsend_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fsend_005fby_005fref" accesskey="p" rel="previous">_gfortran_caf_send_by_ref</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fget_005fby_005fref-_002d_002d_002d-Getting-data-from-a-remote-image-using-enhanced-references"></a> +<h4 class="subsection">7.2.15 <code>_gfortran_caf_get_by_ref</code> — Getting data from a remote image using enhanced references</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fget_005fby_005fref"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Called to get a scalar, an array section or a whole array from a remote image +identified by the <var>image_index</var>. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_get_by_ref (caf_token_t token, int image_index, +caf_reference_t *refs, gfc_descriptor_t *dst, int dst_kind, int src_kind, +bool may_require_tmp, bool dst_reallocatable, int *stat, int src_type)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>token</var></td><td width="70%">intent(in) An opaque pointer identifying the coarray.</td></tr> +<tr><td width="15%"><var>image_index</var></td><td width="70%">intent(in) The ID of the remote image; must be a +positive number.</td></tr> +<tr><td width="15%"><var>refs</var></td><td width="70%">intent(in) The references to apply to the remote structure +to get the data.</td></tr> +<tr><td width="15%"><var>dst</var></td><td width="70%">intent(in) Array descriptor of the local array to store +the data transferred from the remote image. May be reallocated where needed +and when <var>DST_REALLOCATABLE</var> allows it.</td></tr> +<tr><td width="15%"><var>dst_kind</var></td><td width="70%">intent(in) Kind of the destination argument</td></tr> +<tr><td width="15%"><var>src_kind</var></td><td width="70%">intent(in) Kind of the source argument</td></tr> +<tr><td width="15%"><var>may_require_tmp</var></td><td width="70%">intent(in) The variable is <code>false</code> when +it is known at compile time that the <var>dest</var> and <var>src</var> either cannot +overlap or overlap (fully or partially) such that walking <var>src</var> and +<var>dest</var> in element wise element order (honoring the stride value) will not +lead to wrong results. Otherwise, the value is <code>true</code>.</td></tr> +<tr><td width="15%"><var>dst_reallocatable</var></td><td width="70%">intent(in) Set when <var>DST</var> is of +allocatable or pointer type and its refs allow reallocation, i.e., the full +array or a component is referenced.</td></tr> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) When non-<code>NULL</code> give the result of the +operation, i.e., zero on success and non-zero on error. When <code>NULL</code> and an +error occurs, then an error message is printed and the program is terminated.</td></tr> +<tr><td width="15%"><var>src_type</var></td><td width="70%">intent(in) Give the type of the source. When the +source is not an array, than the precise type, e.g. of a component in a +derived type, is not known, but provided here.</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>It is permitted to have <code>image_index</code> equal the current image; the memory +of the send-to and the send-from might (partially) overlap in that case. The +implementation has to take care that it handles this case, e.g. using +<code>memmove</code> which handles (partially) overlapping memory. If +<var>may_require_tmp</var> is true, the library might additionally create a +temporary variable, unless additional checks show that this is not required +(e.g. because walking backward is possible or because both arrays are +contiguous and <code>memmove</code> takes care of overlap issues). +</p> +<p>Note that the library has to handle numeric-type conversion and for strings, +padding and different character kinds. +</p> +<p>Because of the more complicated references possible some operations may be +unsupported by certain libraries. The library is expected to issue a precise +error message why the operation is not permitted. +</p></dd> +</dl> + + +<hr> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fsendget_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fsendget_005fby_005fref" accesskey="n" rel="next">_gfortran_caf_sendget_by_ref</a>, Previous: <a href="_005fgfortran_005fcaf_005fsend_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fsend_005fby_005fref" accesskey="p" rel="previous">_gfortran_caf_send_by_ref</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fimage_005fstatus.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fimage_005fstatus.html new file mode 100644 index 0000000..616ee2e --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fimage_005fstatus.html @@ -0,0 +1,113 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_image_status</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_image_status"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_image_status"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005ffailed_005fimages.html#g_t_005fgfortran_005fcaf_005ffailed_005fimages" rel="next" title="_gfortran_caf_failed_images"> +<link href="_005fgfortran_005fcaf_005fnum_005fimages.html#g_t_005fgfortran_005fcaf_005fnum_005fimages" rel="previous" title="_gfortran_caf_num_images"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fimage_005fstatus"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005ffailed_005fimages.html#g_t_005fgfortran_005fcaf_005ffailed_005fimages" accesskey="n" rel="next">_gfortran_caf_failed_images</a>, Previous: <a href="_005fgfortran_005fcaf_005fnum_005fimages.html#g_t_005fgfortran_005fcaf_005fnum_005fimages" accesskey="p" rel="previous">_gfortran_caf_num_images</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fimage_005fstatus-_002d_002d_002d-Query-the-status-of-an-image"></a> +<h4 class="subsection">7.2.5 <code>_gfortran_caf_image_status</code> — Query the status of an image</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fimage_005fstatus"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Get the status of the image given by the id <var>image</var> of the team given by +<var>team</var>. Valid results are zero, for image is ok, <code>STAT_STOPPED_IMAGE</code> +from the ISO_FORTRAN_ENV module to indicate that the image has been stopped and +<code>STAT_FAILED_IMAGE</code> also from ISO_FORTRAN_ENV to indicate that the image +has executed a <code>FAIL IMAGE</code> statement. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>int _gfortran_caf_image_status (int image, caf_team_t * team)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>image</var></td><td width="70%">the positive scalar id of the image in the current TEAM.</td></tr> +<tr><td width="15%"><var>team</var></td><td width="70%">optional; team on the which the inquiry is to be +performed.</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>This function follows TS18508. Because team-functionality is not yet +implemented a null-pointer is passed for the <var>team</var> argument at the moment. +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005finit.html b/share/doc/gfortran/_005fgfortran_005fcaf_005finit.html new file mode 100644 index 0000000..165cf03 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005finit.html @@ -0,0 +1,118 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_init</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_init"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_init"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005ffinish.html#g_t_005fgfortran_005fcaf_005ffinish" rel="next" title="_gfortran_caf_finish"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="previous" title="Function ABI Documentation"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005finit"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005ffinish.html#g_t_005fgfortran_005fcaf_005ffinish" accesskey="n" rel="next">_gfortran_caf_finish</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005finit-_002d_002d_002d-Initialiation-function"></a> +<h4 class="subsection">7.2.1 <code>_gfortran_caf_init</code> — Initialiation function</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005finit"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>This function is called at startup of the program before the Fortran main +program, if the latter has been compiled with <samp>-fcoarray=lib</samp>. +It takes as arguments the command-line arguments of the program. It is +permitted to pass two <code>NULL</code> pointers as argument; if non-<code>NULL</code>, +the library is permitted to modify the arguments. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_init (int *argc, char ***argv)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>argc</var></td><td width="70%">intent(inout) An integer pointer with the number of +arguments passed to the program or <code>NULL</code>.</td></tr> +<tr><td width="15%"><var>argv</var></td><td width="70%">intent(inout) A pointer to an array of strings with the +command-line arguments or <code>NULL</code>.</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>The function is modelled after the initialization function of the Message +Passing Interface (MPI) specification. Due to the way coarray registration +works, it might not be the first call to the library. If the main program is +not written in Fortran and only a library uses coarrays, it can happen that +this function is never called. Therefore, it is recommended that the library +does not rely on the passed arguments and whether the call has been done. +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fis_005fpresent.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fis_005fpresent.html new file mode 100644 index 0000000..e765404 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fis_005fpresent.html @@ -0,0 +1,109 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_is_present</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_is_present"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_is_present"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fsend.html#g_t_005fgfortran_005fcaf_005fsend" rel="next" title="_gfortran_caf_send"> +<link href="_005fgfortran_005fcaf_005fderegister.html#g_t_005fgfortran_005fcaf_005fderegister" rel="previous" title="_gfortran_caf_deregister"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fis_005fpresent"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fsend.html#g_t_005fgfortran_005fcaf_005fsend" accesskey="n" rel="next">_gfortran_caf_send</a>, Previous: <a href="_005fgfortran_005fcaf_005fderegister.html#g_t_005fgfortran_005fcaf_005fderegister" accesskey="p" rel="previous">_gfortran_caf_deregister</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fis_005fpresent-_002d_002d_002d-Query-whether-an-allocatable-or-pointer-component-in-a-derived-type-coarray-is-allocated"></a> +<h4 class="subsection">7.2.10 <code>_gfortran_caf_is_present</code> — Query whether an allocatable or pointer component in a derived type coarray is allocated</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fis_005fpresent"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Used to query the coarray library whether an allocatable component in a derived +type coarray is allocated on a remote image. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_is_present (caf_token_t token, int image_index, +gfc_reference_t *ref)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>token</var></td><td width="70%">An opaque pointer identifying the coarray.</td></tr> +<tr><td width="15%"><var>image_index</var></td><td width="70%">The ID of the remote image; must be a positive +number.</td></tr> +<tr><td width="15%"><var>ref</var></td><td width="70%">A chain of references to address the allocatable or +pointer component in the derived type coarray. The object reference needs to be +a scalar or a full array reference, respectively.</td></tr> +</table> + +</dd> +</dl> + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005flock.html b/share/doc/gfortran/_005fgfortran_005fcaf_005flock.html new file mode 100644 index 0000000..c9e5254 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005flock.html @@ -0,0 +1,123 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_lock</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_lock"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_lock"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005funlock.html#g_t_005fgfortran_005fcaf_005funlock" rel="next" title="_gfortran_caf_unlock"> +<link href="_005fgfortran_005fcaf_005fsendget_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fsendget_005fby_005fref" rel="previous" title="_gfortran_caf_sendget_by_ref"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005flock"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005funlock.html#g_t_005fgfortran_005fcaf_005funlock" accesskey="n" rel="next">_gfortran_caf_unlock</a>, Previous: <a href="_005fgfortran_005fcaf_005fsendget_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fsendget_005fby_005fref" accesskey="p" rel="previous">_gfortran_caf_sendget_by_ref</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005flock-_002d_002d_002d-Locking-a-lock-variable"></a> +<h4 class="subsection">7.2.17 <code>_gfortran_caf_lock</code> — Locking a lock variable</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005flock"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Acquire a lock on the given image on a scalar locking variable or for the +given array element for an array-valued variable. If the <var>acquired_lock</var> +is <code>NULL</code>, the function returns after having obtained the lock. If it is +non-<code>NULL</code>, then <var>acquired_lock</var> is assigned the value true (one) when +the lock could be obtained and false (zero) otherwise. Locking a lock variable +which has already been locked by the same image is an error. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_lock (caf_token_t token, size_t index, int image_index, +int *acquired_lock, int *stat, char *errmsg, size_t errmsg_len)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>token</var></td><td width="70%">intent(in) An opaque pointer identifying the coarray.</td></tr> +<tr><td width="15%"><var>index</var></td><td width="70%">intent(in) Array index; first array index is 0. For +scalars, it is always 0.</td></tr> +<tr><td width="15%"><var>image_index</var></td><td width="70%">intent(in) The ID of the remote image; must be a +positive number.</td></tr> +<tr><td width="15%"><var>acquired_lock</var></td><td width="70%">intent(out) If not NULL, it returns whether lock +could be obtained.</td></tr> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) Stores the STAT=; may be NULL.</td></tr> +<tr><td width="15%"><var>errmsg</var></td><td width="70%">intent(out) When an error occurs, this will be set to +an error message; may be NULL.</td></tr> +<tr><td width="15%"><var>errmsg_len</var></td><td width="70%">intent(in) the buffer size of errmsg</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>This function is also called for critical blocks; for those, the array index +is always zero and the image index is one. Libraries are permitted to use other +images for critical-block locking variables. +</p></dd> +</dl> + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fnum_005fimages.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fnum_005fimages.html new file mode 100644 index 0000000..8315d73 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fnum_005fimages.html @@ -0,0 +1,113 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_num_images</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_num_images"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_num_images"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fimage_005fstatus.html#g_t_005fgfortran_005fcaf_005fimage_005fstatus" rel="next" title="_gfortran_caf_image_status"> +<link href="_005fgfortran_005fcaf_005fthis_005fimage.html#g_t_005fgfortran_005fcaf_005fthis_005fimage" rel="previous" title="_gfortran_caf_this_image"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fnum_005fimages"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fimage_005fstatus.html#g_t_005fgfortran_005fcaf_005fimage_005fstatus" accesskey="n" rel="next">_gfortran_caf_image_status</a>, Previous: <a href="_005fgfortran_005fcaf_005fthis_005fimage.html#g_t_005fgfortran_005fcaf_005fthis_005fimage" accesskey="p" rel="previous">_gfortran_caf_this_image</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fnum_005fimages-_002d_002d_002d-Querying-the-maximal-number-of-images"></a> +<h4 class="subsection">7.2.4 <code>_gfortran_caf_num_images</code> — Querying the maximal number of images</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fnum_005fimages"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>This function returns the number of images in the current team, if +<var>distance</var> is 0 or the number of images in the parent team at the specified +distance. If failed is -1, the function returns the number of all images at +the specified distance; if it is 0, the function returns the number of +nonfailed images, and if it is 1, it returns the number of failed images. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>int _gfortran_caf_num_images(int distance, int failed)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>distance</var></td><td width="70%">the distance from this image to the ancestor. +Shall be positive.</td></tr> +<tr><td width="15%"><var>failed</var></td><td width="70%">shall be -1, 0, or 1</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>This function follows TS18508. If the num_image intrinsic has no arguments, +then the compiler passes <code>distance=0</code> and <code>failed=-1</code> to the function. +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fregister.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fregister.html new file mode 100644 index 0000000..3988837 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fregister.html @@ -0,0 +1,165 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_register</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_register"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_register"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fderegister.html#g_t_005fgfortran_005fcaf_005fderegister" rel="next" title="_gfortran_caf_deregister"> +<link href="_005fgfortran_005fcaf_005fstopped_005fimages.html#g_t_005fgfortran_005fcaf_005fstopped_005fimages" rel="previous" title="_gfortran_caf_stopped_images"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fregister"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fderegister.html#g_t_005fgfortran_005fcaf_005fderegister" accesskey="n" rel="next">_gfortran_caf_deregister</a>, Previous: <a href="_005fgfortran_005fcaf_005fstopped_005fimages.html#g_t_005fgfortran_005fcaf_005fstopped_005fimages" accesskey="p" rel="previous">_gfortran_caf_stopped_images</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fregister-_002d_002d_002d-Registering-coarrays"></a> +<h4 class="subsection">7.2.8 <code>_gfortran_caf_register</code> — Registering coarrays</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fregister"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Registers memory for a coarray and creates a token to identify the coarray. The +routine is called for both coarrays with <code>SAVE</code> attribute and using an +explicit <code>ALLOCATE</code> statement. If an error occurs and <var>STAT</var> is a +<code>NULL</code> pointer, the function shall abort with printing an error message +and starting the error termination. If no error occurs and <var>STAT</var> is +present, it shall be set to zero. Otherwise, it shall be set to a positive +value and, if not-<code>NULL</code>, <var>ERRMSG</var> shall be set to a string describing +the failure. The routine shall register the memory provided in the +<code>DATA</code>-component of the array descriptor <var>DESC</var>, when that component +is non-<code>NULL</code>, else it shall allocate sufficient memory and provide a +pointer to it in the <code>DATA</code>-component of <var>DESC</var>. The array descriptor +has rank zero, when a scalar object is to be registered and the array +descriptor may be invalid after the call to <code>_gfortran_caf_register</code>. +When an array is to be allocated the descriptor persists. +</p> +<p>For <code>CAF_REGTYPE_COARRAY_STATIC</code> and <code>CAF_REGTYPE_COARRAY_ALLOC</code>, +the passed size is the byte size requested. For <code>CAF_REGTYPE_LOCK_STATIC</code>, +<code>CAF_REGTYPE_LOCK_ALLOC</code> and <code>CAF_REGTYPE_CRITICAL</code> it is the array +size or one for a scalar. +</p> +<p>When <code>CAF_REGTYPE_COARRAY_ALLOC_REGISTER_ONLY</code> is used, then only a token +for an allocatable or pointer component is created. The <code>SIZE</code> parameter +is not used then. On the contrary when +<code>CAF_REGTYPE_COARRAY_ALLOC_ALLOCATE_ONLY</code> is specified, then the +<var>token</var> needs to be registered by a previous call with regtype +<code>CAF_REGTYPE_COARRAY_ALLOC_REGISTER_ONLY</code> and either the memory specified +in the <var>DESC</var>’s data-ptr is registered or allocate when the data-ptr is +<code>NULL</code>. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void caf_register (size_t size, caf_register_t type, caf_token_t *token, +gfc_descriptor_t *desc, int *stat, char *errmsg, size_t errmsg_len)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>size</var></td><td width="70%">For normal coarrays, the byte size of the coarray to be +allocated; for lock types and event types, the number of elements.</td></tr> +<tr><td width="15%"><var>type</var></td><td width="70%">one of the caf_register_t types.</td></tr> +<tr><td width="15%"><var>token</var></td><td width="70%">intent(out) An opaque pointer identifying the coarray.</td></tr> +<tr><td width="15%"><var>desc</var></td><td width="70%">intent(inout) The (pseudo) array descriptor.</td></tr> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) For allocatable coarrays, stores the STAT=; +may be <code>NULL</code></td></tr> +<tr><td width="15%"><var>errmsg</var></td><td width="70%">intent(out) When an error occurs, this will be set to +an error message; may be <code>NULL</code></td></tr> +<tr><td width="15%"><var>errmsg_len</var></td><td width="70%">the buffer size of errmsg.</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>Nonallocatable coarrays have to be registered prior use from remote images. +In order to guarantee this, they have to be registered before the main +program. This can be achieved by creating constructor functions. That is what +GCC does such that also for nonallocatable coarrays the memory is allocated and +no static memory is used. The token permits to identify the coarray; to the +processor, the token is a nonaliasing pointer. The library can, for instance, +store the base address of the coarray in the token, some handle or a more +complicated struct. The library may also store the array descriptor +<var>DESC</var> when its rank is non-zero. +</p> +<p>For lock types, the value shall only be used for checking the allocation +status. Note that for critical blocks, the locking is only required on one +image; in the locking statement, the processor shall always pass an +image index of one for critical-block lock variables +(<code>CAF_REGTYPE_CRITICAL</code>). For lock types and critical-block variables, +the initial value shall be unlocked (or, respectively, not in critical +section) such as the value false; for event types, the initial state should +be no event, e.g. zero. +</p></dd> +</dl> + + +<hr> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fderegister.html#g_t_005fgfortran_005fcaf_005fderegister" accesskey="n" rel="next">_gfortran_caf_deregister</a>, Previous: <a href="_005fgfortran_005fcaf_005fstopped_005fimages.html#g_t_005fgfortran_005fcaf_005fstopped_005fimages" accesskey="p" rel="previous">_gfortran_caf_stopped_images</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fsend.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fsend.html new file mode 100644 index 0000000..6c4c167 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fsend.html @@ -0,0 +1,147 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_send</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_send"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_send"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fget.html#g_t_005fgfortran_005fcaf_005fget" rel="next" title="_gfortran_caf_get"> +<link href="_005fgfortran_005fcaf_005fis_005fpresent.html#g_t_005fgfortran_005fcaf_005fis_005fpresent" rel="previous" title="_gfortran_caf_is_present"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fsend"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fget.html#g_t_005fgfortran_005fcaf_005fget" accesskey="n" rel="next">_gfortran_caf_get</a>, Previous: <a href="_005fgfortran_005fcaf_005fis_005fpresent.html#g_t_005fgfortran_005fcaf_005fis_005fpresent" accesskey="p" rel="previous">_gfortran_caf_is_present</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fsend-_002d_002d_002d-Sending-data-from-a-local-image-to-a-remote-image"></a> +<h4 class="subsection">7.2.11 <code>_gfortran_caf_send</code> — Sending data from a local image to a remote image</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fsend"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Called to send a scalar, an array section or a whole array from a local +to a remote image identified by the image_index. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_send (caf_token_t token, size_t offset, +int image_index, gfc_descriptor_t *dest, caf_vector_t *dst_vector, +gfc_descriptor_t *src, int dst_kind, int src_kind, bool may_require_tmp, +int *stat)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>token</var></td><td width="70%">intent(in) An opaque pointer identifying the coarray.</td></tr> +<tr><td width="15%"><var>offset</var></td><td width="70%">intent(in) By which amount of bytes the actual data is +shifted compared to the base address of the coarray.</td></tr> +<tr><td width="15%"><var>image_index</var></td><td width="70%">intent(in) The ID of the remote image; must be a +positive number.</td></tr> +<tr><td width="15%"><var>dest</var></td><td width="70%">intent(in) Array descriptor for the remote image for the +bounds and the size. The <code>base_addr</code> shall not be accessed.</td></tr> +<tr><td width="15%"><var>dst_vector</var></td><td width="70%">intent(in) If not NULL, it contains the vector +subscript of the destination array; the values are relative to the dimension +triplet of the dest argument.</td></tr> +<tr><td width="15%"><var>src</var></td><td width="70%">intent(in) Array descriptor of the local array to be +transferred to the remote image</td></tr> +<tr><td width="15%"><var>dst_kind</var></td><td width="70%">intent(in) Kind of the destination argument</td></tr> +<tr><td width="15%"><var>src_kind</var></td><td width="70%">intent(in) Kind of the source argument</td></tr> +<tr><td width="15%"><var>may_require_tmp</var></td><td width="70%">intent(in) The variable is <code>false</code> when +it is known at compile time that the <var>dest</var> and <var>src</var> either cannot +overlap or overlap (fully or partially) such that walking <var>src</var> and +<var>dest</var> in element wise element order (honoring the stride value) will not +lead to wrong results. Otherwise, the value is <code>true</code>.</td></tr> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) when non-NULL give the result of the +operation, i.e., zero on success and non-zero on error. When NULL and an error +occurs, then an error message is printed and the program is terminated.</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>It is permitted to have <var>image_index</var> equal the current image; the memory +of the send-to and the send-from might (partially) overlap in that case. The +implementation has to take care that it handles this case, e.g. using +<code>memmove</code> which handles (partially) overlapping memory. If +<var>may_require_tmp</var> is true, the library might additionally create a +temporary variable, unless additional checks show that this is not required +(e.g. because walking backward is possible or because both arrays are +contiguous and <code>memmove</code> takes care of overlap issues). +</p> +<p>Note that the assignment of a scalar to an array is permitted. In addition, +the library has to handle numeric-type conversion and for strings, padding +and different character kinds. +</p></dd> +</dl> + + +<hr> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fget.html#g_t_005fgfortran_005fcaf_005fget" accesskey="n" rel="next">_gfortran_caf_get</a>, Previous: <a href="_005fgfortran_005fcaf_005fis_005fpresent.html#g_t_005fgfortran_005fcaf_005fis_005fpresent" accesskey="p" rel="previous">_gfortran_caf_is_present</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fsend_005fby_005fref.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fsend_005fby_005fref.html new file mode 100644 index 0000000..5d5ed8c --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fsend_005fby_005fref.html @@ -0,0 +1,151 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_send_by_ref</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_send_by_ref"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_send_by_ref"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fget_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fget_005fby_005fref" rel="next" title="_gfortran_caf_get_by_ref"> +<link href="_005fgfortran_005fcaf_005fsendget.html#g_t_005fgfortran_005fcaf_005fsendget" rel="previous" title="_gfortran_caf_sendget"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fsend_005fby_005fref"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fget_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fget_005fby_005fref" accesskey="n" rel="next">_gfortran_caf_get_by_ref</a>, Previous: <a href="_005fgfortran_005fcaf_005fsendget.html#g_t_005fgfortran_005fcaf_005fsendget" accesskey="p" rel="previous">_gfortran_caf_sendget</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fsend_005fby_005fref-_002d_002d_002d-Sending-data-from-a-local-image-to-a-remote-image-with-enhanced-referencing-options"></a> +<h4 class="subsection">7.2.14 <code>_gfortran_caf_send_by_ref</code> — Sending data from a local image to a remote image with enhanced referencing options</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fsend_005fby_005fref"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Called to send a scalar, an array section or a whole array from a local to a +remote image identified by the <var>image_index</var>. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_send_by_ref (caf_token_t token, int image_index, +gfc_descriptor_t *src, caf_reference_t *refs, int dst_kind, int src_kind, +bool may_require_tmp, bool dst_reallocatable, int *stat, int dst_type)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>token</var></td><td width="70%">intent(in) An opaque pointer identifying the coarray.</td></tr> +<tr><td width="15%"><var>image_index</var></td><td width="70%">intent(in) The ID of the remote image; must be a +positive number.</td></tr> +<tr><td width="15%"><var>src</var></td><td width="70%">intent(in) Array descriptor of the local array to be +transferred to the remote image</td></tr> +<tr><td width="15%"><var>refs</var></td><td width="70%">intent(in) The references on the remote array to store +the data given by src. Guaranteed to have at least one entry.</td></tr> +<tr><td width="15%"><var>dst_kind</var></td><td width="70%">intent(in) Kind of the destination argument</td></tr> +<tr><td width="15%"><var>src_kind</var></td><td width="70%">intent(in) Kind of the source argument</td></tr> +<tr><td width="15%"><var>may_require_tmp</var></td><td width="70%">intent(in) The variable is <code>false</code> when +it is known at compile time that the <var>dest</var> and <var>src</var> either cannot +overlap or overlap (fully or partially) such that walking <var>src</var> and +<var>dest</var> in element wise element order (honoring the stride value) will not +lead to wrong results. Otherwise, the value is <code>true</code>.</td></tr> +<tr><td width="15%"><var>dst_reallocatable</var></td><td width="70%">intent(in) Set when the destination is of +allocatable or pointer type and the refs will allow reallocation, i.e., the ref +is a full array or component ref.</td></tr> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) When non-<code>NULL</code> give the result of the +operation, i.e., zero on success and non-zero on error. When <code>NULL</code> and +an error occurs, then an error message is printed and the program is terminated.</td></tr> +<tr><td width="15%"><var>dst_type</var></td><td width="70%">intent(in) Give the type of the destination. When +the destination is not an array, than the precise type, e.g. of a component in +a derived type, is not known, but provided here.</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>It is permitted to have <var>image_index</var> equal the current image; the memory of +the send-to and the send-from might (partially) overlap in that case. The +implementation has to take care that it handles this case, e.g. using +<code>memmove</code> which handles (partially) overlapping memory. If +<var>may_require_tmp</var> is true, the library might additionally create a +temporary variable, unless additional checks show that this is not required +(e.g. because walking backward is possible or because both arrays are +contiguous and <code>memmove</code> takes care of overlap issues). +</p> +<p>Note that the assignment of a scalar to an array is permitted. In addition, +the library has to handle numeric-type conversion and for strings, padding +and different character kinds. +</p> +<p>Because of the more complicated references possible some operations may be +unsupported by certain libraries. The library is expected to issue a precise +error message why the operation is not permitted. +</p></dd> +</dl> + + +<hr> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fget_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fget_005fby_005fref" accesskey="n" rel="next">_gfortran_caf_get_by_ref</a>, Previous: <a href="_005fgfortran_005fcaf_005fsendget.html#g_t_005fgfortran_005fcaf_005fsendget" accesskey="p" rel="previous">_gfortran_caf_sendget</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fsendget.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fsendget.html new file mode 100644 index 0000000..ad6c5ed --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fsendget.html @@ -0,0 +1,158 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_sendget</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_sendget"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_sendget"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fsend_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fsend_005fby_005fref" rel="next" title="_gfortran_caf_send_by_ref"> +<link href="_005fgfortran_005fcaf_005fget.html#g_t_005fgfortran_005fcaf_005fget" rel="previous" title="_gfortran_caf_get"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fsendget"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fsend_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fsend_005fby_005fref" accesskey="n" rel="next">_gfortran_caf_send_by_ref</a>, Previous: <a href="_005fgfortran_005fcaf_005fget.html#g_t_005fgfortran_005fcaf_005fget" accesskey="p" rel="previous">_gfortran_caf_get</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fsendget-_002d_002d_002d-Sending-data-between-remote-images"></a> +<h4 class="subsection">7.2.13 <code>_gfortran_caf_sendget</code> — Sending data between remote images</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fsendget"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Called to send a scalar, an array section or a whole array from a remote image +identified by the <var>src_image_index</var> to a remote image identified by the +<var>dst_image_index</var>. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_sendget (caf_token_t dst_token, size_t dst_offset, +int dst_image_index, gfc_descriptor_t *dest, caf_vector_t *dst_vector, +caf_token_t src_token, size_t src_offset, int src_image_index, +gfc_descriptor_t *src, caf_vector_t *src_vector, int dst_kind, int src_kind, +bool may_require_tmp, int *stat)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>dst_token</var></td><td width="70%">intent(in) An opaque pointer identifying the +destination coarray.</td></tr> +<tr><td width="15%"><var>dst_offset</var></td><td width="70%">intent(in) By which amount of bytes the actual data +is shifted compared to the base address of the destination coarray.</td></tr> +<tr><td width="15%"><var>dst_image_index</var></td><td width="70%">intent(in) The ID of the destination remote +image; must be a positive number.</td></tr> +<tr><td width="15%"><var>dest</var></td><td width="70%">intent(in) Array descriptor for the destination +remote image for the bounds and the size. The <code>base_addr</code> shall not be +accessed.</td></tr> +<tr><td width="15%"><var>dst_vector</var></td><td width="70%">intent(int) If not NULL, it contains the vector +subscript of the destination array; the values are relative to the dimension +triplet of the <var>dest</var> argument.</td></tr> +<tr><td width="15%"><var>src_token</var></td><td width="70%">intent(in) An opaque pointer identifying the source +coarray.</td></tr> +<tr><td width="15%"><var>src_offset</var></td><td width="70%">intent(in) By which amount of bytes the actual data +is shifted compared to the base address of the source coarray.</td></tr> +<tr><td width="15%"><var>src_image_index</var></td><td width="70%">intent(in) The ID of the source remote image; +must be a positive number.</td></tr> +<tr><td width="15%"><var>src</var></td><td width="70%">intent(in) Array descriptor of the local array to be +transferred to the remote image.</td></tr> +<tr><td width="15%"><var>src_vector</var></td><td width="70%">intent(in) Array descriptor of the local array to +be transferred to the remote image</td></tr> +<tr><td width="15%"><var>dst_kind</var></td><td width="70%">intent(in) Kind of the destination argument</td></tr> +<tr><td width="15%"><var>src_kind</var></td><td width="70%">intent(in) Kind of the source argument</td></tr> +<tr><td width="15%"><var>may_require_tmp</var></td><td width="70%">intent(in) The variable is <code>false</code> when +it is known at compile time that the <var>dest</var> and <var>src</var> either cannot +overlap or overlap (fully or partially) such that walking <var>src</var> and +<var>dest</var> in element wise element order (honoring the stride value) will not +lead to wrong results. Otherwise, the value is <code>true</code>.</td></tr> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) when non-NULL give the result of the +operation, i.e., zero on success and non-zero on error. When NULL and an error +occurs, then an error message is printed and the program is terminated.</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>It is permitted to have the same image index for both <var>src_image_index</var> and +<var>dst_image_index</var>; the memory of the send-to and the send-from might +(partially) overlap in that case. The implementation has to take care that it +handles this case, e.g. using <code>memmove</code> which handles (partially) +overlapping memory. If <var>may_require_tmp</var> is true, the library +might additionally create a temporary variable, unless additional checks show +that this is not required (e.g. because walking backward is possible or because +both arrays are contiguous and <code>memmove</code> takes care of overlap issues). +</p> +<p>Note that the assignment of a scalar to an array is permitted. In addition, +the library has to handle numeric-type conversion and for strings, padding and +different character kinds. +</p></dd> +</dl> + +<hr> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fsend_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fsend_005fby_005fref" accesskey="n" rel="next">_gfortran_caf_send_by_ref</a>, Previous: <a href="_005fgfortran_005fcaf_005fget.html#g_t_005fgfortran_005fcaf_005fget" accesskey="p" rel="previous">_gfortran_caf_get</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fsendget_005fby_005fref.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fsendget_005fby_005fref.html new file mode 100644 index 0000000..c99df62 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fsendget_005fby_005fref.html @@ -0,0 +1,164 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_sendget_by_ref</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_sendget_by_ref"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_sendget_by_ref"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005flock.html#g_t_005fgfortran_005fcaf_005flock" rel="next" title="_gfortran_caf_lock"> +<link href="_005fgfortran_005fcaf_005fget_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fget_005fby_005fref" rel="previous" title="_gfortran_caf_get_by_ref"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fsendget_005fby_005fref"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005flock.html#g_t_005fgfortran_005fcaf_005flock" accesskey="n" rel="next">_gfortran_caf_lock</a>, Previous: <a href="_005fgfortran_005fcaf_005fget_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fget_005fby_005fref" accesskey="p" rel="previous">_gfortran_caf_get_by_ref</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fsendget_005fby_005fref-_002d_002d_002d-Sending-data-between-remote-images-using-enhanced-references-on-both-sides"></a> +<h4 class="subsection">7.2.16 <code>_gfortran_caf_sendget_by_ref</code> — Sending data between remote images using enhanced references on both sides</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fsendget_005fby_005fref"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Called to send a scalar, an array section or a whole array from a remote image +identified by the <var>src_image_index</var> to a remote image identified by the +<var>dst_image_index</var>. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_sendget_by_ref (caf_token_t dst_token, +int dst_image_index, caf_reference_t *dst_refs, +caf_token_t src_token, int src_image_index, caf_reference_t *src_refs, +int dst_kind, int src_kind, bool may_require_tmp, int *dst_stat, +int *src_stat, int dst_type, int src_type)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>dst_token</var></td><td width="70%">intent(in) An opaque pointer identifying the +destination coarray.</td></tr> +<tr><td width="15%"><var>dst_image_index</var></td><td width="70%">intent(in) The ID of the destination remote +image; must be a positive number.</td></tr> +<tr><td width="15%"><var>dst_refs</var></td><td width="70%">intent(in) The references on the remote array to store +the data given by the source. Guaranteed to have at least one entry.</td></tr> +<tr><td width="15%"><var>src_token</var></td><td width="70%">intent(in) An opaque pointer identifying the source +coarray.</td></tr> +<tr><td width="15%"><var>src_image_index</var></td><td width="70%">intent(in) The ID of the source remote image; +must be a positive number.</td></tr> +<tr><td width="15%"><var>src_refs</var></td><td width="70%">intent(in) The references to apply to the remote +structure to get the data.</td></tr> +<tr><td width="15%"><var>dst_kind</var></td><td width="70%">intent(in) Kind of the destination argument</td></tr> +<tr><td width="15%"><var>src_kind</var></td><td width="70%">intent(in) Kind of the source argument</td></tr> +<tr><td width="15%"><var>may_require_tmp</var></td><td width="70%">intent(in) The variable is <code>false</code> when +it is known at compile time that the <var>dest</var> and <var>src</var> either cannot +overlap or overlap (fully or partially) such that walking <var>src</var> and +<var>dest</var> in element wise element order (honoring the stride value) will not +lead to wrong results. Otherwise, the value is <code>true</code>.</td></tr> +<tr><td width="15%"><var>dst_stat</var></td><td width="70%">intent(out) when non-<code>NULL</code> give the result of +the send-operation, i.e., zero on success and non-zero on error. When +<code>NULL</code> and an error occurs, then an error message is printed and the +program is terminated.</td></tr> +<tr><td width="15%"><var>src_stat</var></td><td width="70%">intent(out) When non-<code>NULL</code> give the result of +the get-operation, i.e., zero on success and non-zero on error. When +<code>NULL</code> and an error occurs, then an error message is printed and the +program is terminated.</td></tr> +<tr><td width="15%"><var>dst_type</var></td><td width="70%">intent(in) Give the type of the destination. When +the destination is not an array, than the precise type, e.g. of a component in +a derived type, is not known, but provided here.</td></tr> +<tr><td width="15%"><var>src_type</var></td><td width="70%">intent(in) Give the type of the source. When the +source is not an array, than the precise type, e.g. of a component in a +derived type, is not known, but provided here.</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>It is permitted to have the same image index for both <var>src_image_index</var> and +<var>dst_image_index</var>; the memory of the send-to and the send-from might +(partially) overlap in that case. The implementation has to take care that it +handles this case, e.g. using <code>memmove</code> which handles (partially) +overlapping memory. If <var>may_require_tmp</var> is true, the library +might additionally create a temporary variable, unless additional checks show +that this is not required (e.g. because walking backward is possible or because +both arrays are contiguous and <code>memmove</code> takes care of overlap issues). +</p> +<p>Note that the assignment of a scalar to an array is permitted. In addition, +the library has to handle numeric-type conversion and for strings, padding and +different character kinds. +</p> +<p>Because of the more complicated references possible some operations may be +unsupported by certain libraries. The library is expected to issue a precise +error message why the operation is not permitted. +</p></dd> +</dl> + + +<hr> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005flock.html#g_t_005fgfortran_005fcaf_005flock" accesskey="n" rel="next">_gfortran_caf_lock</a>, Previous: <a href="_005fgfortran_005fcaf_005fget_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fget_005fby_005fref" accesskey="p" rel="previous">_gfortran_caf_get_by_ref</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fstopped_005fimages.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fstopped_005fimages.html new file mode 100644 index 0000000..3fac11b --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fstopped_005fimages.html @@ -0,0 +1,113 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_stopped_images</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_stopped_images"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_stopped_images"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fregister.html#g_t_005fgfortran_005fcaf_005fregister" rel="next" title="_gfortran_caf_register"> +<link href="_005fgfortran_005fcaf_005ffailed_005fimages.html#g_t_005fgfortran_005fcaf_005ffailed_005fimages" rel="previous" title="_gfortran_caf_failed_images"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fstopped_005fimages"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fregister.html#g_t_005fgfortran_005fcaf_005fregister" accesskey="n" rel="next">_gfortran_caf_register</a>, Previous: <a href="_005fgfortran_005fcaf_005ffailed_005fimages.html#g_t_005fgfortran_005fcaf_005ffailed_005fimages" accesskey="p" rel="previous">_gfortran_caf_failed_images</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fstopped_005fimages-_002d_002d_002d-Get-an-array-of-the-indexes-of-the-stopped-images"></a> +<h4 class="subsection">7.2.7 <code>_gfortran_caf_stopped_images</code> — Get an array of the indexes of the stopped images</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fstopped_005fimages"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Get an array of image indexes in the current <var>team</var> that have stopped. The +array is sorted ascendingly. When <var>team</var> is not provided the current team +is to be used. When <var>kind</var> is provided then the resulting array is of that +integer kind else it is of default integer kind. The returns an unallocated +size zero array when no images have failed. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>int _gfortran_caf_stopped_images (caf_team_t * team, int * kind)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>team</var></td><td width="70%">optional; team on the which the inquiry is to be +performed.</td></tr> +<tr><td width="15%"><var>image</var></td><td width="70%">optional; the kind of the resulting integer array.</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>This function follows TS18508. Because team-functionality is not yet +implemented a null-pointer is passed for the <var>team</var> argument at the moment. +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fsync_005fall.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fsync_005fall.html new file mode 100644 index 0000000..d8e5477 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fsync_005fall.html @@ -0,0 +1,109 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_sync_all</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_sync_all"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_sync_all"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fsync_005fimages.html#g_t_005fgfortran_005fcaf_005fsync_005fimages" rel="next" title="_gfortran_caf_sync_images"> +<link href="_005fgfortran_005fcaf_005fevent_005fquery.html#g_t_005fgfortran_005fcaf_005fevent_005fquery" rel="previous" title="_gfortran_caf_event_query"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fsync_005fall"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fsync_005fimages.html#g_t_005fgfortran_005fcaf_005fsync_005fimages" accesskey="n" rel="next">_gfortran_caf_sync_images</a>, Previous: <a href="_005fgfortran_005fcaf_005fevent_005fquery.html#g_t_005fgfortran_005fcaf_005fevent_005fquery" accesskey="p" rel="previous">_gfortran_caf_event_query</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fsync_005fall-_002d_002d_002d-All_002dimage-barrier"></a> +<h4 class="subsection">7.2.22 <code>_gfortran_caf_sync_all</code> — All-image barrier</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fsync_005fall"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Synchronization of all images in the current team; the program only continues +on a given image after this function has been called on all images of the +current team. Additionally, it ensures that all pending data transfers of +previous segment have completed. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_sync_all (int *stat, char *errmsg, size_t errmsg_len)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) Stores the status STAT= and may be NULL.</td></tr> +<tr><td width="15%"><var>errmsg</var></td><td width="70%">intent(out) When an error occurs, this will be set to +an error message; may be NULL.</td></tr> +<tr><td width="15%"><var>errmsg_len</var></td><td width="70%">intent(in) the buffer size of errmsg</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fsync_005fimages.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fsync_005fimages.html new file mode 100644 index 0000000..13068b3 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fsync_005fimages.html @@ -0,0 +1,117 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_sync_images</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_sync_images"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_sync_images"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fsync_005fmemory.html#g_t_005fgfortran_005fcaf_005fsync_005fmemory" rel="next" title="_gfortran_caf_sync_memory"> +<link href="_005fgfortran_005fcaf_005fsync_005fall.html#g_t_005fgfortran_005fcaf_005fsync_005fall" rel="previous" title="_gfortran_caf_sync_all"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fsync_005fimages"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fsync_005fmemory.html#g_t_005fgfortran_005fcaf_005fsync_005fmemory" accesskey="n" rel="next">_gfortran_caf_sync_memory</a>, Previous: <a href="_005fgfortran_005fcaf_005fsync_005fall.html#g_t_005fgfortran_005fcaf_005fsync_005fall" accesskey="p" rel="previous">_gfortran_caf_sync_all</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fsync_005fimages-_002d_002d_002d-Barrier-for-selected-images"></a> +<h4 class="subsection">7.2.23 <code>_gfortran_caf_sync_images</code> — Barrier for selected images</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fsync_005fimages"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Synchronization between the specified images; the program only continues on a +given image after this function has been called on all images specified for +that image. Note that one image can wait for all other images in the current +team (e.g. via <code>sync images(*)</code>) while those only wait for that specific +image. Additionally, <code>sync images</code> ensures that all pending data +transfers of previous segments have completed. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_sync_images (int count, int images[], int *stat, +char *errmsg, size_t errmsg_len)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>count</var></td><td width="70%">intent(in) The number of images which are provided in +the next argument. For a zero-sized array, the value is zero. For +<code>sync images (*)</code>, the value is <em>-1</em>.</td></tr> +<tr><td width="15%"><var>images</var></td><td width="70%">intent(in) An array with the images provided by the +user. If <var>count</var> is zero, a NULL pointer is passed.</td></tr> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) Stores the status STAT= and may be NULL.</td></tr> +<tr><td width="15%"><var>errmsg</var></td><td width="70%">intent(out) When an error occurs, this will be set to +an error message; may be NULL.</td></tr> +<tr><td width="15%"><var>errmsg_len</var></td><td width="70%">intent(in) the buffer size of errmsg</td></tr> +</table> +</dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fsync_005fmemory.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fsync_005fmemory.html new file mode 100644 index 0000000..d033bbe --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fsync_005fmemory.html @@ -0,0 +1,111 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_sync_memory</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_sync_memory"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_sync_memory"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005ferror_005fstop.html#g_t_005fgfortran_005fcaf_005ferror_005fstop" rel="next" title="_gfortran_caf_error_stop"> +<link href="_005fgfortran_005fcaf_005fsync_005fimages.html#g_t_005fgfortran_005fcaf_005fsync_005fimages" rel="previous" title="_gfortran_caf_sync_images"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fsync_005fmemory"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005ferror_005fstop.html#g_t_005fgfortran_005fcaf_005ferror_005fstop" accesskey="n" rel="next">_gfortran_caf_error_stop</a>, Previous: <a href="_005fgfortran_005fcaf_005fsync_005fimages.html#g_t_005fgfortran_005fcaf_005fsync_005fimages" accesskey="p" rel="previous">_gfortran_caf_sync_images</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fsync_005fmemory-_002d_002d_002d-Wait-for-completion-of-segment_002dmemory-operations"></a> +<h4 class="subsection">7.2.24 <code>_gfortran_caf_sync_memory</code> — Wait for completion of segment-memory operations</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fsync_005fmemory"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Acts as optimization barrier between different segments. It also ensures that +all pending memory operations of this image have been completed. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_sync_memory (int *stat, char *errmsg, size_t errmsg_len)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) Stores the status STAT= and may be NULL.</td></tr> +<tr><td width="15%"><var>errmsg</var></td><td width="70%">intent(out) When an error occurs, this will be set to +an error message; may be NULL.</td></tr> +<tr><td width="15%"><var>errmsg_len</var></td><td width="70%">intent(in) the buffer size of errmsg</td></tr> +</table> + +</dd> +<dt><em>NOTE</em> A simple implementation could be</dt> +<dd><p><code>__asm__ __volatile__ ("":::"memory")</code> to prevent code movements. +</p></dd> +</dl> + + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005fthis_005fimage.html b/share/doc/gfortran/_005fgfortran_005fcaf_005fthis_005fimage.html new file mode 100644 index 0000000..dca0f5b --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005fthis_005fimage.html @@ -0,0 +1,109 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_this_image</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_this_image"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_this_image"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fnum_005fimages.html#g_t_005fgfortran_005fcaf_005fnum_005fimages" rel="next" title="_gfortran_caf_num_images"> +<link href="_005fgfortran_005fcaf_005ffinish.html#g_t_005fgfortran_005fcaf_005ffinish" rel="previous" title="_gfortran_caf_finish"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005fthis_005fimage"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fnum_005fimages.html#g_t_005fgfortran_005fcaf_005fnum_005fimages" accesskey="n" rel="next">_gfortran_caf_num_images</a>, Previous: <a href="_005fgfortran_005fcaf_005ffinish.html#g_t_005fgfortran_005fcaf_005ffinish" accesskey="p" rel="previous">_gfortran_caf_finish</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005fthis_005fimage-_002d_002d_002d-Querying-the-image-number"></a> +<h4 class="subsection">7.2.3 <code>_gfortran_caf_this_image</code> — Querying the image number</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005fthis_005fimage"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>This function returns the current image number, which is a positive number. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>int _gfortran_caf_this_image (int distance)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>distance</var></td><td width="70%">As specified for the <code>this_image</code> intrinsic +in TS18508. Shall be a non-negative number.</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>If the Fortran intrinsic <code>this_image</code> is invoked without an argument, which +is the only permitted form in Fortran 2008, GCC passes <code>0</code> as +first argument. +</p></dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fcaf_005funlock.html b/share/doc/gfortran/_005fgfortran_005fcaf_005funlock.html new file mode 100644 index 0000000..9431959 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fcaf_005funlock.html @@ -0,0 +1,119 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_caf_unlock</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_caf_unlock"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_caf_unlock"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="up" title="Function ABI Documentation"> +<link href="_005fgfortran_005fcaf_005fevent_005fpost.html#g_t_005fgfortran_005fcaf_005fevent_005fpost" rel="next" title="_gfortran_caf_event_post"> +<link href="_005fgfortran_005fcaf_005flock.html#g_t_005fgfortran_005fcaf_005flock" rel="previous" title="_gfortran_caf_lock"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fcaf_005funlock"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fcaf_005fevent_005fpost.html#g_t_005fgfortran_005fcaf_005fevent_005fpost" accesskey="n" rel="next">_gfortran_caf_event_post</a>, Previous: <a href="_005fgfortran_005fcaf_005flock.html#g_t_005fgfortran_005fcaf_005flock" accesskey="p" rel="previous">_gfortran_caf_lock</a>, Up: <a href="Function-ABI-Documentation.html#Function-ABI-Documentation" accesskey="u" rel="up">Function ABI Documentation</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fcaf_005flock-_002d_002d_002d-Unlocking-a-lock-variable"></a> +<h4 class="subsection">7.2.18 <code>_gfortran_caf_lock</code> — Unlocking a lock variable</h4> +<a name="index-Coarray_002c-_005fgfortran_005fcaf_005funlock"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p>Release a lock on the given image on a scalar locking variable or for the +given array element for an array-valued variable. Unlocking a lock variable +which is unlocked or has been locked by a different image is an error. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_caf_unlock (caf_token_t token, size_t index, int image_index, +int *stat, char *errmsg, size_t errmsg_len)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>token</var></td><td width="70%">intent(in) An opaque pointer identifying the coarray.</td></tr> +<tr><td width="15%"><var>index</var></td><td width="70%">intent(in) Array index; first array index is 0. For +scalars, it is always 0.</td></tr> +<tr><td width="15%"><var>image_index</var></td><td width="70%">intent(in) The ID of the remote image; must be a +positive number.</td></tr> +<tr><td width="15%"><var>stat</var></td><td width="70%">intent(out) For allocatable coarrays, stores the STAT=; +may be NULL.</td></tr> +<tr><td width="15%"><var>errmsg</var></td><td width="70%">intent(out) When an error occurs, this will be set to +an error message; may be NULL.</td></tr> +<tr><td width="15%"><var>errmsg_len</var></td><td width="70%">intent(in) the buffer size of errmsg</td></tr> +</table> + +</dd> +<dt><em>NOTES</em></dt> +<dd><p>This function is also called for critical block; for those, the array index +is always zero and the image index is one. Libraries are permitted to use other +images for critical-block locking variables. +</p></dd> +</dl> + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fset_005fargs.html b/share/doc/gfortran/_005fgfortran_005fset_005fargs.html new file mode 100644 index 0000000..96d320b --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fset_005fargs.html @@ -0,0 +1,119 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_set_args</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_set_args"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_set_args"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Non_002dFortran-Main-Program.html#Non_002dFortran-Main-Program" rel="up" title="Non-Fortran Main Program"> +<link href="_005fgfortran_005fset_005foptions.html#g_t_005fgfortran_005fset_005foptions" rel="next" title="_gfortran_set_options"> +<link href="Non_002dFortran-Main-Program.html#Non_002dFortran-Main-Program" rel="previous" title="Non-Fortran Main Program"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fset_005fargs"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fset_005foptions.html#g_t_005fgfortran_005fset_005foptions" accesskey="n" rel="next">_gfortran_set_options</a>, Up: <a href="Non_002dFortran-Main-Program.html#Non_002dFortran-Main-Program" accesskey="u" rel="up">Non-Fortran Main Program</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fset_005fargs-_002d_002d_002d-Save-command_002dline-arguments"></a> +<h4 class="subsection">6.3.1 <code>_gfortran_set_args</code> — Save command-line arguments</h4> +<a name="index-_005fgfortran_005fset_005fargs"></a> +<a name="index-libgfortran-initialization_002c-set_005fargs"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>_gfortran_set_args</code> saves the command-line arguments; this +initialization is required if any of the command-line intrinsics +is called. Additionally, it shall be called if backtracing is +enabled (see <code>_gfortran_set_options</code>). +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_set_args (int argc, char *argv[])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>argc</var></td><td width="70%">number of command line argument strings</td></tr> +<tr><td width="15%"><var>argv</var></td><td width="70%">the command-line argument strings; argv[0] +is the pathname of the executable itself.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">int main (int argc, char *argv[]) +{ + /* Initialize libgfortran. */ + _gfortran_set_args (argc, argv); + return 0; +} +</pre></div> +</dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fset_005fconvert.html b/share/doc/gfortran/_005fgfortran_005fset_005fconvert.html new file mode 100644 index 0000000..a00630c --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fset_005fconvert.html @@ -0,0 +1,118 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_set_convert</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_set_convert"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_set_convert"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Non_002dFortran-Main-Program.html#Non_002dFortran-Main-Program" rel="up" title="Non-Fortran Main Program"> +<link href="_005fgfortran_005fset_005frecord_005fmarker.html#g_t_005fgfortran_005fset_005frecord_005fmarker" rel="next" title="_gfortran_set_record_marker"> +<link href="_005fgfortran_005fset_005foptions.html#g_t_005fgfortran_005fset_005foptions" rel="previous" title="_gfortran_set_options"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fset_005fconvert"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fset_005frecord_005fmarker.html#g_t_005fgfortran_005fset_005frecord_005fmarker" accesskey="n" rel="next">_gfortran_set_record_marker</a>, Previous: <a href="_005fgfortran_005fset_005foptions.html#g_t_005fgfortran_005fset_005foptions" accesskey="p" rel="previous">_gfortran_set_options</a>, Up: <a href="Non_002dFortran-Main-Program.html#Non_002dFortran-Main-Program" accesskey="u" rel="up">Non-Fortran Main Program</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fset_005fconvert-_002d_002d_002d-Set-endian-conversion"></a> +<h4 class="subsection">6.3.3 <code>_gfortran_set_convert</code> — Set endian conversion</h4> +<a name="index-_005fgfortran_005fset_005fconvert"></a> +<a name="index-libgfortran-initialization_002c-set_005fconvert"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>_gfortran_set_convert</code> set the representation of data for +unformatted files. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_set_convert (int conv)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>conv</var></td><td width="70%">Endian conversion, possible values: +GFC_CONVERT_NATIVE (0, default), GFC_CONVERT_SWAP (1), +GFC_CONVERT_BIG (2), GFC_CONVERT_LITTLE (3).</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">int main (int argc, char *argv[]) +{ + /* Initialize libgfortran. */ + _gfortran_set_args (argc, argv); + _gfortran_set_convert (1); + return 0; +} +</pre></div> +</dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fset_005ffpe.html b/share/doc/gfortran/_005fgfortran_005fset_005ffpe.html new file mode 100644 index 0000000..1da6d1f --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fset_005ffpe.html @@ -0,0 +1,122 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_set_fpe</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_set_fpe"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_set_fpe"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Non_002dFortran-Main-Program.html#Non_002dFortran-Main-Program" rel="up" title="Non-Fortran Main Program"> +<link href="_005fgfortran_005fset_005fmax_005fsubrecord_005flength.html#g_t_005fgfortran_005fset_005fmax_005fsubrecord_005flength" rel="next" title="_gfortran_set_max_subrecord_length"> +<link href="_005fgfortran_005fset_005frecord_005fmarker.html#g_t_005fgfortran_005fset_005frecord_005fmarker" rel="previous" title="_gfortran_set_record_marker"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fset_005ffpe"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fset_005fmax_005fsubrecord_005flength.html#g_t_005fgfortran_005fset_005fmax_005fsubrecord_005flength" accesskey="n" rel="next">_gfortran_set_max_subrecord_length</a>, Previous: <a href="_005fgfortran_005fset_005frecord_005fmarker.html#g_t_005fgfortran_005fset_005frecord_005fmarker" accesskey="p" rel="previous">_gfortran_set_record_marker</a>, Up: <a href="Non_002dFortran-Main-Program.html#Non_002dFortran-Main-Program" accesskey="u" rel="up">Non-Fortran Main Program</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fset_005ffpe-_002d_002d_002d-Enable-floating-point-exception-traps"></a> +<h4 class="subsection">6.3.5 <code>_gfortran_set_fpe</code> — Enable floating point exception traps</h4> +<a name="index-_005fgfortran_005fset_005ffpe"></a> +<a name="index-libgfortran-initialization_002c-set_005ffpe"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>_gfortran_set_fpe</code> enables floating point exception traps for +the specified exceptions. On most systems, this will result in a +SIGFPE signal being sent and the program being aborted. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_set_fpe (int val)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>option</var>[0]</td><td width="70%">IEEE exceptions. Possible values are +(bitwise or-ed) zero (0, default) no trapping, +<code>GFC_FPE_INVALID</code> (1), <code>GFC_FPE_DENORMAL</code> (2), +<code>GFC_FPE_ZERO</code> (4), <code>GFC_FPE_OVERFLOW</code> (8), +<code>GFC_FPE_UNDERFLOW</code> (16), and <code>GFC_FPE_INEXACT</code> (32).</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">int main (int argc, char *argv[]) +{ + /* Initialize libgfortran. */ + _gfortran_set_args (argc, argv); + /* FPE for invalid operations such as SQRT(-1.0). */ + _gfortran_set_fpe (1); + return 0; +} +</pre></div> +</dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fset_005fmax_005fsubrecord_005flength.html b/share/doc/gfortran/_005fgfortran_005fset_005fmax_005fsubrecord_005flength.html new file mode 100644 index 0000000..d2f8249 --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fset_005fmax_005fsubrecord_005flength.html @@ -0,0 +1,119 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_set_max_subrecord_length</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_set_max_subrecord_length"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_set_max_subrecord_length"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Non_002dFortran-Main-Program.html#Non_002dFortran-Main-Program" rel="up" title="Non-Fortran Main Program"> +<link href="Naming-and-argument_002dpassing-conventions.html#Naming-and-argument_002dpassing-conventions" rel="next" title="Naming and argument-passing conventions"> +<link href="_005fgfortran_005fset_005ffpe.html#g_t_005fgfortran_005fset_005ffpe" rel="previous" title="_gfortran_set_fpe"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fset_005fmax_005fsubrecord_005flength"></a> +<div class="header"> +<p> +Previous: <a href="_005fgfortran_005fset_005ffpe.html#g_t_005fgfortran_005fset_005ffpe" accesskey="p" rel="previous">_gfortran_set_fpe</a>, Up: <a href="Non_002dFortran-Main-Program.html#Non_002dFortran-Main-Program" accesskey="u" rel="up">Non-Fortran Main Program</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fset_005fmax_005fsubrecord_005flength-_002d_002d_002d-Set-subrecord-length"></a> +<h4 class="subsection">6.3.6 <code>_gfortran_set_max_subrecord_length</code> — Set subrecord length</h4> +<a name="index-_005fgfortran_005fset_005fmax_005fsubrecord_005flength"></a> +<a name="index-libgfortran-initialization_002c-set_005fmax_005fsubrecord_005flength"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>_gfortran_set_max_subrecord_length</code> set the maximum length +for a subrecord. This option only makes sense for testing and +debugging of unformatted I/O. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_set_max_subrecord_length (int val)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>val</var></td><td width="70%">the maximum length for a subrecord; +the maximum permitted value is 2147483639, which is also +the default.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">int main (int argc, char *argv[]) +{ + /* Initialize libgfortran. */ + _gfortran_set_args (argc, argv); + _gfortran_set_max_subrecord_length (8); + return 0; +} +</pre></div> +</dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fset_005foptions.html b/share/doc/gfortran/_005fgfortran_005fset_005foptions.html new file mode 100644 index 0000000..a5f2b9d --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fset_005foptions.html @@ -0,0 +1,164 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_set_options</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_set_options"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_set_options"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Non_002dFortran-Main-Program.html#Non_002dFortran-Main-Program" rel="up" title="Non-Fortran Main Program"> +<link href="_005fgfortran_005fset_005fconvert.html#g_t_005fgfortran_005fset_005fconvert" rel="next" title="_gfortran_set_convert"> +<link href="_005fgfortran_005fset_005fargs.html#g_t_005fgfortran_005fset_005fargs" rel="previous" title="_gfortran_set_args"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fset_005foptions"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fset_005fconvert.html#g_t_005fgfortran_005fset_005fconvert" accesskey="n" rel="next">_gfortran_set_convert</a>, Previous: <a href="_005fgfortran_005fset_005fargs.html#g_t_005fgfortran_005fset_005fargs" accesskey="p" rel="previous">_gfortran_set_args</a>, Up: <a href="Non_002dFortran-Main-Program.html#Non_002dFortran-Main-Program" accesskey="u" rel="up">Non-Fortran Main Program</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fset_005foptions-_002d_002d_002d-Set-library-option-flags"></a> +<h4 class="subsection">6.3.2 <code>_gfortran_set_options</code> — Set library option flags</h4> +<a name="index-_005fgfortran_005fset_005foptions"></a> +<a name="index-libgfortran-initialization_002c-set_005foptions"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>_gfortran_set_options</code> sets several flags related to the Fortran +standard to be used, whether backtracing should be enabled +and whether range checks should be performed. The syntax allows for +upward compatibility since the number of passed flags is specified; for +non-passed flags, the default value is used. See also +see <a href="Code-Gen-Options.html#Code-Gen-Options">Code Gen Options</a>. Please note that not all flags are actually +used. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_set_options (int num, int options[])</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>num</var></td><td width="70%">number of options passed</td></tr> +<tr><td width="15%"><var>argv</var></td><td width="70%">The list of flag values</td></tr> +</table> + +</dd> +<dt><em>option flag list</em>:</dt> +<dd><table> +<tr><td width="15%"><var>option</var>[0]</td><td width="70%">Allowed standard; can give run-time errors +if e.g. an input-output edit descriptor is invalid in a given +standard. Possible values are (bitwise or-ed) <code>GFC_STD_F77</code> (1), +<code>GFC_STD_F95_OBS</code> (2), <code>GFC_STD_F95_DEL</code> (4), +<code>GFC_STD_F95</code> (8), <code>GFC_STD_F2003</code> (16), <code>GFC_STD_GNU</code> +(32), <code>GFC_STD_LEGACY</code> (64), <code>GFC_STD_F2008</code> (128), +<code>GFC_STD_F2008_OBS</code> (256), <code>GFC_STD_F2008_TS</code> (512), +<code>GFC_STD_F2018</code> (1024), <code>GFC_STD_F2018_OBS</code> (2048), and +<code>GFC_STD=F2018_DEL</code> (4096). Default: <code>GFC_STD_F95_OBS | +GFC_STD_F95_DEL | GFC_STD_F95 | GFC_STD_F2003 | GFC_STD_F2008 | +GFC_STD_F2008_TS | GFC_STD_F2008_OBS | GFC_STD_F77 | GFC_STD_F2018 | +GFC_STD_F2018_OBS | GFC_STD_F2018_DEL | GFC_STD_GNU | GFC_STD_LEGACY</code>.</td></tr> +<tr><td width="15%"><var>option</var>[1]</td><td width="70%">Standard-warning flag; prints a warning to +standard error. Default: <code>GFC_STD_F95_DEL | GFC_STD_LEGACY</code>.</td></tr> +<tr><td width="15%"><var>option</var>[2]</td><td width="70%">If non zero, enable pedantic checking. +Default: off.</td></tr> +<tr><td width="15%"><var>option</var>[3]</td><td width="70%">Unused.</td></tr> +<tr><td width="15%"><var>option</var>[4]</td><td width="70%">If non zero, enable backtracing on run-time +errors. Default: off. (Default in the compiler: on.) +Note: Installs a signal handler and requires command-line +initialization using <code>_gfortran_set_args</code>.</td></tr> +<tr><td width="15%"><var>option</var>[5]</td><td width="70%">If non zero, supports signed zeros. +Default: enabled.</td></tr> +<tr><td width="15%"><var>option</var>[6]</td><td width="70%">Enables run-time checking. Possible values +are (bitwise or-ed): GFC_RTCHECK_BOUNDS (1), GFC_RTCHECK_ARRAY_TEMPS (2), +GFC_RTCHECK_RECURSION (4), GFC_RTCHECK_DO (8), GFC_RTCHECK_POINTER (16), +GFC_RTCHECK_MEM (32), GFC_RTCHECK_BITS (64). +Default: disabled.</td></tr> +<tr><td width="15%"><var>option</var>[7]</td><td width="70%">Unused.</td></tr> +<tr><td width="15%"><var>option</var>[8]</td><td width="70%">Show a warning when invoking <code>STOP</code> and +<code>ERROR STOP</code> if a floating-point exception occurred. Possible values +are (bitwise or-ed) <code>GFC_FPE_INVALID</code> (1), <code>GFC_FPE_DENORMAL</code> (2), +<code>GFC_FPE_ZERO</code> (4), <code>GFC_FPE_OVERFLOW</code> (8), +<code>GFC_FPE_UNDERFLOW</code> (16), <code>GFC_FPE_INEXACT</code> (32). Default: None (0). +(Default in the compiler: <code>GFC_FPE_INVALID | GFC_FPE_DENORMAL | +GFC_FPE_ZERO | GFC_FPE_OVERFLOW | GFC_FPE_UNDERFLOW</code>.)</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample"> /* Use gfortran 4.9 default options. */ + static int options[] = {68, 511, 0, 0, 1, 1, 0, 0, 31}; + _gfortran_set_options (9, &options); +</pre></div> +</dd> +</dl> + + +<hr> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fset_005fconvert.html#g_t_005fgfortran_005fset_005fconvert" accesskey="n" rel="next">_gfortran_set_convert</a>, Previous: <a href="_005fgfortran_005fset_005fargs.html#g_t_005fgfortran_005fset_005fargs" accesskey="p" rel="previous">_gfortran_set_args</a>, Up: <a href="Non_002dFortran-Main-Program.html#Non_002dFortran-Main-Program" accesskey="u" rel="up">Non-Fortran Main Program</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/_005fgfortran_005fset_005frecord_005fmarker.html b/share/doc/gfortran/_005fgfortran_005fset_005frecord_005fmarker.html new file mode 100644 index 0000000..650ea2b --- /dev/null +++ b/share/doc/gfortran/_005fgfortran_005fset_005frecord_005fmarker.html @@ -0,0 +1,117 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: _gfortran_set_record_marker</title> + +<meta name="description" content="The GNU Fortran Compiler: _gfortran_set_record_marker"> +<meta name="keywords" content="The GNU Fortran Compiler: _gfortran_set_record_marker"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Non_002dFortran-Main-Program.html#Non_002dFortran-Main-Program" rel="up" title="Non-Fortran Main Program"> +<link href="_005fgfortran_005fset_005ffpe.html#g_t_005fgfortran_005fset_005ffpe" rel="next" title="_gfortran_set_fpe"> +<link href="_005fgfortran_005fset_005fconvert.html#g_t_005fgfortran_005fset_005fconvert" rel="previous" title="_gfortran_set_convert"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="g_t_005fgfortran_005fset_005frecord_005fmarker"></a> +<div class="header"> +<p> +Next: <a href="_005fgfortran_005fset_005ffpe.html#g_t_005fgfortran_005fset_005ffpe" accesskey="n" rel="next">_gfortran_set_fpe</a>, Previous: <a href="_005fgfortran_005fset_005fconvert.html#g_t_005fgfortran_005fset_005fconvert" accesskey="p" rel="previous">_gfortran_set_convert</a>, Up: <a href="Non_002dFortran-Main-Program.html#Non_002dFortran-Main-Program" accesskey="u" rel="up">Non-Fortran Main Program</a> [<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> +</div> +<hr> +<a name="g_t_005fgfortran_005fset_005frecord_005fmarker-_002d_002d_002d-Set-length-of-record-markers"></a> +<h4 class="subsection">6.3.4 <code>_gfortran_set_record_marker</code> — Set length of record markers</h4> +<a name="index-_005fgfortran_005fset_005frecord_005fmarker"></a> +<a name="index-libgfortran-initialization_002c-set_005frecord_005fmarker"></a> + +<dl compact="compact"> +<dt><em>Description</em>:</dt> +<dd><p><code>_gfortran_set_record_marker</code> sets the length of record markers +for unformatted files. +</p> +</dd> +<dt><em>Syntax</em>:</dt> +<dd><p><code>void _gfortran_set_record_marker (int val)</code> +</p> +</dd> +<dt><em>Arguments</em>:</dt> +<dd><table> +<tr><td width="15%"><var>val</var></td><td width="70%">Length of the record marker; valid values +are 4 and 8. Default is 4.</td></tr> +</table> + +</dd> +<dt><em>Example</em>:</dt> +<dd><div class="smallexample"> +<pre class="smallexample">int main (int argc, char *argv[]) +{ + /* Initialize libgfortran. */ + _gfortran_set_args (argc, argv); + _gfortran_set_record_marker (8); + return 0; +} +</pre></div> +</dd> +</dl> + + + + + +</body> +</html> diff --git a/share/doc/gfortran/caf_005fderegister_005ft.html b/share/doc/gfortran/caf_005fderegister_005ft.html new file mode 100644 index 0000000..d7106ee --- /dev/null +++ b/share/doc/gfortran/caf_005fderegister_005ft.html @@ -0,0 +1,94 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: caf_deregister_t</title> + +<meta name="description" content="The GNU Fortran Compiler: caf_deregister_t"> +<meta name="keywords" content="The GNU Fortran Compiler: caf_deregister_t"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Type-and-enum-ABI-Documentation.html#Type-and-enum-ABI-Documentation" rel="up" title="Type and enum ABI Documentation"> +<link href="caf_005freference_005ft.html#caf_005freference_005ft" rel="next" title="caf_reference_t"> +<link href="caf_005fregister_005ft.html#caf_005fregister_005ft" rel="previous" title="caf_register_t"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="caf_005fderegister_005ft"></a> +<div class="header"> +<p> +Next: <a href="caf_005freference_005ft.html#caf_005freference_005ft" accesskey="n" rel="next">caf_reference_t</a>, Previous: <a href="caf_005fregister_005ft.html#caf_005fregister_005ft" accesskey="p" rel="previous">caf_register_t</a>, Up: <a href="Type-and-enum-ABI-Documentation.html#Type-and-enum-ABI-Documentation" accesskey="u" rel="up">Type and enum ABI Documentation</a> [<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> +</div> +<hr> +<a name="caf_005fderegister_005ft-1"></a> +<h4 class="subsection">7.1.3 <code>caf_deregister_t</code></h4> + +<pre class="verbatim">typedef enum caf_deregister_t { + CAF_DEREGTYPE_COARRAY_DEREGISTER, + CAF_DEREGTYPE_COARRAY_DEALLOCATE_ONLY +} +caf_deregister_t; +</pre> +<p>Allows to specifiy the type of deregistration of a coarray object. The +<code>CAF_DEREGTYPE_COARRAY_DEALLOCATE_ONLY</code> flag is only allowed for +allocatable components in derived type coarrays. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/caf_005freference_005ft.html b/share/doc/gfortran/caf_005freference_005ft.html new file mode 100644 index 0000000..69dce43 --- /dev/null +++ b/share/doc/gfortran/caf_005freference_005ft.html @@ -0,0 +1,188 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: caf_reference_t</title> + +<meta name="description" content="The GNU Fortran Compiler: caf_reference_t"> +<meta name="keywords" content="The GNU Fortran Compiler: caf_reference_t"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Type-and-enum-ABI-Documentation.html#Type-and-enum-ABI-Documentation" rel="up" title="Type and enum ABI Documentation"> +<link href="caf_005fteam_005ft.html#caf_005fteam_005ft" rel="next" title="caf_team_t"> +<link href="caf_005fderegister_005ft.html#caf_005fderegister_005ft" rel="previous" title="caf_deregister_t"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="caf_005freference_005ft"></a> +<div class="header"> +<p> +Next: <a href="caf_005fteam_005ft.html#caf_005fteam_005ft" accesskey="n" rel="next">caf_team_t</a>, Previous: <a href="caf_005fderegister_005ft.html#caf_005fderegister_005ft" accesskey="p" rel="previous">caf_deregister_t</a>, Up: <a href="Type-and-enum-ABI-Documentation.html#Type-and-enum-ABI-Documentation" accesskey="u" rel="up">Type and enum ABI Documentation</a> [<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> +</div> +<hr> +<a name="caf_005freference_005ft-1"></a> +<h4 class="subsection">7.1.4 <code>caf_reference_t</code></h4> + +<p>The structure used for implementing arbitrary reference chains. +A <code>CAF_REFERENCE_T</code> allows to specify a component reference or any kind +of array reference of any rank supported by gfortran. For array references all +kinds as known by the compiler/Fortran standard are supported indicated by +a <code>MODE</code>. +</p> +<pre class="verbatim">typedef enum caf_ref_type_t { + /* Reference a component of a derived type, either regular one or an + allocatable or pointer type. For regular ones idx in caf_reference_t is + set to -1. */ + CAF_REF_COMPONENT, + /* Reference an allocatable array. */ + CAF_REF_ARRAY, + /* Reference a non-allocatable/non-pointer array. I.e., the coarray object + has no array descriptor associated and the addressing is done + completely using the ref. */ + CAF_REF_STATIC_ARRAY +} caf_ref_type_t; +</pre> +<pre class="verbatim">typedef enum caf_array_ref_t { + /* No array ref. This terminates the array ref. */ + CAF_ARR_REF_NONE = 0, + /* Reference array elements given by a vector. Only for this mode + caf_reference_t.u.a.dim[i].v is valid. */ + CAF_ARR_REF_VECTOR, + /* A full array ref (:). */ + CAF_ARR_REF_FULL, + /* Reference a range on elements given by start, end and stride. */ + CAF_ARR_REF_RANGE, + /* Only a single item is referenced given in the start member. */ + CAF_ARR_REF_SINGLE, + /* An array ref of the kind (i:), where i is an arbitrary valid index in the + array. The index i is given in the start member. */ + CAF_ARR_REF_OPEN_END, + /* An array ref of the kind (:i), where the lower bound of the array ref + is given by the remote side. The index i is given in the end member. */ + CAF_ARR_REF_OPEN_START +} caf_array_ref_t; +</pre> +<pre class="verbatim">/* References to remote components of a derived type. */ +typedef struct caf_reference_t { + /* A pointer to the next ref or NULL. */ + struct caf_reference_t *next; + /* The type of the reference. */ + /* caf_ref_type_t, replaced by int to allow specification in fortran FE. */ + int type; + /* The size of an item referenced in bytes. I.e. in an array ref this is + the factor to advance the array pointer with to get to the next item. + For component refs this gives just the size of the element referenced. */ + size_t item_size; + union { + struct { + /* The offset (in bytes) of the component in the derived type. + Unused for allocatable or pointer components. */ + ptrdiff_t offset; + /* The offset (in bytes) to the caf_token associated with this + component. NULL, when not allocatable/pointer ref. */ + ptrdiff_t caf_token_offset; + } c; + struct { + /* The mode of the array ref. See CAF_ARR_REF_*. */ + /* caf_array_ref_t, replaced by unsigend char to allow specification in + fortran FE. */ + unsigned char mode[GFC_MAX_DIMENSIONS]; + /* The type of a static array. Unset for array's with descriptors. */ + int static_array_type; + /* Subscript refs (s) or vector refs (v). */ + union { + struct { + /* The start and end boundary of the ref and the stride. */ + index_type start, end, stride; + } s; + struct { + /* nvec entries of kind giving the elements to reference. */ + void *vector; + /* The number of entries in vector. */ + size_t nvec; + /* The integer kind used for the elements in vector. */ + int kind; + } v; + } dim[GFC_MAX_DIMENSIONS]; + } a; + } u; +} caf_reference_t; +</pre> +<p>The references make up a single linked list of reference operations. The +<code>NEXT</code> member links to the next reference or NULL to indicate the end of +the chain. Component and array refs can be arbitrarily mixed as long as they +comply to the Fortran standard. +</p> +<p><em>NOTES</em> +The member <code>STATIC_ARRAY_TYPE</code> is used only when the <code>TYPE</code> is +<code>CAF_REF_STATIC_ARRAY</code>. The member gives the type of the data referenced. +Because no array descriptor is available for a descriptor-less array and +type conversion still needs to take place the type is transported here. +</p> +<p>At the moment <code>CAF_ARR_REF_VECTOR</code> is not implemented in the front end for +descriptor-less arrays. The library caf_single has untested support for it. +</p> +<hr> +<div class="header"> +<p> +Next: <a href="caf_005fteam_005ft.html#caf_005fteam_005ft" accesskey="n" rel="next">caf_team_t</a>, Previous: <a href="caf_005fderegister_005ft.html#caf_005fderegister_005ft" accesskey="p" rel="previous">caf_deregister_t</a>, Up: <a href="Type-and-enum-ABI-Documentation.html#Type-and-enum-ABI-Documentation" accesskey="u" rel="up">Type and enum ABI Documentation</a> [<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> +</div> + + + +</body> +</html> diff --git a/share/doc/gfortran/caf_005fregister_005ft.html b/share/doc/gfortran/caf_005fregister_005ft.html new file mode 100644 index 0000000..bb6c2d3 --- /dev/null +++ b/share/doc/gfortran/caf_005fregister_005ft.html @@ -0,0 +1,110 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: caf_register_t</title> + +<meta name="description" content="The GNU Fortran Compiler: caf_register_t"> +<meta name="keywords" content="The GNU Fortran Compiler: caf_register_t"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Type-and-enum-ABI-Documentation.html#Type-and-enum-ABI-Documentation" rel="up" title="Type and enum ABI Documentation"> +<link href="caf_005fderegister_005ft.html#caf_005fderegister_005ft" rel="next" title="caf_deregister_t"> +<link href="caf_005ftoken_005ft.html#caf_005ftoken_005ft" rel="previous" title="caf_token_t"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="caf_005fregister_005ft"></a> +<div class="header"> +<p> +Next: <a href="caf_005fderegister_005ft.html#caf_005fderegister_005ft" accesskey="n" rel="next">caf_deregister_t</a>, Previous: <a href="caf_005ftoken_005ft.html#caf_005ftoken_005ft" accesskey="p" rel="previous">caf_token_t</a>, Up: <a href="Type-and-enum-ABI-Documentation.html#Type-and-enum-ABI-Documentation" accesskey="u" rel="up">Type and enum ABI Documentation</a> [<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> +</div> +<hr> +<a name="caf_005fregister_005ft-1"></a> +<h4 class="subsection">7.1.2 <code>caf_register_t</code></h4> + +<p>Indicates which kind of coarray variable should be registered. +</p> +<pre class="verbatim">typedef enum caf_register_t { + CAF_REGTYPE_COARRAY_STATIC, + CAF_REGTYPE_COARRAY_ALLOC, + CAF_REGTYPE_LOCK_STATIC, + CAF_REGTYPE_LOCK_ALLOC, + CAF_REGTYPE_CRITICAL, + CAF_REGTYPE_EVENT_STATIC, + CAF_REGTYPE_EVENT_ALLOC, + CAF_REGTYPE_COARRAY_ALLOC_REGISTER_ONLY, + CAF_REGTYPE_COARRAY_ALLOC_ALLOCATE_ONLY +} +caf_register_t; +</pre> +<p>The values <code>CAF_REGTYPE_COARRAY_ALLOC_REGISTER_ONLY</code> and +<code>CAF_REGTYPE_COARRAY_ALLOC_ALLOCATE_ONLY</code> are for allocatable components +in derived type coarrays only. The first one sets up the token without +allocating memory for allocatable component. The latter one only allocates the +memory for an allocatable component in a derived type coarray. The token +needs to be setup previously by the REGISTER_ONLY. This allows to have +allocatable components un-allocated on some images. The status whether an +allocatable component is allocated on a remote image can be queried by +<code>_caf_is_present</code> which used internally by the <code>ALLOCATED</code> +intrinsic. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/caf_005fteam_005ft.html b/share/doc/gfortran/caf_005fteam_005ft.html new file mode 100644 index 0000000..070cdf2 --- /dev/null +++ b/share/doc/gfortran/caf_005fteam_005ft.html @@ -0,0 +1,87 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: caf_team_t</title> + +<meta name="description" content="The GNU Fortran Compiler: caf_team_t"> +<meta name="keywords" content="The GNU Fortran Compiler: caf_team_t"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Type-and-enum-ABI-Documentation.html#Type-and-enum-ABI-Documentation" rel="up" title="Type and enum ABI Documentation"> +<link href="Function-ABI-Documentation.html#Function-ABI-Documentation" rel="next" title="Function ABI Documentation"> +<link href="caf_005freference_005ft.html#caf_005freference_005ft" rel="previous" title="caf_reference_t"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="caf_005fteam_005ft"></a> +<div class="header"> +<p> +Previous: <a href="caf_005freference_005ft.html#caf_005freference_005ft" accesskey="p" rel="previous">caf_reference_t</a>, Up: <a href="Type-and-enum-ABI-Documentation.html#Type-and-enum-ABI-Documentation" accesskey="u" rel="up">Type and enum ABI Documentation</a> [<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> +</div> +<hr> +<a name="caf_005fteam_005ft-1"></a> +<h4 class="subsection">7.1.5 <code>caf_team_t</code></h4> + +<p>Opaque pointer to represent a team-handle. This type is a stand-in for the +future implementation of teams. It is about to change without further notice. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/caf_005ftoken_005ft.html b/share/doc/gfortran/caf_005ftoken_005ft.html new file mode 100644 index 0000000..db77ae8 --- /dev/null +++ b/share/doc/gfortran/caf_005ftoken_005ft.html @@ -0,0 +1,87 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: caf_token_t</title> + +<meta name="description" content="The GNU Fortran Compiler: caf_token_t"> +<meta name="keywords" content="The GNU Fortran Compiler: caf_token_t"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="Type-and-enum-ABI-Documentation.html#Type-and-enum-ABI-Documentation" rel="up" title="Type and enum ABI Documentation"> +<link href="caf_005fregister_005ft.html#caf_005fregister_005ft" rel="next" title="caf_register_t"> +<link href="Type-and-enum-ABI-Documentation.html#Type-and-enum-ABI-Documentation" rel="previous" title="Type and enum ABI Documentation"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="caf_005ftoken_005ft"></a> +<div class="header"> +<p> +Next: <a href="caf_005fregister_005ft.html#caf_005fregister_005ft" accesskey="n" rel="next">caf_register_t</a>, Up: <a href="Type-and-enum-ABI-Documentation.html#Type-and-enum-ABI-Documentation" accesskey="u" rel="up">Type and enum ABI Documentation</a> [<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> +</div> +<hr> +<a name="caf_005ftoken_005ft-1"></a> +<h4 class="subsection">7.1.1 <code>caf_token_t</code></h4> + +<p>Typedef of type <code>void *</code> on the compiler side. Can be any data +type on the library side. +</p> + + + +</body> +</html> diff --git a/share/doc/gfortran/index.html b/share/doc/gfortran/index.html new file mode 100644 index 0000000..b275576 --- /dev/null +++ b/share/doc/gfortran/index.html @@ -0,0 +1,695 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Funding Free Software", the Front-Cover +Texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +"GNU Free Documentation License". + +(a) The FSF's Front-Cover Text is: + +A GNU Manual + +(b) The FSF's Back-Cover Text is: + +You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. --> +<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> +<head> +<title>The GNU Fortran Compiler: Top</title> + +<meta name="description" content="The GNU Fortran Compiler: Top"> +<meta name="keywords" content="The GNU Fortran Compiler: Top"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="#Top" rel="start" title="Top"> +<link href="Option-Index.html#Option-Index" rel="index" title="Option Index"> +<link href="#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="../dir/index.html" rel="up" title="(dir)"> +<link href="Introduction.html#Introduction" rel="next" title="Introduction"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +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.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<h1 class="settitle" align="center">The GNU Fortran Compiler</h1> + + + + + + + + + + + + + + + + + + + + + + + + + + +<a name="SEC_Overview"></a> +<h2 class="shortcontents-heading">Short Table of Contents</h2> + +<div class="shortcontents"> +<ul class="no-bullet"> +<li><a name="stoc-Introduction-2" href="#toc-Introduction-2">1 Introduction</a></li> +<li><a name="stoc-GNU-Fortran-Command-Options" href="#toc-GNU-Fortran-Command-Options">2 GNU Fortran Command Options</a></li> +<li><a name="stoc-Runtime_003a-Influencing-runtime-behavior-with-environment-variables" href="#toc-Runtime_003a-Influencing-runtime-behavior-with-environment-variables">3 Runtime: Influencing runtime behavior with environment variables</a></li> +<li><a name="stoc-Compiler-Characteristics-1" href="#toc-Compiler-Characteristics-1">4 Compiler Characteristics</a></li> +<li><a name="stoc-Extensions-1" href="#toc-Extensions-1">5 Extensions</a></li> +<li><a name="stoc-Mixed_002dLanguage-Programming-1" href="#toc-Mixed_002dLanguage-Programming-1">6 Mixed-Language Programming</a></li> +<li><a name="stoc-Coarray-Programming-1" href="#toc-Coarray-Programming-1">7 Coarray Programming</a></li> +<li><a name="stoc-Intrinsic-Procedures-1" href="#toc-Intrinsic-Procedures-1">8 Intrinsic Procedures</a></li> +<li><a name="stoc-Intrinsic-Modules-1" href="#toc-Intrinsic-Modules-1">9 Intrinsic Modules</a></li> +<li><a name="stoc-Contributing-1" href="#toc-Contributing-1">Contributing</a></li> +<li><a name="stoc-GNU-General-Public-License" href="#toc-GNU-General-Public-License">GNU General Public License</a></li> +<li><a name="stoc-GNU-Free-Documentation-License-1" href="#toc-GNU-Free-Documentation-License-1">GNU Free Documentation License</a></li> +<li><a name="stoc-Funding-Free-Software" href="#toc-Funding-Free-Software">Funding Free Software</a></li> +<li><a name="stoc-Option-Index-1" href="#toc-Option-Index-1">Option Index</a></li> +<li><a name="stoc-Keyword-Index-1" href="#toc-Keyword-Index-1">Keyword Index</a></li> +</ul> +</div> + + +<a name="SEC_Contents"></a> +<h2 class="contents-heading">Table of Contents</h2> + +<div class="contents"> + +<ul class="no-bullet"> + <li><a name="toc-Introduction-2" href="Introduction.html#Introduction">1 Introduction</a> + <ul class="no-bullet"> + <li><a name="toc-About-GNU-Fortran-1" href="About-GNU-Fortran.html#About-GNU-Fortran">1.1 About GNU Fortran</a></li> + <li><a name="toc-GNU-Fortran-and-GCC-1" href="GNU-Fortran-and-GCC.html#GNU-Fortran-and-GCC">1.2 GNU Fortran and GCC</a></li> + <li><a name="toc-Standards-1" href="Standards.html#Standards">1.3 Standards</a> + <ul class="no-bullet"> + <li><a name="toc-Fortran-95-status-1" href="Fortran-95-status.html#Fortran-95-status">1.3.1 Fortran 95 status</a></li> + <li><a name="toc-Fortran-2003-status-1" href="Fortran-2003-status.html#Fortran-2003-status">1.3.2 Fortran 2003 status</a></li> + <li><a name="toc-Fortran-2008-status-1" href="Fortran-2008-status.html#Fortran-2008-status">1.3.3 Fortran 2008 status</a></li> + <li><a name="toc-Fortran-2018-status-1" href="Fortran-2018-status.html#Fortran-2018-status">1.3.4 Fortran 2018 status</a></li> + </ul></li> + </ul></li> + <li><a name="toc-GNU-Fortran-Command-Options" href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran">2 GNU Fortran Command Options</a> + <ul class="no-bullet"> + <li><a name="toc-Option-summary" href="Option-Summary.html#Option-Summary">2.1 Option summary</a></li> + <li><a name="toc-Options-controlling-Fortran-dialect" href="Fortran-Dialect-Options.html#Fortran-Dialect-Options">2.2 Options controlling Fortran dialect</a></li> + <li><a name="toc-Enable-and-customize-preprocessing" href="Preprocessing-Options.html#Preprocessing-Options">2.3 Enable and customize preprocessing</a></li> + <li><a name="toc-Options-to-request-or-suppress-errors-and-warnings" href="Error-and-Warning-Options.html#Error-and-Warning-Options">2.4 Options to request or suppress errors and warnings</a></li> + <li><a name="toc-Options-for-debugging-your-program-or-GNU-Fortran" href="Debugging-Options.html#Debugging-Options">2.5 Options for debugging your program or GNU Fortran</a></li> + <li><a name="toc-Options-for-directory-search" href="Directory-Options.html#Directory-Options">2.6 Options for directory search</a></li> + <li><a name="toc-Influencing-the-linking-step" href="Link-Options.html#Link-Options">2.7 Influencing the linking step</a></li> + <li><a name="toc-Influencing-runtime-behavior" href="Runtime-Options.html#Runtime-Options">2.8 Influencing runtime behavior</a></li> + <li><a name="toc-Options-for-code-generation-conventions" href="Code-Gen-Options.html#Code-Gen-Options">2.9 Options for code generation conventions</a></li> + <li><a name="toc-Options-for-interoperability-with-other-languages" href="Interoperability-Options.html#Interoperability-Options">2.10 Options for interoperability with other languages</a></li> + <li><a name="toc-Environment-variables-affecting-gfortran" href="Environment-Variables.html#Environment-Variables">2.11 Environment variables affecting <code>gfortran</code></a></li> + </ul></li> + <li><a name="toc-Runtime_003a-Influencing-runtime-behavior-with-environment-variables" href="Runtime.html#Runtime">3 Runtime: Influencing runtime behavior with environment variables</a> + <ul class="no-bullet"> + <li><a name="toc-TMPDIR_002d_002d_002dDirectory-for-scratch-files" href="TMPDIR.html#TMPDIR">3.1 <code>TMPDIR</code>—Directory for scratch files</a></li> + <li><a name="toc-GFORTRAN_005fSTDIN_005fUNIT_002d_002d_002dUnit-number-for-standard-input" href="GFORTRAN_005fSTDIN_005fUNIT.html#GFORTRAN_005fSTDIN_005fUNIT">3.2 <code>GFORTRAN_STDIN_UNIT</code>—Unit number for standard input</a></li> + <li><a name="toc-GFORTRAN_005fSTDOUT_005fUNIT_002d_002d_002dUnit-number-for-standard-output" href="GFORTRAN_005fSTDOUT_005fUNIT.html#GFORTRAN_005fSTDOUT_005fUNIT">3.3 <code>GFORTRAN_STDOUT_UNIT</code>—Unit number for standard output</a></li> + <li><a name="toc-GFORTRAN_005fSTDERR_005fUNIT_002d_002d_002dUnit-number-for-standard-error" href="GFORTRAN_005fSTDERR_005fUNIT.html#GFORTRAN_005fSTDERR_005fUNIT">3.4 <code>GFORTRAN_STDERR_UNIT</code>—Unit number for standard error</a></li> + <li><a name="toc-GFORTRAN_005fUNBUFFERED_005fALL_002d_002d_002dDo-not-buffer-I_002fO-on-all-units" href="GFORTRAN_005fUNBUFFERED_005fALL.html#GFORTRAN_005fUNBUFFERED_005fALL">3.5 <code>GFORTRAN_UNBUFFERED_ALL</code>—Do not buffer I/O on all units</a></li> + <li><a name="toc-GFORTRAN_005fUNBUFFERED_005fPRECONNECTED_002d_002d_002dDo-not-buffer-I_002fO-on-preconnected-units" href="GFORTRAN_005fUNBUFFERED_005fPRECONNECTED.html#GFORTRAN_005fUNBUFFERED_005fPRECONNECTED">3.6 <code>GFORTRAN_UNBUFFERED_PRECONNECTED</code>—Do not buffer I/O on preconnected units</a></li> + <li><a name="toc-GFORTRAN_005fSHOW_005fLOCUS_002d_002d_002dShow-location-for-runtime-errors" href="GFORTRAN_005fSHOW_005fLOCUS.html#GFORTRAN_005fSHOW_005fLOCUS">3.7 <code>GFORTRAN_SHOW_LOCUS</code>—Show location for runtime errors</a></li> + <li><a name="toc-GFORTRAN_005fOPTIONAL_005fPLUS_002d_002d_002dPrint-leading-_002b-where-permitted" href="GFORTRAN_005fOPTIONAL_005fPLUS.html#GFORTRAN_005fOPTIONAL_005fPLUS">3.8 <code>GFORTRAN_OPTIONAL_PLUS</code>—Print leading + where permitted</a></li> + <li><a name="toc-GFORTRAN_005fLIST_005fSEPARATOR_002d_002d_002dSeparator-for-list-output" href="GFORTRAN_005fLIST_005fSEPARATOR.html#GFORTRAN_005fLIST_005fSEPARATOR">3.9 <code>GFORTRAN_LIST_SEPARATOR</code>—Separator for list output</a></li> + <li><a name="toc-GFORTRAN_005fCONVERT_005fUNIT_002d_002d_002dSet-conversion-for-unformatted-I_002fO" href="GFORTRAN_005fCONVERT_005fUNIT.html#GFORTRAN_005fCONVERT_005fUNIT">3.10 <code>GFORTRAN_CONVERT_UNIT</code>—Set conversion for unformatted I/O</a></li> + <li><a name="toc-GFORTRAN_005fERROR_005fBACKTRACE_002d_002d_002dShow-backtrace-on-run_002dtime-errors" href="GFORTRAN_005fERROR_005fBACKTRACE.html#GFORTRAN_005fERROR_005fBACKTRACE">3.11 <code>GFORTRAN_ERROR_BACKTRACE</code>—Show backtrace on run-time errors</a></li> + <li><a name="toc-GFORTRAN_005fFORMATTED_005fBUFFER_005fSIZE_002d_002d_002dSet-buffer-size-for-formatted-I_002fO" href="GFORTRAN_005fFORMATTED_005fBUFFER_005fSIZE.html#GFORTRAN_005fFORMATTED_005fBUFFER_005fSIZE">3.12 <code>GFORTRAN_FORMATTED_BUFFER_SIZE</code>—Set buffer size for formatted I/O</a></li> + <li><a name="toc-GFORTRAN_005fUNFORMATTED_005fBUFFER_005fSIZE_002d_002d_002dSet-buffer-size-for-unformatted-I_002fO" href="GFORTRAN_005fUNFORMATTED_005fBUFFER_005fSIZE.html#GFORTRAN_005fUNFORMATTED_005fBUFFER_005fSIZE">3.13 <code>GFORTRAN_UNFORMATTED_BUFFER_SIZE</code>—Set buffer size for unformatted I/O</a></li> + </ul></li> + <li><a name="toc-Compiler-Characteristics-1" href="Compiler-Characteristics.html#Compiler-Characteristics">4 Compiler Characteristics</a> + <ul class="no-bullet"> + <li><a name="toc-KIND-Type-Parameters-1" href="KIND-Type-Parameters.html#KIND-Type-Parameters">4.1 KIND Type Parameters</a></li> + <li><a name="toc-Internal-representation-of-LOGICAL-variables-1" href="Internal-representation-of-LOGICAL-variables.html#Internal-representation-of-LOGICAL-variables">4.2 Internal representation of LOGICAL variables</a></li> + <li><a name="toc-Evaluation-of-logical-expressions-1" href="Evaluation-of-logical-expressions.html#Evaluation-of-logical-expressions">4.3 Evaluation of logical expressions</a></li> + <li><a name="toc-MAX-and-MIN-intrinsics-with-REAL-NaN-arguments-1" href="MAX-and-MIN-intrinsics-with-REAL-NaN-arguments.html#MAX-and-MIN-intrinsics-with-REAL-NaN-arguments">4.4 MAX and MIN intrinsics with REAL NaN arguments</a></li> + <li><a name="toc-Thread_002dsafety-of-the-runtime-library-1" href="Thread_002dsafety-of-the-runtime-library.html#Thread_002dsafety-of-the-runtime-library">4.5 Thread-safety of the runtime library</a></li> + <li><a name="toc-Data-consistency-and-durability-1" href="Data-consistency-and-durability.html#Data-consistency-and-durability">4.6 Data consistency and durability</a></li> + <li><a name="toc-Files-opened-without-an-explicit-ACTION_003d-specifier-1" href="Files-opened-without-an-explicit-ACTION_003d-specifier.html#Files-opened-without-an-explicit-ACTION_003d-specifier">4.7 Files opened without an explicit ACTION= specifier</a></li> + <li><a name="toc-File-operations-on-symbolic-links-1" href="File-operations-on-symbolic-links.html#File-operations-on-symbolic-links">4.8 File operations on symbolic links</a></li> + <li><a name="toc-File-format-of-unformatted-sequential-files-1" href="File-format-of-unformatted-sequential-files.html#File-format-of-unformatted-sequential-files">4.9 File format of unformatted sequential files</a></li> + <li><a name="toc-Asynchronous-I_002fO-1" href="Asynchronous-I_002fO.html#Asynchronous-I_002fO">4.10 Asynchronous I/O</a></li> + <li><a name="toc-Behavior-on-integer-overflow-1" href="Behavior-on-integer-overflow.html#Behavior-on-integer-overflow">4.11 Behavior on integer overflow</a></li> + </ul></li> + <li><a name="toc-Extensions-1" href="Extensions.html#Extensions">5 Extensions</a> + <ul class="no-bullet"> + <li><a name="toc-Extensions-implemented-in-GNU-Fortran-1" href="Extensions-implemented-in-GNU-Fortran.html#Extensions-implemented-in-GNU-Fortran">5.1 Extensions implemented in GNU Fortran</a> + <ul class="no-bullet"> + <li><a name="toc-Old_002dstyle-kind-specifications-1" href="Old_002dstyle-kind-specifications.html#Old_002dstyle-kind-specifications">5.1.1 Old-style kind specifications</a></li> + <li><a name="toc-Old_002dstyle-variable-initialization-1" href="Old_002dstyle-variable-initialization.html#Old_002dstyle-variable-initialization">5.1.2 Old-style variable initialization</a></li> + <li><a name="toc-Extensions-to-namelist-1" href="Extensions-to-namelist.html#Extensions-to-namelist">5.1.3 Extensions to namelist</a></li> + <li><a name="toc-X-format-descriptor-without-count-field-1" href="X-format-descriptor-without-count-field.html#X-format-descriptor-without-count-field">5.1.4 <code>X</code> format descriptor without count field</a></li> + <li><a name="toc-Commas-in-FORMAT-specifications-1" href="Commas-in-FORMAT-specifications.html#Commas-in-FORMAT-specifications">5.1.5 Commas in <code>FORMAT</code> specifications</a></li> + <li><a name="toc-Missing-period-in-FORMAT-specifications-1" href="Missing-period-in-FORMAT-specifications.html#Missing-period-in-FORMAT-specifications">5.1.6 Missing period in <code>FORMAT</code> specifications</a></li> + <li><a name="toc-Default-widths-for-F_002c-G-and-I-format-descriptors-1" href="Default-widths-for-F_002c-G-and-I-format-descriptors.html#Default-widths-for-F_002c-G-and-I-format-descriptors">5.1.7 Default widths for <code>F</code>, <code>G</code> and <code>I</code> format descriptors</a></li> + <li><a name="toc-I_002fO-item-lists-1" href="I_002fO-item-lists.html#I_002fO-item-lists">5.1.8 I/O item lists</a></li> + <li><a name="toc-Q-exponent_002dletter-1" href="Q-exponent_002dletter.html#Q-exponent_002dletter">5.1.9 <code>Q</code> exponent-letter</a></li> + <li><a name="toc-BOZ-literal-constants-1" href="BOZ-literal-constants.html#BOZ-literal-constants">5.1.10 BOZ literal constants</a></li> + <li><a name="toc-Real-array-indices-1" href="Real-array-indices.html#Real-array-indices">5.1.11 Real array indices</a></li> + <li><a name="toc-Unary-operators-1" href="Unary-operators.html#Unary-operators">5.1.12 Unary operators</a></li> + <li><a name="toc-Implicitly-convert-LOGICAL-and-INTEGER-values-1" href="Implicitly-convert-LOGICAL-and-INTEGER-values.html#Implicitly-convert-LOGICAL-and-INTEGER-values">5.1.13 Implicitly convert <code>LOGICAL</code> and <code>INTEGER</code> values</a></li> + <li><a name="toc-Hollerith-constants-support-1" href="Hollerith-constants-support.html#Hollerith-constants-support">5.1.14 Hollerith constants support</a></li> + <li><a name="toc-Character-conversion-1" href="Character-conversion.html#Character-conversion">5.1.15 Character conversion</a></li> + <li><a name="toc-Cray-pointers-1" href="Cray-pointers.html#Cray-pointers">5.1.16 Cray pointers</a></li> + <li><a name="toc-CONVERT-specifier-1" href="CONVERT-specifier.html#CONVERT-specifier">5.1.17 <code>CONVERT</code> specifier</a></li> + <li><a name="toc-OpenMP-1" href="OpenMP.html#OpenMP">5.1.18 OpenMP</a></li> + <li><a name="toc-OpenACC-1" href="OpenACC.html#OpenACC">5.1.19 OpenACC</a></li> + <li><a name="toc-Argument-list-functions-_0025VAL_002c-_0025REF-and-_0025LOC" href="Argument-list-functions.html#Argument-list-functions">5.1.20 Argument list functions <code>%VAL</code>, <code>%REF</code> and <code>%LOC</code></a></li> + <li><a name="toc-Read_002fWrite-after-EOF-marker-1" href="Read_002fWrite-after-EOF-marker.html#Read_002fWrite-after-EOF-marker">5.1.21 Read/Write after EOF marker</a></li> + <li><a name="toc-STRUCTURE-and-RECORD-1" href="STRUCTURE-and-RECORD.html#STRUCTURE-and-RECORD">5.1.22 <code>STRUCTURE</code> and <code>RECORD</code></a></li> + <li><a name="toc-UNION-and-MAP-1" href="UNION-and-MAP.html#UNION-and-MAP">5.1.23 <code>UNION</code> and <code>MAP</code></a></li> + <li><a name="toc-Type-variants-for-integer-intrinsics-1" href="Type-variants-for-integer-intrinsics.html#Type-variants-for-integer-intrinsics">5.1.24 Type variants for integer intrinsics</a></li> + <li><a name="toc-AUTOMATIC-and-STATIC-attributes-1" href="AUTOMATIC-and-STATIC-attributes.html#AUTOMATIC-and-STATIC-attributes">5.1.25 <code>AUTOMATIC</code> and <code>STATIC</code> attributes</a></li> + <li><a name="toc-Extended-math-intrinsics-1" href="Extended-math-intrinsics.html#Extended-math-intrinsics">5.1.26 Extended math intrinsics</a></li> + <li><a name="toc-Form-feed-as-whitespace-1" href="Form-feed-as-whitespace.html#Form-feed-as-whitespace">5.1.27 Form feed as whitespace</a></li> + <li><a name="toc-TYPE-as-an-alias-for-PRINT-1" href="TYPE-as-an-alias-for-PRINT.html#TYPE-as-an-alias-for-PRINT">5.1.28 TYPE as an alias for PRINT</a></li> + <li><a name="toc-_0025LOC-as-an-rvalue-1" href="_0025LOC-as-an-rvalue.html#g_t_0025LOC-as-an-rvalue">5.1.29 %LOC as an rvalue</a></li> + <li><a name="toc-_002eXOR_002e-operator-1" href="_002eXOR_002e-operator.html#g_t_002eXOR_002e-operator">5.1.30 .XOR. operator</a></li> + <li><a name="toc-Bitwise-logical-operators-1" href="Bitwise-logical-operators.html#Bitwise-logical-operators">5.1.31 Bitwise logical operators</a></li> + <li><a name="toc-Extended-I_002fO-specifiers-1" href="Extended-I_002fO-specifiers.html#Extended-I_002fO-specifiers">5.1.32 Extended I/O specifiers</a></li> + <li><a name="toc-Legacy-PARAMETER-statements-1" href="Legacy-PARAMETER-statements.html#Legacy-PARAMETER-statements">5.1.33 Legacy PARAMETER statements</a></li> + <li><a name="toc-Default-exponents-1" href="Default-exponents.html#Default-exponents">5.1.34 Default exponents</a></li> + </ul></li> + <li><a name="toc-Extensions-not-implemented-in-GNU-Fortran-1" href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran">5.2 Extensions not implemented in GNU Fortran</a> + <ul class="no-bullet"> + <li><a name="toc-ENCODE-and-DECODE-statements-1" href="ENCODE-and-DECODE-statements.html#ENCODE-and-DECODE-statements">5.2.1 <code>ENCODE</code> and <code>DECODE</code> statements</a></li> + <li><a name="toc-Variable-FORMAT-expressions-1" href="Variable-FORMAT-expressions.html#Variable-FORMAT-expressions">5.2.2 Variable <code>FORMAT</code> expressions</a></li> + <li><a name="toc-Alternate-complex-function-syntax-1" href="Alternate-complex-function-syntax.html#Alternate-complex-function-syntax">5.2.3 Alternate complex function syntax</a></li> + <li><a name="toc-Volatile-COMMON-blocks-1" href="Volatile-COMMON-blocks.html#Volatile-COMMON-blocks">5.2.4 Volatile <code>COMMON</code> blocks</a></li> + <li><a name="toc-OPEN_0028-_002e_002e_002e-NAME_003d_0029-1" href="OPEN_0028-_002e_002e_002e-NAME_003d_0029.html#OPEN_0028-_002e_002e_002e-NAME_003d_0029">5.2.5 <code>OPEN( ... NAME=)</code></a></li> + <li><a name="toc-Q-edit-descriptor-1" href="Q-edit-descriptor.html#Q-edit-descriptor">5.2.6 <code>Q</code> edit descriptor</a></li> + </ul></li> + </ul></li> + <li><a name="toc-Mixed_002dLanguage-Programming-1" href="Mixed_002dLanguage-Programming.html#Mixed_002dLanguage-Programming">6 Mixed-Language Programming</a> + <ul class="no-bullet"> + <li><a name="toc-Interoperability-with-C-1" href="Interoperability-with-C.html#Interoperability-with-C">6.1 Interoperability with C</a> + <ul class="no-bullet"> + <li><a name="toc-Intrinsic-Types-1" href="Intrinsic-Types.html#Intrinsic-Types">6.1.1 Intrinsic Types</a></li> + <li><a name="toc-Derived-Types-and-struct-1" href="Derived-Types-and-struct.html#Derived-Types-and-struct">6.1.2 Derived Types and struct</a></li> + <li><a name="toc-Interoperable-Global-Variables-1" href="Interoperable-Global-Variables.html#Interoperable-Global-Variables">6.1.3 Interoperable Global Variables</a></li> + <li><a name="toc-Interoperable-Subroutines-and-Functions-1" href="Interoperable-Subroutines-and-Functions.html#Interoperable-Subroutines-and-Functions">6.1.4 Interoperable Subroutines and Functions</a></li> + <li><a name="toc-Working-with-C-Pointers-1" href="Working-with-C-Pointers.html#Working-with-C-Pointers">6.1.5 Working with C Pointers</a></li> + <li><a name="toc-Further-Interoperability-of-Fortran-with-C-1" href="Further-Interoperability-of-Fortran-with-C.html#Further-Interoperability-of-Fortran-with-C">6.1.6 Further Interoperability of Fortran with C</a></li> + </ul></li> + <li><a name="toc-GNU-Fortran-Compiler-Directives-1" href="GNU-Fortran-Compiler-Directives.html#GNU-Fortran-Compiler-Directives">6.2 GNU Fortran Compiler Directives</a> + <ul class="no-bullet"> + <li><a name="toc-ATTRIBUTES-directive-1" href="ATTRIBUTES-directive.html#ATTRIBUTES-directive">6.2.1 ATTRIBUTES directive</a></li> + <li><a name="toc-UNROLL-directive-1" href="UNROLL-directive.html#UNROLL-directive">6.2.2 UNROLL directive</a></li> + <li><a name="toc-BUILTIN-directive-1" href="BUILTIN-directive.html#BUILTIN-directive">6.2.3 BUILTIN directive</a></li> + <li><a name="toc-IVDEP-directive-1" href="IVDEP-directive.html#IVDEP-directive">6.2.4 IVDEP directive</a></li> + <li><a name="toc-VECTOR-directive-1" href="VECTOR-directive.html#VECTOR-directive">6.2.5 VECTOR directive</a></li> + <li><a name="toc-NOVECTOR-directive-1" href="NOVECTOR-directive.html#NOVECTOR-directive">6.2.6 NOVECTOR directive</a></li> + </ul></li> + <li><a name="toc-Non_002dFortran-Main-Program-1" href="Non_002dFortran-Main-Program.html#Non_002dFortran-Main-Program">6.3 Non-Fortran Main Program</a> + <ul class="no-bullet"> + <li><a name="toc-_005fgfortran_005fset_005fargs-_002d_002d_002d-Save-command_002dline-arguments" href="_005fgfortran_005fset_005fargs.html#g_t_005fgfortran_005fset_005fargs">6.3.1 <code>_gfortran_set_args</code> — Save command-line arguments</a></li> + <li><a name="toc-_005fgfortran_005fset_005foptions-_002d_002d_002d-Set-library-option-flags" href="_005fgfortran_005fset_005foptions.html#g_t_005fgfortran_005fset_005foptions">6.3.2 <code>_gfortran_set_options</code> — Set library option flags</a></li> + <li><a name="toc-_005fgfortran_005fset_005fconvert-_002d_002d_002d-Set-endian-conversion" href="_005fgfortran_005fset_005fconvert.html#g_t_005fgfortran_005fset_005fconvert">6.3.3 <code>_gfortran_set_convert</code> — Set endian conversion</a></li> + <li><a name="toc-_005fgfortran_005fset_005frecord_005fmarker-_002d_002d_002d-Set-length-of-record-markers" href="_005fgfortran_005fset_005frecord_005fmarker.html#g_t_005fgfortran_005fset_005frecord_005fmarker">6.3.4 <code>_gfortran_set_record_marker</code> — Set length of record markers</a></li> + <li><a name="toc-_005fgfortran_005fset_005ffpe-_002d_002d_002d-Enable-floating-point-exception-traps" href="_005fgfortran_005fset_005ffpe.html#g_t_005fgfortran_005fset_005ffpe">6.3.5 <code>_gfortran_set_fpe</code> — Enable floating point exception traps</a></li> + <li><a name="toc-_005fgfortran_005fset_005fmax_005fsubrecord_005flength-_002d_002d_002d-Set-subrecord-length" href="_005fgfortran_005fset_005fmax_005fsubrecord_005flength.html#g_t_005fgfortran_005fset_005fmax_005fsubrecord_005flength">6.3.6 <code>_gfortran_set_max_subrecord_length</code> — Set subrecord length</a></li> + </ul></li> + <li><a name="toc-Naming-and-argument_002dpassing-conventions-1" href="Naming-and-argument_002dpassing-conventions.html#Naming-and-argument_002dpassing-conventions">6.4 Naming and argument-passing conventions</a> + <ul class="no-bullet"> + <li><a name="toc-Naming-conventions-1" href="Naming-conventions.html#Naming-conventions">6.4.1 Naming conventions</a></li> + <li><a name="toc-Argument-passing-conventions-1" href="Argument-passing-conventions.html#Argument-passing-conventions">6.4.2 Argument passing conventions</a></li> + </ul></li> + </ul></li> + <li><a name="toc-Coarray-Programming-1" href="Coarray-Programming.html#Coarray-Programming">7 Coarray Programming</a> + <ul class="no-bullet"> + <li><a name="toc-Type-and-enum-ABI-Documentation-1" href="Type-and-enum-ABI-Documentation.html#Type-and-enum-ABI-Documentation">7.1 Type and enum ABI Documentation</a> + <ul class="no-bullet"> + <li><a name="toc-caf_005ftoken_005ft-1" href="caf_005ftoken_005ft.html#caf_005ftoken_005ft">7.1.1 <code>caf_token_t</code></a></li> + <li><a name="toc-caf_005fregister_005ft-1" href="caf_005fregister_005ft.html#caf_005fregister_005ft">7.1.2 <code>caf_register_t</code></a></li> + <li><a name="toc-caf_005fderegister_005ft-1" href="caf_005fderegister_005ft.html#caf_005fderegister_005ft">7.1.3 <code>caf_deregister_t</code></a></li> + <li><a name="toc-caf_005freference_005ft-1" href="caf_005freference_005ft.html#caf_005freference_005ft">7.1.4 <code>caf_reference_t</code></a></li> + <li><a name="toc-caf_005fteam_005ft-1" href="caf_005fteam_005ft.html#caf_005fteam_005ft">7.1.5 <code>caf_team_t</code></a></li> + </ul></li> + <li><a name="toc-Function-ABI-Documentation-1" href="Function-ABI-Documentation.html#Function-ABI-Documentation">7.2 Function ABI Documentation</a> + <ul class="no-bullet"> + <li><a name="toc-_005fgfortran_005fcaf_005finit-_002d_002d_002d-Initialiation-function" href="_005fgfortran_005fcaf_005finit.html#g_t_005fgfortran_005fcaf_005finit">7.2.1 <code>_gfortran_caf_init</code> — Initialiation function</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005ffinish-_002d_002d_002d-Finalization-function" href="_005fgfortran_005fcaf_005ffinish.html#g_t_005fgfortran_005fcaf_005ffinish">7.2.2 <code>_gfortran_caf_finish</code> — Finalization function</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fthis_005fimage-_002d_002d_002d-Querying-the-image-number" href="_005fgfortran_005fcaf_005fthis_005fimage.html#g_t_005fgfortran_005fcaf_005fthis_005fimage">7.2.3 <code>_gfortran_caf_this_image</code> — Querying the image number</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fnum_005fimages-_002d_002d_002d-Querying-the-maximal-number-of-images" href="_005fgfortran_005fcaf_005fnum_005fimages.html#g_t_005fgfortran_005fcaf_005fnum_005fimages">7.2.4 <code>_gfortran_caf_num_images</code> — Querying the maximal number of images</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fimage_005fstatus-_002d_002d_002d-Query-the-status-of-an-image" href="_005fgfortran_005fcaf_005fimage_005fstatus.html#g_t_005fgfortran_005fcaf_005fimage_005fstatus">7.2.5 <code>_gfortran_caf_image_status</code> — Query the status of an image</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005ffailed_005fimages-_002d_002d_002d-Get-an-array-of-the-indexes-of-the-failed-images" href="_005fgfortran_005fcaf_005ffailed_005fimages.html#g_t_005fgfortran_005fcaf_005ffailed_005fimages">7.2.6 <code>_gfortran_caf_failed_images</code> — Get an array of the indexes of the failed images</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fstopped_005fimages-_002d_002d_002d-Get-an-array-of-the-indexes-of-the-stopped-images" href="_005fgfortran_005fcaf_005fstopped_005fimages.html#g_t_005fgfortran_005fcaf_005fstopped_005fimages">7.2.7 <code>_gfortran_caf_stopped_images</code> — Get an array of the indexes of the stopped images</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fregister-_002d_002d_002d-Registering-coarrays" href="_005fgfortran_005fcaf_005fregister.html#g_t_005fgfortran_005fcaf_005fregister">7.2.8 <code>_gfortran_caf_register</code> — Registering coarrays</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fderegister-_002d_002d_002d-Deregistering-coarrays" href="_005fgfortran_005fcaf_005fderegister.html#g_t_005fgfortran_005fcaf_005fderegister">7.2.9 <code>_gfortran_caf_deregister</code> — Deregistering coarrays</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fis_005fpresent-_002d_002d_002d-Query-whether-an-allocatable-or-pointer-component-in-a-derived-type-coarray-is-allocated" href="_005fgfortran_005fcaf_005fis_005fpresent.html#g_t_005fgfortran_005fcaf_005fis_005fpresent">7.2.10 <code>_gfortran_caf_is_present</code> — Query whether an allocatable or pointer component in a derived type coarray is allocated</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fsend-_002d_002d_002d-Sending-data-from-a-local-image-to-a-remote-image" href="_005fgfortran_005fcaf_005fsend.html#g_t_005fgfortran_005fcaf_005fsend">7.2.11 <code>_gfortran_caf_send</code> — Sending data from a local image to a remote image</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fget-_002d_002d_002d-Getting-data-from-a-remote-image" href="_005fgfortran_005fcaf_005fget.html#g_t_005fgfortran_005fcaf_005fget">7.2.12 <code>_gfortran_caf_get</code> — Getting data from a remote image</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fsendget-_002d_002d_002d-Sending-data-between-remote-images" href="_005fgfortran_005fcaf_005fsendget.html#g_t_005fgfortran_005fcaf_005fsendget">7.2.13 <code>_gfortran_caf_sendget</code> — Sending data between remote images</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fsend_005fby_005fref-_002d_002d_002d-Sending-data-from-a-local-image-to-a-remote-image-with-enhanced-referencing-options" href="_005fgfortran_005fcaf_005fsend_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fsend_005fby_005fref">7.2.14 <code>_gfortran_caf_send_by_ref</code> — Sending data from a local image to a remote image with enhanced referencing options</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fget_005fby_005fref-_002d_002d_002d-Getting-data-from-a-remote-image-using-enhanced-references" href="_005fgfortran_005fcaf_005fget_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fget_005fby_005fref">7.2.15 <code>_gfortran_caf_get_by_ref</code> — Getting data from a remote image using enhanced references</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fsendget_005fby_005fref-_002d_002d_002d-Sending-data-between-remote-images-using-enhanced-references-on-both-sides" href="_005fgfortran_005fcaf_005fsendget_005fby_005fref.html#g_t_005fgfortran_005fcaf_005fsendget_005fby_005fref">7.2.16 <code>_gfortran_caf_sendget_by_ref</code> — Sending data between remote images using enhanced references on both sides</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005flock-_002d_002d_002d-Locking-a-lock-variable" href="_005fgfortran_005fcaf_005flock.html#g_t_005fgfortran_005fcaf_005flock">7.2.17 <code>_gfortran_caf_lock</code> — Locking a lock variable</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005flock-_002d_002d_002d-Unlocking-a-lock-variable" href="_005fgfortran_005fcaf_005funlock.html#g_t_005fgfortran_005fcaf_005funlock">7.2.18 <code>_gfortran_caf_lock</code> — Unlocking a lock variable</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fevent_005fpost-_002d_002d_002d-Post-an-event" href="_005fgfortran_005fcaf_005fevent_005fpost.html#g_t_005fgfortran_005fcaf_005fevent_005fpost">7.2.19 <code>_gfortran_caf_event_post</code> — Post an event</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fevent_005fwait-_002d_002d_002d-Wait-that-an-event-occurred" href="_005fgfortran_005fcaf_005fevent_005fwait.html#g_t_005fgfortran_005fcaf_005fevent_005fwait">7.2.20 <code>_gfortran_caf_event_wait</code> — Wait that an event occurred</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fevent_005fquery-_002d_002d_002d-Query-event-count" href="_005fgfortran_005fcaf_005fevent_005fquery.html#g_t_005fgfortran_005fcaf_005fevent_005fquery">7.2.21 <code>_gfortran_caf_event_query</code> — Query event count</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fsync_005fall-_002d_002d_002d-All_002dimage-barrier" href="_005fgfortran_005fcaf_005fsync_005fall.html#g_t_005fgfortran_005fcaf_005fsync_005fall">7.2.22 <code>_gfortran_caf_sync_all</code> — All-image barrier</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fsync_005fimages-_002d_002d_002d-Barrier-for-selected-images" href="_005fgfortran_005fcaf_005fsync_005fimages.html#g_t_005fgfortran_005fcaf_005fsync_005fimages">7.2.23 <code>_gfortran_caf_sync_images</code> — Barrier for selected images</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fsync_005fmemory-_002d_002d_002d-Wait-for-completion-of-segment_002dmemory-operations" href="_005fgfortran_005fcaf_005fsync_005fmemory.html#g_t_005fgfortran_005fcaf_005fsync_005fmemory">7.2.24 <code>_gfortran_caf_sync_memory</code> — Wait for completion of segment-memory operations</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005ferror_005fstop-_002d_002d_002d-Error-termination-with-exit-code" href="_005fgfortran_005fcaf_005ferror_005fstop.html#g_t_005fgfortran_005fcaf_005ferror_005fstop">7.2.25 <code>_gfortran_caf_error_stop</code> — Error termination with exit code</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005ferror_005fstop_005fstr-_002d_002d_002d-Error-termination-with-string" href="_005fgfortran_005fcaf_005ferror_005fstop_005fstr.html#g_t_005fgfortran_005fcaf_005ferror_005fstop_005fstr">7.2.26 <code>_gfortran_caf_error_stop_str</code> — Error termination with string</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005ffail_005fimage-_002d_002d_002d-Mark-the-image-failed-and-end-its-execution" href="_005fgfortran_005fcaf_005ffail_005fimage.html#g_t_005fgfortran_005fcaf_005ffail_005fimage">7.2.27 <code>_gfortran_caf_fail_image</code> — Mark the image failed and end its execution</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fatomic_005fdefine-_002d_002d_002d-Atomic-variable-assignment" href="_005fgfortran_005fcaf_005fatomic_005fdefine.html#g_t_005fgfortran_005fcaf_005fatomic_005fdefine">7.2.28 <code>_gfortran_caf_atomic_define</code> — Atomic variable assignment</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fatomic_005fref-_002d_002d_002d-Atomic-variable-reference" href="_005fgfortran_005fcaf_005fatomic_005fref.html#g_t_005fgfortran_005fcaf_005fatomic_005fref">7.2.29 <code>_gfortran_caf_atomic_ref</code> — Atomic variable reference</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fatomic_005fcas-_002d_002d_002d-Atomic-compare-and-swap" href="_005fgfortran_005fcaf_005fatomic_005fcas.html#g_t_005fgfortran_005fcaf_005fatomic_005fcas">7.2.30 <code>_gfortran_caf_atomic_cas</code> — Atomic compare and swap</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fatomic_005fop-_002d_002d_002d-Atomic-operation" href="_005fgfortran_005fcaf_005fatomic_005fop.html#g_t_005fgfortran_005fcaf_005fatomic_005fop">7.2.31 <code>_gfortran_caf_atomic_op</code> — Atomic operation</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fco_005fbroadcast-_002d_002d_002d-Sending-data-to-all-images" href="_005fgfortran_005fcaf_005fco_005fbroadcast.html#g_t_005fgfortran_005fcaf_005fco_005fbroadcast">7.2.32 <code>_gfortran_caf_co_broadcast</code> — Sending data to all images</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fco_005fmax-_002d_002d_002d-Collective-maximum-reduction" href="_005fgfortran_005fcaf_005fco_005fmax.html#g_t_005fgfortran_005fcaf_005fco_005fmax">7.2.33 <code>_gfortran_caf_co_max</code> — Collective maximum reduction</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fco_005fmin-_002d_002d_002d-Collective-minimum-reduction" href="_005fgfortran_005fcaf_005fco_005fmin.html#g_t_005fgfortran_005fcaf_005fco_005fmin">7.2.34 <code>_gfortran_caf_co_min</code> — Collective minimum reduction</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fco_005fsum-_002d_002d_002d-Collective-summing-reduction" href="_005fgfortran_005fcaf_005fco_005fsum.html#g_t_005fgfortran_005fcaf_005fco_005fsum">7.2.35 <code>_gfortran_caf_co_sum</code> — Collective summing reduction</a></li> + <li><a name="toc-_005fgfortran_005fcaf_005fco_005freduce-_002d_002d_002d-Generic-collective-reduction" href="_005fgfortran_005fcaf_005fco_005freduce.html#g_t_005fgfortran_005fcaf_005fco_005freduce">7.2.36 <code>_gfortran_caf_co_reduce</code> — Generic collective reduction</a></li> + </ul></li> + </ul></li> + <li><a name="toc-Intrinsic-Procedures-1" href="Intrinsic-Procedures.html#Intrinsic-Procedures">8 Intrinsic Procedures</a> + <ul class="no-bullet"> + <li><a name="toc-Introduction-to-intrinsic-procedures" href="Introduction-to-Intrinsics.html#Introduction-to-Intrinsics">8.1 Introduction to intrinsic procedures</a></li> + <li><a name="toc-ABORT-_002d_002d_002d-Abort-the-program" href="ABORT.html#ABORT">8.2 <code>ABORT</code> — Abort the program</a></li> + <li><a name="toc-ABS-_002d_002d_002d-Absolute-value" href="ABS.html#ABS">8.3 <code>ABS</code> — Absolute value</a></li> + <li><a name="toc-ACCESS-_002d_002d_002d-Checks-file-access-modes" href="ACCESS.html#ACCESS">8.4 <code>ACCESS</code> — Checks file access modes</a></li> + <li><a name="toc-ACHAR-_002d_002d_002d-Character-in-ASCII-collating-sequence" href="ACHAR.html#ACHAR">8.5 <code>ACHAR</code> — Character in <acronym>ASCII</acronym> collating sequence</a></li> + <li><a name="toc-ACOS-_002d_002d_002d-Arccosine-function" href="ACOS.html#ACOS">8.6 <code>ACOS</code> — Arccosine function</a></li> + <li><a name="toc-ACOSD-_002d_002d_002d-Arccosine-function_002c-degrees" href="ACOSD.html#ACOSD">8.7 <code>ACOSD</code> — Arccosine function, degrees</a></li> + <li><a name="toc-ACOSH-_002d_002d_002d-Inverse-hyperbolic-cosine-function" href="ACOSH.html#ACOSH">8.8 <code>ACOSH</code> — Inverse hyperbolic cosine function</a></li> + <li><a name="toc-ADJUSTL-_002d_002d_002d-Left-adjust-a-string" href="ADJUSTL.html#ADJUSTL">8.9 <code>ADJUSTL</code> — Left adjust a string</a></li> + <li><a name="toc-ADJUSTR-_002d_002d_002d-Right-adjust-a-string" href="ADJUSTR.html#ADJUSTR">8.10 <code>ADJUSTR</code> — Right adjust a string</a></li> + <li><a name="toc-AIMAG-_002d_002d_002d-Imaginary-part-of-complex-number" href="AIMAG.html#AIMAG">8.11 <code>AIMAG</code> — Imaginary part of complex number</a></li> + <li><a name="toc-AINT-_002d_002d_002d-Truncate-to-a-whole-number" href="AINT.html#AINT">8.12 <code>AINT</code> — Truncate to a whole number</a></li> + <li><a name="toc-ALARM-_002d_002d_002d-Execute-a-routine-after-a-given-delay" href="ALARM.html#ALARM">8.13 <code>ALARM</code> — Execute a routine after a given delay</a></li> + <li><a name="toc-ALL-_002d_002d_002d-All-values-in-MASK-along-DIM-are-true" href="ALL.html#ALL">8.14 <code>ALL</code> — All values in <var>MASK</var> along <var>DIM</var> are true</a></li> + <li><a name="toc-ALLOCATED-_002d_002d_002d-Status-of-an-allocatable-entity" href="ALLOCATED.html#ALLOCATED">8.15 <code>ALLOCATED</code> — Status of an allocatable entity</a></li> + <li><a name="toc-AND-_002d_002d_002d-Bitwise-logical-AND" href="AND.html#AND">8.16 <code>AND</code> — Bitwise logical AND</a></li> + <li><a name="toc-ANINT-_002d_002d_002d-Nearest-whole-number" href="ANINT.html#ANINT">8.17 <code>ANINT</code> — Nearest whole number</a></li> + <li><a name="toc-ANY-_002d_002d_002d-Any-value-in-MASK-along-DIM-is-true" href="ANY.html#ANY">8.18 <code>ANY</code> — Any value in <var>MASK</var> along <var>DIM</var> is true</a></li> + <li><a name="toc-ASIN-_002d_002d_002d-Arcsine-function" href="ASIN.html#ASIN">8.19 <code>ASIN</code> — Arcsine function</a></li> + <li><a name="toc-ASIND-_002d_002d_002d-Arcsine-function_002c-degrees" href="ASIND.html#ASIND">8.20 <code>ASIND</code> — Arcsine function, degrees</a></li> + <li><a name="toc-ASINH-_002d_002d_002d-Inverse-hyperbolic-sine-function" href="ASINH.html#ASINH">8.21 <code>ASINH</code> — Inverse hyperbolic sine function</a></li> + <li><a name="toc-ASSOCIATED-_002d_002d_002d-Status-of-a-pointer-or-pointer_002ftarget-pair" href="ASSOCIATED.html#ASSOCIATED">8.22 <code>ASSOCIATED</code> — Status of a pointer or pointer/target pair</a></li> + <li><a name="toc-ATAN-_002d_002d_002d-Arctangent-function" href="ATAN.html#ATAN">8.23 <code>ATAN</code> — Arctangent function</a></li> + <li><a name="toc-ATAND-_002d_002d_002d-Arctangent-function_002c-degrees" href="ATAND.html#ATAND">8.24 <code>ATAND</code> — Arctangent function, degrees</a></li> + <li><a name="toc-ATAN2-_002d_002d_002d-Arctangent-function" href="ATAN2.html#ATAN2">8.25 <code>ATAN2</code> — Arctangent function</a></li> + <li><a name="toc-ATAN2D-_002d_002d_002d-Arctangent-function_002c-degrees" href="ATAN2D.html#ATAN2D">8.26 <code>ATAN2D</code> — Arctangent function, degrees</a></li> + <li><a name="toc-ATANH-_002d_002d_002d-Inverse-hyperbolic-tangent-function" href="ATANH.html#ATANH">8.27 <code>ATANH</code> — Inverse hyperbolic tangent function</a></li> + <li><a name="toc-ATOMIC_005fADD-_002d_002d_002d-Atomic-ADD-operation" href="ATOMIC_005fADD.html#ATOMIC_005fADD">8.28 <code>ATOMIC_ADD</code> — Atomic ADD operation</a></li> + <li><a name="toc-ATOMIC_005fAND-_002d_002d_002d-Atomic-bitwise-AND-operation" href="ATOMIC_005fAND.html#ATOMIC_005fAND">8.29 <code>ATOMIC_AND</code> — Atomic bitwise AND operation</a></li> + <li><a name="toc-ATOMIC_005fCAS-_002d_002d_002d-Atomic-compare-and-swap" href="ATOMIC_005fCAS.html#ATOMIC_005fCAS">8.30 <code>ATOMIC_CAS</code> — Atomic compare and swap</a></li> + <li><a name="toc-ATOMIC_005fDEFINE-_002d_002d_002d-Setting-a-variable-atomically" href="ATOMIC_005fDEFINE.html#ATOMIC_005fDEFINE">8.31 <code>ATOMIC_DEFINE</code> — Setting a variable atomically</a></li> + <li><a name="toc-ATOMIC_005fFETCH_005fADD-_002d_002d_002d-Atomic-ADD-operation-with-prior-fetch" href="ATOMIC_005fFETCH_005fADD.html#ATOMIC_005fFETCH_005fADD">8.32 <code>ATOMIC_FETCH_ADD</code> — Atomic ADD operation with prior fetch</a></li> + <li><a name="toc-ATOMIC_005fFETCH_005fAND-_002d_002d_002d-Atomic-bitwise-AND-operation-with-prior-fetch" href="ATOMIC_005fFETCH_005fAND.html#ATOMIC_005fFETCH_005fAND">8.33 <code>ATOMIC_FETCH_AND</code> — Atomic bitwise AND operation with prior fetch</a></li> + <li><a name="toc-ATOMIC_005fFETCH_005fOR-_002d_002d_002d-Atomic-bitwise-OR-operation-with-prior-fetch" href="ATOMIC_005fFETCH_005fOR.html#ATOMIC_005fFETCH_005fOR">8.34 <code>ATOMIC_FETCH_OR</code> — Atomic bitwise OR operation with prior fetch</a></li> + <li><a name="toc-ATOMIC_005fFETCH_005fXOR-_002d_002d_002d-Atomic-bitwise-XOR-operation-with-prior-fetch" href="ATOMIC_005fFETCH_005fXOR.html#ATOMIC_005fFETCH_005fXOR">8.35 <code>ATOMIC_FETCH_XOR</code> — Atomic bitwise XOR operation with prior fetch</a></li> + <li><a name="toc-ATOMIC_005fOR-_002d_002d_002d-Atomic-bitwise-OR-operation" href="ATOMIC_005fOR.html#ATOMIC_005fOR">8.36 <code>ATOMIC_OR</code> — Atomic bitwise OR operation</a></li> + <li><a name="toc-ATOMIC_005fREF-_002d_002d_002d-Obtaining-the-value-of-a-variable-atomically" href="ATOMIC_005fREF.html#ATOMIC_005fREF">8.37 <code>ATOMIC_REF</code> — Obtaining the value of a variable atomically</a></li> + <li><a name="toc-ATOMIC_005fXOR-_002d_002d_002d-Atomic-bitwise-OR-operation" href="ATOMIC_005fXOR.html#ATOMIC_005fXOR">8.38 <code>ATOMIC_XOR</code> — Atomic bitwise OR operation</a></li> + <li><a name="toc-BACKTRACE-_002d_002d_002d-Show-a-backtrace" href="BACKTRACE.html#BACKTRACE">8.39 <code>BACKTRACE</code> — Show a backtrace</a></li> + <li><a name="toc-BESSEL_005fJ0-_002d_002d_002d-Bessel-function-of-the-first-kind-of-order-0" href="BESSEL_005fJ0.html#BESSEL_005fJ0">8.40 <code>BESSEL_J0</code> — Bessel function of the first kind of order 0</a></li> + <li><a name="toc-BESSEL_005fJ1-_002d_002d_002d-Bessel-function-of-the-first-kind-of-order-1" href="BESSEL_005fJ1.html#BESSEL_005fJ1">8.41 <code>BESSEL_J1</code> — Bessel function of the first kind of order 1</a></li> + <li><a name="toc-BESSEL_005fJN-_002d_002d_002d-Bessel-function-of-the-first-kind" href="BESSEL_005fJN.html#BESSEL_005fJN">8.42 <code>BESSEL_JN</code> — Bessel function of the first kind</a></li> + <li><a name="toc-BESSEL_005fY0-_002d_002d_002d-Bessel-function-of-the-second-kind-of-order-0" href="BESSEL_005fY0.html#BESSEL_005fY0">8.43 <code>BESSEL_Y0</code> — Bessel function of the second kind of order 0</a></li> + <li><a name="toc-BESSEL_005fY1-_002d_002d_002d-Bessel-function-of-the-second-kind-of-order-1" href="BESSEL_005fY1.html#BESSEL_005fY1">8.44 <code>BESSEL_Y1</code> — Bessel function of the second kind of order 1</a></li> + <li><a name="toc-BESSEL_005fYN-_002d_002d_002d-Bessel-function-of-the-second-kind" href="BESSEL_005fYN.html#BESSEL_005fYN">8.45 <code>BESSEL_YN</code> — Bessel function of the second kind</a></li> + <li><a name="toc-BGE-_002d_002d_002d-Bitwise-greater-than-or-equal-to" href="BGE.html#BGE">8.46 <code>BGE</code> — Bitwise greater than or equal to</a></li> + <li><a name="toc-BGT-_002d_002d_002d-Bitwise-greater-than" href="BGT.html#BGT">8.47 <code>BGT</code> — Bitwise greater than</a></li> + <li><a name="toc-BIT_005fSIZE-_002d_002d_002d-Bit-size-inquiry-function" href="BIT_005fSIZE.html#BIT_005fSIZE">8.48 <code>BIT_SIZE</code> — Bit size inquiry function</a></li> + <li><a name="toc-BLE-_002d_002d_002d-Bitwise-less-than-or-equal-to" href="BLE.html#BLE">8.49 <code>BLE</code> — Bitwise less than or equal to</a></li> + <li><a name="toc-BLT-_002d_002d_002d-Bitwise-less-than" href="BLT.html#BLT">8.50 <code>BLT</code> — Bitwise less than</a></li> + <li><a name="toc-BTEST-_002d_002d_002d-Bit-test-function" href="BTEST.html#BTEST">8.51 <code>BTEST</code> — Bit test function</a></li> + <li><a name="toc-C_005fASSOCIATED-_002d_002d_002d-Status-of-a-C-pointer" href="C_005fASSOCIATED.html#C_005fASSOCIATED">8.52 <code>C_ASSOCIATED</code> — Status of a C pointer</a></li> + <li><a name="toc-C_005fF_005fPOINTER-_002d_002d_002d-Convert-C-into-Fortran-pointer" href="C_005fF_005fPOINTER.html#C_005fF_005fPOINTER">8.53 <code>C_F_POINTER</code> — Convert C into Fortran pointer</a></li> + <li><a name="toc-C_005fF_005fPROCPOINTER-_002d_002d_002d-Convert-C-into-Fortran-procedure-pointer" href="C_005fF_005fPROCPOINTER.html#C_005fF_005fPROCPOINTER">8.54 <code>C_F_PROCPOINTER</code> — Convert C into Fortran procedure pointer</a></li> + <li><a name="toc-C_005fFUNLOC-_002d_002d_002d-Obtain-the-C-address-of-a-procedure" href="C_005fFUNLOC.html#C_005fFUNLOC">8.55 <code>C_FUNLOC</code> — Obtain the C address of a procedure</a></li> + <li><a name="toc-C_005fLOC-_002d_002d_002d-Obtain-the-C-address-of-an-object" href="C_005fLOC.html#C_005fLOC">8.56 <code>C_LOC</code> — Obtain the C address of an object</a></li> + <li><a name="toc-C_005fSIZEOF-_002d_002d_002d-Size-in-bytes-of-an-expression" href="C_005fSIZEOF.html#C_005fSIZEOF">8.57 <code>C_SIZEOF</code> — Size in bytes of an expression</a></li> + <li><a name="toc-CEILING-_002d_002d_002d-Integer-ceiling-function" href="CEILING.html#CEILING">8.58 <code>CEILING</code> — Integer ceiling function</a></li> + <li><a name="toc-CHAR-_002d_002d_002d-Character-conversion-function" href="CHAR.html#CHAR">8.59 <code>CHAR</code> — Character conversion function</a></li> + <li><a name="toc-CHDIR-_002d_002d_002d-Change-working-directory" href="CHDIR.html#CHDIR">8.60 <code>CHDIR</code> — Change working directory</a></li> + <li><a name="toc-CHMOD-_002d_002d_002d-Change-access-permissions-of-files" href="CHMOD.html#CHMOD">8.61 <code>CHMOD</code> — Change access permissions of files</a></li> + <li><a name="toc-CMPLX-_002d_002d_002d-Complex-conversion-function" href="CMPLX.html#CMPLX">8.62 <code>CMPLX</code> — Complex conversion function</a></li> + <li><a name="toc-CO_005fBROADCAST-_002d_002d_002d-Copy-a-value-to-all-images-the-current-set-of-images" href="CO_005fBROADCAST.html#CO_005fBROADCAST">8.63 <code>CO_BROADCAST</code> — Copy a value to all images the current set of images</a></li> + <li><a name="toc-CO_005fMAX-_002d_002d_002d-Maximal-value-on-the-current-set-of-images" href="CO_005fMAX.html#CO_005fMAX">8.64 <code>CO_MAX</code> — Maximal value on the current set of images</a></li> + <li><a name="toc-CO_005fMIN-_002d_002d_002d-Minimal-value-on-the-current-set-of-images" href="CO_005fMIN.html#CO_005fMIN">8.65 <code>CO_MIN</code> — Minimal value on the current set of images</a></li> + <li><a name="toc-CO_005fREDUCE-_002d_002d_002d-Reduction-of-values-on-the-current-set-of-images" href="CO_005fREDUCE.html#CO_005fREDUCE">8.66 <code>CO_REDUCE</code> — Reduction of values on the current set of images</a></li> + <li><a name="toc-CO_005fSUM-_002d_002d_002d-Sum-of-values-on-the-current-set-of-images" href="CO_005fSUM.html#CO_005fSUM">8.67 <code>CO_SUM</code> — Sum of values on the current set of images</a></li> + <li><a name="toc-COMMAND_005fARGUMENT_005fCOUNT-_002d_002d_002d-Get-number-of-command-line-arguments" href="COMMAND_005fARGUMENT_005fCOUNT.html#COMMAND_005fARGUMENT_005fCOUNT">8.68 <code>COMMAND_ARGUMENT_COUNT</code> — Get number of command line arguments</a></li> + <li><a name="toc-COMPILER_005fOPTIONS-_002d_002d_002d-Options-passed-to-the-compiler" href="COMPILER_005fOPTIONS.html#COMPILER_005fOPTIONS">8.69 <code>COMPILER_OPTIONS</code> — Options passed to the compiler</a></li> + <li><a name="toc-COMPILER_005fVERSION-_002d_002d_002d-Compiler-version-string" href="COMPILER_005fVERSION.html#COMPILER_005fVERSION">8.70 <code>COMPILER_VERSION</code> — Compiler version string</a></li> + <li><a name="toc-COMPLEX-_002d_002d_002d-Complex-conversion-function" href="COMPLEX.html#COMPLEX">8.71 <code>COMPLEX</code> — Complex conversion function</a></li> + <li><a name="toc-CONJG-_002d_002d_002d-Complex-conjugate-function" href="CONJG.html#CONJG">8.72 <code>CONJG</code> — Complex conjugate function</a></li> + <li><a name="toc-COS-_002d_002d_002d-Cosine-function" href="COS.html#COS">8.73 <code>COS</code> — Cosine function</a></li> + <li><a name="toc-COSD-_002d_002d_002d-Cosine-function_002c-degrees" href="COSD.html#COSD">8.74 <code>COSD</code> — Cosine function, degrees</a></li> + <li><a name="toc-COSH-_002d_002d_002d-Hyperbolic-cosine-function" href="COSH.html#COSH">8.75 <code>COSH</code> — Hyperbolic cosine function</a></li> + <li><a name="toc-COTAN-_002d_002d_002d-Cotangent-function" href="COTAN.html#COTAN">8.76 <code>COTAN</code> — Cotangent function</a></li> + <li><a name="toc-COTAND-_002d_002d_002d-Cotangent-function_002c-degrees" href="COTAND.html#COTAND">8.77 <code>COTAND</code> — Cotangent function, degrees</a></li> + <li><a name="toc-COUNT-_002d_002d_002d-Count-function" href="COUNT.html#COUNT">8.78 <code>COUNT</code> — Count function</a></li> + <li><a name="toc-CPU_005fTIME-_002d_002d_002d-CPU-elapsed-time-in-seconds" href="CPU_005fTIME.html#CPU_005fTIME">8.79 <code>CPU_TIME</code> — CPU elapsed time in seconds</a></li> + <li><a name="toc-CSHIFT-_002d_002d_002d-Circular-shift-elements-of-an-array" href="CSHIFT.html#CSHIFT">8.80 <code>CSHIFT</code> — Circular shift elements of an array</a></li> + <li><a name="toc-CTIME-_002d_002d_002d-Convert-a-time-into-a-string" href="CTIME.html#CTIME">8.81 <code>CTIME</code> — Convert a time into a string</a></li> + <li><a name="toc-DATE_005fAND_005fTIME-_002d_002d_002d-Date-and-time-subroutine" href="DATE_005fAND_005fTIME.html#DATE_005fAND_005fTIME">8.82 <code>DATE_AND_TIME</code> — Date and time subroutine</a></li> + <li><a name="toc-DBLE-_002d_002d_002d-Double-conversion-function" href="DBLE.html#DBLE">8.83 <code>DBLE</code> — Double conversion function</a></li> + <li><a name="toc-DCMPLX-_002d_002d_002d-Double-complex-conversion-function" href="DCMPLX.html#DCMPLX">8.84 <code>DCMPLX</code> — Double complex conversion function</a></li> + <li><a name="toc-DIGITS-_002d_002d_002d-Significant-binary-digits-function" href="DIGITS.html#DIGITS">8.85 <code>DIGITS</code> — Significant binary digits function</a></li> + <li><a name="toc-DIM-_002d_002d_002d-Positive-difference" href="DIM.html#DIM">8.86 <code>DIM</code> — Positive difference</a></li> + <li><a name="toc-DOT_005fPRODUCT-_002d_002d_002d-Dot-product-function" href="DOT_005fPRODUCT.html#DOT_005fPRODUCT">8.87 <code>DOT_PRODUCT</code> — Dot product function</a></li> + <li><a name="toc-DPROD-_002d_002d_002d-Double-product-function" href="DPROD.html#DPROD">8.88 <code>DPROD</code> — Double product function</a></li> + <li><a name="toc-DREAL-_002d_002d_002d-Double-real-part-function" href="DREAL.html#DREAL">8.89 <code>DREAL</code> — Double real part function</a></li> + <li><a name="toc-DSHIFTL-_002d_002d_002d-Combined-left-shift" href="DSHIFTL.html#DSHIFTL">8.90 <code>DSHIFTL</code> — Combined left shift</a></li> + <li><a name="toc-DSHIFTR-_002d_002d_002d-Combined-right-shift" href="DSHIFTR.html#DSHIFTR">8.91 <code>DSHIFTR</code> — Combined right shift</a></li> + <li><a name="toc-DTIME-_002d_002d_002d-Execution-time-subroutine-_0028or-function_0029" href="DTIME.html#DTIME">8.92 <code>DTIME</code> — Execution time subroutine (or function)</a></li> + <li><a name="toc-EOSHIFT-_002d_002d_002d-End_002doff-shift-elements-of-an-array" href="EOSHIFT.html#EOSHIFT">8.93 <code>EOSHIFT</code> — End-off shift elements of an array</a></li> + <li><a name="toc-EPSILON-_002d_002d_002d-Epsilon-function" href="EPSILON.html#EPSILON">8.94 <code>EPSILON</code> — Epsilon function</a></li> + <li><a name="toc-ERF-_002d_002d_002d-Error-function" href="ERF.html#ERF">8.95 <code>ERF</code> — Error function</a></li> + <li><a name="toc-ERFC-_002d_002d_002d-Error-function" href="ERFC.html#ERFC">8.96 <code>ERFC</code> — Error function</a></li> + <li><a name="toc-ERFC_005fSCALED-_002d_002d_002d-Error-function" href="ERFC_005fSCALED.html#ERFC_005fSCALED">8.97 <code>ERFC_SCALED</code> — Error function</a></li> + <li><a name="toc-ETIME-_002d_002d_002d-Execution-time-subroutine-_0028or-function_0029" href="ETIME.html#ETIME">8.98 <code>ETIME</code> — Execution time subroutine (or function)</a></li> + <li><a name="toc-EVENT_005fQUERY-_002d_002d_002d-Query-whether-a-coarray-event-has-occurred" href="EVENT_005fQUERY.html#EVENT_005fQUERY">8.99 <code>EVENT_QUERY</code> — Query whether a coarray event has occurred</a></li> + <li><a name="toc-EXECUTE_005fCOMMAND_005fLINE-_002d_002d_002d-Execute-a-shell-command" href="EXECUTE_005fCOMMAND_005fLINE.html#EXECUTE_005fCOMMAND_005fLINE">8.100 <code>EXECUTE_COMMAND_LINE</code> — Execute a shell command</a></li> + <li><a name="toc-EXIT-_002d_002d_002d-Exit-the-program-with-status_002e" href="EXIT.html#EXIT">8.101 <code>EXIT</code> — Exit the program with status.</a></li> + <li><a name="toc-EXP-_002d_002d_002d-Exponential-function" href="EXP.html#EXP">8.102 <code>EXP</code> — Exponential function</a></li> + <li><a name="toc-EXPONENT-_002d_002d_002d-Exponent-function" href="EXPONENT.html#EXPONENT">8.103 <code>EXPONENT</code> — Exponent function</a></li> + <li><a name="toc-EXTENDS_005fTYPE_005fOF-_002d_002d_002d-Query-dynamic-type-for-extension" href="EXTENDS_005fTYPE_005fOF.html#EXTENDS_005fTYPE_005fOF">8.104 <code>EXTENDS_TYPE_OF</code> — Query dynamic type for extension</a></li> + <li><a name="toc-FDATE-_002d_002d_002d-Get-the-current-time-as-a-string" href="FDATE.html#FDATE">8.105 <code>FDATE</code> — Get the current time as a string</a></li> + <li><a name="toc-FGET-_002d_002d_002d-Read-a-single-character-in-stream-mode-from-stdin" href="FGET.html#FGET">8.106 <code>FGET</code> — Read a single character in stream mode from stdin</a></li> + <li><a name="toc-FGETC-_002d_002d_002d-Read-a-single-character-in-stream-mode" href="FGETC.html#FGETC">8.107 <code>FGETC</code> — Read a single character in stream mode</a></li> + <li><a name="toc-FINDLOC-_002d_002d_002d-Search-an-array-for-a-value" href="FINDLOC.html#FINDLOC">8.108 <code>FINDLOC</code> — Search an array for a value</a></li> + <li><a name="toc-FLOOR-_002d_002d_002d-Integer-floor-function" href="FLOOR.html#FLOOR">8.109 <code>FLOOR</code> — Integer floor function</a></li> + <li><a name="toc-FLUSH-_002d_002d_002d-Flush-I_002fO-unit_0028s_0029" href="FLUSH.html#FLUSH">8.110 <code>FLUSH</code> — Flush I/O unit(s)</a></li> + <li><a name="toc-FNUM-_002d_002d_002d-File-number-function" href="FNUM.html#FNUM">8.111 <code>FNUM</code> — File number function</a></li> + <li><a name="toc-FPUT-_002d_002d_002d-Write-a-single-character-in-stream-mode-to-stdout" href="FPUT.html#FPUT">8.112 <code>FPUT</code> — Write a single character in stream mode to stdout</a></li> + <li><a name="toc-FPUTC-_002d_002d_002d-Write-a-single-character-in-stream-mode" href="FPUTC.html#FPUTC">8.113 <code>FPUTC</code> — Write a single character in stream mode</a></li> + <li><a name="toc-FRACTION-_002d_002d_002d-Fractional-part-of-the-model-representation" href="FRACTION.html#FRACTION">8.114 <code>FRACTION</code> — Fractional part of the model representation</a></li> + <li><a name="toc-FREE-_002d_002d_002d-Frees-memory" href="FREE.html#FREE">8.115 <code>FREE</code> — Frees memory</a></li> + <li><a name="toc-FSEEK-_002d_002d_002d-Low-level-file-positioning-subroutine" href="FSEEK.html#FSEEK">8.116 <code>FSEEK</code> — Low level file positioning subroutine</a></li> + <li><a name="toc-FSTAT-_002d_002d_002d-Get-file-status" href="FSTAT.html#FSTAT">8.117 <code>FSTAT</code> — Get file status</a></li> + <li><a name="toc-FTELL-_002d_002d_002d-Current-stream-position" href="FTELL.html#FTELL">8.118 <code>FTELL</code> — Current stream position</a></li> + <li><a name="toc-GAMMA-_002d_002d_002d-Gamma-function" href="GAMMA.html#GAMMA">8.119 <code>GAMMA</code> — Gamma function</a></li> + <li><a name="toc-GERROR-_002d_002d_002d-Get-last-system-error-message" href="GERROR.html#GERROR">8.120 <code>GERROR</code> — Get last system error message</a></li> + <li><a name="toc-GETARG-_002d_002d_002d-Get-command-line-arguments" href="GETARG.html#GETARG">8.121 <code>GETARG</code> — Get command line arguments</a></li> + <li><a name="toc-GET_005fCOMMAND-_002d_002d_002d-Get-the-entire-command-line" href="GET_005fCOMMAND.html#GET_005fCOMMAND">8.122 <code>GET_COMMAND</code> — Get the entire command line</a></li> + <li><a name="toc-GET_005fCOMMAND_005fARGUMENT-_002d_002d_002d-Get-command-line-arguments" href="GET_005fCOMMAND_005fARGUMENT.html#GET_005fCOMMAND_005fARGUMENT">8.123 <code>GET_COMMAND_ARGUMENT</code> — Get command line arguments</a></li> + <li><a name="toc-GETCWD-_002d_002d_002d-Get-current-working-directory" href="GETCWD.html#GETCWD">8.124 <code>GETCWD</code> — Get current working directory</a></li> + <li><a name="toc-GETENV-_002d_002d_002d-Get-an-environmental-variable" href="GETENV.html#GETENV">8.125 <code>GETENV</code> — Get an environmental variable</a></li> + <li><a name="toc-GET_005fENVIRONMENT_005fVARIABLE-_002d_002d_002d-Get-an-environmental-variable" href="GET_005fENVIRONMENT_005fVARIABLE.html#GET_005fENVIRONMENT_005fVARIABLE">8.126 <code>GET_ENVIRONMENT_VARIABLE</code> — Get an environmental variable</a></li> + <li><a name="toc-GETGID-_002d_002d_002d-Group-ID-function" href="GETGID.html#GETGID">8.127 <code>GETGID</code> — Group ID function</a></li> + <li><a name="toc-GETLOG-_002d_002d_002d-Get-login-name" href="GETLOG.html#GETLOG">8.128 <code>GETLOG</code> — Get login name</a></li> + <li><a name="toc-GETPID-_002d_002d_002d-Process-ID-function" href="GETPID.html#GETPID">8.129 <code>GETPID</code> — Process ID function</a></li> + <li><a name="toc-GETUID-_002d_002d_002d-User-ID-function" href="GETUID.html#GETUID">8.130 <code>GETUID</code> — User ID function</a></li> + <li><a name="toc-GMTIME-_002d_002d_002d-Convert-time-to-GMT-info" href="GMTIME.html#GMTIME">8.131 <code>GMTIME</code> — Convert time to GMT info</a></li> + <li><a name="toc-HOSTNM-_002d_002d_002d-Get-system-host-name" href="HOSTNM.html#HOSTNM">8.132 <code>HOSTNM</code> — Get system host name</a></li> + <li><a name="toc-HUGE-_002d_002d_002d-Largest-number-of-a-kind" href="HUGE.html#HUGE">8.133 <code>HUGE</code> — Largest number of a kind</a></li> + <li><a name="toc-HYPOT-_002d_002d_002d-Euclidean-distance-function" href="HYPOT.html#HYPOT">8.134 <code>HYPOT</code> — Euclidean distance function</a></li> + <li><a name="toc-IACHAR-_002d_002d_002d-Code-in-ASCII-collating-sequence" href="IACHAR.html#IACHAR">8.135 <code>IACHAR</code> — Code in <acronym>ASCII</acronym> collating sequence</a></li> + <li><a name="toc-IALL-_002d_002d_002d-Bitwise-AND-of-array-elements" href="IALL.html#IALL">8.136 <code>IALL</code> — Bitwise AND of array elements</a></li> + <li><a name="toc-IAND-_002d_002d_002d-Bitwise-logical-and" href="IAND.html#IAND">8.137 <code>IAND</code> — Bitwise logical and</a></li> + <li><a name="toc-IANY-_002d_002d_002d-Bitwise-OR-of-array-elements" href="IANY.html#IANY">8.138 <code>IANY</code> — Bitwise OR of array elements</a></li> + <li><a name="toc-IARGC-_002d_002d_002d-Get-the-number-of-command-line-arguments" href="IARGC.html#IARGC">8.139 <code>IARGC</code> — Get the number of command line arguments</a></li> + <li><a name="toc-IBCLR-_002d_002d_002d-Clear-bit" href="IBCLR.html#IBCLR">8.140 <code>IBCLR</code> — Clear bit</a></li> + <li><a name="toc-IBITS-_002d_002d_002d-Bit-extraction" href="IBITS.html#IBITS">8.141 <code>IBITS</code> — Bit extraction</a></li> + <li><a name="toc-IBSET-_002d_002d_002d-Set-bit" href="IBSET.html#IBSET">8.142 <code>IBSET</code> — Set bit</a></li> + <li><a name="toc-ICHAR-_002d_002d_002d-Character_002dto_002dinteger-conversion-function" href="ICHAR.html#ICHAR">8.143 <code>ICHAR</code> — Character-to-integer conversion function</a></li> + <li><a name="toc-IDATE-_002d_002d_002d-Get-current-local-time-subroutine-_0028day_002fmonth_002fyear_0029" href="IDATE.html#IDATE">8.144 <code>IDATE</code> — Get current local time subroutine (day/month/year)</a></li> + <li><a name="toc-IEOR-_002d_002d_002d-Bitwise-logical-exclusive-or" href="IEOR.html#IEOR">8.145 <code>IEOR</code> — Bitwise logical exclusive or</a></li> + <li><a name="toc-IERRNO-_002d_002d_002d-Get-the-last-system-error-number" href="IERRNO.html#IERRNO">8.146 <code>IERRNO</code> — Get the last system error number</a></li> + <li><a name="toc-IMAGE_005fINDEX-_002d_002d_002d-Function-that-converts-a-cosubscript-to-an-image-index" href="IMAGE_005fINDEX.html#IMAGE_005fINDEX">8.147 <code>IMAGE_INDEX</code> — Function that converts a cosubscript to an image index</a></li> + <li><a name="toc-INDEX-_002d_002d_002d-Position-of-a-substring-within-a-string" href="INDEX-intrinsic.html#INDEX-intrinsic">8.148 <code>INDEX</code> — Position of a substring within a string</a></li> + <li><a name="toc-INT-_002d_002d_002d-Convert-to-integer-type" href="INT.html#INT">8.149 <code>INT</code> — Convert to integer type</a></li> + <li><a name="toc-INT2-_002d_002d_002d-Convert-to-16_002dbit-integer-type" href="INT2.html#INT2">8.150 <code>INT2</code> — Convert to 16-bit integer type</a></li> + <li><a name="toc-INT8-_002d_002d_002d-Convert-to-64_002dbit-integer-type" href="INT8.html#INT8">8.151 <code>INT8</code> — Convert to 64-bit integer type</a></li> + <li><a name="toc-IOR-_002d_002d_002d-Bitwise-logical-or" href="IOR.html#IOR">8.152 <code>IOR</code> — Bitwise logical or</a></li> + <li><a name="toc-IPARITY-_002d_002d_002d-Bitwise-XOR-of-array-elements" href="IPARITY.html#IPARITY">8.153 <code>IPARITY</code> — Bitwise XOR of array elements</a></li> + <li><a name="toc-IRAND-_002d_002d_002d-Integer-pseudo_002drandom-number" href="IRAND.html#IRAND">8.154 <code>IRAND</code> — Integer pseudo-random number</a></li> + <li><a name="toc-IS_005fCONTIGUOUS-_002d_002d_002d-Test-whether-an-array-is-contiguous" href="IS_005fCONTIGUOUS.html#IS_005fCONTIGUOUS">8.155 <code>IS_CONTIGUOUS</code> — Test whether an array is contiguous</a></li> + <li><a name="toc-IS_005fIOSTAT_005fEND-_002d_002d_002d-Test-for-end_002dof_002dfile-value" href="IS_005fIOSTAT_005fEND.html#IS_005fIOSTAT_005fEND">8.156 <code>IS_IOSTAT_END</code> — Test for end-of-file value</a></li> + <li><a name="toc-IS_005fIOSTAT_005fEOR-_002d_002d_002d-Test-for-end_002dof_002drecord-value" href="IS_005fIOSTAT_005fEOR.html#IS_005fIOSTAT_005fEOR">8.157 <code>IS_IOSTAT_EOR</code> — Test for end-of-record value</a></li> + <li><a name="toc-ISATTY-_002d_002d_002d-Whether-a-unit-is-a-terminal-device" href="ISATTY.html#ISATTY">8.158 <code>ISATTY</code> — Whether a unit is a terminal device</a></li> + <li><a name="toc-ISHFT-_002d_002d_002d-Shift-bits" href="ISHFT.html#ISHFT">8.159 <code>ISHFT</code> — Shift bits</a></li> + <li><a name="toc-ISHFTC-_002d_002d_002d-Shift-bits-circularly" href="ISHFTC.html#ISHFTC">8.160 <code>ISHFTC</code> — Shift bits circularly</a></li> + <li><a name="toc-ISNAN-_002d_002d_002d-Test-for-a-NaN" href="ISNAN.html#ISNAN">8.161 <code>ISNAN</code> — Test for a NaN</a></li> + <li><a name="toc-ITIME-_002d_002d_002d-Get-current-local-time-subroutine-_0028hour_002fminutes_002fseconds_0029" href="ITIME.html#ITIME">8.162 <code>ITIME</code> — Get current local time subroutine (hour/minutes/seconds)</a></li> + <li><a name="toc-KILL-_002d_002d_002d-Send-a-signal-to-a-process" href="KILL.html#KILL">8.163 <code>KILL</code> — Send a signal to a process</a></li> + <li><a name="toc-KIND-_002d_002d_002d-Kind-of-an-entity" href="KIND.html#KIND">8.164 <code>KIND</code> — Kind of an entity</a></li> + <li><a name="toc-LBOUND-_002d_002d_002d-Lower-dimension-bounds-of-an-array" href="LBOUND.html#LBOUND">8.165 <code>LBOUND</code> — Lower dimension bounds of an array</a></li> + <li><a name="toc-LCOBOUND-_002d_002d_002d-Lower-codimension-bounds-of-an-array" href="LCOBOUND.html#LCOBOUND">8.166 <code>LCOBOUND</code> — Lower codimension bounds of an array</a></li> + <li><a name="toc-LEADZ-_002d_002d_002d-Number-of-leading-zero-bits-of-an-integer" href="LEADZ.html#LEADZ">8.167 <code>LEADZ</code> — Number of leading zero bits of an integer</a></li> + <li><a name="toc-LEN-_002d_002d_002d-Length-of-a-character-entity" href="LEN.html#LEN">8.168 <code>LEN</code> — Length of a character entity</a></li> + <li><a name="toc-LEN_005fTRIM-_002d_002d_002d-Length-of-a-character-entity-without-trailing-blank-characters" href="LEN_005fTRIM.html#LEN_005fTRIM">8.169 <code>LEN_TRIM</code> — Length of a character entity without trailing blank characters</a></li> + <li><a name="toc-LGE-_002d_002d_002d-Lexical-greater-than-or-equal" href="LGE.html#LGE">8.170 <code>LGE</code> — Lexical greater than or equal</a></li> + <li><a name="toc-LGT-_002d_002d_002d-Lexical-greater-than" href="LGT.html#LGT">8.171 <code>LGT</code> — Lexical greater than</a></li> + <li><a name="toc-LINK-_002d_002d_002d-Create-a-hard-link" href="LINK.html#LINK">8.172 <code>LINK</code> — Create a hard link</a></li> + <li><a name="toc-LLE-_002d_002d_002d-Lexical-less-than-or-equal" href="LLE.html#LLE">8.173 <code>LLE</code> — Lexical less than or equal</a></li> + <li><a name="toc-LLT-_002d_002d_002d-Lexical-less-than" href="LLT.html#LLT">8.174 <code>LLT</code> — Lexical less than</a></li> + <li><a name="toc-LNBLNK-_002d_002d_002d-Index-of-the-last-non_002dblank-character-in-a-string" href="LNBLNK.html#LNBLNK">8.175 <code>LNBLNK</code> — Index of the last non-blank character in a string</a></li> + <li><a name="toc-LOC-_002d_002d_002d-Returns-the-address-of-a-variable" href="LOC.html#LOC">8.176 <code>LOC</code> — Returns the address of a variable</a></li> + <li><a name="toc-LOG-_002d_002d_002d-Natural-logarithm-function" href="LOG.html#LOG">8.177 <code>LOG</code> — Natural logarithm function</a></li> + <li><a name="toc-LOG10-_002d_002d_002d-Base-10-logarithm-function" href="LOG10.html#LOG10">8.178 <code>LOG10</code> — Base 10 logarithm function</a></li> + <li><a name="toc-LOG_005fGAMMA-_002d_002d_002d-Logarithm-of-the-Gamma-function" href="LOG_005fGAMMA.html#LOG_005fGAMMA">8.179 <code>LOG_GAMMA</code> — Logarithm of the Gamma function</a></li> + <li><a name="toc-LOGICAL-_002d_002d_002d-Convert-to-logical-type" href="LOGICAL.html#LOGICAL">8.180 <code>LOGICAL</code> — Convert to logical type</a></li> + <li><a name="toc-LSHIFT-_002d_002d_002d-Left-shift-bits" href="LSHIFT.html#LSHIFT">8.181 <code>LSHIFT</code> — Left shift bits</a></li> + <li><a name="toc-LSTAT-_002d_002d_002d-Get-file-status" href="LSTAT.html#LSTAT">8.182 <code>LSTAT</code> — Get file status</a></li> + <li><a name="toc-LTIME-_002d_002d_002d-Convert-time-to-local-time-info" href="LTIME.html#LTIME">8.183 <code>LTIME</code> — Convert time to local time info</a></li> + <li><a name="toc-MALLOC-_002d_002d_002d-Allocate-dynamic-memory" href="MALLOC.html#MALLOC">8.184 <code>MALLOC</code> — Allocate dynamic memory</a></li> + <li><a name="toc-MASKL-_002d_002d_002d-Left-justified-mask" href="MASKL.html#MASKL">8.185 <code>MASKL</code> — Left justified mask</a></li> + <li><a name="toc-MASKR-_002d_002d_002d-Right-justified-mask" href="MASKR.html#MASKR">8.186 <code>MASKR</code> — Right justified mask</a></li> + <li><a name="toc-MATMUL-_002d_002d_002d-matrix-multiplication" href="MATMUL.html#MATMUL">8.187 <code>MATMUL</code> — matrix multiplication</a></li> + <li><a name="toc-MAX-_002d_002d_002d-Maximum-value-of-an-argument-list" href="MAX.html#MAX">8.188 <code>MAX</code> — Maximum value of an argument list</a></li> + <li><a name="toc-MAXEXPONENT-_002d_002d_002d-Maximum-exponent-of-a-real-kind" href="MAXEXPONENT.html#MAXEXPONENT">8.189 <code>MAXEXPONENT</code> — Maximum exponent of a real kind</a></li> + <li><a name="toc-MAXLOC-_002d_002d_002d-Location-of-the-maximum-value-within-an-array" href="MAXLOC.html#MAXLOC">8.190 <code>MAXLOC</code> — Location of the maximum value within an array</a></li> + <li><a name="toc-MAXVAL-_002d_002d_002d-Maximum-value-of-an-array" href="MAXVAL.html#MAXVAL">8.191 <code>MAXVAL</code> — Maximum value of an array</a></li> + <li><a name="toc-MCLOCK-_002d_002d_002d-Time-function" href="MCLOCK.html#MCLOCK">8.192 <code>MCLOCK</code> — Time function</a></li> + <li><a name="toc-MCLOCK8-_002d_002d_002d-Time-function-_002864_002dbit_0029" href="MCLOCK8.html#MCLOCK8">8.193 <code>MCLOCK8</code> — Time function (64-bit)</a></li> + <li><a name="toc-MERGE-_002d_002d_002d-Merge-variables" href="MERGE.html#MERGE">8.194 <code>MERGE</code> — Merge variables</a></li> + <li><a name="toc-MERGE_005fBITS-_002d_002d_002d-Merge-of-bits-under-mask" href="MERGE_005fBITS.html#MERGE_005fBITS">8.195 <code>MERGE_BITS</code> — Merge of bits under mask</a></li> + <li><a name="toc-MIN-_002d_002d_002d-Minimum-value-of-an-argument-list" href="MIN.html#MIN">8.196 <code>MIN</code> — Minimum value of an argument list</a></li> + <li><a name="toc-MINEXPONENT-_002d_002d_002d-Minimum-exponent-of-a-real-kind" href="MINEXPONENT.html#MINEXPONENT">8.197 <code>MINEXPONENT</code> — Minimum exponent of a real kind</a></li> + <li><a name="toc-MINLOC-_002d_002d_002d-Location-of-the-minimum-value-within-an-array" href="MINLOC.html#MINLOC">8.198 <code>MINLOC</code> — Location of the minimum value within an array</a></li> + <li><a name="toc-MINVAL-_002d_002d_002d-Minimum-value-of-an-array" href="MINVAL.html#MINVAL">8.199 <code>MINVAL</code> — Minimum value of an array</a></li> + <li><a name="toc-MOD-_002d_002d_002d-Remainder-function" href="MOD.html#MOD">8.200 <code>MOD</code> — Remainder function</a></li> + <li><a name="toc-MODULO-_002d_002d_002d-Modulo-function" href="MODULO.html#MODULO">8.201 <code>MODULO</code> — Modulo function</a></li> + <li><a name="toc-MOVE_005fALLOC-_002d_002d_002d-Move-allocation-from-one-object-to-another" href="MOVE_005fALLOC.html#MOVE_005fALLOC">8.202 <code>MOVE_ALLOC</code> — Move allocation from one object to another</a></li> + <li><a name="toc-MVBITS-_002d_002d_002d-Move-bits-from-one-integer-to-another" href="MVBITS.html#MVBITS">8.203 <code>MVBITS</code> — Move bits from one integer to another</a></li> + <li><a name="toc-NEAREST-_002d_002d_002d-Nearest-representable-number" href="NEAREST.html#NEAREST">8.204 <code>NEAREST</code> — Nearest representable number</a></li> + <li><a name="toc-NEW_005fLINE-_002d_002d_002d-New-line-character" href="NEW_005fLINE.html#NEW_005fLINE">8.205 <code>NEW_LINE</code> — New line character</a></li> + <li><a name="toc-NINT-_002d_002d_002d-Nearest-whole-number" href="NINT.html#NINT">8.206 <code>NINT</code> — Nearest whole number</a></li> + <li><a name="toc-NORM2-_002d_002d_002d-Euclidean-vector-norms" href="NORM2.html#NORM2">8.207 <code>NORM2</code> — Euclidean vector norms</a></li> + <li><a name="toc-NOT-_002d_002d_002d-Logical-negation" href="NOT.html#NOT">8.208 <code>NOT</code> — Logical negation</a></li> + <li><a name="toc-NULL-_002d_002d_002d-Function-that-returns-an-disassociated-pointer" href="NULL.html#NULL">8.209 <code>NULL</code> — Function that returns an disassociated pointer</a></li> + <li><a name="toc-NUM_005fIMAGES-_002d_002d_002d-Function-that-returns-the-number-of-images" href="NUM_005fIMAGES.html#NUM_005fIMAGES">8.210 <code>NUM_IMAGES</code> — Function that returns the number of images</a></li> + <li><a name="toc-OR-_002d_002d_002d-Bitwise-logical-OR" href="OR.html#OR">8.211 <code>OR</code> — Bitwise logical OR</a></li> + <li><a name="toc-PACK-_002d_002d_002d-Pack-an-array-into-an-array-of-rank-one" href="PACK.html#PACK">8.212 <code>PACK</code> — Pack an array into an array of rank one</a></li> + <li><a name="toc-PARITY-_002d_002d_002d-Reduction-with-exclusive-OR" href="PARITY.html#PARITY">8.213 <code>PARITY</code> — Reduction with exclusive OR</a></li> + <li><a name="toc-PERROR-_002d_002d_002d-Print-system-error-message" href="PERROR.html#PERROR">8.214 <code>PERROR</code> — Print system error message</a></li> + <li><a name="toc-POPCNT-_002d_002d_002d-Number-of-bits-set" href="POPCNT.html#POPCNT">8.215 <code>POPCNT</code> — Number of bits set</a></li> + <li><a name="toc-POPPAR-_002d_002d_002d-Parity-of-the-number-of-bits-set" href="POPPAR.html#POPPAR">8.216 <code>POPPAR</code> — Parity of the number of bits set</a></li> + <li><a name="toc-PRECISION-_002d_002d_002d-Decimal-precision-of-a-real-kind" href="PRECISION.html#PRECISION">8.217 <code>PRECISION</code> — Decimal precision of a real kind</a></li> + <li><a name="toc-PRESENT-_002d_002d_002d-Determine-whether-an-optional-dummy-argument-is-specified" href="PRESENT.html#PRESENT">8.218 <code>PRESENT</code> — Determine whether an optional dummy argument is specified</a></li> + <li><a name="toc-PRODUCT-_002d_002d_002d-Product-of-array-elements" href="PRODUCT.html#PRODUCT">8.219 <code>PRODUCT</code> — Product of array elements</a></li> + <li><a name="toc-RADIX-_002d_002d_002d-Base-of-a-model-number" href="RADIX.html#RADIX">8.220 <code>RADIX</code> — Base of a model number</a></li> + <li><a name="toc-RAN-_002d_002d_002d-Real-pseudo_002drandom-number" href="RAN.html#RAN">8.221 <code>RAN</code> — Real pseudo-random number</a></li> + <li><a name="toc-RAND-_002d_002d_002d-Real-pseudo_002drandom-number" href="RAND.html#RAND">8.222 <code>RAND</code> — Real pseudo-random number</a></li> + <li><a name="toc-RANDOM_005fINIT-_002d_002d_002d-Initialize-a-pseudo_002drandom-number-generator" href="RANDOM_005fINIT.html#RANDOM_005fINIT">8.223 <code>RANDOM_INIT</code> — Initialize a pseudo-random number generator</a></li> + <li><a name="toc-RANDOM_005fNUMBER-_002d_002d_002d-Pseudo_002drandom-number" href="RANDOM_005fNUMBER.html#RANDOM_005fNUMBER">8.224 <code>RANDOM_NUMBER</code> — Pseudo-random number</a></li> + <li><a name="toc-RANDOM_005fSEED-_002d_002d_002d-Initialize-a-pseudo_002drandom-number-sequence" href="RANDOM_005fSEED.html#RANDOM_005fSEED">8.225 <code>RANDOM_SEED</code> — Initialize a pseudo-random number sequence</a></li> + <li><a name="toc-RANGE-_002d_002d_002d-Decimal-exponent-range" href="RANGE.html#RANGE">8.226 <code>RANGE</code> — Decimal exponent range</a></li> + <li><a name="toc-RANK-_002d_002d_002d-Rank-of-a-data-object" href="RANK.html#RANK">8.227 <code>RANK</code> — Rank of a data object</a></li> + <li><a name="toc-REAL-_002d_002d_002d-Convert-to-real-type" href="REAL.html#REAL">8.228 <code>REAL</code> — Convert to real type</a></li> + <li><a name="toc-RENAME-_002d_002d_002d-Rename-a-file" href="RENAME.html#RENAME">8.229 <code>RENAME</code> — Rename a file</a></li> + <li><a name="toc-REPEAT-_002d_002d_002d-Repeated-string-concatenation" href="REPEAT.html#REPEAT">8.230 <code>REPEAT</code> — Repeated string concatenation</a></li> + <li><a name="toc-RESHAPE-_002d_002d_002d-Function-to-reshape-an-array" href="RESHAPE.html#RESHAPE">8.231 <code>RESHAPE</code> — Function to reshape an array</a></li> + <li><a name="toc-RRSPACING-_002d_002d_002d-Reciprocal-of-the-relative-spacing" href="RRSPACING.html#RRSPACING">8.232 <code>RRSPACING</code> — Reciprocal of the relative spacing</a></li> + <li><a name="toc-RSHIFT-_002d_002d_002d-Right-shift-bits" href="RSHIFT.html#RSHIFT">8.233 <code>RSHIFT</code> — Right shift bits</a></li> + <li><a name="toc-SAME_005fTYPE_005fAS-_002d_002d_002d-Query-dynamic-types-for-equality" href="SAME_005fTYPE_005fAS.html#SAME_005fTYPE_005fAS">8.234 <code>SAME_TYPE_AS</code> — Query dynamic types for equality</a></li> + <li><a name="toc-SCALE-_002d_002d_002d-Scale-a-real-value" href="SCALE.html#SCALE">8.235 <code>SCALE</code> — Scale a real value</a></li> + <li><a name="toc-SCAN-_002d_002d_002d-Scan-a-string-for-the-presence-of-a-set-of-characters" href="SCAN.html#SCAN">8.236 <code>SCAN</code> — Scan a string for the presence of a set of characters</a></li> + <li><a name="toc-SECNDS-_002d_002d_002d-Time-function" href="SECNDS.html#SECNDS">8.237 <code>SECNDS</code> — Time function</a></li> + <li><a name="toc-SECOND-_002d_002d_002d-CPU-time-function" href="SECOND.html#SECOND">8.238 <code>SECOND</code> — CPU time function</a></li> + <li><a name="toc-SELECTED_005fCHAR_005fKIND-_002d_002d_002d-Choose-character-kind" href="SELECTED_005fCHAR_005fKIND.html#SELECTED_005fCHAR_005fKIND">8.239 <code>SELECTED_CHAR_KIND</code> — Choose character kind</a></li> + <li><a name="toc-SELECTED_005fINT_005fKIND-_002d_002d_002d-Choose-integer-kind" href="SELECTED_005fINT_005fKIND.html#SELECTED_005fINT_005fKIND">8.240 <code>SELECTED_INT_KIND</code> — Choose integer kind</a></li> + <li><a name="toc-SELECTED_005fREAL_005fKIND-_002d_002d_002d-Choose-real-kind" href="SELECTED_005fREAL_005fKIND.html#SELECTED_005fREAL_005fKIND">8.241 <code>SELECTED_REAL_KIND</code> — Choose real kind</a></li> + <li><a name="toc-SET_005fEXPONENT-_002d_002d_002d-Set-the-exponent-of-the-model" href="SET_005fEXPONENT.html#SET_005fEXPONENT">8.242 <code>SET_EXPONENT</code> — Set the exponent of the model</a></li> + <li><a name="toc-SHAPE-_002d_002d_002d-Determine-the-shape-of-an-array" href="SHAPE.html#SHAPE">8.243 <code>SHAPE</code> — Determine the shape of an array</a></li> + <li><a name="toc-SHIFTA-_002d_002d_002d-Right-shift-with-fill" href="SHIFTA.html#SHIFTA">8.244 <code>SHIFTA</code> — Right shift with fill</a></li> + <li><a name="toc-SHIFTL-_002d_002d_002d-Left-shift" href="SHIFTL.html#SHIFTL">8.245 <code>SHIFTL</code> — Left shift</a></li> + <li><a name="toc-SHIFTR-_002d_002d_002d-Right-shift" href="SHIFTR.html#SHIFTR">8.246 <code>SHIFTR</code> — Right shift</a></li> + <li><a name="toc-SIGN-_002d_002d_002d-Sign-copying-function" href="SIGN.html#SIGN">8.247 <code>SIGN</code> — Sign copying function</a></li> + <li><a name="toc-SIGNAL-_002d_002d_002d-Signal-handling-subroutine-_0028or-function_0029" href="SIGNAL.html#SIGNAL">8.248 <code>SIGNAL</code> — Signal handling subroutine (or function)</a></li> + <li><a name="toc-SIN-_002d_002d_002d-Sine-function" href="SIN.html#SIN">8.249 <code>SIN</code> — Sine function</a></li> + <li><a name="toc-SIND-_002d_002d_002d-Sine-function_002c-degrees" href="SIND.html#SIND">8.250 <code>SIND</code> — Sine function, degrees</a></li> + <li><a name="toc-SINH-_002d_002d_002d-Hyperbolic-sine-function" href="SINH.html#SINH">8.251 <code>SINH</code> — Hyperbolic sine function</a></li> + <li><a name="toc-SIZE-_002d_002d_002d-Determine-the-size-of-an-array" href="SIZE.html#SIZE">8.252 <code>SIZE</code> — Determine the size of an array</a></li> + <li><a name="toc-SIZEOF-_002d_002d_002d-Size-in-bytes-of-an-expression" href="SIZEOF.html#SIZEOF">8.253 <code>SIZEOF</code> — Size in bytes of an expression</a></li> + <li><a name="toc-SLEEP-_002d_002d_002d-Sleep-for-the-specified-number-of-seconds" href="SLEEP.html#SLEEP">8.254 <code>SLEEP</code> — Sleep for the specified number of seconds</a></li> + <li><a name="toc-SPACING-_002d_002d_002d-Smallest-distance-between-two-numbers-of-a-given-type" href="SPACING.html#SPACING">8.255 <code>SPACING</code> — Smallest distance between two numbers of a given type</a></li> + <li><a name="toc-SPREAD-_002d_002d_002d-Add-a-dimension-to-an-array" href="SPREAD.html#SPREAD">8.256 <code>SPREAD</code> — Add a dimension to an array</a></li> + <li><a name="toc-SQRT-_002d_002d_002d-Square_002droot-function" href="SQRT.html#SQRT">8.257 <code>SQRT</code> — Square-root function</a></li> + <li><a name="toc-SRAND-_002d_002d_002d-Reinitialize-the-random-number-generator" href="SRAND.html#SRAND">8.258 <code>SRAND</code> — Reinitialize the random number generator</a></li> + <li><a name="toc-STAT-_002d_002d_002d-Get-file-status" href="STAT.html#STAT">8.259 <code>STAT</code> — Get file status</a></li> + <li><a name="toc-STORAGE_005fSIZE-_002d_002d_002d-Storage-size-in-bits" href="STORAGE_005fSIZE.html#STORAGE_005fSIZE">8.260 <code>STORAGE_SIZE</code> — Storage size in bits</a></li> + <li><a name="toc-SUM-_002d_002d_002d-Sum-of-array-elements" href="SUM.html#SUM">8.261 <code>SUM</code> — Sum of array elements</a></li> + <li><a name="toc-SYMLNK-_002d_002d_002d-Create-a-symbolic-link" href="SYMLNK.html#SYMLNK">8.262 <code>SYMLNK</code> — Create a symbolic link</a></li> + <li><a name="toc-SYSTEM-_002d_002d_002d-Execute-a-shell-command" href="SYSTEM.html#SYSTEM">8.263 <code>SYSTEM</code> — Execute a shell command</a></li> + <li><a name="toc-SYSTEM_005fCLOCK-_002d_002d_002d-Time-function" href="SYSTEM_005fCLOCK.html#SYSTEM_005fCLOCK">8.264 <code>SYSTEM_CLOCK</code> — Time function</a></li> + <li><a name="toc-TAN-_002d_002d_002d-Tangent-function" href="TAN.html#TAN">8.265 <code>TAN</code> — Tangent function</a></li> + <li><a name="toc-TAND-_002d_002d_002d-Tangent-function_002c-degrees" href="TAND.html#TAND">8.266 <code>TAND</code> — Tangent function, degrees</a></li> + <li><a name="toc-TANH-_002d_002d_002d-Hyperbolic-tangent-function" href="TANH.html#TANH">8.267 <code>TANH</code> — Hyperbolic tangent function</a></li> + <li><a name="toc-THIS_005fIMAGE-_002d_002d_002d-Function-that-returns-the-cosubscript-index-of-this-image" href="THIS_005fIMAGE.html#THIS_005fIMAGE">8.268 <code>THIS_IMAGE</code> — Function that returns the cosubscript index of this image</a></li> + <li><a name="toc-TIME-_002d_002d_002d-Time-function" href="TIME.html#TIME">8.269 <code>TIME</code> — Time function</a></li> + <li><a name="toc-TIME8-_002d_002d_002d-Time-function-_002864_002dbit_0029" href="TIME8.html#TIME8">8.270 <code>TIME8</code> — Time function (64-bit)</a></li> + <li><a name="toc-TINY-_002d_002d_002d-Smallest-positive-number-of-a-real-kind" href="TINY.html#TINY">8.271 <code>TINY</code> — Smallest positive number of a real kind</a></li> + <li><a name="toc-TRAILZ-_002d_002d_002d-Number-of-trailing-zero-bits-of-an-integer" href="TRAILZ.html#TRAILZ">8.272 <code>TRAILZ</code> — Number of trailing zero bits of an integer</a></li> + <li><a name="toc-TRANSFER-_002d_002d_002d-Transfer-bit-patterns" href="TRANSFER.html#TRANSFER">8.273 <code>TRANSFER</code> — Transfer bit patterns</a></li> + <li><a name="toc-TRANSPOSE-_002d_002d_002d-Transpose-an-array-of-rank-two" href="TRANSPOSE.html#TRANSPOSE">8.274 <code>TRANSPOSE</code> — Transpose an array of rank two</a></li> + <li><a name="toc-TRIM-_002d_002d_002d-Remove-trailing-blank-characters-of-a-string" href="TRIM.html#TRIM">8.275 <code>TRIM</code> — Remove trailing blank characters of a string</a></li> + <li><a name="toc-TTYNAM-_002d_002d_002d-Get-the-name-of-a-terminal-device" href="TTYNAM.html#TTYNAM">8.276 <code>TTYNAM</code> — Get the name of a terminal device</a></li> + <li><a name="toc-UBOUND-_002d_002d_002d-Upper-dimension-bounds-of-an-array" href="UBOUND.html#UBOUND">8.277 <code>UBOUND</code> — Upper dimension bounds of an array</a></li> + <li><a name="toc-UCOBOUND-_002d_002d_002d-Upper-codimension-bounds-of-an-array" href="UCOBOUND.html#UCOBOUND">8.278 <code>UCOBOUND</code> — Upper codimension bounds of an array</a></li> + <li><a name="toc-UMASK-_002d_002d_002d-Set-the-file-creation-mask" href="UMASK.html#UMASK">8.279 <code>UMASK</code> — Set the file creation mask</a></li> + <li><a name="toc-UNLINK-_002d_002d_002d-Remove-a-file-from-the-file-system" href="UNLINK.html#UNLINK">8.280 <code>UNLINK</code> — Remove a file from the file system</a></li> + <li><a name="toc-UNPACK-_002d_002d_002d-Unpack-an-array-of-rank-one-into-an-array" href="UNPACK.html#UNPACK">8.281 <code>UNPACK</code> — Unpack an array of rank one into an array</a></li> + <li><a name="toc-VERIFY-_002d_002d_002d-Scan-a-string-for-characters-not-a-given-set" href="VERIFY.html#VERIFY">8.282 <code>VERIFY</code> — Scan a string for characters not a given set</a></li> + <li><a name="toc-XOR-_002d_002d_002d-Bitwise-logical-exclusive-OR" href="XOR.html#XOR">8.283 <code>XOR</code> — Bitwise logical exclusive OR</a></li> + </ul></li> + <li><a name="toc-Intrinsic-Modules-1" href="Intrinsic-Modules.html#Intrinsic-Modules">9 Intrinsic Modules</a> + <ul class="no-bullet"> + <li><a name="toc-ISO_005fFORTRAN_005fENV-1" href="ISO_005fFORTRAN_005fENV.html#ISO_005fFORTRAN_005fENV">9.1 <code>ISO_FORTRAN_ENV</code></a></li> + <li><a name="toc-ISO_005fC_005fBINDING-1" href="ISO_005fC_005fBINDING.html#ISO_005fC_005fBINDING">9.2 <code>ISO_C_BINDING</code></a></li> + <li><a name="toc-IEEE-modules_003a-IEEE_005fEXCEPTIONS_002c-IEEE_005fARITHMETIC_002c-and-IEEE_005fFEATURES" href="IEEE-modules.html#IEEE-modules">9.3 IEEE modules: <code>IEEE_EXCEPTIONS</code>, <code>IEEE_ARITHMETIC</code>, and <code>IEEE_FEATURES</code></a></li> + <li><a name="toc-OpenMP-Modules-OMP_005fLIB-and-OMP_005fLIB_005fKINDS-1" href="OpenMP-Modules-OMP_005fLIB-and-OMP_005fLIB_005fKINDS.html#OpenMP-Modules-OMP_005fLIB-and-OMP_005fLIB_005fKINDS">9.4 OpenMP Modules <code>OMP_LIB</code> and <code>OMP_LIB_KINDS</code></a></li> + <li><a name="toc-OpenACC-Module-OPENACC-1" href="OpenACC-Module-OPENACC.html#OpenACC-Module-OPENACC">9.5 OpenACC Module <code>OPENACC</code></a></li> + </ul></li> + <li><a name="toc-Contributing-1" href="Contributing.html#Contributing">Contributing</a> + <ul class="no-bullet"> + <li><a name="toc-Contributors-to-GNU-Fortran" href="Contributors.html#Contributors">Contributors to GNU Fortran</a></li> + <li><a name="toc-Projects-1" href="Projects.html#Projects">Projects</a></li> + </ul></li> + <li><a name="toc-GNU-General-Public-License" href="Copying.html#Copying">GNU General Public License</a></li> + <li><a name="toc-GNU-Free-Documentation-License-1" href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">GNU Free Documentation License</a> + <ul class="no-bullet"> + <li><a name="toc-ADDENDUM_003a-How-to-use-this-License-for-your-documents" href="GNU-Free-Documentation-License.html#ADDENDUM_003a-How-to-use-this-License-for-your-documents">ADDENDUM: How to use this License for your documents</a></li> + </ul></li> + <li><a name="toc-Funding-Free-Software" href="Funding.html#Funding">Funding Free Software</a></li> + <li><a name="toc-Option-Index-1" href="Option-Index.html#Option-Index">Option Index</a></li> + <li><a name="toc-Keyword-Index-1" href="Keyword-Index.html#Keyword-Index">Keyword Index</a></li> +</ul> +</div> + + + + +<a name="Top"></a> +<div class="header"> +<p> +Next: <a href="Introduction.html#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a href="../dir/index.html" accesskey="u" rel="up">(dir)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p> +</div> +<hr> +<a name="Introduction-1"></a> +<h1 class="top">Introduction</h1> +<a name="index-Introduction"></a> + +<p>This manual documents the use of <code>gfortran</code>, +the GNU Fortran compiler. You can find in this manual how to invoke +<code>gfortran</code>, as well as its features and incompatibilities. +</p> + +<table class="menu" border="0" cellspacing="0"> +<tr><td align="left" valign="top">• <a href="Introduction.html#Introduction" accesskey="1">Introduction</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Part I: Invoking GNU Fortran +</pre></th></tr><tr><td align="left" valign="top">• <a href="Invoking-GNU-Fortran.html#Invoking-GNU-Fortran" accesskey="2">Invoking GNU Fortran</a>:</td><td> </td><td align="left" valign="top">Command options supported by <code>gfortran</code>. +</td></tr> +<tr><td align="left" valign="top">• <a href="Runtime.html#Runtime" accesskey="3">Runtime</a>:</td><td> </td><td align="left" valign="top">Influencing runtime behavior with environment variables. +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +Part II: Language Reference +</pre></th></tr><tr><td align="left" valign="top">• <a href="Compiler-Characteristics.html#Compiler-Characteristics" accesskey="4">Compiler Characteristics</a>:</td><td> </td><td align="left" valign="top">User-visible implementation details. +</td></tr> +<tr><td align="left" valign="top">• <a href="Extensions.html#Extensions" accesskey="5">Extensions</a>:</td><td> </td><td align="left" valign="top">Language extensions implemented by GNU Fortran. +</td></tr> +<tr><td align="left" valign="top">• <a href="Mixed_002dLanguage-Programming.html#Mixed_002dLanguage-Programming" accesskey="6">Mixed-Language Programming</a>:</td><td> </td><td align="left" valign="top">Interoperability with C +</td></tr> +<tr><td align="left" valign="top">• <a href="Coarray-Programming.html#Coarray-Programming" accesskey="7">Coarray Programming</a>:</td><td> </td><td align="left" valign="top"> +</td></tr> +<tr><td align="left" valign="top">• <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="8">Intrinsic Procedures</a>:</td><td> </td><td align="left" valign="top">Intrinsic procedures supported by GNU Fortran. +</td></tr> +<tr><td align="left" valign="top">• <a href="Intrinsic-Modules.html#Intrinsic-Modules" accesskey="9">Intrinsic Modules</a>:</td><td> </td><td align="left" valign="top">Intrinsic modules supported by GNU Fortran. +</td></tr> +<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> +</pre></th></tr><tr><td align="left" valign="top">• <a href="Contributing.html#Contributing">Contributing</a>:</td><td> </td><td align="left" valign="top">How you can help. +</td></tr> +<tr><td align="left" valign="top">• <a href="Copying.html#Copying">Copying</a>:</td><td> </td><td align="left" valign="top">GNU General Public License says + how you can copy and share GNU Fortran. +</td></tr> +<tr><td align="left" valign="top">• <a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">GNU Free Documentation License</a>:</td><td> </td><td align="left" valign="top"> + How you can copy and share this manual. +</td></tr> +<tr><td align="left" valign="top">• <a href="Funding.html#Funding">Funding</a>:</td><td> </td><td align="left" valign="top">How to help assure continued work for free software. +</td></tr> +<tr><td align="left" valign="top">• <a href="Option-Index.html#Option-Index">Option Index</a>:</td><td> </td><td align="left" valign="top">Index of command line options +</td></tr> +<tr><td align="left" valign="top">• <a href="Keyword-Index.html#Keyword-Index">Keyword Index</a>:</td><td> </td><td align="left" valign="top">Index of concepts +</td></tr> +</table> + + +<hr> +<div class="header"> +<p> +Next: <a href="Introduction.html#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a href="../dir/index.html" accesskey="u" rel="up">(dir)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p> +</div> + + + +</body> +</html> |