head 1.7; access; symbols pkgsrc-2015Q1:1.6.0.94 pkgsrc-2015Q1-base:1.6 pkgsrc-2014Q4:1.6.0.92 pkgsrc-2014Q4-base:1.6 pkgsrc-2014Q3:1.6.0.90 pkgsrc-2014Q3-base:1.6 pkgsrc-2014Q2:1.6.0.88 pkgsrc-2014Q2-base:1.6 pkgsrc-2014Q1:1.6.0.86 pkgsrc-2014Q1-base:1.6 pkgsrc-2013Q4:1.6.0.84 pkgsrc-2013Q4-base:1.6 pkgsrc-2013Q3:1.6.0.82 pkgsrc-2013Q3-base:1.6 pkgsrc-2013Q2:1.6.0.80 pkgsrc-2013Q2-base:1.6 pkgsrc-2013Q1:1.6.0.78 pkgsrc-2013Q1-base:1.6 pkgsrc-2012Q4:1.6.0.76 pkgsrc-2012Q4-base:1.6 pkgsrc-2012Q3:1.6.0.74 pkgsrc-2012Q3-base:1.6 pkgsrc-2012Q2:1.6.0.72 pkgsrc-2012Q2-base:1.6 pkgsrc-2012Q1:1.6.0.70 pkgsrc-2012Q1-base:1.6 pkgsrc-2011Q4:1.6.0.68 pkgsrc-2011Q4-base:1.6 pkgsrc-2011Q3:1.6.0.66 pkgsrc-2011Q3-base:1.6 pkgsrc-2011Q2:1.6.0.64 pkgsrc-2011Q2-base:1.6 pkgsrc-2011Q1:1.6.0.62 pkgsrc-2011Q1-base:1.6 pkgsrc-2010Q4:1.6.0.60 pkgsrc-2010Q4-base:1.6 pkgsrc-2010Q3:1.6.0.58 pkgsrc-2010Q3-base:1.6 pkgsrc-2010Q2:1.6.0.56 pkgsrc-2010Q2-base:1.6 pkgsrc-2010Q1:1.6.0.54 pkgsrc-2010Q1-base:1.6 pkgsrc-2009Q4:1.6.0.52 pkgsrc-2009Q4-base:1.6 pkgsrc-2009Q3:1.6.0.50 pkgsrc-2009Q3-base:1.6 pkgsrc-2009Q2:1.6.0.48 pkgsrc-2009Q2-base:1.6 pkgsrc-2009Q1:1.6.0.46 pkgsrc-2009Q1-base:1.6 pkgsrc-2008Q4:1.6.0.44 pkgsrc-2008Q4-base:1.6 pkgsrc-2008Q3:1.6.0.42 pkgsrc-2008Q3-base:1.6 cube-native-xorg:1.6.0.40 cube-native-xorg-base:1.6 pkgsrc-2008Q2:1.6.0.38 pkgsrc-2008Q2-base:1.6 cwrapper:1.6.0.36 pkgsrc-2008Q1:1.6.0.34 pkgsrc-2008Q1-base:1.6 pkgsrc-2007Q4:1.6.0.32 pkgsrc-2007Q4-base:1.6 pkgsrc-2007Q3:1.6.0.30 pkgsrc-2007Q3-base:1.6 pkgsrc-2007Q2:1.6.0.28 pkgsrc-2007Q2-base:1.6 pkgsrc-2007Q1:1.6.0.26 pkgsrc-2007Q1-base:1.6 pkgsrc-2006Q4:1.6.0.24 pkgsrc-2006Q4-base:1.6 pkgsrc-2006Q3:1.6.0.22 pkgsrc-2006Q3-base:1.6 pkgsrc-2006Q2:1.6.0.20 pkgsrc-2006Q2-base:1.6 pkgsrc-2006Q1:1.6.0.18 pkgsrc-2006Q1-base:1.6 pkgsrc-2005Q4:1.6.0.16 pkgsrc-2005Q4-base:1.6 pkgsrc-2005Q3:1.6.0.14 pkgsrc-2005Q3-base:1.6 pkgsrc-2005Q2:1.6.0.12 pkgsrc-2005Q2-base:1.6 pkgsrc-2005Q1:1.6.0.10 pkgsrc-2005Q1-base:1.6 pkgsrc-2004Q4:1.6.0.8 pkgsrc-2004Q4-base:1.6 pkgsrc-2004Q3:1.6.0.6 pkgsrc-2004Q3-base:1.6 pkgsrc-2004Q2:1.6.0.4 pkgsrc-2004Q2-base:1.6 pkgsrc-2004Q1:1.6.0.2 pkgsrc-2004Q1-base:1.6 pkgsrc-2003Q4:1.5.0.6 pkgsrc-2003Q4-base:1.5 netbsd-1-6-1:1.5.0.2 netbsd-1-6-1-base:1.5 netbsd-1-6:1.5.0.4 netbsd-1-6-RELEASE-base:1.5 pkgviews:1.3.0.4 pkgviews-base:1.3 buildlink2:1.3.0.2 buildlink2-base:1.3 netbsd-1-5-PATCH003:1.3 netbsd-1-5-PATCH001:1.1 netbsd-1-5-RELEASE:1.1 netbsd-1-4-PATCH003:1.1; locks; strict; comment @# @; 1.7 date 2015.04.25.10.33.29; author wiz; state dead; branches; next 1.6; commitid CG2XaBpeRQKMwXiy; 1.6 date 2003.11.25.22.35.14; author dmcmahill; state Exp; branches; next 1.5; 1.5 date 2002.08.13.01.58.57; author dmcmahill; state Exp; branches 1.5.6.1; next 1.4; 1.4 date 2002.08.12.01.53.39; author dmcmahill; state dead; branches; next 1.3; 1.3 date 2002.03.28.10.11.52; author jmc; state Exp; branches; next 1.2; 1.2 date 2002.01.03.20.40.42; author tron; state Exp; branches; next 1.1; 1.1 date 2000.09.15.23.58.47; author tron; state Exp; branches; next ; 1.5.6.1 date 2004.01.09.22.30.41; author agc; state Exp; branches; next ; desc @@ 1.7 log @Finish move of lang/gcc to lang/gcc2. Let me know if I broke something. @ text @$NetBSD: patch-aa,v 1.6 2003/11/25 22:35:14 dmcmahill Exp $ from revision 1.5 of patch-ae: Hand edit the alpha/netbsd.h patch. -current gcc relies on a new linker script which only differs in setting the entry point. Let this use the default linker script for alpha but force the entry point so this will work on older NetBSD installs for alpha. For NetBSD-1.6 and newer, we don't need to change the link spec. --- ../gcc-2.95.3/gcc/config/alpha/netbsd.h.orig Tue Nov 25 17:51:14 2003 +++ ../gcc-2.95.3/gcc/config/alpha/netbsd.h @@@@ -58,6 +58,8 @@@@ Boston, MA 02111-1307, USA. */ common to all ELF targets, except for the name of the start function. */ #undef LINK_SPEC +#include +#if defined(__NetBSD_Version__) && __NetBSD_Version__ >= 106000000 #define LINK_SPEC \ "-m elf64alpha_nbsd \ %{O*:-O3} %{!O*:-O1} \ @@@@ -70,6 +72,21 @@@@ Boston, MA 02111-1307, USA. */ %{rdynamic:-export-dynamic} \ %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}} \ %{static:-static}}" +#else +#define LINK_SPEC \ + "-m elf64alpha \ + -e __start \ + %{O*:-O3} %{!O*:-O1} \ + %{assert*} %{R*} \ + %{shared:-shared} \ + %{!shared: \ + -dc -dp \ + %{!nostdlib:%{!r*:%{!e*:-e __start}}} \ + %{!static: \ + %{rdynamic:-export-dynamic} \ + %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}} \ + %{static:-static}}" +#endif /* Names to predefine in the preprocessor for this target machine. XXX NetBSD, by convention, shouldn't do __alpha, but lots of applications @ 1.6 log @Make this patch be more selective so that this package will work on NetBSD/alpha versions 1.6 and newer. Previously, this package only worked on pre-1.6. Fixes problems noted in recent bulk builds. @ text @d1 1 a1 1 $NetBSD$ @ 1.5 log @add patch which got left out of previous commit (why??? I _know_ it was listed in the Modified Files: section). @ text @a1 1 d7 2 a8 1 NetBSD installs for alpha. d10 1 a10 1 --- ../gcc-2.95.3/gcc/config/alpha/netbsd.h.orig Sun Aug 11 19:38:42 2002 d12 2 a13 1 @@@@ -59,7 +59,8 @@@@ Boston, MA 02111-1307, USA. */ d16 2 d19 8 a26 1 - "-m elf64alpha_nbsd \ d29 14 a42 3 %{O*:-O3} %{!O*:-O1} \ %{assert*} %{R*} \ %{shared:-shared} \ @ 1.5.6.1 log @Pull up portability fixes to the pkgsrc-2003Q4 branch, requested by Dan McMahill. Committed By: dmcmahill Date: Tue Nov 25 22:35:14 UTC 2003 Modified Files: pkgsrc/lang/gcc: distinfo pkgsrc/lang/gcc-ssp: distinfo pkgsrc/lang/gcc/patches: patch-aa Log Message: Make this patch be more selective so that this package will work on NetBSD/alpha versions 1.6 and newer. Previously, this package only worked on pre-1.6. Fixes problems noted in recent bulk builds. @ text @d1 2 a2 1 $NetBSD: patch-aa,v 1.6 2003/11/25 22:35:14 dmcmahill Exp $ d8 1 a8 2 NetBSD installs for alpha. For NetBSD-1.6 and newer, we don't need to change the link spec. d10 1 a10 1 --- ../gcc-2.95.3/gcc/config/alpha/netbsd.h.orig Tue Nov 25 17:51:14 2003 d12 1 a12 2 @@@@ -58,6 +58,8 @@@@ Boston, MA 02111-1307, USA. */ common to all ELF targets, except for the name of the start function. */ a14 2 +#include +#if defined(__NetBSD_Version__) && __NetBSD_Version__ >= 106000000 d16 1 a16 8 "-m elf64alpha_nbsd \ %{O*:-O3} %{!O*:-O1} \ @@@@ -70,6 +72,21 @@@@ Boston, MA 02111-1307, USA. */ %{rdynamic:-export-dynamic} \ %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}} \ %{static:-static}}" +#else +#define LINK_SPEC \ d19 3 a21 14 + %{O*:-O3} %{!O*:-O1} \ + %{assert*} %{R*} \ + %{shared:-shared} \ + %{!shared: \ + -dc -dp \ + %{!nostdlib:%{!r*:%{!e*:-e __start}}} \ + %{!static: \ + %{rdynamic:-export-dynamic} \ + %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}} \ + %{static:-static}}" +#endif /* Names to predefine in the preprocessor for this target machine. XXX NetBSD, by convention, shouldn't do __alpha, but lots of applications @ 1.4 log @pull in most recent patches to gcc-2.95.3 from the netbsd-1-6 branch. Includes fixes for sparc, alpha, and others. Should help in keeping pkgsrc running on 1.5.* systems. The patches which mirror those in the main netbsd source tree have been all put into a single distribution patch file. This makes it much easier to maintain and easier to easily see which patches are specific to pkgsrc. @ text @d1 1 a1 1 $NetBSD: patch-aa,v 1.3 2002/03/28 10:11:52 jmc Exp $ d3 19 a21 10 --- ../gcc-2.95.3/gcc/f/g77.1.orig 2000/07/26 00:17:58 1.1.1.1 +++ ../gcc-2.95.3/gcc/f/g77.1 2001/01/31 15:26:42 1.2 @@@@ -8,6 +8,7 @@@@ \(** .. .SH NAME +f77, fort77, g77 \- GNU project Fortran Compiler (v0.5.24) .SH SYNOPSIS .RB g77 " [" \c @ 1.3 log @Update patch set against a sync of source from gnusrc/dist/toolchain. Not very many overall changes. Main ones include 1. Support for powerpc, arm32 and vax 2. Makefile.gcc can now be included by anything which depends on gcc versions. If the version installed isn't 2.95.3 it'll add itself as a BUILD_DEPENDS. (XXX: any of the makefile's in pkgsrc should be checked and change to use this) 3. Remove special PLIST.NetBSD-sparc as it's no longer needed 4. Change post-extract loop to pick up any arch files from FILESDIR without having to hardcode all the archs 5. Remove arch restrictions as this should work on any arch supported by the main source tree as of 03/28/02 6. Add PKGREVISION as this clearly isn't stock 2.95.3 (it doesn't change gcc --version so version checks won't care). @ text @d1 1 a1 1 $NetBSD$ @ 1.2 log @Update "gcc" package to version 2.95.3. This is a bug fix release of version 2.95.2. This package includes all changes to "gcc" from the new toolchain in NetBSD-current. The only tested (and enabled) platform is "NetBSD-*-i386" so far. @ text @d3 2 a4 2 --- ../gcc-2.95.3/gcc/f/g77.1.orig Sun Feb 14 12:42:46 1999 +++ ../gcc-2.95.3/gcc/f/g77.1 Thu Jan 3 20:37:52 2002 @ 1.1 log @- Add patches from NetBSD-current to fix build on i386 ELF systems. - Install into "${LOCALBASE}/gcc-2.95.2" to avoid that e.g. "bsd.pkg.mk" picks up the new compiler by accident. - Add a file "${LOCALBASE}/etc/gcc-2.95.2.mk" which makes it possible to use the new "gcc" like this: make MAKECONF=/usr/pkg/etc/gcc-2.95.2.mk @ text @d3 10 a12 10933 --- ../gcc-2.95.2/gcc/f/intdoc.texi.orig Wed May 12 22:56:21 1999 +++ ../gcc-2.95.2/gcc/f/intdoc.texi Sat Sep 16 00:17:42 2000 @@@@ -1,10930 +0,0 @@@@ -@@c This file is automatically derived from intdoc.c, intdoc.in, -@@c ansify.c, intrin.def, and intrin.h. Edit those files instead. -@@menu -@@ifset familyF2U -* Abort Intrinsic:: Abort the program. -@@end ifset -@@ifset familyF77 -* Abs Intrinsic:: Absolute value. -@@end ifset -@@ifset familyF2U -* Access Intrinsic:: Check file accessibility. -@@end ifset -@@ifset familyASC -* AChar Intrinsic:: ASCII character from code. -@@end ifset -@@ifset familyF77 -* ACos Intrinsic:: Arc cosine. -@@end ifset -@@ifset familyVXT -* ACosD Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF90 -* AdjustL Intrinsic:: (Reserved for future use.) -* AdjustR Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* AImag Intrinsic:: Convert/extract imaginary part of complex. -@@end ifset -@@ifset familyVXT -* AIMax0 Intrinsic:: (Reserved for future use.) -* AIMin0 Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* AInt Intrinsic:: Truncate to whole number. -@@end ifset -@@ifset familyVXT -* AJMax0 Intrinsic:: (Reserved for future use.) -* AJMin0 Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF2U -* Alarm Intrinsic:: Execute a routine after a given delay. -@@end ifset -@@ifset familyF90 -* All Intrinsic:: (Reserved for future use.) -* Allocated Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* ALog Intrinsic:: Natural logarithm (archaic). -* ALog10 Intrinsic:: Common logarithm (archaic). -* AMax0 Intrinsic:: Maximum value (archaic). -* AMax1 Intrinsic:: Maximum value (archaic). -* AMin0 Intrinsic:: Minimum value (archaic). -* AMin1 Intrinsic:: Minimum value (archaic). -* AMod Intrinsic:: Remainder (archaic). -@@end ifset -@@ifset familyF2C -* And Intrinsic:: Boolean AND. -@@end ifset -@@ifset familyF77 -* ANInt Intrinsic:: Round to nearest whole number. -@@end ifset -@@ifset familyF90 -* Any Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* ASin Intrinsic:: Arc sine. -@@end ifset -@@ifset familyVXT -* ASinD Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF90 -* Associated Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* ATan Intrinsic:: Arc tangent. -* ATan2 Intrinsic:: Arc tangent. -@@end ifset -@@ifset familyVXT -* ATan2D Intrinsic:: (Reserved for future use.) -* ATanD Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF2U -* BesJ0 Intrinsic:: Bessel function. -* BesJ1 Intrinsic:: Bessel function. -* BesJN Intrinsic:: Bessel function. -* BesY0 Intrinsic:: Bessel function. -* BesY1 Intrinsic:: Bessel function. -* BesYN Intrinsic:: Bessel function. -@@end ifset -@@ifset familyVXT -* BITest Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF90 -* Bit_Size Intrinsic:: Number of bits in argument's type. -@@end ifset -@@ifset familyVXT -* BJTest Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyMIL -* BTest Intrinsic:: Test bit. -@@end ifset -@@ifset familyF77 -* CAbs Intrinsic:: Absolute value (archaic). -* CCos Intrinsic:: Cosine (archaic). -@@end ifset -@@ifset familyFVZ -* CDAbs Intrinsic:: Absolute value (archaic). -* CDCos Intrinsic:: Cosine (archaic). -* CDExp Intrinsic:: Exponential (archaic). -* CDLog Intrinsic:: Natural logarithm (archaic). -* CDSin Intrinsic:: Sine (archaic). -* CDSqRt Intrinsic:: Square root (archaic). -@@end ifset -@@ifset familyF90 -* Ceiling Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* CExp Intrinsic:: Exponential (archaic). -* Char Intrinsic:: Character from code. -@@end ifset -@@ifset familyF2U -* ChDir Intrinsic (subroutine):: Change directory. -@@end ifset -@@ifset familyBADU77 -* ChDir Intrinsic (function):: Change directory. -@@end ifset -@@ifset familyF2U -* ChMod Intrinsic (subroutine):: Change file modes. -@@end ifset -@@ifset familyBADU77 -* ChMod Intrinsic (function):: Change file modes. -@@end ifset -@@ifset familyF77 -* CLog Intrinsic:: Natural logarithm (archaic). -* Cmplx Intrinsic:: Construct @@code{COMPLEX(KIND=1)} value. -@@end ifset -@@ifset familyGNU -* Complex Intrinsic:: Build complex value from real and - imaginary parts. -@@end ifset -@@ifset familyF77 -* Conjg Intrinsic:: Complex conjugate. -* Cos Intrinsic:: Cosine. -@@end ifset -@@ifset familyVXT -* CosD Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* CosH Intrinsic:: Hyperbolic cosine. -@@end ifset -@@ifset familyF90 -* Count Intrinsic:: (Reserved for future use.) -* CPU_Time Intrinsic:: Get current CPU time. -* CShift Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* CSin Intrinsic:: Sine (archaic). -* CSqRt Intrinsic:: Square root (archaic). -@@end ifset -@@ifset familyF2U -* CTime Intrinsic (subroutine):: Convert time to Day Mon dd hh:mm:ss yyyy. -* CTime Intrinsic (function):: Convert time to Day Mon dd hh:mm:ss yyyy. -@@end ifset -@@ifset familyF77 -* DAbs Intrinsic:: Absolute value (archaic). -* DACos Intrinsic:: Arc cosine (archaic). -@@end ifset -@@ifset familyVXT -* DACosD Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* DASin Intrinsic:: Arc sine (archaic). -@@end ifset -@@ifset familyVXT -* DASinD Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* DATan Intrinsic:: Arc tangent (archaic). -* DATan2 Intrinsic:: Arc tangent (archaic). -@@end ifset -@@ifset familyVXT -* DATan2D Intrinsic:: (Reserved for future use.) -* DATanD Intrinsic:: (Reserved for future use.) -* Date Intrinsic:: Get current date as dd-Mon-yy. -@@end ifset -@@ifset familyF90 -* Date_and_Time Intrinsic:: Get the current date and time. -@@end ifset -@@ifset familyF2U -* DbesJ0 Intrinsic:: Bessel function (archaic). -* DbesJ1 Intrinsic:: Bessel function (archaic). -* DbesJN Intrinsic:: Bessel function (archaic). -* DbesY0 Intrinsic:: Bessel function (archaic). -* DbesY1 Intrinsic:: Bessel function (archaic). -* DbesYN Intrinsic:: Bessel function (archaic). -@@end ifset -@@ifset familyF77 -* Dble Intrinsic:: Convert to double precision. -@@end ifset -@@ifset familyVXT -* DbleQ Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyFVZ -* DCmplx Intrinsic:: Construct @@code{COMPLEX(KIND=2)} value. -* DConjg Intrinsic:: Complex conjugate (archaic). -@@end ifset -@@ifset familyF77 -* DCos Intrinsic:: Cosine (archaic). -@@end ifset -@@ifset familyVXT -* DCosD Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* DCosH Intrinsic:: Hyperbolic cosine (archaic). -* DDiM Intrinsic:: Difference magnitude (archaic). -@@end ifset -@@ifset familyF2U -* DErF Intrinsic:: Error function (archaic). -* DErFC Intrinsic:: Complementary error function (archaic). -@@end ifset -@@ifset familyF77 -* DExp Intrinsic:: Exponential (archaic). -@@end ifset -@@ifset familyFVZ -* DFloat Intrinsic:: Conversion (archaic). -@@end ifset -@@ifset familyVXT -* DFlotI Intrinsic:: (Reserved for future use.) -* DFlotJ Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF90 -* Digits Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* DiM Intrinsic:: Difference magnitude (non-negative subtract). -@@end ifset -@@ifset familyFVZ -* DImag Intrinsic:: Convert/extract imaginary part of complex (archaic). -@@end ifset -@@ifset familyF77 -* DInt Intrinsic:: Truncate to whole number (archaic). -* DLog Intrinsic:: Natural logarithm (archaic). -* DLog10 Intrinsic:: Common logarithm (archaic). -* DMax1 Intrinsic:: Maximum value (archaic). -* DMin1 Intrinsic:: Minimum value (archaic). -* DMod Intrinsic:: Remainder (archaic). -* DNInt Intrinsic:: Round to nearest whole number (archaic). -@@end ifset -@@ifset familyF90 -* Dot_Product Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* DProd Intrinsic:: Double-precision product. -@@end ifset -@@ifset familyVXT -* DReal Intrinsic:: Convert value to type @@code{REAL(KIND=2)}. -@@end ifset -@@ifset familyF77 -* DSign Intrinsic:: Apply sign to magnitude (archaic). -* DSin Intrinsic:: Sine (archaic). -@@end ifset -@@ifset familyVXT -* DSinD Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* DSinH Intrinsic:: Hyperbolic sine (archaic). -* DSqRt Intrinsic:: Square root (archaic). -* DTan Intrinsic:: Tangent (archaic). -@@end ifset -@@ifset familyVXT -* DTanD Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* DTanH Intrinsic:: Hyperbolic tangent (archaic). -@@end ifset -@@ifset familyF2U -* DTime Intrinsic (subroutine):: Get elapsed time since last time. -@@end ifset -@@ifset familyBADU77 -* DTime Intrinsic (function):: Get elapsed time since last time. -@@end ifset -@@ifset familyF90 -* EOShift Intrinsic:: (Reserved for future use.) -* Epsilon Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF2U -* ErF Intrinsic:: Error function. -* ErFC Intrinsic:: Complementary error function. -* ETime Intrinsic (subroutine):: Get elapsed time for process. -* ETime Intrinsic (function):: Get elapsed time for process. -* Exit Intrinsic:: Terminate the program. -@@end ifset -@@ifset familyF77 -* Exp Intrinsic:: Exponential. -@@end ifset -@@ifset familyF90 -* Exponent Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF2U -* FDate Intrinsic (subroutine):: Get current time as Day Mon dd hh:mm:ss yyyy. -* FDate Intrinsic (function):: Get current time as Day Mon dd hh:mm:ss yyyy. -* FGet Intrinsic (subroutine):: Read a character from unit 5 stream-wise. -@@end ifset -@@ifset familyBADU77 -* FGet Intrinsic (function):: Read a character from unit 5 stream-wise. -@@end ifset -@@ifset familyF2U -* FGetC Intrinsic (subroutine):: Read a character stream-wise. -@@end ifset -@@ifset familyBADU77 -* FGetC Intrinsic (function):: Read a character stream-wise. -@@end ifset -@@ifset familyF77 -* Float Intrinsic:: Conversion (archaic). -@@end ifset -@@ifset familyVXT -* FloatI Intrinsic:: (Reserved for future use.) -* FloatJ Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF90 -* Floor Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF2U -* Flush Intrinsic:: Flush buffered output. -* FNum Intrinsic:: Get file descriptor from Fortran unit number. -* FPut Intrinsic (subroutine):: Write a character to unit 6 stream-wise. -@@end ifset -@@ifset familyBADU77 -* FPut Intrinsic (function):: Write a character to unit 6 stream-wise. -@@end ifset -@@ifset familyF2U -* FPutC Intrinsic (subroutine):: Write a character stream-wise. -@@end ifset -@@ifset familyBADU77 -* FPutC Intrinsic (function):: Write a character stream-wise. -@@end ifset -@@ifset familyF90 -* Fraction Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF2U -* FSeek Intrinsic:: Position file (low-level). -* FStat Intrinsic (subroutine):: Get file information. -* FStat Intrinsic (function):: Get file information. -* FTell Intrinsic (subroutine):: Get file position (low-level). -* FTell Intrinsic (function):: Get file position (low-level). -* GError Intrinsic:: Get error message for last error. -* GetArg Intrinsic:: Obtain command-line argument. -* GetCWD Intrinsic (subroutine):: Get current working directory. -* GetCWD Intrinsic (function):: Get current working directory. -* GetEnv Intrinsic:: Get environment variable. -* GetGId Intrinsic:: Get process group id. -* GetLog Intrinsic:: Get login name. -* GetPId Intrinsic:: Get process id. -* GetUId Intrinsic:: Get process user id. -* GMTime Intrinsic:: Convert time to GMT time info. -* HostNm Intrinsic (subroutine):: Get host name. -* HostNm Intrinsic (function):: Get host name. -@@end ifset -@@ifset familyF90 -* Huge Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* IAbs Intrinsic:: Absolute value (archaic). -@@end ifset -@@ifset familyASC -* IAChar Intrinsic:: ASCII code for character. -@@end ifset -@@ifset familyMIL -* IAnd Intrinsic:: Boolean AND. -@@end ifset -@@ifset familyF2U -* IArgC Intrinsic:: Obtain count of command-line arguments. -@@end ifset -@@ifset familyMIL -* IBClr Intrinsic:: Clear a bit. -* IBits Intrinsic:: Extract a bit subfield of a variable. -* IBSet Intrinsic:: Set a bit. -@@end ifset -@@ifset familyF77 -* IChar Intrinsic:: Code for character. -@@end ifset -@@ifset familyF2U -* IDate Intrinsic (UNIX):: Get local time info. -@@end ifset -@@ifset familyVXT -* IDate Intrinsic (VXT):: Get local time info (VAX/VMS). -@@end ifset -@@ifset familyF77 -* IDiM Intrinsic:: Difference magnitude (archaic). -* IDInt Intrinsic:: Convert to @@code{INTEGER} value truncated - to whole number (archaic). -* IDNInt Intrinsic:: Convert to @@code{INTEGER} value rounded - to nearest whole number (archaic). -@@end ifset -@@ifset familyMIL -* IEOr Intrinsic:: Boolean XOR. -@@end ifset -@@ifset familyF2U -* IErrNo Intrinsic:: Get error number for last error. -@@end ifset -@@ifset familyF77 -* IFix Intrinsic:: Conversion (archaic). -@@end ifset -@@ifset familyVXT -* IIAbs Intrinsic:: (Reserved for future use.) -* IIAnd Intrinsic:: (Reserved for future use.) -* IIBClr Intrinsic:: (Reserved for future use.) -* IIBits Intrinsic:: (Reserved for future use.) -* IIBSet Intrinsic:: (Reserved for future use.) -* IIDiM Intrinsic:: (Reserved for future use.) -* IIDInt Intrinsic:: (Reserved for future use.) -* IIDNnt Intrinsic:: (Reserved for future use.) -* IIEOr Intrinsic:: (Reserved for future use.) -* IIFix Intrinsic:: (Reserved for future use.) -* IInt Intrinsic:: (Reserved for future use.) -* IIOr Intrinsic:: (Reserved for future use.) -* IIQint Intrinsic:: (Reserved for future use.) -* IIQNnt Intrinsic:: (Reserved for future use.) -* IIShftC Intrinsic:: (Reserved for future use.) -* IISign Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF2C -* Imag Intrinsic:: Extract imaginary part of complex. -@@end ifset -@@ifset familyGNU -* ImagPart Intrinsic:: Extract imaginary part of complex. -@@end ifset -@@ifset familyVXT -* IMax0 Intrinsic:: (Reserved for future use.) -* IMax1 Intrinsic:: (Reserved for future use.) -* IMin0 Intrinsic:: (Reserved for future use.) -* IMin1 Intrinsic:: (Reserved for future use.) -* IMod Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* Index Intrinsic:: Locate a CHARACTER substring. -@@end ifset -@@ifset familyVXT -* INInt Intrinsic:: (Reserved for future use.) -* INot Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* Int Intrinsic:: Convert to @@code{INTEGER} value truncated - to whole number. -@@end ifset -@@ifset familyGNU -* Int2 Intrinsic:: Convert to @@code{INTEGER(KIND=6)} value - truncated to whole number. -* Int8 Intrinsic:: Convert to @@code{INTEGER(KIND=2)} value - truncated to whole number. -@@end ifset -@@ifset familyMIL -* IOr Intrinsic:: Boolean OR. -@@end ifset -@@ifset familyF2U -* IRand Intrinsic:: Random number. -* IsaTty Intrinsic:: Is unit connected to a terminal? -@@end ifset -@@ifset familyMIL -* IShft Intrinsic:: Logical bit shift. -* IShftC Intrinsic:: Circular bit shift. -@@end ifset -@@ifset familyF77 -* ISign Intrinsic:: Apply sign to magnitude (archaic). -@@end ifset -@@ifset familyF2U -* ITime Intrinsic:: Get local time of day. -@@end ifset -@@ifset familyVXT -* IZExt Intrinsic:: (Reserved for future use.) -* JIAbs Intrinsic:: (Reserved for future use.) -* JIAnd Intrinsic:: (Reserved for future use.) -* JIBClr Intrinsic:: (Reserved for future use.) -* JIBits Intrinsic:: (Reserved for future use.) -* JIBSet Intrinsic:: (Reserved for future use.) -* JIDiM Intrinsic:: (Reserved for future use.) -* JIDInt Intrinsic:: (Reserved for future use.) -* JIDNnt Intrinsic:: (Reserved for future use.) -* JIEOr Intrinsic:: (Reserved for future use.) -* JIFix Intrinsic:: (Reserved for future use.) -* JInt Intrinsic:: (Reserved for future use.) -* JIOr Intrinsic:: (Reserved for future use.) -* JIQint Intrinsic:: (Reserved for future use.) -* JIQNnt Intrinsic:: (Reserved for future use.) -* JIShft Intrinsic:: (Reserved for future use.) -* JIShftC Intrinsic:: (Reserved for future use.) -* JISign Intrinsic:: (Reserved for future use.) -* JMax0 Intrinsic:: (Reserved for future use.) -* JMax1 Intrinsic:: (Reserved for future use.) -* JMin0 Intrinsic:: (Reserved for future use.) -* JMin1 Intrinsic:: (Reserved for future use.) -* JMod Intrinsic:: (Reserved for future use.) -* JNInt Intrinsic:: (Reserved for future use.) -* JNot Intrinsic:: (Reserved for future use.) -* JZExt Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF2U -* Kill Intrinsic (subroutine):: Signal a process. -@@end ifset -@@ifset familyBADU77 -* Kill Intrinsic (function):: Signal a process. -@@end ifset -@@ifset familyF90 -* Kind Intrinsic:: (Reserved for future use.) -* LBound Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* Len Intrinsic:: Length of character entity. -@@end ifset -@@ifset familyF90 -* Len_Trim Intrinsic:: Get last non-blank character in string. -@@end ifset -@@ifset familyF77 -* LGe Intrinsic:: Lexically greater than or equal. -* LGt Intrinsic:: Lexically greater than. -@@end ifset -@@ifset familyF2U -* Link Intrinsic (subroutine):: Make hard link in file system. -@@end ifset -@@ifset familyBADU77 -* Link Intrinsic (function):: Make hard link in file system. -@@end ifset -@@ifset familyF77 -* LLe Intrinsic:: Lexically less than or equal. -* LLt Intrinsic:: Lexically less than. -@@end ifset -@@ifset familyF2U -* LnBlnk Intrinsic:: Get last non-blank character in string. -* Loc Intrinsic:: Address of entity in core. -@@end ifset -@@ifset familyF77 -* Log Intrinsic:: Natural logarithm. -* Log10 Intrinsic:: Common logarithm. -@@end ifset -@@ifset familyF90 -* Logical Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF2U -* Long Intrinsic:: Conversion to @@code{INTEGER(KIND=1)} (archaic). -@@end ifset -@@ifset familyF2C -* LShift Intrinsic:: Left-shift bits. -@@end ifset -@@ifset familyF2U -* LStat Intrinsic (subroutine):: Get file information. -* LStat Intrinsic (function):: Get file information. -* LTime Intrinsic:: Convert time to local time info. -@@end ifset -@@ifset familyF90 -* MatMul Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* Max Intrinsic:: Maximum value. -* Max0 Intrinsic:: Maximum value (archaic). -* Max1 Intrinsic:: Maximum value (archaic). -@@end ifset -@@ifset familyF90 -* MaxExponent Intrinsic:: (Reserved for future use.) -* MaxLoc Intrinsic:: (Reserved for future use.) -* MaxVal Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF2U -* MClock Intrinsic:: Get number of clock ticks for process. -* MClock8 Intrinsic:: Get number of clock ticks for process. -@@end ifset -@@ifset familyF90 -* Merge Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* Min Intrinsic:: Minimum value. -* Min0 Intrinsic:: Minimum value (archaic). -* Min1 Intrinsic:: Minimum value (archaic). -@@end ifset -@@ifset familyF90 -* MinExponent Intrinsic:: (Reserved for future use.) -* MinLoc Intrinsic:: (Reserved for future use.) -* MinVal Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* Mod Intrinsic:: Remainder. -@@end ifset -@@ifset familyF90 -* Modulo Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyMIL -* MvBits Intrinsic:: Moving a bit field. -@@end ifset -@@ifset familyF90 -* Nearest Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* NInt Intrinsic:: Convert to @@code{INTEGER} value rounded - to nearest whole number. -@@end ifset -@@ifset familyMIL -* Not Intrinsic:: Boolean NOT. -@@end ifset -@@ifset familyF2C -* Or Intrinsic:: Boolean OR. -@@end ifset -@@ifset familyF90 -* Pack Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF2U -* PError Intrinsic:: Print error message for last error. -@@end ifset -@@ifset familyF90 -* Precision Intrinsic:: (Reserved for future use.) -* Present Intrinsic:: (Reserved for future use.) -* Product Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyVXT -* QAbs Intrinsic:: (Reserved for future use.) -* QACos Intrinsic:: (Reserved for future use.) -* QACosD Intrinsic:: (Reserved for future use.) -* QASin Intrinsic:: (Reserved for future use.) -* QASinD Intrinsic:: (Reserved for future use.) -* QATan Intrinsic:: (Reserved for future use.) -* QATan2 Intrinsic:: (Reserved for future use.) -* QATan2D Intrinsic:: (Reserved for future use.) -* QATanD Intrinsic:: (Reserved for future use.) -* QCos Intrinsic:: (Reserved for future use.) -* QCosD Intrinsic:: (Reserved for future use.) -* QCosH Intrinsic:: (Reserved for future use.) -* QDiM Intrinsic:: (Reserved for future use.) -* QExp Intrinsic:: (Reserved for future use.) -* QExt Intrinsic:: (Reserved for future use.) -* QExtD Intrinsic:: (Reserved for future use.) -* QFloat Intrinsic:: (Reserved for future use.) -* QInt Intrinsic:: (Reserved for future use.) -* QLog Intrinsic:: (Reserved for future use.) -* QLog10 Intrinsic:: (Reserved for future use.) -* QMax1 Intrinsic:: (Reserved for future use.) -* QMin1 Intrinsic:: (Reserved for future use.) -* QMod Intrinsic:: (Reserved for future use.) -* QNInt Intrinsic:: (Reserved for future use.) -* QSin Intrinsic:: (Reserved for future use.) -* QSinD Intrinsic:: (Reserved for future use.) -* QSinH Intrinsic:: (Reserved for future use.) -* QSqRt Intrinsic:: (Reserved for future use.) -* QTan Intrinsic:: (Reserved for future use.) -* QTanD Intrinsic:: (Reserved for future use.) -* QTanH Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF90 -* Radix Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF2U -* Rand Intrinsic:: Random number. -@@end ifset -@@ifset familyF90 -* Random_Number Intrinsic:: (Reserved for future use.) -* Random_Seed Intrinsic:: (Reserved for future use.) -* Range Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* Real Intrinsic:: Convert value to type @@code{REAL(KIND=1)}. -@@end ifset -@@ifset familyGNU -* RealPart Intrinsic:: Extract real part of complex. -@@end ifset -@@ifset familyF2U -* Rename Intrinsic (subroutine):: Rename file. -@@end ifset -@@ifset familyBADU77 -* Rename Intrinsic (function):: Rename file. -@@end ifset -@@ifset familyF90 -* Repeat Intrinsic:: (Reserved for future use.) -* Reshape Intrinsic:: (Reserved for future use.) -* RRSpacing Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF2C -* RShift Intrinsic:: Right-shift bits. -@@end ifset -@@ifset familyF90 -* Scale Intrinsic:: (Reserved for future use.) -* Scan Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyVXT -* Secnds Intrinsic:: Get local time offset since midnight. -@@end ifset -@@ifset familyF2U -* Second Intrinsic (function):: Get CPU time for process in seconds. -* Second Intrinsic (subroutine):: Get CPU time for process - in seconds. -@@end ifset -@@ifset familyF90 -* Selected_Int_Kind Intrinsic:: (Reserved for future use.) -* Selected_Real_Kind Intrinsic:: (Reserved for future use.) -* Set_Exponent Intrinsic:: (Reserved for future use.) -* Shape Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF2U -* Short Intrinsic:: Convert to @@code{INTEGER(KIND=6)} value - truncated to whole number. -@@end ifset -@@ifset familyF77 -* Sign Intrinsic:: Apply sign to magnitude. -@@end ifset -@@ifset familyF2U -* Signal Intrinsic (subroutine):: Muck with signal handling. -@@end ifset -@@ifset familyBADU77 -* Signal Intrinsic (function):: Muck with signal handling. -@@end ifset -@@ifset familyF77 -* Sin Intrinsic:: Sine. -@@end ifset -@@ifset familyVXT -* SinD Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* SinH Intrinsic:: Hyperbolic sine. -@@end ifset -@@ifset familyF2U -* Sleep Intrinsic:: Sleep for a specified time. -@@end ifset -@@ifset familyF77 -* Sngl Intrinsic:: Convert (archaic). -@@end ifset -@@ifset familyVXT -* SnglQ Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF90 -* Spacing Intrinsic:: (Reserved for future use.) -* Spread Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* SqRt Intrinsic:: Square root. -@@end ifset -@@ifset familyF2U -* SRand Intrinsic:: Random seed. -* Stat Intrinsic (subroutine):: Get file information. -* Stat Intrinsic (function):: Get file information. -@@end ifset -@@ifset familyF90 -* Sum Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF2U -* SymLnk Intrinsic (subroutine):: Make symbolic link in file system. -@@end ifset -@@ifset familyBADU77 -* SymLnk Intrinsic (function):: Make symbolic link in file system. -@@end ifset -@@ifset familyF2U -* System Intrinsic (subroutine):: Invoke shell (system) command. -@@end ifset -@@ifset familyBADU77 -* System Intrinsic (function):: Invoke shell (system) command. -@@end ifset -@@ifset familyF90 -* System_Clock Intrinsic:: Get current system clock value. -@@end ifset -@@ifset familyF77 -* Tan Intrinsic:: Tangent. -@@end ifset -@@ifset familyVXT -* TanD Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF77 -* TanH Intrinsic:: Hyperbolic tangent. -@@end ifset -@@ifset familyF2U -* Time Intrinsic (UNIX):: Get current time as time value. -@@end ifset -@@ifset familyVXT -* Time Intrinsic (VXT):: Get the time as a character value. -@@end ifset -@@ifset familyF2U -* Time8 Intrinsic:: Get current time as time value. -@@end ifset -@@ifset familyF90 -* Tiny Intrinsic:: (Reserved for future use.) -* Transfer Intrinsic:: (Reserved for future use.) -* Transpose Intrinsic:: (Reserved for future use.) -* Trim Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF2U -* TtyNam Intrinsic (subroutine):: Get name of terminal device for unit. -* TtyNam Intrinsic (function):: Get name of terminal device for unit. -@@end ifset -@@ifset familyF90 -* UBound Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF2U -* UMask Intrinsic (subroutine):: Set file creation permissions mask. -@@end ifset -@@ifset familyBADU77 -* UMask Intrinsic (function):: Set file creation permissions mask. -@@end ifset -@@ifset familyF2U -* Unlink Intrinsic (subroutine):: Unlink file. -@@end ifset -@@ifset familyBADU77 -* Unlink Intrinsic (function):: Unlink file. -@@end ifset -@@ifset familyF90 -* Unpack Intrinsic:: (Reserved for future use.) -* Verify Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF2C -* XOr Intrinsic:: Boolean XOR. -* ZAbs Intrinsic:: Absolute value (archaic). -* ZCos Intrinsic:: Cosine (archaic). -* ZExp Intrinsic:: Exponential (archaic). -@@end ifset -@@ifset familyVXT -* ZExt Intrinsic:: (Reserved for future use.) -@@end ifset -@@ifset familyF2C -* ZLog Intrinsic:: Natural logarithm (archaic). -* ZSin Intrinsic:: Sine (archaic). -* ZSqRt Intrinsic:: Square root (archaic). -@@end ifset -@@end menu - -@@ifset familyF2U -@@node Abort Intrinsic -@@subsubsection Abort Intrinsic -@@cindex Abort intrinsic -@@cindex intrinsics, Abort - -@@noindent -@@example -CALL Abort() -@@end example - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Prints a message and potentially causes a core dump via @@code{abort(3)}. - -@@end ifset -@@ifset familyF77 -@@node Abs Intrinsic -@@subsubsection Abs Intrinsic -@@cindex Abs intrinsic -@@cindex intrinsics, Abs - -@@noindent -@@example -Abs(@@var{A}) -@@end example - -@@noindent -Abs: @@code{INTEGER} or @@code{REAL} function. -The exact type depends on that of argument @@var{A}---if @@var{A} is -@@code{COMPLEX}, this function's type is @@code{REAL} -with the same @@samp{KIND=} value as the type of @@var{A}. -Otherwise, this function's type is the same as that of @@var{A}. - -@@noindent -@@var{A}: @@code{INTEGER}, @@code{REAL}, or @@code{COMPLEX}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns the absolute value of @@var{A}. - -If @@var{A} is type @@code{COMPLEX}, the absolute -value is computed as: - -@@example -SQRT(REALPART(@@var{A})**2, IMAGPART(@@var{A})**2) -@@end example - -@@noindent -Otherwise, it is computed by negating the @@var{A} if -it is negative, or returning @@var{A}. - -@@xref{Sign Intrinsic}, for how to explicitly -compute the positive or negative form of the absolute -value of an expression. - -@@end ifset -@@ifset familyF2U -@@node Access Intrinsic -@@subsubsection Access Intrinsic -@@cindex Access intrinsic -@@cindex intrinsics, Access - -@@noindent -@@example -Access(@@var{Name}, @@var{Mode}) -@@end example - -@@noindent -Access: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{Name}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{Mode}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Checks file @@var{Name} for accessibility in the mode specified by @@var{Mode} and -returns 0 if the file is accessible in that mode, otherwise an error -code if the file is inaccessible or @@var{Mode} is invalid. -See @@code{access(2)}. -A null character (@@samp{CHAR(0)}) marks the end of -the name in @@var{Name}---otherwise, -trailing blanks in @@var{Name} are ignored. -@@var{Mode} may be a concatenation of any of the following characters: - -@@table @@samp -@@item r -Read permission - -@@item w -Write permission - -@@item x -Execute permission - -@@item @@kbd{SPC} -Existence -@@end table - -@@end ifset -@@ifset familyASC -@@node AChar Intrinsic -@@subsubsection AChar Intrinsic -@@cindex AChar intrinsic -@@cindex intrinsics, AChar - -@@noindent -@@example -AChar(@@var{I}) -@@end example - -@@noindent -AChar: @@code{CHARACTER*1} function. - -@@noindent -@@var{I}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}, @@code{f90}. - -@@noindent -Description: - -Returns the ASCII character corresponding to the -code specified by @@var{I}. - -@@xref{IAChar Intrinsic}, for the inverse of this function. - -@@xref{Char Intrinsic}, for the function corresponding -to the system's native character set. - -@@end ifset -@@ifset familyF77 -@@node ACos Intrinsic -@@subsubsection ACos Intrinsic -@@cindex ACos intrinsic -@@cindex intrinsics, ACos - -@@noindent -@@example -ACos(@@var{X}) -@@end example - -@@noindent -ACos: @@code{REAL} function, the @@samp{KIND=} value of the type being that of argument @@var{X}. - -@@noindent -@@var{X}: @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns the arc-cosine (inverse cosine) of @@var{X} -in radians. - -@@xref{Cos Intrinsic}, for the inverse of this function. - -@@end ifset -@@ifset familyVXT -@@node ACosD Intrinsic -@@subsubsection ACosD Intrinsic -@@cindex ACosD intrinsic -@@cindex intrinsics, ACosD - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL ACosD} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF90 -@@node AdjustL Intrinsic -@@subsubsection AdjustL Intrinsic -@@cindex AdjustL intrinsic -@@cindex intrinsics, AdjustL - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL AdjustL} to use this name for an -external procedure. - -@@node AdjustR Intrinsic -@@subsubsection AdjustR Intrinsic -@@cindex AdjustR intrinsic -@@cindex intrinsics, AdjustR - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL AdjustR} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node AImag Intrinsic -@@subsubsection AImag Intrinsic -@@cindex AImag intrinsic -@@cindex intrinsics, AImag - -@@noindent -@@example -AImag(@@var{Z}) -@@end example - -@@noindent -AImag: @@code{REAL} function. -This intrinsic is valid when argument @@var{Z} is -@@code{COMPLEX(KIND=1)}. -When @@var{Z} is any other @@code{COMPLEX} type, -this intrinsic is valid only when used as the argument to -@@code{REAL()}, as explained below. - -@@noindent -@@var{Z}: @@code{COMPLEX}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns the (possibly converted) imaginary part of @@var{Z}. - -Use of @@code{AIMAG()} with an argument of a type -other than @@code{COMPLEX(KIND=1)} is restricted to the following case: - -@@example -REAL(AIMAG(Z)) -@@end example - -@@noindent -This expression converts the imaginary part of Z to -@@code{REAL(KIND=1)}. - -@@xref{REAL() and AIMAG() of Complex}, for more information. - -@@end ifset -@@ifset familyVXT -@@node AIMax0 Intrinsic -@@subsubsection AIMax0 Intrinsic -@@cindex AIMax0 intrinsic -@@cindex intrinsics, AIMax0 - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL AIMax0} to use this name for an -external procedure. - -@@node AIMin0 Intrinsic -@@subsubsection AIMin0 Intrinsic -@@cindex AIMin0 intrinsic -@@cindex intrinsics, AIMin0 - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL AIMin0} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node AInt Intrinsic -@@subsubsection AInt Intrinsic -@@cindex AInt intrinsic -@@cindex intrinsics, AInt - -@@noindent -@@example -AInt(@@var{A}) -@@end example - -@@noindent -AInt: @@code{REAL} function, the @@samp{KIND=} value of the type being that of argument @@var{A}. - -@@noindent -@@var{A}: @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns @@var{A} with the fractional portion of its -magnitude truncated and its sign preserved. -(Also called ``truncation towards zero''.) - -@@xref{ANInt Intrinsic}, for how to round to nearest -whole number. - -@@xref{Int Intrinsic}, for how to truncate and then convert -number to @@code{INTEGER}. - -@@end ifset -@@ifset familyVXT -@@node AJMax0 Intrinsic -@@subsubsection AJMax0 Intrinsic -@@cindex AJMax0 intrinsic -@@cindex intrinsics, AJMax0 - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL AJMax0} to use this name for an -external procedure. - -@@node AJMin0 Intrinsic -@@subsubsection AJMin0 Intrinsic -@@cindex AJMin0 intrinsic -@@cindex intrinsics, AJMin0 - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL AJMin0} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF2U -@@node Alarm Intrinsic -@@subsubsection Alarm Intrinsic -@@cindex Alarm intrinsic -@@cindex intrinsics, Alarm - -@@noindent -@@example -CALL Alarm(@@var{Seconds}, @@var{Handler}, @@var{Status}) -@@end example - -@@noindent -@@var{Seconds}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Handler}: Signal handler (@@code{INTEGER FUNCTION} or @@code{SUBROUTINE}) -or dummy/global @@code{INTEGER(KIND=1)} scalar. - -@@noindent -@@var{Status}: @@code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Causes external subroutine @@var{Handler} to be executed after a delay of -@@var{Seconds} seconds by using @@code{alarm(1)} to set up a signal and -@@code{signal(2)} to catch it. -If @@var{Status} 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. -@@xref{Signal Intrinsic (subroutine)}. - -@@end ifset -@@ifset familyF90 -@@node All Intrinsic -@@subsubsection All Intrinsic -@@cindex All intrinsic -@@cindex intrinsics, All - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL All} to use this name for an -external procedure. - -@@node Allocated Intrinsic -@@subsubsection Allocated Intrinsic -@@cindex Allocated intrinsic -@@cindex intrinsics, Allocated - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Allocated} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node ALog Intrinsic -@@subsubsection ALog Intrinsic -@@cindex ALog intrinsic -@@cindex intrinsics, ALog - -@@noindent -@@example -ALog(@@var{X}) -@@end example - -@@noindent -ALog: @@code{REAL(KIND=1)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=1)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{LOG()} that is specific -to one type for @@var{X}. -@@xref{Log Intrinsic}. - -@@node ALog10 Intrinsic -@@subsubsection ALog10 Intrinsic -@@cindex ALog10 intrinsic -@@cindex intrinsics, ALog10 - -@@noindent -@@example -ALog10(@@var{X}) -@@end example - -@@noindent -ALog10: @@code{REAL(KIND=1)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=1)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{LOG10()} that is specific -to one type for @@var{X}. -@@xref{Log10 Intrinsic}. - -@@node AMax0 Intrinsic -@@subsubsection AMax0 Intrinsic -@@cindex AMax0 intrinsic -@@cindex intrinsics, AMax0 - -@@noindent -@@example -AMax0(@@var{A}-1, @@var{A}-2, @@dots{}, @@var{A}-n) -@@end example - -@@noindent -AMax0: @@code{REAL(KIND=1)} function. - -@@noindent -@@var{A}: @@code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{MAX()} that is specific -to one type for @@var{A} and a different return type. -@@xref{Max Intrinsic}. - -@@node AMax1 Intrinsic -@@subsubsection AMax1 Intrinsic -@@cindex AMax1 intrinsic -@@cindex intrinsics, AMax1 - -@@noindent -@@example -AMax1(@@var{A}-1, @@var{A}-2, @@dots{}, @@var{A}-n) -@@end example - -@@noindent -AMax1: @@code{REAL(KIND=1)} function. - -@@noindent -@@var{A}: @@code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{MAX()} that is specific -to one type for @@var{A}. -@@xref{Max Intrinsic}. - -@@node AMin0 Intrinsic -@@subsubsection AMin0 Intrinsic -@@cindex AMin0 intrinsic -@@cindex intrinsics, AMin0 - -@@noindent -@@example -AMin0(@@var{A}-1, @@var{A}-2, @@dots{}, @@var{A}-n) -@@end example - -@@noindent -AMin0: @@code{REAL(KIND=1)} function. - -@@noindent -@@var{A}: @@code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{MIN()} that is specific -to one type for @@var{A} and a different return type. -@@xref{Min Intrinsic}. - -@@node AMin1 Intrinsic -@@subsubsection AMin1 Intrinsic -@@cindex AMin1 intrinsic -@@cindex intrinsics, AMin1 - -@@noindent -@@example -AMin1(@@var{A}-1, @@var{A}-2, @@dots{}, @@var{A}-n) -@@end example - -@@noindent -AMin1: @@code{REAL(KIND=1)} function. - -@@noindent -@@var{A}: @@code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{MIN()} that is specific -to one type for @@var{A}. -@@xref{Min Intrinsic}. - -@@node AMod Intrinsic -@@subsubsection AMod Intrinsic -@@cindex AMod intrinsic -@@cindex intrinsics, AMod - -@@noindent -@@example -AMod(@@var{A}, @@var{P}) -@@end example - -@@noindent -AMod: @@code{REAL(KIND=1)} function. - -@@noindent -@@var{A}: @@code{REAL(KIND=1)}; scalar; INTENT(IN). - -@@noindent -@@var{P}: @@code{REAL(KIND=1)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{MOD()} that is specific -to one type for @@var{A}. -@@xref{Mod Intrinsic}. - -@@end ifset -@@ifset familyF2C -@@node And Intrinsic -@@subsubsection And Intrinsic -@@cindex And intrinsic -@@cindex intrinsics, And - -@@noindent -@@example -And(@@var{I}, @@var{J}) -@@end example - -@@noindent -And: @@code{INTEGER} or @@code{LOGICAL} function, the exact type being the result of cross-promoting the -types of all the arguments. - -@@noindent -@@var{I}: @@code{INTEGER} or @@code{LOGICAL}; scalar; INTENT(IN). - -@@noindent -@@var{J}: @@code{INTEGER} or @@code{LOGICAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}. - -@@noindent -Description: - -Returns value resulting from boolean AND of -pair of bits in each of @@var{I} and @@var{J}. - -@@end ifset -@@ifset familyF77 -@@node ANInt Intrinsic -@@subsubsection ANInt Intrinsic -@@cindex ANInt intrinsic -@@cindex intrinsics, ANInt - -@@noindent -@@example -ANInt(@@var{A}) -@@end example - -@@noindent -ANInt: @@code{REAL} function, the @@samp{KIND=} value of the type being that of argument @@var{A}. - -@@noindent -@@var{A}: @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns @@var{A} with the fractional portion of its -magnitude eliminated by rounding to the nearest whole -number and with its sign preserved. - -A fractional portion exactly equal to -@@samp{.5} is rounded to the whole number that -is larger in magnitude. -(Also called ``Fortran round''.) - -@@xref{AInt Intrinsic}, for how to truncate to -whole number. - -@@xref{NInt Intrinsic}, for how to round and then convert -number to @@code{INTEGER}. - -@@end ifset -@@ifset familyF90 -@@node Any Intrinsic -@@subsubsection Any Intrinsic -@@cindex Any intrinsic -@@cindex intrinsics, Any - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Any} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node ASin Intrinsic -@@subsubsection ASin Intrinsic -@@cindex ASin intrinsic -@@cindex intrinsics, ASin - -@@noindent -@@example -ASin(@@var{X}) -@@end example - -@@noindent -ASin: @@code{REAL} function, the @@samp{KIND=} value of the type being that of argument @@var{X}. - -@@noindent -@@var{X}: @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns the arc-sine (inverse sine) of @@var{X} -in radians. - -@@xref{Sin Intrinsic}, for the inverse of this function. - -@@end ifset -@@ifset familyVXT -@@node ASinD Intrinsic -@@subsubsection ASinD Intrinsic -@@cindex ASinD intrinsic -@@cindex intrinsics, ASinD - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL ASinD} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF90 -@@node Associated Intrinsic -@@subsubsection Associated Intrinsic -@@cindex Associated intrinsic -@@cindex intrinsics, Associated - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Associated} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node ATan Intrinsic -@@subsubsection ATan Intrinsic -@@cindex ATan intrinsic -@@cindex intrinsics, ATan - -@@noindent -@@example -ATan(@@var{X}) -@@end example - -@@noindent -ATan: @@code{REAL} function, the @@samp{KIND=} value of the type being that of argument @@var{X}. - -@@noindent -@@var{X}: @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns the arc-tangent (inverse tangent) of @@var{X} -in radians. - -@@xref{Tan Intrinsic}, for the inverse of this function. - -@@node ATan2 Intrinsic -@@subsubsection ATan2 Intrinsic -@@cindex ATan2 intrinsic -@@cindex intrinsics, ATan2 - -@@noindent -@@example -ATan2(@@var{Y}, @@var{X}) -@@end example - -@@noindent -ATan2: @@code{REAL} function, the exact type being the result of cross-promoting the -types of all the arguments. - -@@noindent -@@var{Y}: @@code{REAL}; scalar; INTENT(IN). - -@@noindent -@@var{X}: @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns the arc-tangent (inverse tangent) of the complex -number (@@var{Y}, @@var{X}) in radians. - -@@xref{Tan Intrinsic}, for the inverse of this function. - -@@end ifset -@@ifset familyVXT -@@node ATan2D Intrinsic -@@subsubsection ATan2D Intrinsic -@@cindex ATan2D intrinsic -@@cindex intrinsics, ATan2D - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL ATan2D} to use this name for an -external procedure. - -@@node ATanD Intrinsic -@@subsubsection ATanD Intrinsic -@@cindex ATanD intrinsic -@@cindex intrinsics, ATanD - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL ATanD} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF2U -@@node BesJ0 Intrinsic -@@subsubsection BesJ0 Intrinsic -@@cindex BesJ0 intrinsic -@@cindex intrinsics, BesJ0 - -@@noindent -@@example -BesJ0(@@var{X}) -@@end example - -@@noindent -BesJ0: @@code{REAL} function, the @@samp{KIND=} value of the type being that of argument @@var{X}. - -@@noindent -@@var{X}: @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Calculates the Bessel function of the first kind of order 0 of @@var{X}. -See @@code{bessel(3m)}, on whose implementation the function depends. -@@node BesJ1 Intrinsic -@@subsubsection BesJ1 Intrinsic -@@cindex BesJ1 intrinsic -@@cindex intrinsics, BesJ1 - -@@noindent -@@example -BesJ1(@@var{X}) -@@end example - -@@noindent -BesJ1: @@code{REAL} function, the @@samp{KIND=} value of the type being that of argument @@var{X}. - -@@noindent -@@var{X}: @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Calculates the Bessel function of the first kind of order 1 of @@var{X}. -See @@code{bessel(3m)}, on whose implementation the function depends. -@@node BesJN Intrinsic -@@subsubsection BesJN Intrinsic -@@cindex BesJN intrinsic -@@cindex intrinsics, BesJN - -@@noindent -@@example -BesJN(@@var{N}, @@var{X}) -@@end example - -@@noindent -BesJN: @@code{REAL} function, the @@samp{KIND=} value of the type being that of argument @@var{X}. - -@@noindent -@@var{N}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{X}: @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Calculates the Bessel function of the first kind of order @@var{N} of @@var{X}. -See @@code{bessel(3m)}, on whose implementation the function depends. -@@node BesY0 Intrinsic -@@subsubsection BesY0 Intrinsic -@@cindex BesY0 intrinsic -@@cindex intrinsics, BesY0 - -@@noindent -@@example -BesY0(@@var{X}) -@@end example - -@@noindent -BesY0: @@code{REAL} function, the @@samp{KIND=} value of the type being that of argument @@var{X}. - -@@noindent -@@var{X}: @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Calculates the Bessel function of the second kind of order 0 of @@var{X}. -See @@code{bessel(3m)}, on whose implementation the function depends. -@@node BesY1 Intrinsic -@@subsubsection BesY1 Intrinsic -@@cindex BesY1 intrinsic -@@cindex intrinsics, BesY1 - -@@noindent -@@example -BesY1(@@var{X}) -@@end example - -@@noindent -BesY1: @@code{REAL} function, the @@samp{KIND=} value of the type being that of argument @@var{X}. - -@@noindent -@@var{X}: @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Calculates the Bessel function of the second kind of order 1 of @@var{X}. -See @@code{bessel(3m)}, on whose implementation the function depends. -@@node BesYN Intrinsic -@@subsubsection BesYN Intrinsic -@@cindex BesYN intrinsic -@@cindex intrinsics, BesYN - -@@noindent -@@example -BesYN(@@var{N}, @@var{X}) -@@end example - -@@noindent -BesYN: @@code{REAL} function, the @@samp{KIND=} value of the type being that of argument @@var{X}. - -@@noindent -@@var{N}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{X}: @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Calculates the Bessel function of the second kind of order @@var{N} of @@var{X}. -See @@code{bessel(3m)}, on whose implementation the function depends. -@@end ifset -@@ifset familyVXT -@@node BITest Intrinsic -@@subsubsection BITest Intrinsic -@@cindex BITest intrinsic -@@cindex intrinsics, BITest - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL BITest} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF90 -@@node Bit_Size Intrinsic -@@subsubsection Bit_Size Intrinsic -@@cindex Bit_Size intrinsic -@@cindex intrinsics, Bit_Size - -@@noindent -@@example -Bit_Size(@@var{I}) -@@end example - -@@noindent -Bit_Size: @@code{INTEGER} function, the @@samp{KIND=} value of the type being that of argument @@var{I}. - -@@noindent -@@var{I}: @@code{INTEGER}; scalar. - -@@noindent -Intrinsic groups: @@code{f90}. - -@@noindent -Description: - -Returns the number of bits (integer precision plus sign bit) -represented by the type for @@var{I}. - -@@xref{BTest Intrinsic}, for how to test the value of a -bit in a variable or array. - -@@xref{IBSet Intrinsic}, for how to set a bit in a variable to 1. - -@@xref{IBClr Intrinsic}, for how to set a bit in a variable to 0. - - -@@end ifset -@@ifset familyVXT -@@node BJTest Intrinsic -@@subsubsection BJTest Intrinsic -@@cindex BJTest intrinsic -@@cindex intrinsics, BJTest - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL BJTest} to use this name for an -external procedure. - -@@end ifset -@@ifset familyMIL -@@node BTest Intrinsic -@@subsubsection BTest Intrinsic -@@cindex BTest intrinsic -@@cindex intrinsics, BTest - -@@noindent -@@example -BTest(@@var{I}, @@var{Pos}) -@@end example - -@@noindent -BTest: @@code{LOGICAL(KIND=1)} function. - -@@noindent -@@var{I}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Pos}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{mil}, @@code{f90}, @@code{vxt}. - -@@noindent -Description: - -Returns @@code{.TRUE.} if bit @@var{Pos} in @@var{I} is -1, @@code{.FALSE.} otherwise. - -(Bit 0 is the low-order (rightmost) bit, adding the value -@@ifinfo -2**0, -@@end ifinfo -@@iftex -@@tex -$2^0$, -@@end tex -@@end iftex -or 1, -to the number if set to 1; -bit 1 is the next-higher-order bit, adding -@@ifinfo -2**1, -@@end ifinfo -@@iftex -@@tex -$2^1$, -@@end tex -@@end iftex -or 2; -bit 2 adds -@@ifinfo -2**2, -@@end ifinfo -@@iftex -@@tex -$2^2$, -@@end tex -@@end iftex -or 4; and so on.) - -@@xref{Bit_Size Intrinsic}, for how to obtain the number of bits -in a type. -The leftmost bit of @@var{I} is @@samp{BIT_SIZE(@@var{I}-1)}. - -@@end ifset -@@ifset familyF77 -@@node CAbs Intrinsic -@@subsubsection CAbs Intrinsic -@@cindex CAbs intrinsic -@@cindex intrinsics, CAbs - -@@noindent -@@example -CAbs(@@var{A}) -@@end example - -@@noindent -CAbs: @@code{REAL(KIND=1)} function. - -@@noindent -@@var{A}: @@code{COMPLEX(KIND=1)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{ABS()} that is specific -to one type for @@var{A}. -@@xref{Abs Intrinsic}. - -@@node CCos Intrinsic -@@subsubsection CCos Intrinsic -@@cindex CCos intrinsic -@@cindex intrinsics, CCos - -@@noindent -@@example -CCos(@@var{X}) -@@end example - -@@noindent -CCos: @@code{COMPLEX(KIND=1)} function. - -@@noindent -@@var{X}: @@code{COMPLEX(KIND=1)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{COS()} that is specific -to one type for @@var{X}. -@@xref{Cos Intrinsic}. - -@@end ifset -@@ifset familyFVZ -@@node CDAbs Intrinsic -@@subsubsection CDAbs Intrinsic -@@cindex CDAbs intrinsic -@@cindex intrinsics, CDAbs - -@@noindent -@@example -CDAbs(@@var{A}) -@@end example - -@@noindent -CDAbs: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{A}: @@code{COMPLEX(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}, @@code{vxt}. - -@@noindent -Description: - -Archaic form of @@code{ABS()} that is specific -to one type for @@var{A}. -@@xref{Abs Intrinsic}. - -@@node CDCos Intrinsic -@@subsubsection CDCos Intrinsic -@@cindex CDCos intrinsic -@@cindex intrinsics, CDCos - -@@noindent -@@example -CDCos(@@var{X}) -@@end example - -@@noindent -CDCos: @@code{COMPLEX(KIND=2)} function. - -@@noindent -@@var{X}: @@code{COMPLEX(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}, @@code{vxt}. - -@@noindent -Description: - -Archaic form of @@code{COS()} that is specific -to one type for @@var{X}. -@@xref{Cos Intrinsic}. - -@@node CDExp Intrinsic -@@subsubsection CDExp Intrinsic -@@cindex CDExp intrinsic -@@cindex intrinsics, CDExp - -@@noindent -@@example -CDExp(@@var{X}) -@@end example - -@@noindent -CDExp: @@code{COMPLEX(KIND=2)} function. - -@@noindent -@@var{X}: @@code{COMPLEX(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}, @@code{vxt}. - -@@noindent -Description: - -Archaic form of @@code{EXP()} that is specific -to one type for @@var{X}. -@@xref{Exp Intrinsic}. - -@@node CDLog Intrinsic -@@subsubsection CDLog Intrinsic -@@cindex CDLog intrinsic -@@cindex intrinsics, CDLog - -@@noindent -@@example -CDLog(@@var{X}) -@@end example - -@@noindent -CDLog: @@code{COMPLEX(KIND=2)} function. - -@@noindent -@@var{X}: @@code{COMPLEX(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}, @@code{vxt}. - -@@noindent -Description: - -Archaic form of @@code{LOG()} that is specific -to one type for @@var{X}. -@@xref{Log Intrinsic}. - -@@node CDSin Intrinsic -@@subsubsection CDSin Intrinsic -@@cindex CDSin intrinsic -@@cindex intrinsics, CDSin - -@@noindent -@@example -CDSin(@@var{X}) -@@end example - -@@noindent -CDSin: @@code{COMPLEX(KIND=2)} function. - -@@noindent -@@var{X}: @@code{COMPLEX(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}, @@code{vxt}. - -@@noindent -Description: - -Archaic form of @@code{SIN()} that is specific -to one type for @@var{X}. -@@xref{Sin Intrinsic}. - -@@node CDSqRt Intrinsic -@@subsubsection CDSqRt Intrinsic -@@cindex CDSqRt intrinsic -@@cindex intrinsics, CDSqRt - -@@noindent -@@example -CDSqRt(@@var{X}) -@@end example - -@@noindent -CDSqRt: @@code{COMPLEX(KIND=2)} function. - -@@noindent -@@var{X}: @@code{COMPLEX(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}, @@code{vxt}. - -@@noindent -Description: - -Archaic form of @@code{SQRT()} that is specific -to one type for @@var{X}. -@@xref{SqRt Intrinsic}. - -@@end ifset -@@ifset familyF90 -@@node Ceiling Intrinsic -@@subsubsection Ceiling Intrinsic -@@cindex Ceiling intrinsic -@@cindex intrinsics, Ceiling - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Ceiling} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node CExp Intrinsic -@@subsubsection CExp Intrinsic -@@cindex CExp intrinsic -@@cindex intrinsics, CExp - -@@noindent -@@example -CExp(@@var{X}) -@@end example - -@@noindent -CExp: @@code{COMPLEX(KIND=1)} function. - -@@noindent -@@var{X}: @@code{COMPLEX(KIND=1)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{EXP()} that is specific -to one type for @@var{X}. -@@xref{Exp Intrinsic}. - -@@node Char Intrinsic -@@subsubsection Char Intrinsic -@@cindex Char intrinsic -@@cindex intrinsics, Char - -@@noindent -@@example -Char(@@var{I}) -@@end example - -@@noindent -Char: @@code{CHARACTER*1} function. - -@@noindent -@@var{I}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns the character corresponding to the -code specified by @@var{I}, using the system's -native character set. - -Because the system's native character set is used, -the correspondence between character and their codes -is not necessarily the same between GNU Fortran -implementations. - -Note that no intrinsic exists to convert a numerical -value to a printable character string. -For example, there is no intrinsic that, given -an @@code{INTEGER} or @@code{REAL} argument with the -value @@samp{154}, returns the @@code{CHARACTER} -result @@samp{'154'}. - -Instead, you can use internal-file I/O to do this kind -of conversion. -For example: - -@@smallexample -INTEGER VALUE -CHARACTER*10 STRING -VALUE = 154 -WRITE (STRING, '(I10)'), VALUE -PRINT *, STRING -END -@@end smallexample - -The above program, when run, prints: - -@@smallexample - 154 -@@end smallexample - -@@xref{IChar Intrinsic}, for the inverse of the @@code{CHAR} function. - -@@xref{AChar Intrinsic}, for the function corresponding -to the ASCII character set. - -@@end ifset -@@ifset familyF2U -@@node ChDir Intrinsic (subroutine) -@@subsubsection ChDir Intrinsic (subroutine) -@@cindex ChDir intrinsic -@@cindex intrinsics, ChDir - -@@noindent -@@example -CALL ChDir(@@var{Dir}, @@var{Status}) -@@end example - -@@noindent -@@var{Dir}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{Status}: @@code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Sets the current working directory to be @@var{Dir}. -If the @@var{Status} argument is supplied, it contains 0 -on success or a non-zero error code otherwise upon return. -See @@code{chdir(3)}. - -@@emph{Caution:} Using this routine during I/O to a unit connected with a -non-absolute file name can cause subsequent I/O on such a unit to fail -because the I/O library might reopen files by name. - -Some non-GNU implementations of Fortran provide this intrinsic as -only a function, not as a subroutine, or do not support the -(optional) @@var{Status} argument. - -For information on other intrinsics with the same name: -@@xref{ChDir Intrinsic (function)}. - -@@end ifset -@@ifset familyBADU77 -@@node ChDir Intrinsic (function) -@@subsubsection ChDir Intrinsic (function) -@@cindex ChDir intrinsic -@@cindex intrinsics, ChDir - -@@noindent -@@example -ChDir(@@var{Dir}) -@@end example - -@@noindent -ChDir: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{Dir}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{badu77}. - -@@noindent -Description: - -Sets the current working directory to be @@var{Dir}. -Returns 0 on success or a non-zero error code. -See @@code{chdir(3)}. - -@@emph{Caution:} Using this routine during I/O to a unit connected with a -non-absolute file name can cause subsequent I/O on such a unit to fail -because the I/O library might reopen files by name. - -Due to the side effects performed by this intrinsic, the function -form is not recommended. - -For information on other intrinsics with the same name: -@@xref{ChDir Intrinsic (subroutine)}. - -@@end ifset -@@ifset familyF2U -@@node ChMod Intrinsic (subroutine) -@@subsubsection ChMod Intrinsic (subroutine) -@@cindex ChMod intrinsic -@@cindex intrinsics, ChMod - -@@noindent -@@example -CALL ChMod(@@var{Name}, @@var{Mode}, @@var{Status}) -@@end example - -@@noindent -@@var{Name}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{Mode}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{Status}: @@code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Changes the access mode of file @@var{Name} according to the -specification @@var{Mode}, which is given in the format of -@@code{chmod(1)}. -A null character (@@samp{CHAR(0)}) marks the end of -the name in @@var{Name}---otherwise, -trailing blanks in @@var{Name} are ignored. -Currently, @@var{Name} must not contain the single quote -character. - -If the @@var{Status} argument is supplied, it contains -0 on success or a non-zero error code upon return. - -Note that this currently works -by actually invoking @@code{/bin/chmod} (or the @@code{chmod} found when -the library was configured) and so might fail in some circumstances and -will, anyway, be slow. - -Some non-GNU implementations of Fortran provide this intrinsic as -only a function, not as a subroutine, or do not support the -(optional) @@var{Status} argument. - -For information on other intrinsics with the same name: -@@xref{ChMod Intrinsic (function)}. - -@@end ifset -@@ifset familyBADU77 -@@node ChMod Intrinsic (function) -@@subsubsection ChMod Intrinsic (function) -@@cindex ChMod intrinsic -@@cindex intrinsics, ChMod - -@@noindent -@@example -ChMod(@@var{Name}, @@var{Mode}) -@@end example - -@@noindent -ChMod: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{Name}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{Mode}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{badu77}. - -@@noindent -Description: - -Changes the access mode of file @@var{Name} according to the -specification @@var{Mode}, which is given in the format of -@@code{chmod(1)}. -A null character (@@samp{CHAR(0)}) marks the end of -the name in @@var{Name}---otherwise, -trailing blanks in @@var{Name} are ignored. -Currently, @@var{Name} must not contain the single quote -character. - -Returns 0 on success or a non-zero error code otherwise. - -Note that this currently works -by actually invoking @@code{/bin/chmod} (or the @@code{chmod} found when -the library was configured) and so might fail in some circumstances and -will, anyway, be slow. - -Due to the side effects performed by this intrinsic, the function -form is not recommended. - -For information on other intrinsics with the same name: -@@xref{ChMod Intrinsic (subroutine)}. - -@@end ifset -@@ifset familyF77 -@@node CLog Intrinsic -@@subsubsection CLog Intrinsic -@@cindex CLog intrinsic -@@cindex intrinsics, CLog - -@@noindent -@@example -CLog(@@var{X}) -@@end example - -@@noindent -CLog: @@code{COMPLEX(KIND=1)} function. - -@@noindent -@@var{X}: @@code{COMPLEX(KIND=1)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{LOG()} that is specific -to one type for @@var{X}. -@@xref{Log Intrinsic}. - -@@node Cmplx Intrinsic -@@subsubsection Cmplx Intrinsic -@@cindex Cmplx intrinsic -@@cindex intrinsics, Cmplx - -@@noindent -@@example -Cmplx(@@var{X}, @@var{Y}) -@@end example - -@@noindent -Cmplx: @@code{COMPLEX(KIND=1)} function. - -@@noindent -@@var{X}: @@code{INTEGER}, @@code{REAL}, or @@code{COMPLEX}; scalar; INTENT(IN). - -@@noindent -@@var{Y}: @@code{INTEGER} or @@code{REAL}; OPTIONAL (must be omitted if @@var{X} is @@code{COMPLEX}); scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -If @@var{X} is not type @@code{COMPLEX}, -constructs a value of type @@code{COMPLEX(KIND=1)} from the -real and imaginary values specified by @@var{X} and -@@var{Y}, respectively. -If @@var{Y} is omitted, @@samp{0.} is assumed. - -If @@var{X} is type @@code{COMPLEX}, -converts it to type @@code{COMPLEX(KIND=1)}. - -@@xref{Complex Intrinsic}, for information on easily constructing -a @@code{COMPLEX} value of arbitrary precision from @@code{REAL} -arguments. - -@@end ifset -@@ifset familyGNU -@@node Complex Intrinsic -@@subsubsection Complex Intrinsic -@@cindex Complex intrinsic -@@cindex intrinsics, Complex - -@@noindent -@@example -Complex(@@var{Real}, @@var{Imag}) -@@end example - -@@noindent -Complex: @@code{COMPLEX} function, the exact type being the result of cross-promoting the -types of all the arguments. - -@@noindent -@@var{Real}: @@code{INTEGER} or @@code{REAL}; scalar; INTENT(IN). - -@@noindent -@@var{Imag}: @@code{INTEGER} or @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{gnu}. - -@@noindent -Description: - -Returns a @@code{COMPLEX} value that has @@samp{Real} and @@samp{Imag} as its -real and imaginary parts, respectively. - -If @@var{Real} and @@var{Imag} are the same type, and that type is not -@@code{INTEGER}, no data conversion is performed, and the type of -the resulting value has the same kind value as the types -of @@var{Real} and @@var{Imag}. - -If @@var{Real} and @@var{Imag} are not the same type, the usual type-promotion -rules are applied to both, converting either or both to the -appropriate @@code{REAL} type. -The type of the resulting value has the same kind value as the -type to which both @@var{Real} and @@var{Imag} were converted, in this case. - -If @@var{Real} and @@var{Imag} are both @@code{INTEGER}, they are both converted -to @@code{REAL(KIND=1)}, and the result of the @@code{COMPLEX()} -invocation is type @@code{COMPLEX(KIND=1)}. - -@@emph{Note:} The way to do this in standard Fortran 90 -is too hairy to describe here, but it is important to -note that @@samp{CMPLX(D1,D2)} returns a @@code{COMPLEX(KIND=1)} -result even if @@samp{D1} and @@samp{D2} are type @@code{REAL(KIND=2)}. -Hence the availability of @@code{COMPLEX()} in GNU Fortran. - -@@end ifset -@@ifset familyF77 -@@node Conjg Intrinsic -@@subsubsection Conjg Intrinsic -@@cindex Conjg intrinsic -@@cindex intrinsics, Conjg - -@@noindent -@@example -Conjg(@@var{Z}) -@@end example - -@@noindent -Conjg: @@code{COMPLEX} function, the @@samp{KIND=} value of the type being that of argument @@var{Z}. - -@@noindent -@@var{Z}: @@code{COMPLEX}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns the complex conjugate: - -@@example -COMPLEX(REALPART(@@var{Z}), -IMAGPART(@@var{Z})) -@@end example - -@@node Cos Intrinsic -@@subsubsection Cos Intrinsic -@@cindex Cos intrinsic -@@cindex intrinsics, Cos - -@@noindent -@@example -Cos(@@var{X}) -@@end example - -@@noindent -Cos: @@code{REAL} or @@code{COMPLEX} function, the exact type being that of argument @@var{X}. - -@@noindent -@@var{X}: @@code{REAL} or @@code{COMPLEX}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns the cosine of @@var{X}, an angle measured -in radians. - -@@xref{ACos Intrinsic}, for the inverse of this function. - -@@end ifset -@@ifset familyVXT -@@node CosD Intrinsic -@@subsubsection CosD Intrinsic -@@cindex CosD intrinsic -@@cindex intrinsics, CosD - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL CosD} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node CosH Intrinsic -@@subsubsection CosH Intrinsic -@@cindex CosH intrinsic -@@cindex intrinsics, CosH - -@@noindent -@@example -CosH(@@var{X}) -@@end example - -@@noindent -CosH: @@code{REAL} function, the @@samp{KIND=} value of the type being that of argument @@var{X}. - -@@noindent -@@var{X}: @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns the hyperbolic cosine of @@var{X}. - -@@end ifset -@@ifset familyF90 -@@node Count Intrinsic -@@subsubsection Count Intrinsic -@@cindex Count intrinsic -@@cindex intrinsics, Count - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Count} to use this name for an -external procedure. - -@@node CPU_Time Intrinsic -@@subsubsection CPU_Time Intrinsic -@@cindex CPU_Time intrinsic -@@cindex intrinsics, CPU_Time - -@@noindent -@@example -CALL CPU_Time(@@var{Seconds}) -@@end example - -@@noindent -@@var{Seconds}: @@code{REAL}; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{f90}. - -@@noindent -Description: - -Returns in @@var{Seconds} the current value of the system time. -This implementation of the Fortran 95 intrinsic is just an alias for -@@code{second} @@xref{Second Intrinsic (subroutine)}. - -@@cindex wraparound, timings -@@cindex limits, timings -On some systems, the underlying timings are represented -using types with sufficiently small limits that overflows -(wraparounds) 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. - -@@node CShift Intrinsic -@@subsubsection CShift Intrinsic -@@cindex CShift intrinsic -@@cindex intrinsics, CShift - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL CShift} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node CSin Intrinsic -@@subsubsection CSin Intrinsic -@@cindex CSin intrinsic -@@cindex intrinsics, CSin - -@@noindent -@@example -CSin(@@var{X}) -@@end example - -@@noindent -CSin: @@code{COMPLEX(KIND=1)} function. - -@@noindent -@@var{X}: @@code{COMPLEX(KIND=1)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{SIN()} that is specific -to one type for @@var{X}. -@@xref{Sin Intrinsic}. - -@@node CSqRt Intrinsic -@@subsubsection CSqRt Intrinsic -@@cindex CSqRt intrinsic -@@cindex intrinsics, CSqRt - -@@noindent -@@example -CSqRt(@@var{X}) -@@end example - -@@noindent -CSqRt: @@code{COMPLEX(KIND=1)} function. - -@@noindent -@@var{X}: @@code{COMPLEX(KIND=1)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{SQRT()} that is specific -to one type for @@var{X}. -@@xref{SqRt Intrinsic}. - -@@end ifset -@@ifset familyF2U -@@node CTime Intrinsic (subroutine) -@@subsubsection CTime Intrinsic (subroutine) -@@cindex CTime intrinsic -@@cindex intrinsics, CTime - -@@noindent -@@example -CALL CTime(@@var{STime}, @@var{Result}) -@@end example - -@@noindent -@@var{STime}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Result}: @@code{CHARACTER}; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Converts @@var{STime}, a system time value, such as returned by -@@code{TIME8()}, to a string of the form @@samp{Sat Aug 19 18:13:14 1995}, -and returns that string in @@var{Result}. - -@@xref{Time8 Intrinsic}. - -Some non-GNU implementations of Fortran provide this intrinsic as -only a function, not as a subroutine. - -For information on other intrinsics with the same name: -@@xref{CTime Intrinsic (function)}. - -@@node CTime Intrinsic (function) -@@subsubsection CTime Intrinsic (function) -@@cindex CTime intrinsic -@@cindex intrinsics, CTime - -@@noindent -@@example -CTime(@@var{STime}) -@@end example - -@@noindent -CTime: @@code{CHARACTER*(*)} function. - -@@noindent -@@var{STime}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Converts @@var{STime}, a system time value, such as returned by -@@code{TIME8()}, to a string of the form @@samp{Sat Aug 19 18:13:14 1995}, -and returns that string as the function value. - -@@xref{Time8 Intrinsic}. - -For information on other intrinsics with the same name: -@@xref{CTime Intrinsic (subroutine)}. - -@@end ifset -@@ifset familyF77 -@@node DAbs Intrinsic -@@subsubsection DAbs Intrinsic -@@cindex DAbs intrinsic -@@cindex intrinsics, DAbs - -@@noindent -@@example -DAbs(@@var{A}) -@@end example - -@@noindent -DAbs: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{A}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{ABS()} that is specific -to one type for @@var{A}. -@@xref{Abs Intrinsic}. - -@@node DACos Intrinsic -@@subsubsection DACos Intrinsic -@@cindex DACos intrinsic -@@cindex intrinsics, DACos - -@@noindent -@@example -DACos(@@var{X}) -@@end example - -@@noindent -DACos: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{ACOS()} that is specific -to one type for @@var{X}. -@@xref{ACos Intrinsic}. - -@@end ifset -@@ifset familyVXT -@@node DACosD Intrinsic -@@subsubsection DACosD Intrinsic -@@cindex DACosD intrinsic -@@cindex intrinsics, DACosD - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL DACosD} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node DASin Intrinsic -@@subsubsection DASin Intrinsic -@@cindex DASin intrinsic -@@cindex intrinsics, DASin - -@@noindent -@@example -DASin(@@var{X}) -@@end example - -@@noindent -DASin: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{ASIN()} that is specific -to one type for @@var{X}. -@@xref{ASin Intrinsic}. - -@@end ifset -@@ifset familyVXT -@@node DASinD Intrinsic -@@subsubsection DASinD Intrinsic -@@cindex DASinD intrinsic -@@cindex intrinsics, DASinD - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL DASinD} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node DATan Intrinsic -@@subsubsection DATan Intrinsic -@@cindex DATan intrinsic -@@cindex intrinsics, DATan - -@@noindent -@@example -DATan(@@var{X}) -@@end example - -@@noindent -DATan: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{ATAN()} that is specific -to one type for @@var{X}. -@@xref{ATan Intrinsic}. - -@@node DATan2 Intrinsic -@@subsubsection DATan2 Intrinsic -@@cindex DATan2 intrinsic -@@cindex intrinsics, DATan2 - -@@noindent -@@example -DATan2(@@var{Y}, @@var{X}) -@@end example - -@@noindent -DATan2: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{Y}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{ATAN2()} that is specific -to one type for @@var{Y} and @@var{X}. -@@xref{ATan2 Intrinsic}. - -@@end ifset -@@ifset familyVXT -@@node DATan2D Intrinsic -@@subsubsection DATan2D Intrinsic -@@cindex DATan2D intrinsic -@@cindex intrinsics, DATan2D - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL DATan2D} to use this name for an -external procedure. - -@@node DATanD Intrinsic -@@subsubsection DATanD Intrinsic -@@cindex DATanD intrinsic -@@cindex intrinsics, DATanD - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL DATanD} to use this name for an -external procedure. - -@@node Date Intrinsic -@@subsubsection Date Intrinsic -@@cindex Date intrinsic -@@cindex intrinsics, Date - -@@noindent -@@example -CALL Date(@@var{Date}) -@@end example - -@@noindent -@@var{Date}: @@code{CHARACTER}; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{vxt}. - -@@noindent -Description: - -Returns @@var{Date} in the form @@samp{@@var{dd}-@@var{mmm}-@@var{yy}}, -representing the numeric day of the month @@var{dd}, a three-character -abbreviation of the month name @@var{mmm} and the last two digits of -the year @@var{yy}, e.g.@@: @@samp{25-Nov-96}. - -@@cindex Y2K compliance -@@cindex Year 2000 compliance -This intrinsic is not recommended, due to the year 2000 approaching. -Therefore, programs making use of this intrinsic -might not be Year 2000 (Y2K) compliant. -@@xref{CTime Intrinsic (subroutine)}, for information on obtaining more digits -for the current (or any) date. - -@@end ifset -@@ifset familyF90 -@@node Date_and_Time Intrinsic -@@subsubsection Date_and_Time Intrinsic -@@cindex Date_and_Time intrinsic -@@cindex intrinsics, Date_and_Time - -@@noindent -@@example -CALL Date_and_Time(@@var{Date}, @@var{Time}, @@var{Zone}, @@var{Values}) -@@end example - -@@noindent -@@var{Date}: @@code{CHARACTER}; scalar; INTENT(OUT). - -@@noindent -@@var{Time}: @@code{CHARACTER}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -@@var{Zone}: @@code{CHARACTER}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -@@var{Values}: @@code{INTEGER(KIND=1)}; OPTIONAL; DIMENSION(8); INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{f90}. - -@@noindent -Description: - -Returns: -@@table @@var -@@item Date -The date in the form @@var{ccyymmdd}: century, year, month and day; -@@item Time -The time in the form @@samp{@@var{hhmmss.ss}}: hours, minutes, seconds -and milliseconds; -@@item Zone -The difference between local time and UTC (GMT) in the form @@var{Shhmm}: -sign, hours and minutes, e.g.@@: @@samp{-0500} (winter in New York); -@@item Values -The year, month of the year, day of the month, time difference in -minutes from UTC, hour of the day, minutes of the hour, seconds -of the minute, and milliseconds -of the second in successive values of the array. -@@end table - -@@cindex Y10K compliance -@@cindex Year 10000 compliance -@@cindex wraparound, Y10K -@@cindex limits, Y10K -Programs making use of this intrinsic -might not be Year 10000 (Y10K) compliant. -For example, the date might appear, -to such programs, to wrap around -(change from a larger value to a smaller one) -as of the Year 10000. - -On systems where a millisecond timer isn't available, the millisecond -value is returned as zero. - -@@end ifset -@@ifset familyF2U -@@node DbesJ0 Intrinsic -@@subsubsection DbesJ0 Intrinsic -@@cindex DbesJ0 intrinsic -@@cindex intrinsics, DbesJ0 - -@@noindent -@@example -DbesJ0(@@var{X}) -@@end example - -@@noindent -DbesJ0: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Archaic form of @@code{BESJ0()} that is specific -to one type for @@var{X}. -@@xref{BesJ0 Intrinsic}. - -@@node DbesJ1 Intrinsic -@@subsubsection DbesJ1 Intrinsic -@@cindex DbesJ1 intrinsic -@@cindex intrinsics, DbesJ1 - -@@noindent -@@example -DbesJ1(@@var{X}) -@@end example - -@@noindent -DbesJ1: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Archaic form of @@code{BESJ1()} that is specific -to one type for @@var{X}. -@@xref{BesJ1 Intrinsic}. - -@@node DbesJN Intrinsic -@@subsubsection DbesJN Intrinsic -@@cindex DbesJN intrinsic -@@cindex intrinsics, DbesJN - -@@noindent -@@example -DbesJN(@@var{N}, @@var{X}) -@@end example - -@@noindent -DbesJN: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{N}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Archaic form of @@code{BESJN()} that is specific -to one type for @@var{X}. -@@xref{BesJN Intrinsic}. - -@@node DbesY0 Intrinsic -@@subsubsection DbesY0 Intrinsic -@@cindex DbesY0 intrinsic -@@cindex intrinsics, DbesY0 - -@@noindent -@@example -DbesY0(@@var{X}) -@@end example - -@@noindent -DbesY0: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Archaic form of @@code{BESY0()} that is specific -to one type for @@var{X}. -@@xref{BesY0 Intrinsic}. - -@@node DbesY1 Intrinsic -@@subsubsection DbesY1 Intrinsic -@@cindex DbesY1 intrinsic -@@cindex intrinsics, DbesY1 - -@@noindent -@@example -DbesY1(@@var{X}) -@@end example - -@@noindent -DbesY1: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Archaic form of @@code{BESY1()} that is specific -to one type for @@var{X}. -@@xref{BesY1 Intrinsic}. - -@@node DbesYN Intrinsic -@@subsubsection DbesYN Intrinsic -@@cindex DbesYN intrinsic -@@cindex intrinsics, DbesYN - -@@noindent -@@example -DbesYN(@@var{N}, @@var{X}) -@@end example - -@@noindent -DbesYN: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{N}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Archaic form of @@code{BESYN()} that is specific -to one type for @@var{X}. -@@xref{BesYN Intrinsic}. - -@@end ifset -@@ifset familyF77 -@@node Dble Intrinsic -@@subsubsection Dble Intrinsic -@@cindex Dble intrinsic -@@cindex intrinsics, Dble - -@@noindent -@@example -Dble(@@var{A}) -@@end example - -@@noindent -Dble: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{A}: @@code{INTEGER}, @@code{REAL}, or @@code{COMPLEX}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns @@var{A} converted to double precision -(@@code{REAL(KIND=2)}). -If @@var{A} is @@code{COMPLEX}, the real part of -@@var{A} is used for the conversion -and the imaginary part disregarded. - -@@xref{Sngl Intrinsic}, for the function that converts -to single precision. - -@@xref{Int Intrinsic}, for the function that converts -to @@code{INTEGER}. - -@@xref{Complex Intrinsic}, for the function that converts -to @@code{COMPLEX}. - -@@end ifset -@@ifset familyVXT -@@node DbleQ Intrinsic -@@subsubsection DbleQ Intrinsic -@@cindex DbleQ intrinsic -@@cindex intrinsics, DbleQ - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL DbleQ} to use this name for an -external procedure. - -@@end ifset -@@ifset familyFVZ -@@node DCmplx Intrinsic -@@subsubsection DCmplx Intrinsic -@@cindex DCmplx intrinsic -@@cindex intrinsics, DCmplx - -@@noindent -@@example -DCmplx(@@var{X}, @@var{Y}) -@@end example - -@@noindent -DCmplx: @@code{COMPLEX(KIND=2)} function. - -@@noindent -@@var{X}: @@code{INTEGER}, @@code{REAL}, or @@code{COMPLEX}; scalar; INTENT(IN). - -@@noindent -@@var{Y}: @@code{INTEGER} or @@code{REAL}; OPTIONAL (must be omitted if @@var{X} is @@code{COMPLEX}); scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}, @@code{vxt}. - -@@noindent -Description: - -If @@var{X} is not type @@code{COMPLEX}, -constructs a value of type @@code{COMPLEX(KIND=2)} from the -real and imaginary values specified by @@var{X} and -@@var{Y}, respectively. -If @@var{Y} is omitted, @@samp{0D0} is assumed. - -If @@var{X} is type @@code{COMPLEX}, -converts it to type @@code{COMPLEX(KIND=2)}. - -Although this intrinsic is not standard Fortran, -it is a popular extension offered by many compilers -that support @@code{DOUBLE COMPLEX}, since it offers -the easiest way to convert to @@code{DOUBLE COMPLEX} -without using Fortran 90 features (such as the @@samp{KIND=} -argument to the @@code{CMPLX()} intrinsic). - -(@@samp{CMPLX(0D0, 0D0)} returns a single-precision -@@code{COMPLEX} result, as required by standard FORTRAN 77. -That's why so many compilers provide @@code{DCMPLX()}, since -@@samp{DCMPLX(0D0, 0D0)} returns a @@code{DOUBLE COMPLEX} -result. -Still, @@code{DCMPLX()} converts even @@code{REAL*16} arguments -to their @@code{REAL*8} equivalents in most dialects of -Fortran, so neither it nor @@code{CMPLX()} allow easy -construction of arbitrary-precision values without -potentially forcing a conversion involving extending or -reducing precision. -GNU Fortran provides such an intrinsic, called @@code{COMPLEX()}.) - -@@xref{Complex Intrinsic}, for information on easily constructing -a @@code{COMPLEX} value of arbitrary precision from @@code{REAL} -arguments. - -@@node DConjg Intrinsic -@@subsubsection DConjg Intrinsic -@@cindex DConjg intrinsic -@@cindex intrinsics, DConjg - -@@noindent -@@example -DConjg(@@var{Z}) -@@end example - -@@noindent -DConjg: @@code{COMPLEX(KIND=2)} function. - -@@noindent -@@var{Z}: @@code{COMPLEX(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}, @@code{vxt}. - -@@noindent -Description: - -Archaic form of @@code{CONJG()} that is specific -to one type for @@var{Z}. -@@xref{Conjg Intrinsic}. - -@@end ifset -@@ifset familyF77 -@@node DCos Intrinsic -@@subsubsection DCos Intrinsic -@@cindex DCos intrinsic -@@cindex intrinsics, DCos - -@@noindent -@@example -DCos(@@var{X}) -@@end example - -@@noindent -DCos: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{COS()} that is specific -to one type for @@var{X}. -@@xref{Cos Intrinsic}. - -@@end ifset -@@ifset familyVXT -@@node DCosD Intrinsic -@@subsubsection DCosD Intrinsic -@@cindex DCosD intrinsic -@@cindex intrinsics, DCosD - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL DCosD} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node DCosH Intrinsic -@@subsubsection DCosH Intrinsic -@@cindex DCosH intrinsic -@@cindex intrinsics, DCosH - -@@noindent -@@example -DCosH(@@var{X}) -@@end example - -@@noindent -DCosH: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{COSH()} that is specific -to one type for @@var{X}. -@@xref{CosH Intrinsic}. - -@@node DDiM Intrinsic -@@subsubsection DDiM Intrinsic -@@cindex DDiM intrinsic -@@cindex intrinsics, DDiM - -@@noindent -@@example -DDiM(@@var{X}, @@var{Y}) -@@end example - -@@noindent -DDiM: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -@@var{Y}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{DIM()} that is specific -to one type for @@var{X} and @@var{Y}. -@@xref{DiM Intrinsic}. - -@@end ifset -@@ifset familyF2U -@@node DErF Intrinsic -@@subsubsection DErF Intrinsic -@@cindex DErF intrinsic -@@cindex intrinsics, DErF - -@@noindent -@@example -DErF(@@var{X}) -@@end example - -@@noindent -DErF: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Archaic form of @@code{ERF()} that is specific -to one type for @@var{X}. -@@xref{ErF Intrinsic}. - -@@node DErFC Intrinsic -@@subsubsection DErFC Intrinsic -@@cindex DErFC intrinsic -@@cindex intrinsics, DErFC - -@@noindent -@@example -DErFC(@@var{X}) -@@end example - -@@noindent -DErFC: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Archaic form of @@code{ERFC()} that is specific -to one type for @@var{X}. -@@xref{ErFC Intrinsic}. - -@@end ifset -@@ifset familyF77 -@@node DExp Intrinsic -@@subsubsection DExp Intrinsic -@@cindex DExp intrinsic -@@cindex intrinsics, DExp - -@@noindent -@@example -DExp(@@var{X}) -@@end example - -@@noindent -DExp: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{EXP()} that is specific -to one type for @@var{X}. -@@xref{Exp Intrinsic}. - -@@end ifset -@@ifset familyFVZ -@@node DFloat Intrinsic -@@subsubsection DFloat Intrinsic -@@cindex DFloat intrinsic -@@cindex intrinsics, DFloat - -@@noindent -@@example -DFloat(@@var{A}) -@@end example - -@@noindent -DFloat: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{A}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}, @@code{vxt}. - -@@noindent -Description: - -Archaic form of @@code{REAL()} that is specific -to one type for @@var{A}. -@@xref{Real Intrinsic}. - -@@end ifset -@@ifset familyVXT -@@node DFlotI Intrinsic -@@subsubsection DFlotI Intrinsic -@@cindex DFlotI intrinsic -@@cindex intrinsics, DFlotI - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL DFlotI} to use this name for an -external procedure. - -@@node DFlotJ Intrinsic -@@subsubsection DFlotJ Intrinsic -@@cindex DFlotJ intrinsic -@@cindex intrinsics, DFlotJ - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL DFlotJ} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF90 -@@node Digits Intrinsic -@@subsubsection Digits Intrinsic -@@cindex Digits intrinsic -@@cindex intrinsics, Digits - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Digits} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node DiM Intrinsic -@@subsubsection DiM Intrinsic -@@cindex DiM intrinsic -@@cindex intrinsics, DiM - -@@noindent -@@example -DiM(@@var{X}, @@var{Y}) -@@end example - -@@noindent -DiM: @@code{INTEGER} or @@code{REAL} function, the exact type being the result of cross-promoting the -types of all the arguments. - -@@noindent -@@var{X}: @@code{INTEGER} or @@code{REAL}; scalar; INTENT(IN). - -@@noindent -@@var{Y}: @@code{INTEGER} or @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns @@samp{@@var{X}-@@var{Y}} if @@var{X} is greater than -@@var{Y}; otherwise returns zero. - -@@end ifset -@@ifset familyFVZ -@@node DImag Intrinsic -@@subsubsection DImag Intrinsic -@@cindex DImag intrinsic -@@cindex intrinsics, DImag - -@@noindent -@@example -DImag(@@var{Z}) -@@end example - -@@noindent -DImag: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{Z}: @@code{COMPLEX(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}, @@code{vxt}. - -@@noindent -Description: - -Archaic form of @@code{AIMAG()} that is specific -to one type for @@var{Z}. -@@xref{AImag Intrinsic}. - -@@end ifset -@@ifset familyF77 -@@node DInt Intrinsic -@@subsubsection DInt Intrinsic -@@cindex DInt intrinsic -@@cindex intrinsics, DInt - -@@noindent -@@example -DInt(@@var{A}) -@@end example - -@@noindent -DInt: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{A}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{AINT()} that is specific -to one type for @@var{A}. -@@xref{AInt Intrinsic}. - -@@node DLog Intrinsic -@@subsubsection DLog Intrinsic -@@cindex DLog intrinsic -@@cindex intrinsics, DLog - -@@noindent -@@example -DLog(@@var{X}) -@@end example - -@@noindent -DLog: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{LOG()} that is specific -to one type for @@var{X}. -@@xref{Log Intrinsic}. - -@@node DLog10 Intrinsic -@@subsubsection DLog10 Intrinsic -@@cindex DLog10 intrinsic -@@cindex intrinsics, DLog10 - -@@noindent -@@example -DLog10(@@var{X}) -@@end example - -@@noindent -DLog10: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{LOG10()} that is specific -to one type for @@var{X}. -@@xref{Log10 Intrinsic}. - -@@node DMax1 Intrinsic -@@subsubsection DMax1 Intrinsic -@@cindex DMax1 intrinsic -@@cindex intrinsics, DMax1 - -@@noindent -@@example -DMax1(@@var{A}-1, @@var{A}-2, @@dots{}, @@var{A}-n) -@@end example - -@@noindent -DMax1: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{A}: @@code{REAL(KIND=2)}; at least two such arguments must be provided; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{MAX()} that is specific -to one type for @@var{A}. -@@xref{Max Intrinsic}. - -@@node DMin1 Intrinsic -@@subsubsection DMin1 Intrinsic -@@cindex DMin1 intrinsic -@@cindex intrinsics, DMin1 - -@@noindent -@@example -DMin1(@@var{A}-1, @@var{A}-2, @@dots{}, @@var{A}-n) -@@end example - -@@noindent -DMin1: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{A}: @@code{REAL(KIND=2)}; at least two such arguments must be provided; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{MIN()} that is specific -to one type for @@var{A}. -@@xref{Min Intrinsic}. - -@@node DMod Intrinsic -@@subsubsection DMod Intrinsic -@@cindex DMod intrinsic -@@cindex intrinsics, DMod - -@@noindent -@@example -DMod(@@var{A}, @@var{P}) -@@end example - -@@noindent -DMod: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{A}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -@@var{P}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{MOD()} that is specific -to one type for @@var{A}. -@@xref{Mod Intrinsic}. - -@@node DNInt Intrinsic -@@subsubsection DNInt Intrinsic -@@cindex DNInt intrinsic -@@cindex intrinsics, DNInt - -@@noindent -@@example -DNInt(@@var{A}) -@@end example - -@@noindent -DNInt: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{A}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{ANINT()} that is specific -to one type for @@var{A}. -@@xref{ANInt Intrinsic}. - -@@end ifset -@@ifset familyF90 -@@node Dot_Product Intrinsic -@@subsubsection Dot_Product Intrinsic -@@cindex Dot_Product intrinsic -@@cindex intrinsics, Dot_Product - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Dot_Product} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node DProd Intrinsic -@@subsubsection DProd Intrinsic -@@cindex DProd intrinsic -@@cindex intrinsics, DProd - -@@noindent -@@example -DProd(@@var{X}, @@var{Y}) -@@end example - -@@noindent -DProd: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=1)}; scalar; INTENT(IN). - -@@noindent -@@var{Y}: @@code{REAL(KIND=1)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns @@samp{DBLE(@@var{X})*DBLE(@@var{Y})}. - -@@end ifset -@@ifset familyVXT -@@node DReal Intrinsic -@@subsubsection DReal Intrinsic -@@cindex DReal intrinsic -@@cindex intrinsics, DReal - -@@noindent -@@example -DReal(@@var{A}) -@@end example - -@@noindent -DReal: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{A}: @@code{INTEGER}, @@code{REAL}, or @@code{COMPLEX}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{vxt}. - -@@noindent -Description: - -Converts @@var{A} to @@code{REAL(KIND=2)}. - -If @@var{A} is type @@code{COMPLEX}, its real part -is converted (if necessary) to @@code{REAL(KIND=2)}, -and its imaginary part is disregarded. - -Although this intrinsic is not standard Fortran, -it is a popular extension offered by many compilers -that support @@code{DOUBLE COMPLEX}, since it offers -the easiest way to extract the real part of a @@code{DOUBLE COMPLEX} -value without using the Fortran 90 @@code{REAL()} intrinsic -in a way that produces a return value inconsistent with -the way many FORTRAN 77 compilers handle @@code{REAL()} of -a @@code{DOUBLE COMPLEX} value. - -@@xref{RealPart Intrinsic}, for information on a GNU Fortran -intrinsic that avoids these areas of confusion. - -@@xref{Dble Intrinsic}, for information on the standard FORTRAN 77 -replacement for @@code{DREAL()}. - -@@xref{REAL() and AIMAG() of Complex}, for more information on -this issue. - -@@end ifset -@@ifset familyF77 -@@node DSign Intrinsic -@@subsubsection DSign Intrinsic -@@cindex DSign intrinsic -@@cindex intrinsics, DSign - -@@noindent -@@example -DSign(@@var{A}, @@var{B}) -@@end example - -@@noindent -DSign: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{A}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -@@var{B}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{SIGN()} that is specific -to one type for @@var{A} and @@var{B}. -@@xref{Sign Intrinsic}. - -@@node DSin Intrinsic -@@subsubsection DSin Intrinsic -@@cindex DSin intrinsic -@@cindex intrinsics, DSin - -@@noindent -@@example -DSin(@@var{X}) -@@end example - -@@noindent -DSin: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{SIN()} that is specific -to one type for @@var{X}. -@@xref{Sin Intrinsic}. - -@@end ifset -@@ifset familyVXT -@@node DSinD Intrinsic -@@subsubsection DSinD Intrinsic -@@cindex DSinD intrinsic -@@cindex intrinsics, DSinD - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL DSinD} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node DSinH Intrinsic -@@subsubsection DSinH Intrinsic -@@cindex DSinH intrinsic -@@cindex intrinsics, DSinH - -@@noindent -@@example -DSinH(@@var{X}) -@@end example - -@@noindent -DSinH: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{SINH()} that is specific -to one type for @@var{X}. -@@xref{SinH Intrinsic}. - -@@node DSqRt Intrinsic -@@subsubsection DSqRt Intrinsic -@@cindex DSqRt intrinsic -@@cindex intrinsics, DSqRt - -@@noindent -@@example -DSqRt(@@var{X}) -@@end example - -@@noindent -DSqRt: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{SQRT()} that is specific -to one type for @@var{X}. -@@xref{SqRt Intrinsic}. - -@@node DTan Intrinsic -@@subsubsection DTan Intrinsic -@@cindex DTan intrinsic -@@cindex intrinsics, DTan - -@@noindent -@@example -DTan(@@var{X}) -@@end example - -@@noindent -DTan: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{TAN()} that is specific -to one type for @@var{X}. -@@xref{Tan Intrinsic}. - -@@end ifset -@@ifset familyVXT -@@node DTanD Intrinsic -@@subsubsection DTanD Intrinsic -@@cindex DTanD intrinsic -@@cindex intrinsics, DTanD - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL DTanD} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node DTanH Intrinsic -@@subsubsection DTanH Intrinsic -@@cindex DTanH intrinsic -@@cindex intrinsics, DTanH - -@@noindent -@@example -DTanH(@@var{X}) -@@end example - -@@noindent -DTanH: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{X}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{TANH()} that is specific -to one type for @@var{X}. -@@xref{TanH Intrinsic}. - -@@end ifset -@@ifset familyF2U -@@node DTime Intrinsic (subroutine) -@@subsubsection DTime Intrinsic (subroutine) -@@cindex DTime intrinsic -@@cindex intrinsics, DTime - -@@noindent -@@example -CALL DTime(@@var{TArray}, @@var{Result}) -@@end example - -@@noindent -@@var{TArray}: @@code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT). - -@@noindent -@@var{Result}: @@code{REAL(KIND=1)}; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Initially, return the number of seconds of runtime -since the start of the process's execution -in @@var{Result}, -and the user and system components of this in @@samp{@@var{TArray}(1)} -and @@samp{@@var{TArray}(2)} respectively. -The value of @@var{Result} is equal to @@samp{@@var{TArray}(1) + @@var{TArray}(2)}. - -Subsequent invocations of @@samp{DTIME()} set values based on accumulations -since the previous invocation. - -@@cindex wraparound, timings -@@cindex limits, timings -On some systems, the underlying timings are represented -using types with sufficiently small limits that overflows -(wraparounds) 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. - -Some non-GNU implementations of Fortran provide this intrinsic as -only a function, not as a subroutine. - -For information on other intrinsics with the same name: -@@xref{DTime Intrinsic (function)}. - -@@end ifset -@@ifset familyBADU77 -@@node DTime Intrinsic (function) -@@subsubsection DTime Intrinsic (function) -@@cindex DTime intrinsic -@@cindex intrinsics, DTime - -@@noindent -@@example -DTime(@@var{TArray}) -@@end example - -@@noindent -DTime: @@code{REAL(KIND=1)} function. - -@@noindent -@@var{TArray}: @@code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{badu77}. - -@@noindent -Description: - -Initially, return the number of seconds of runtime -since the start of the process's execution -as the function value, -and the user and system components of this in @@samp{@@var{TArray}(1)} -and @@samp{@@var{TArray}(2)} respectively. -The functions' value is equal to @@samp{@@var{TArray}(1) + @@var{TArray}(2)}. - -Subsequent invocations of @@samp{DTIME()} return values accumulated since the -previous invocation. - -@@cindex wraparound, timings -@@cindex limits, timings -On some systems, the underlying timings are represented -using types with sufficiently small limits that overflows -(wraparounds) 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. - -Due to the side effects performed by this intrinsic, the function -form is not recommended. - -For information on other intrinsics with the same name: -@@xref{DTime Intrinsic (subroutine)}. - -@@end ifset -@@ifset familyF90 -@@node EOShift Intrinsic -@@subsubsection EOShift Intrinsic -@@cindex EOShift intrinsic -@@cindex intrinsics, EOShift - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL EOShift} to use this name for an -external procedure. - -@@node Epsilon Intrinsic -@@subsubsection Epsilon Intrinsic -@@cindex Epsilon intrinsic -@@cindex intrinsics, Epsilon - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Epsilon} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF2U -@@node ErF Intrinsic -@@subsubsection ErF Intrinsic -@@cindex ErF intrinsic -@@cindex intrinsics, ErF - -@@noindent -@@example -ErF(@@var{X}) -@@end example - -@@noindent -ErF: @@code{REAL} function, the @@samp{KIND=} value of the type being that of argument @@var{X}. - -@@noindent -@@var{X}: @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns the error function of @@var{X}. -See @@code{erf(3m)}, which provides the implementation. - -@@node ErFC Intrinsic -@@subsubsection ErFC Intrinsic -@@cindex ErFC intrinsic -@@cindex intrinsics, ErFC - -@@noindent -@@example -ErFC(@@var{X}) -@@end example - -@@noindent -ErFC: @@code{REAL} function, the @@samp{KIND=} value of the type being that of argument @@var{X}. - -@@noindent -@@var{X}: @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns the complementary error function of @@var{X}: -@@samp{ERFC(R) = 1 - ERF(R)} (except that the result might be more -accurate than explicitly evaluating that formulae would give). -See @@code{erfc(3m)}, which provides the implementation. - -@@node ETime Intrinsic (subroutine) -@@subsubsection ETime Intrinsic (subroutine) -@@cindex ETime intrinsic -@@cindex intrinsics, ETime - -@@noindent -@@example -CALL ETime(@@var{TArray}, @@var{Result}) -@@end example - -@@noindent -@@var{TArray}: @@code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT). - -@@noindent -@@var{Result}: @@code{REAL(KIND=1)}; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Return the number of seconds of runtime -since the start of the process's execution -in @@var{Result}, -and the user and system components of this in @@samp{@@var{TArray}(1)} -and @@samp{@@var{TArray}(2)} respectively. -The value of @@var{Result} is equal to @@samp{@@var{TArray}(1) + @@var{TArray}(2)}. - -@@cindex wraparound, timings -@@cindex limits, timings -On some systems, the underlying timings are represented -using types with sufficiently small limits that overflows -(wraparounds) 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. - -Some non-GNU implementations of Fortran provide this intrinsic as -only a function, not as a subroutine. - -For information on other intrinsics with the same name: -@@xref{ETime Intrinsic (function)}. - -@@node ETime Intrinsic (function) -@@subsubsection ETime Intrinsic (function) -@@cindex ETime intrinsic -@@cindex intrinsics, ETime - -@@noindent -@@example -ETime(@@var{TArray}) -@@end example - -@@noindent -ETime: @@code{REAL(KIND=1)} function. - -@@noindent -@@var{TArray}: @@code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Return the number of seconds of runtime -since the start of the process's execution -as the function value, -and the user and system components of this in @@samp{@@var{TArray}(1)} -and @@samp{@@var{TArray}(2)} respectively. -The functions' value is equal to @@samp{@@var{TArray}(1) + @@var{TArray}(2)}. - -@@cindex wraparound, timings -@@cindex limits, timings -On some systems, the underlying timings are represented -using types with sufficiently small limits that overflows -(wraparounds) 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. - -For information on other intrinsics with the same name: -@@xref{ETime Intrinsic (subroutine)}. - -@@node Exit Intrinsic -@@subsubsection Exit Intrinsic -@@cindex Exit intrinsic -@@cindex intrinsics, Exit - -@@noindent -@@example -CALL Exit(@@var{Status}) -@@end example - -@@noindent -@@var{Status}: @@code{INTEGER}; OPTIONAL; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Exit the program with status @@var{Status} after closing open Fortran -I/O units and otherwise behaving as @@code{exit(2)}. -If @@var{Status} is omitted the canonical `success' value -will be returned to the system. - -@@end ifset -@@ifset familyF77 -@@node Exp Intrinsic -@@subsubsection Exp Intrinsic -@@cindex Exp intrinsic -@@cindex intrinsics, Exp - -@@noindent -@@example -Exp(@@var{X}) -@@end example - -@@noindent -Exp: @@code{REAL} or @@code{COMPLEX} function, the exact type being that of argument @@var{X}. - -@@noindent -@@var{X}: @@code{REAL} or @@code{COMPLEX}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns @@samp{@@var{e}**@@var{X}}, where -@@var{e} is approximately 2.7182818. - -@@xref{Log Intrinsic}, for the inverse of this function. - -@@end ifset -@@ifset familyF90 -@@node Exponent Intrinsic -@@subsubsection Exponent Intrinsic -@@cindex Exponent intrinsic -@@cindex intrinsics, Exponent - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Exponent} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF2U -@@node FDate Intrinsic (subroutine) -@@subsubsection FDate Intrinsic (subroutine) -@@cindex FDate intrinsic -@@cindex intrinsics, FDate - -@@noindent -@@example -CALL FDate(@@var{Date}) -@@end example - -@@noindent -@@var{Date}: @@code{CHARACTER}; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns the current date (using the same format as @@code{CTIME()}) -in @@var{Date}. - -Equivalent to: - -@@example -CALL CTIME(@@var{Date}, TIME8()) -@@end example - -@@cindex Y10K compliance -@@cindex Year 10000 compliance -@@cindex wraparound, Y10K -@@cindex limits, Y10K -Programs making use of this intrinsic -might not be Year 10000 (Y10K) compliant. -For example, the date might appear, -to such programs, to wrap around -(change from a larger value to a smaller one) -as of the Year 10000. - -@@xref{CTime Intrinsic (subroutine)}. - -Some non-GNU implementations of Fortran provide this intrinsic as -only a function, not as a subroutine. - -For information on other intrinsics with the same name: -@@xref{FDate Intrinsic (function)}. - -@@node FDate Intrinsic (function) -@@subsubsection FDate Intrinsic (function) -@@cindex FDate intrinsic -@@cindex intrinsics, FDate - -@@noindent -@@example -FDate() -@@end example - -@@noindent -FDate: @@code{CHARACTER*(*)} function. - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns the current date (using the same format as @@code{CTIME()}). - -Equivalent to: - -@@example -CTIME(TIME8()) -@@end example - -@@cindex Y10K compliance -@@cindex Year 10000 compliance -@@cindex wraparound, Y10K -@@cindex limits, Y10K -Programs making use of this intrinsic -might not be Year 10000 (Y10K) compliant. -For example, the date might appear, -to such programs, to wrap around -(change from a larger value to a smaller one) -as of the Year 10000. - -@@xref{CTime Intrinsic (function)}. - -For information on other intrinsics with the same name: -@@xref{FDate Intrinsic (subroutine)}. - -@@node FGet Intrinsic (subroutine) -@@subsubsection FGet Intrinsic (subroutine) -@@cindex FGet intrinsic -@@cindex intrinsics, FGet - -@@noindent -@@example -CALL FGet(@@var{C}, @@var{Status}) -@@end example - -@@noindent -@@var{C}: @@code{CHARACTER}; scalar; INTENT(OUT). - -@@noindent -@@var{Status}: @@code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Reads a single character into @@var{C} in stream mode from unit 5 -(by-passing normal formatted output) using @@code{getc(3)}. -Returns in -@@var{Status} 0 on success, @@minus{}1 on end-of-file, and the error code -from @@code{ferror(3)} otherwise. - -Stream I/O should not be mixed with normal record-oriented (formatted or -unformatted) I/O on the same unit; the results are unpredictable. - -For information on other intrinsics with the same name: -@@xref{FGet Intrinsic (function)}. - -@@end ifset -@@ifset familyBADU77 -@@node FGet Intrinsic (function) -@@subsubsection FGet Intrinsic (function) -@@cindex FGet intrinsic -@@cindex intrinsics, FGet - -@@noindent -@@example -FGet(@@var{C}) -@@end example - -@@noindent -FGet: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{C}: @@code{CHARACTER}; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{badu77}. - -@@noindent -Description: - -Reads a single character into @@var{C} in stream mode from unit 5 -(by-passing normal formatted input) using @@code{getc(3)}. -Returns 0 on -success, @@minus{}1 on end-of-file, and the error code from -@@code{ferror(3)} otherwise. - -Stream I/O should not be mixed with normal record-oriented (formatted or -unformatted) I/O on the same unit; the results are unpredictable. - -For information on other intrinsics with the same name: -@@xref{FGet Intrinsic (subroutine)}. - -@@end ifset -@@ifset familyF2U -@@node FGetC Intrinsic (subroutine) -@@subsubsection FGetC Intrinsic (subroutine) -@@cindex FGetC intrinsic -@@cindex intrinsics, FGetC - -@@noindent -@@example -CALL FGetC(@@var{Unit}, @@var{C}, @@var{Status}) -@@end example - -@@noindent -@@var{Unit}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{C}: @@code{CHARACTER}; scalar; INTENT(OUT). - -@@noindent -@@var{Status}: @@code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Reads a single character into @@var{C} in stream mode from unit @@var{Unit} -(by-passing normal formatted output) using @@code{getc(3)}. -Returns in -@@var{Status} 0 on success, @@minus{}1 on end-of-file, and the error code from -@@code{ferror(3)} otherwise. - -Stream I/O should not be mixed with normal record-oriented (formatted or -unformatted) I/O on the same unit; the results are unpredictable. - -For information on other intrinsics with the same name: -@@xref{FGetC Intrinsic (function)}. - -@@end ifset -@@ifset familyBADU77 -@@node FGetC Intrinsic (function) -@@subsubsection FGetC Intrinsic (function) -@@cindex FGetC intrinsic -@@cindex intrinsics, FGetC - -@@noindent -@@example -FGetC(@@var{Unit}, @@var{C}) -@@end example - -@@noindent -FGetC: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{Unit}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{C}: @@code{CHARACTER}; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{badu77}. - -@@noindent -Description: - -Reads a single character into @@var{C} in stream mode from unit @@var{Unit} -(by-passing normal formatted output) using @@code{getc(3)}. -Returns 0 on -success, @@minus{}1 on end-of-file, and the error code from -@@code{ferror(3)} otherwise. - -Stream I/O should not be mixed with normal record-oriented (formatted or -unformatted) I/O on the same unit; the results are unpredictable. - -For information on other intrinsics with the same name: -@@xref{FGetC Intrinsic (subroutine)}. - -@@end ifset -@@ifset familyF77 -@@node Float Intrinsic -@@subsubsection Float Intrinsic -@@cindex Float intrinsic -@@cindex intrinsics, Float - -@@noindent -@@example -Float(@@var{A}) -@@end example - -@@noindent -Float: @@code{REAL(KIND=1)} function. - -@@noindent -@@var{A}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{REAL()} that is specific -to one type for @@var{A}. -@@xref{Real Intrinsic}. - -@@end ifset -@@ifset familyVXT -@@node FloatI Intrinsic -@@subsubsection FloatI Intrinsic -@@cindex FloatI intrinsic -@@cindex intrinsics, FloatI - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL FloatI} to use this name for an -external procedure. - -@@node FloatJ Intrinsic -@@subsubsection FloatJ Intrinsic -@@cindex FloatJ intrinsic -@@cindex intrinsics, FloatJ - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL FloatJ} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF90 -@@node Floor Intrinsic -@@subsubsection Floor Intrinsic -@@cindex Floor intrinsic -@@cindex intrinsics, Floor - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Floor} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF2U -@@node Flush Intrinsic -@@subsubsection Flush Intrinsic -@@cindex Flush intrinsic -@@cindex intrinsics, Flush - -@@noindent -@@example -CALL Flush(@@var{Unit}) -@@end example - -@@noindent -@@var{Unit}: @@code{INTEGER}; OPTIONAL; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Flushes Fortran unit(s) currently open for output. -Without the optional argument, all such units are flushed, -otherwise just the unit specified by @@var{Unit}. - -Some non-GNU implementations of Fortran provide this intrinsic -as a library procedure that might or might not support the -(optional) @@var{Unit} argument. - -@@node FNum Intrinsic -@@subsubsection FNum Intrinsic -@@cindex FNum intrinsic -@@cindex intrinsics, FNum - -@@noindent -@@example -FNum(@@var{Unit}) -@@end example - -@@noindent -FNum: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{Unit}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns the Unix file descriptor number corresponding to the open -Fortran I/O unit @@var{Unit}. -This could be passed to an interface to C I/O routines. - -@@node FPut Intrinsic (subroutine) -@@subsubsection FPut Intrinsic (subroutine) -@@cindex FPut intrinsic -@@cindex intrinsics, FPut - -@@noindent -@@example -CALL FPut(@@var{C}, @@var{Status}) -@@end example - -@@noindent -@@var{C}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{Status}: @@code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Writes the single character @@var{C} in stream mode to unit 6 -(by-passing normal formatted output) using @@code{putc(3)}. -Returns in -@@var{Status} 0 on success, the error code from @@code{ferror(3)} otherwise. - -Stream I/O should not be mixed with normal record-oriented (formatted or -unformatted) I/O on the same unit; the results are unpredictable. - -For information on other intrinsics with the same name: -@@xref{FPut Intrinsic (function)}. - -@@end ifset -@@ifset familyBADU77 -@@node FPut Intrinsic (function) -@@subsubsection FPut Intrinsic (function) -@@cindex FPut intrinsic -@@cindex intrinsics, FPut - -@@noindent -@@example -FPut(@@var{C}) -@@end example - -@@noindent -FPut: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{C}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{badu77}. - -@@noindent -Description: - -Writes the single character @@var{C} in stream mode to unit 6 -(by-passing normal formatted output) using @@code{getc(3)}. -Returns 0 on -success, the error code from @@code{ferror(3)} otherwise. - -Stream I/O should not be mixed with normal record-oriented (formatted or -unformatted) I/O on the same unit; the results are unpredictable. - -For information on other intrinsics with the same name: -@@xref{FPut Intrinsic (subroutine)}. - -@@end ifset -@@ifset familyF2U -@@node FPutC Intrinsic (subroutine) -@@subsubsection FPutC Intrinsic (subroutine) -@@cindex FPutC intrinsic -@@cindex intrinsics, FPutC - -@@noindent -@@example -CALL FPutC(@@var{Unit}, @@var{C}, @@var{Status}) -@@end example - -@@noindent -@@var{Unit}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{C}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{Status}: @@code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Writes the single character @@var{Unit} in stream mode to unit 6 -(by-passing normal formatted output) using @@code{putc(3)}. -Returns in -@@var{C} 0 on success, the error code from @@code{ferror(3)} otherwise. - -Stream I/O should not be mixed with normal record-oriented (formatted or -unformatted) I/O on the same unit; the results are unpredictable. - -For information on other intrinsics with the same name: -@@xref{FPutC Intrinsic (function)}. - -@@end ifset -@@ifset familyBADU77 -@@node FPutC Intrinsic (function) -@@subsubsection FPutC Intrinsic (function) -@@cindex FPutC intrinsic -@@cindex intrinsics, FPutC - -@@noindent -@@example -FPutC(@@var{Unit}, @@var{C}) -@@end example - -@@noindent -FPutC: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{Unit}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{C}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{badu77}. - -@@noindent -Description: - -Writes the single character @@var{C} in stream mode to unit @@var{Unit} -(by-passing normal formatted output) using @@code{putc(3)}. -Returns 0 on -success, the error code from @@code{ferror(3)} otherwise. - -Stream I/O should not be mixed with normal record-oriented (formatted or -unformatted) I/O on the same unit; the results are unpredictable. - -For information on other intrinsics with the same name: -@@xref{FPutC Intrinsic (subroutine)}. - -@@end ifset -@@ifset familyF90 -@@node Fraction Intrinsic -@@subsubsection Fraction Intrinsic -@@cindex Fraction intrinsic -@@cindex intrinsics, Fraction - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Fraction} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF2U -@@node FSeek Intrinsic -@@subsubsection FSeek Intrinsic -@@cindex FSeek intrinsic -@@cindex intrinsics, FSeek - -@@noindent -@@example -CALL FSeek(@@var{Unit}, @@var{Offset}, @@var{Whence}, @@var{ErrLab}) -@@end example - -@@noindent -@@var{Unit}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Offset}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Whence}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{ErrLab}: @@samp{*@@var{label}}, where @@var{label} is the label -of an executable statement; OPTIONAL. - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Attempts to move Fortran unit @@var{Unit} to the specified -@@var{Offset}: absolute offset if @@var{Whence}=0; relative to the -current offset if @@var{Whence}=1; relative to the end of the file if -@@var{Whence}=2. -It branches to label @@var{ErrLab} if @@var{Unit} is -not open or if the call otherwise fails. - -@@node FStat Intrinsic (subroutine) -@@subsubsection FStat Intrinsic (subroutine) -@@cindex FStat intrinsic -@@cindex intrinsics, FStat - -@@noindent -@@example -CALL FStat(@@var{Unit}, @@var{SArray}, @@var{Status}) -@@end example - -@@noindent -@@var{Unit}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{SArray}: @@code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT). - -@@noindent -@@var{Status}: @@code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Obtains data about the file open on Fortran I/O unit @@var{Unit} and -places them in the array @@var{SArray}. -The values in this array are -extracted from the @@code{stat} structure as returned by -@@code{fstat(2)} q.v., as follows: - -@@enumerate -@@item -Device ID - -@@item -Inode number - -@@item -File mode - -@@item -Number of links - -@@item -Owner's uid - -@@item -Owner's gid - -@@item -ID of device containing directory entry for file -(0 if not available) - -@@item -File size (bytes) - -@@item -Last access time - -@@item -Last modification time - -@@item -Last file status change time - -@@item -Preferred I/O block size (-1 if not available) - -@@item -Number of blocks allocated (-1 if not available) -@@end enumerate - -Not all these elements are relevant on all systems. -If an element is not relevant, it is returned as 0. - -If the @@var{Status} argument is supplied, it contains -0 on success or a non-zero error code upon return. - -Some non-GNU implementations of Fortran provide this intrinsic as -only a function, not as a subroutine, or do not support the -(optional) @@var{Status} argument. - -For information on other intrinsics with the same name: -@@xref{FStat Intrinsic (function)}. - -@@node FStat Intrinsic (function) -@@subsubsection FStat Intrinsic (function) -@@cindex FStat intrinsic -@@cindex intrinsics, FStat - -@@noindent -@@example -FStat(@@var{Unit}, @@var{SArray}) -@@end example - -@@noindent -FStat: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{Unit}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{SArray}: @@code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Obtains data about the file open on Fortran I/O unit @@var{Unit} and -places them in the array @@var{SArray}. -The values in this array are -extracted from the @@code{stat} structure as returned by -@@code{fstat(2)} q.v., as follows: - -@@enumerate -@@item -Device ID - -@@item -Inode number - -@@item -File mode - -@@item -Number of links - -@@item -Owner's uid - -@@item -Owner's gid - -@@item -ID of device containing directory entry for file -(0 if not available) - -@@item -File size (bytes) - -@@item -Last access time - -@@item -Last modification time - -@@item -Last file status change time - -@@item -Preferred I/O block size (-1 if not available) - -@@item -Number of blocks allocated (-1 if not available) -@@end enumerate - -Not all these elements are relevant on all systems. -If an element is not relevant, it is returned as 0. - -Returns 0 on success or a non-zero error code. - -For information on other intrinsics with the same name: -@@xref{FStat Intrinsic (subroutine)}. - -@@node FTell Intrinsic (subroutine) -@@subsubsection FTell Intrinsic (subroutine) -@@cindex FTell intrinsic -@@cindex intrinsics, FTell - -@@noindent -@@example -CALL FTell(@@var{Unit}, @@var{Offset}) -@@end example - -@@noindent -@@var{Unit}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Offset}: @@code{INTEGER(KIND=1)}; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Sets @@var{Offset} to the current offset of Fortran unit @@var{Unit} -(or to @@minus{}1 if @@var{Unit} is not open). - -Some non-GNU implementations of Fortran provide this intrinsic as -only a function, not as a subroutine. - -For information on other intrinsics with the same name: -@@xref{FTell Intrinsic (function)}. - -@@node FTell Intrinsic (function) -@@subsubsection FTell Intrinsic (function) -@@cindex FTell intrinsic -@@cindex intrinsics, FTell - -@@noindent -@@example -FTell(@@var{Unit}) -@@end example - -@@noindent -FTell: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{Unit}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns the current offset of Fortran unit @@var{Unit} -(or @@minus{}1 if @@var{Unit} is not open). - -For information on other intrinsics with the same name: -@@xref{FTell Intrinsic (subroutine)}. - -@@node GError Intrinsic -@@subsubsection GError Intrinsic -@@cindex GError intrinsic -@@cindex intrinsics, GError - -@@noindent -@@example -CALL GError(@@var{Message}) -@@end example - -@@noindent -@@var{Message}: @@code{CHARACTER}; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns the system error message corresponding to the last system -error (C @@code{errno}). - -@@node GetArg Intrinsic -@@subsubsection GetArg Intrinsic -@@cindex GetArg intrinsic -@@cindex intrinsics, GetArg - -@@noindent -@@example -CALL GetArg(@@var{Pos}, @@var{Value}) -@@end example - -@@noindent -@@var{Pos}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Value}: @@code{CHARACTER}; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Sets @@var{Value} to the @@var{Pos}-th command-line argument (or to all -blanks if there are fewer than @@var{Value} command-line arguments); -@@code{CALL GETARG(0, @@var{value})} sets @@var{value} to the name of the -program (on systems that support this feature). - -@@xref{IArgC Intrinsic}, for information on how to get the number -of arguments. - -@@node GetCWD Intrinsic (subroutine) -@@subsubsection GetCWD Intrinsic (subroutine) -@@cindex GetCWD intrinsic -@@cindex intrinsics, GetCWD - -@@noindent -@@example -CALL GetCWD(@@var{Name}, @@var{Status}) -@@end example - -@@noindent -@@var{Name}: @@code{CHARACTER}; scalar; INTENT(OUT). - -@@noindent -@@var{Status}: @@code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Places the current working directory in @@var{Name}. -If the @@var{Status} argument is supplied, it contains 0 -success or a non-zero error code upon return -(@@code{ENOSYS} if the system does not provide @@code{getcwd(3)} -or @@code{getwd(3)}). - -Some non-GNU implementations of Fortran provide this intrinsic as -only a function, not as a subroutine, or do not support the -(optional) @@var{Status} argument. - -For information on other intrinsics with the same name: -@@xref{GetCWD Intrinsic (function)}. - -@@node GetCWD Intrinsic (function) -@@subsubsection GetCWD Intrinsic (function) -@@cindex GetCWD intrinsic -@@cindex intrinsics, GetCWD - -@@noindent -@@example -GetCWD(@@var{Name}) -@@end example - -@@noindent -GetCWD: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{Name}: @@code{CHARACTER}; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Places the current working directory in @@var{Name}. -Returns 0 on -success, otherwise a non-zero error code -(@@code{ENOSYS} if the system does not provide @@code{getcwd(3)} -or @@code{getwd(3)}). - -For information on other intrinsics with the same name: -@@xref{GetCWD Intrinsic (subroutine)}. - -@@node GetEnv Intrinsic -@@subsubsection GetEnv Intrinsic -@@cindex GetEnv intrinsic -@@cindex intrinsics, GetEnv - -@@noindent -@@example -CALL GetEnv(@@var{Name}, @@var{Value}) -@@end example - -@@noindent -@@var{Name}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{Value}: @@code{CHARACTER}; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Sets @@var{Value} to the value of environment variable given by the -value of @@var{Name} (@@code{$name} in shell terms) or to blanks if -@@code{$name} has not been set. -A null character (@@samp{CHAR(0)}) marks the end of -the name in @@var{Name}---otherwise, -trailing blanks in @@var{Name} are ignored. - -@@node GetGId Intrinsic -@@subsubsection GetGId Intrinsic -@@cindex GetGId intrinsic -@@cindex intrinsics, GetGId - -@@noindent -@@example -GetGId() -@@end example - -@@noindent -GetGId: @@code{INTEGER(KIND=1)} function. - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns the group id for the current process. - -@@node GetLog Intrinsic -@@subsubsection GetLog Intrinsic -@@cindex GetLog intrinsic -@@cindex intrinsics, GetLog - -@@noindent -@@example -CALL GetLog(@@var{Login}) -@@end example - -@@noindent -@@var{Login}: @@code{CHARACTER}; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns the login name for the process in @@var{Login}. - -@@emph{Caution:} On some systems, the @@code{getlogin(3)} -function, which this intrinsic calls at run time, -is either not implemented or returns a null pointer. -In the latter case, this intrinsic returns blanks -in @@var{Login}. - -@@node GetPId Intrinsic -@@subsubsection GetPId Intrinsic -@@cindex GetPId intrinsic -@@cindex intrinsics, GetPId - -@@noindent -@@example -GetPId() -@@end example - -@@noindent -GetPId: @@code{INTEGER(KIND=1)} function. - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns the process id for the current process. - -@@node GetUId Intrinsic -@@subsubsection GetUId Intrinsic -@@cindex GetUId intrinsic -@@cindex intrinsics, GetUId - -@@noindent -@@example -GetUId() -@@end example - -@@noindent -GetUId: @@code{INTEGER(KIND=1)} function. - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns the user id for the current process. - -@@node GMTime Intrinsic -@@subsubsection GMTime Intrinsic -@@cindex GMTime intrinsic -@@cindex intrinsics, GMTime - -@@noindent -@@example -CALL GMTime(@@var{STime}, @@var{TArray}) -@@end example - -@@noindent -@@var{STime}: @@code{INTEGER(KIND=1)}; scalar; INTENT(IN). - -@@noindent -@@var{TArray}: @@code{INTEGER(KIND=1)}; DIMENSION(9); INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Given a system time value @@var{STime}, fills @@var{TArray} with values -extracted from it appropriate to the GMT time zone using -@@code{gmtime(3)}. - -The array elements are as follows: - -@@enumerate -@@item -Seconds after the minute, range 0--59 or 0--61 to allow for leap -seconds - -@@item -Minutes after the hour, range 0--59 - -@@item -Hours past midnight, range 0--23 - -@@item -Day of month, range 0--31 - -@@item -Number of months since January, range 0--12 - -@@item -Years since 1900 - -@@item -Number of days since Sunday, range 0--6 - -@@item -Days since January 1 - -@@item -Daylight savings indicator: positive if daylight savings is in effect, -zero if not, and negative if the information isn't available. -@@end enumerate - -@@node HostNm Intrinsic (subroutine) -@@subsubsection HostNm Intrinsic (subroutine) -@@cindex HostNm intrinsic -@@cindex intrinsics, HostNm - -@@noindent -@@example -CALL HostNm(@@var{Name}, @@var{Status}) -@@end example - -@@noindent -@@var{Name}: @@code{CHARACTER}; scalar; INTENT(OUT). - -@@noindent -@@var{Status}: @@code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Fills @@var{Name} with the system's host name returned by -@@code{gethostname(2)}. -If the @@var{Status} argument is supplied, it contains -0 on success or a non-zero error code upon return -(@@code{ENOSYS} if the system does not provide @@code{gethostname(2)}). - -Some non-GNU implementations of Fortran provide this intrinsic as -only a function, not as a subroutine, or do not support the -(optional) @@var{Status} argument. - -On some systems (specifically SCO) it might be necessary to link the -``socket'' library if you call this routine. -Typically this means adding @@samp{-lg2c -lsocket -lm} -to the @@code{g77} command line when linking the program. - -For information on other intrinsics with the same name: -@@xref{HostNm Intrinsic (function)}. - -@@node HostNm Intrinsic (function) -@@subsubsection HostNm Intrinsic (function) -@@cindex HostNm intrinsic -@@cindex intrinsics, HostNm - -@@noindent -@@example -HostNm(@@var{Name}) -@@end example - -@@noindent -HostNm: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{Name}: @@code{CHARACTER}; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Fills @@var{Name} with the system's host name returned by -@@code{gethostname(2)}, returning 0 on success or a non-zero error code -(@@code{ENOSYS} if the system does not provide @@code{gethostname(2)}). - -On some systems (specifically SCO) it might be necessary to link the -``socket'' library if you call this routine. -Typically this means adding @@samp{-lg2c -lsocket -lm} -to the @@code{g77} command line when linking the program. - -For information on other intrinsics with the same name: -@@xref{HostNm Intrinsic (subroutine)}. - -@@end ifset -@@ifset familyF90 -@@node Huge Intrinsic -@@subsubsection Huge Intrinsic -@@cindex Huge intrinsic -@@cindex intrinsics, Huge - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Huge} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node IAbs Intrinsic -@@subsubsection IAbs Intrinsic -@@cindex IAbs intrinsic -@@cindex intrinsics, IAbs - -@@noindent -@@example -IAbs(@@var{A}) -@@end example - -@@noindent -IAbs: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{A}: @@code{INTEGER(KIND=1)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{ABS()} that is specific -to one type for @@var{A}. -@@xref{Abs Intrinsic}. - -@@end ifset -@@ifset familyASC -@@node IAChar Intrinsic -@@subsubsection IAChar Intrinsic -@@cindex IAChar intrinsic -@@cindex intrinsics, IAChar - -@@noindent -@@example -IAChar(@@var{C}) -@@end example - -@@noindent -IAChar: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{C}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}, @@code{f90}. - -@@noindent -Description: - -Returns the code for the ASCII character in the -first character position of @@var{C}. - -@@xref{AChar Intrinsic}, for the inverse of this function. - -@@xref{IChar Intrinsic}, for the function corresponding -to the system's native character set. - -@@end ifset -@@ifset familyMIL -@@node IAnd Intrinsic -@@subsubsection IAnd Intrinsic -@@cindex IAnd intrinsic -@@cindex intrinsics, IAnd - -@@noindent -@@example -IAnd(@@var{I}, @@var{J}) -@@end example - -@@noindent -IAnd: @@code{INTEGER} function, the exact type being the result of cross-promoting the -types of all the arguments. - -@@noindent -@@var{I}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{J}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{mil}, @@code{f90}, @@code{vxt}. - -@@noindent -Description: - -Returns value resulting from boolean AND of -pair of bits in each of @@var{I} and @@var{J}. - -@@end ifset -@@ifset familyF2U -@@node IArgC Intrinsic -@@subsubsection IArgC Intrinsic -@@cindex IArgC intrinsic -@@cindex intrinsics, IArgC - -@@noindent -@@example -IArgC() -@@end example - -@@noindent -IArgC: @@code{INTEGER(KIND=1)} function. - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns the number of command-line arguments. - -This count does not include the specification of the program -name itself. - -@@end ifset -@@ifset familyMIL -@@node IBClr Intrinsic -@@subsubsection IBClr Intrinsic -@@cindex IBClr intrinsic -@@cindex intrinsics, IBClr - -@@noindent -@@example -IBClr(@@var{I}, @@var{Pos}) -@@end example - -@@noindent -IBClr: @@code{INTEGER} function, the @@samp{KIND=} value of the type being that of argument @@var{I}. - -@@noindent -@@var{I}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Pos}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{mil}, @@code{f90}, @@code{vxt}. - -@@noindent -Description: - -Returns the value of @@var{I} with bit @@var{Pos} cleared (set to -zero). -@@xref{BTest Intrinsic}, for information on bit positions. - -@@node IBits Intrinsic -@@subsubsection IBits Intrinsic -@@cindex IBits intrinsic -@@cindex intrinsics, IBits - -@@noindent -@@example -IBits(@@var{I}, @@var{Pos}, @@var{Len}) -@@end example - -@@noindent -IBits: @@code{INTEGER} function, the @@samp{KIND=} value of the type being that of argument @@var{I}. - -@@noindent -@@var{I}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Pos}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Len}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{mil}, @@code{f90}, @@code{vxt}. - -@@noindent -Description: - -Extracts a subfield of length @@var{Len} from @@var{I}, starting from -bit position @@var{Pos} and extending left for @@var{Len} bits. -The result is right-justified and the remaining bits are zeroed. -The value -of @@samp{@@var{Pos}+@@var{Len}} must be less than or equal to the value -@@samp{BIT_SIZE(@@var{I})}. -@@xref{Bit_Size Intrinsic}. - -@@node IBSet Intrinsic -@@subsubsection IBSet Intrinsic -@@cindex IBSet intrinsic -@@cindex intrinsics, IBSet - -@@noindent -@@example -IBSet(@@var{I}, @@var{Pos}) -@@end example - -@@noindent -IBSet: @@code{INTEGER} function, the @@samp{KIND=} value of the type being that of argument @@var{I}. - -@@noindent -@@var{I}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Pos}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{mil}, @@code{f90}, @@code{vxt}. - -@@noindent -Description: - -Returns the value of @@var{I} with bit @@var{Pos} set (to one). -@@xref{BTest Intrinsic}, for information on bit positions. - -@@end ifset -@@ifset familyF77 -@@node IChar Intrinsic -@@subsubsection IChar Intrinsic -@@cindex IChar intrinsic -@@cindex intrinsics, IChar - -@@noindent -@@example -IChar(@@var{C}) -@@end example - -@@noindent -IChar: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{C}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns the code for the character in the -first character position of @@var{C}. - -Because the system's native character set is used, -the correspondence between character and their codes -is not necessarily the same between GNU Fortran -implementations. - -Note that no intrinsic exists to convert a printable -character string to a numerical value. -For example, there is no intrinsic that, given -the @@code{CHARACTER} value @@samp{'154'}, returns an -@@code{INTEGER} or @@code{REAL} value with the value @@samp{154}. - -Instead, you can use internal-file I/O to do this kind -of conversion. -For example: - -@@smallexample -INTEGER VALUE -CHARACTER*10 STRING -STRING = '154' -READ (STRING, '(I10)'), VALUE -PRINT *, VALUE -END -@@end smallexample - -The above program, when run, prints: - -@@smallexample - 154 -@@end smallexample - -@@xref{Char Intrinsic}, for the inverse of the @@code{ICHAR} function. - -@@xref{IAChar Intrinsic}, for the function corresponding -to the ASCII character set. - -@@end ifset -@@ifset familyF2U -@@node IDate Intrinsic (UNIX) -@@subsubsection IDate Intrinsic (UNIX) -@@cindex IDate intrinsic -@@cindex intrinsics, IDate - -@@noindent -@@example -CALL IDate(@@var{TArray}) -@@end example - -@@noindent -@@var{TArray}: @@code{INTEGER(KIND=1)}; DIMENSION(3); INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Fills @@var{TArray} with the numerical values at the current local time -of day, month (in the range 1--12), and year in elements 1, 2, and 3, -respectively. -The year has four significant digits. - -@@cindex Y10K compliance -@@cindex Year 10000 compliance -@@cindex wraparound, Y10K -@@cindex limits, Y10K -Programs making use of this intrinsic -might not be Year 10000 (Y10K) compliant. -For example, the date might appear, -to such programs, to wrap around -(change from a larger value to a smaller one) -as of the Year 10000. - -For information on other intrinsics with the same name: -@@xref{IDate Intrinsic (VXT)}. - -@@end ifset -@@ifset familyVXT -@@node IDate Intrinsic (VXT) -@@subsubsection IDate Intrinsic (VXT) -@@cindex IDate intrinsic -@@cindex intrinsics, IDate - -@@noindent -@@example -CALL IDate(@@var{M}, @@var{D}, @@var{Y}) -@@end example - -@@noindent -@@var{M}: @@code{INTEGER(KIND=1)}; scalar; INTENT(OUT). - -@@noindent -@@var{D}: @@code{INTEGER(KIND=1)}; scalar; INTENT(OUT). - -@@noindent -@@var{Y}: @@code{INTEGER(KIND=1)}; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{vxt}. - -@@noindent -Description: - -Returns the numerical values of the current local time. -The month (in the range 1--12) is returned in @@var{M}, -the day (in the range 1--7) in @@var{D}, -and the year in @@var{Y} (in the range 0--99). - -@@cindex Y2K compliance -@@cindex Year 2000 compliance -@@cindex wraparound, Y2K -@@cindex limits, Y2K -This intrinsic is not recommended, due to the year 2000 approaching. -Therefore, programs making use of this intrinsic -might not be Year 2000 (Y2K) compliant. -For example, the date might appear, -to such programs, to wrap around -(change from a larger value to a smaller one) -as of the Year 2000. - -@@xref{IDate Intrinsic (UNIX)}, for information on obtaining more digits -for the current date. - -For information on other intrinsics with the same name: -@@xref{IDate Intrinsic (UNIX)}. - -@@end ifset -@@ifset familyF77 -@@node IDiM Intrinsic -@@subsubsection IDiM Intrinsic -@@cindex IDiM intrinsic -@@cindex intrinsics, IDiM - -@@noindent -@@example -IDiM(@@var{X}, @@var{Y}) -@@end example - -@@noindent -IDiM: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{X}: @@code{INTEGER(KIND=1)}; scalar; INTENT(IN). - -@@noindent -@@var{Y}: @@code{INTEGER(KIND=1)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{DIM()} that is specific -to one type for @@var{X} and @@var{Y}. -@@xref{DiM Intrinsic}. - -@@node IDInt Intrinsic -@@subsubsection IDInt Intrinsic -@@cindex IDInt intrinsic -@@cindex intrinsics, IDInt - -@@noindent -@@example -IDInt(@@var{A}) -@@end example - -@@noindent -IDInt: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{A}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{INT()} that is specific -to one type for @@var{A}. -@@xref{Int Intrinsic}. - -@@node IDNInt Intrinsic -@@subsubsection IDNInt Intrinsic -@@cindex IDNInt intrinsic -@@cindex intrinsics, IDNInt - -@@noindent -@@example -IDNInt(@@var{A}) -@@end example - -@@noindent -IDNInt: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{A}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{NINT()} that is specific -to one type for @@var{A}. -@@xref{NInt Intrinsic}. - -@@end ifset -@@ifset familyMIL -@@node IEOr Intrinsic -@@subsubsection IEOr Intrinsic -@@cindex IEOr intrinsic -@@cindex intrinsics, IEOr - -@@noindent -@@example -IEOr(@@var{I}, @@var{J}) -@@end example - -@@noindent -IEOr: @@code{INTEGER} function, the exact type being the result of cross-promoting the -types of all the arguments. - -@@noindent -@@var{I}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{J}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{mil}, @@code{f90}, @@code{vxt}. - -@@noindent -Description: - -Returns value resulting from boolean exclusive-OR of -pair of bits in each of @@var{I} and @@var{J}. - -@@end ifset -@@ifset familyF2U -@@node IErrNo Intrinsic -@@subsubsection IErrNo Intrinsic -@@cindex IErrNo intrinsic -@@cindex intrinsics, IErrNo - -@@noindent -@@example -IErrNo() -@@end example - -@@noindent -IErrNo: @@code{INTEGER(KIND=1)} function. - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns the last system error number (corresponding to the C -@@code{errno}). - -@@end ifset -@@ifset familyF77 -@@node IFix Intrinsic -@@subsubsection IFix Intrinsic -@@cindex IFix intrinsic -@@cindex intrinsics, IFix - -@@noindent -@@example -IFix(@@var{A}) -@@end example - -@@noindent -IFix: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{A}: @@code{REAL(KIND=1)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{INT()} that is specific -to one type for @@var{A}. -@@xref{Int Intrinsic}. - -@@end ifset -@@ifset familyVXT -@@node IIAbs Intrinsic -@@subsubsection IIAbs Intrinsic -@@cindex IIAbs intrinsic -@@cindex intrinsics, IIAbs - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL IIAbs} to use this name for an -external procedure. - -@@node IIAnd Intrinsic -@@subsubsection IIAnd Intrinsic -@@cindex IIAnd intrinsic -@@cindex intrinsics, IIAnd - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL IIAnd} to use this name for an -external procedure. - -@@node IIBClr Intrinsic -@@subsubsection IIBClr Intrinsic -@@cindex IIBClr intrinsic -@@cindex intrinsics, IIBClr - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL IIBClr} to use this name for an -external procedure. - -@@node IIBits Intrinsic -@@subsubsection IIBits Intrinsic -@@cindex IIBits intrinsic -@@cindex intrinsics, IIBits - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL IIBits} to use this name for an -external procedure. - -@@node IIBSet Intrinsic -@@subsubsection IIBSet Intrinsic -@@cindex IIBSet intrinsic -@@cindex intrinsics, IIBSet - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL IIBSet} to use this name for an -external procedure. - -@@node IIDiM Intrinsic -@@subsubsection IIDiM Intrinsic -@@cindex IIDiM intrinsic -@@cindex intrinsics, IIDiM - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL IIDiM} to use this name for an -external procedure. - -@@node IIDInt Intrinsic -@@subsubsection IIDInt Intrinsic -@@cindex IIDInt intrinsic -@@cindex intrinsics, IIDInt - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL IIDInt} to use this name for an -external procedure. - -@@node IIDNnt Intrinsic -@@subsubsection IIDNnt Intrinsic -@@cindex IIDNnt intrinsic -@@cindex intrinsics, IIDNnt - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL IIDNnt} to use this name for an -external procedure. - -@@node IIEOr Intrinsic -@@subsubsection IIEOr Intrinsic -@@cindex IIEOr intrinsic -@@cindex intrinsics, IIEOr - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL IIEOr} to use this name for an -external procedure. - -@@node IIFix Intrinsic -@@subsubsection IIFix Intrinsic -@@cindex IIFix intrinsic -@@cindex intrinsics, IIFix - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL IIFix} to use this name for an -external procedure. - -@@node IInt Intrinsic -@@subsubsection IInt Intrinsic -@@cindex IInt intrinsic -@@cindex intrinsics, IInt - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL IInt} to use this name for an -external procedure. - -@@node IIOr Intrinsic -@@subsubsection IIOr Intrinsic -@@cindex IIOr intrinsic -@@cindex intrinsics, IIOr - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL IIOr} to use this name for an -external procedure. - -@@node IIQint Intrinsic -@@subsubsection IIQint Intrinsic -@@cindex IIQint intrinsic -@@cindex intrinsics, IIQint - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL IIQint} to use this name for an -external procedure. - -@@node IIQNnt Intrinsic -@@subsubsection IIQNnt Intrinsic -@@cindex IIQNnt intrinsic -@@cindex intrinsics, IIQNnt - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL IIQNnt} to use this name for an -external procedure. - -@@node IIShftC Intrinsic -@@subsubsection IIShftC Intrinsic -@@cindex IIShftC intrinsic -@@cindex intrinsics, IIShftC - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL IIShftC} to use this name for an -external procedure. - -@@node IISign Intrinsic -@@subsubsection IISign Intrinsic -@@cindex IISign intrinsic -@@cindex intrinsics, IISign - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL IISign} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF2C -@@node Imag Intrinsic -@@subsubsection Imag Intrinsic -@@cindex Imag intrinsic -@@cindex intrinsics, Imag - -@@noindent -@@example -Imag(@@var{Z}) -@@end example - -@@noindent -Imag: @@code{REAL} function, the @@samp{KIND=} value of the type being that of argument @@var{Z}. - -@@noindent -@@var{Z}: @@code{COMPLEX}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}. - -@@noindent -Description: - -The imaginary part of @@var{Z} is returned, without conversion. - -@@emph{Note:} The way to do this in standard Fortran 90 -is @@samp{AIMAG(@@var{Z})}. -However, when, for example, @@var{Z} is @@code{DOUBLE COMPLEX}, -@@samp{AIMAG(@@var{Z})} means something different for some compilers -that are not true Fortran 90 compilers but offer some -extensions standardized by Fortran 90 (such as the -@@code{DOUBLE COMPLEX} type, also known as @@code{COMPLEX(KIND=2)}). - -The advantage of @@code{IMAG()} is that, while not necessarily -more or less portable than @@code{AIMAG()}, it is more likely to -cause a compiler that doesn't support it to produce a diagnostic -than generate incorrect code. - -@@xref{REAL() and AIMAG() of Complex}, for more information. - -@@end ifset -@@ifset familyGNU -@@node ImagPart Intrinsic -@@subsubsection ImagPart Intrinsic -@@cindex ImagPart intrinsic -@@cindex intrinsics, ImagPart - -@@noindent -@@example -ImagPart(@@var{Z}) -@@end example - -@@noindent -ImagPart: @@code{REAL} function, the @@samp{KIND=} value of the type being that of argument @@var{Z}. - -@@noindent -@@var{Z}: @@code{COMPLEX}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{gnu}. - -@@noindent -Description: - -The imaginary part of @@var{Z} is returned, without conversion. - -@@emph{Note:} The way to do this in standard Fortran 90 -is @@samp{AIMAG(@@var{Z})}. -However, when, for example, @@var{Z} is @@code{DOUBLE COMPLEX}, -@@samp{AIMAG(@@var{Z})} means something different for some compilers -that are not true Fortran 90 compilers but offer some -extensions standardized by Fortran 90 (such as the -@@code{DOUBLE COMPLEX} type, also known as @@code{COMPLEX(KIND=2)}). - -The advantage of @@code{IMAGPART()} is that, while not necessarily -more or less portable than @@code{AIMAG()}, it is more likely to -cause a compiler that doesn't support it to produce a diagnostic -than generate incorrect code. - -@@xref{REAL() and AIMAG() of Complex}, for more information. - -@@end ifset -@@ifset familyVXT -@@node IMax0 Intrinsic -@@subsubsection IMax0 Intrinsic -@@cindex IMax0 intrinsic -@@cindex intrinsics, IMax0 - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL IMax0} to use this name for an -external procedure. - -@@node IMax1 Intrinsic -@@subsubsection IMax1 Intrinsic -@@cindex IMax1 intrinsic -@@cindex intrinsics, IMax1 - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL IMax1} to use this name for an -external procedure. - -@@node IMin0 Intrinsic -@@subsubsection IMin0 Intrinsic -@@cindex IMin0 intrinsic -@@cindex intrinsics, IMin0 - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL IMin0} to use this name for an -external procedure. - -@@node IMin1 Intrinsic -@@subsubsection IMin1 Intrinsic -@@cindex IMin1 intrinsic -@@cindex intrinsics, IMin1 - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL IMin1} to use this name for an -external procedure. - -@@node IMod Intrinsic -@@subsubsection IMod Intrinsic -@@cindex IMod intrinsic -@@cindex intrinsics, IMod - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL IMod} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node Index Intrinsic -@@subsubsection Index Intrinsic -@@cindex Index intrinsic -@@cindex intrinsics, Index - -@@noindent -@@example -Index(@@var{String}, @@var{Substring}) -@@end example - -@@noindent -Index: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{String}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{Substring}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns the position of the start of the first occurrence of string -@@var{Substring} as a substring in @@var{String}, counting from one. -If @@var{Substring} doesn't occur in @@var{String}, zero is returned. - -@@end ifset -@@ifset familyVXT -@@node INInt Intrinsic -@@subsubsection INInt Intrinsic -@@cindex INInt intrinsic -@@cindex intrinsics, INInt - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL INInt} to use this name for an -external procedure. - -@@node INot Intrinsic -@@subsubsection INot Intrinsic -@@cindex INot intrinsic -@@cindex intrinsics, INot - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL INot} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node Int Intrinsic -@@subsubsection Int Intrinsic -@@cindex Int intrinsic -@@cindex intrinsics, Int - -@@noindent -@@example -Int(@@var{A}) -@@end example - -@@noindent -Int: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{A}: @@code{INTEGER}, @@code{REAL}, or @@code{COMPLEX}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns @@var{A} with the fractional portion of its -magnitude truncated and its sign preserved, converted -to type @@code{INTEGER(KIND=1)}. - -If @@var{A} is type @@code{COMPLEX}, its real part is -truncated and converted, and its imaginary part is disregarded. - -@@xref{NInt Intrinsic}, for how to convert, rounded to nearest -whole number. - -@@xref{AInt Intrinsic}, for how to truncate to whole number -without converting. - -@@end ifset -@@ifset familyGNU -@@node Int2 Intrinsic -@@subsubsection Int2 Intrinsic -@@cindex Int2 intrinsic -@@cindex intrinsics, Int2 - -@@noindent -@@example -Int2(@@var{A}) -@@end example - -@@noindent -Int2: @@code{INTEGER(KIND=6)} function. - -@@noindent -@@var{A}: @@code{INTEGER}, @@code{REAL}, or @@code{COMPLEX}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{gnu}. - -@@noindent -Description: - -Returns @@var{A} with the fractional portion of its -magnitude truncated and its sign preserved, converted -to type @@code{INTEGER(KIND=6)}. - -If @@var{A} is type @@code{COMPLEX}, its real part -is truncated and converted, and its imaginary part is disgregarded. - -@@xref{Int Intrinsic}. - -The precise meaning of this intrinsic might change -in a future version of the GNU Fortran language, -as more is learned about how it is used. - -@@node Int8 Intrinsic -@@subsubsection Int8 Intrinsic -@@cindex Int8 intrinsic -@@cindex intrinsics, Int8 - -@@noindent -@@example -Int8(@@var{A}) -@@end example - -@@noindent -Int8: @@code{INTEGER(KIND=2)} function. - -@@noindent -@@var{A}: @@code{INTEGER}, @@code{REAL}, or @@code{COMPLEX}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{gnu}. - -@@noindent -Description: - -Returns @@var{A} with the fractional portion of its -magnitude truncated and its sign preserved, converted -to type @@code{INTEGER(KIND=2)}. - -If @@var{A} is type @@code{COMPLEX}, its real part -is truncated and converted, and its imaginary part is disgregarded. - -@@xref{Int Intrinsic}. - -The precise meaning of this intrinsic might change -in a future version of the GNU Fortran language, -as more is learned about how it is used. - -@@end ifset -@@ifset familyMIL -@@node IOr Intrinsic -@@subsubsection IOr Intrinsic -@@cindex IOr intrinsic -@@cindex intrinsics, IOr - -@@noindent -@@example -IOr(@@var{I}, @@var{J}) -@@end example - -@@noindent -IOr: @@code{INTEGER} function, the exact type being the result of cross-promoting the -types of all the arguments. - -@@noindent -@@var{I}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{J}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{mil}, @@code{f90}, @@code{vxt}. - -@@noindent -Description: - -Returns value resulting from boolean OR of -pair of bits in each of @@var{I} and @@var{J}. - -@@end ifset -@@ifset familyF2U -@@node IRand Intrinsic -@@subsubsection IRand Intrinsic -@@cindex IRand intrinsic -@@cindex intrinsics, IRand - -@@noindent -@@example -IRand(@@var{Flag}) -@@end example - -@@noindent -IRand: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{Flag}: @@code{INTEGER}; OPTIONAL; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns a uniform quasi-random number up to a system-dependent limit. -If @@var{Flag} is 0, the next number in sequence is returned; if -@@var{Flag} is 1, the generator is restarted by calling the UNIX function -@@samp{srand(0)}; if @@var{Flag} has any other value, -it is used as a new seed with @@code{srand()}. - -@@xref{SRand Intrinsic}. - -@@emph{Note:} As typically implemented (by the routine of the same -name in the C library), this random number generator is a very poor -one, though the BSD and GNU libraries provide a much better -implementation than the `traditional' one. -On a different system you almost certainly want to use something better. - -@@node IsaTty Intrinsic -@@subsubsection IsaTty Intrinsic -@@cindex IsaTty intrinsic -@@cindex intrinsics, IsaTty - -@@noindent -@@example -IsaTty(@@var{Unit}) -@@end example - -@@noindent -IsaTty: @@code{LOGICAL(KIND=1)} function. - -@@noindent -@@var{Unit}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns @@code{.TRUE.} if and only if the Fortran I/O unit -specified by @@var{Unit} is connected -to a terminal device. -See @@code{isatty(3)}. - -@@end ifset -@@ifset familyMIL -@@node IShft Intrinsic -@@subsubsection IShft Intrinsic -@@cindex IShft intrinsic -@@cindex intrinsics, IShft - -@@noindent -@@example -IShft(@@var{I}, @@var{Shift}) -@@end example - -@@noindent -IShft: @@code{INTEGER} function, the @@samp{KIND=} value of the type being that of argument @@var{I}. - -@@noindent -@@var{I}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Shift}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{mil}, @@code{f90}, @@code{vxt}. - -@@noindent -Description: - -All bits representing @@var{I} are shifted @@var{Shift} places. -@@samp{@@var{Shift}.GT.0} indicates a left shift, @@samp{@@var{Shift}.EQ.0} -indicates no shift and @@samp{@@var{Shift}.LT.0} indicates a right shift. -If the absolute value of the shift count is greater than -@@samp{BIT_SIZE(@@var{I})}, the result is undefined. -Bits shifted out from the left end or the right end are lost. -Zeros are shifted in from the opposite end. - -@@xref{IShftC Intrinsic}, for the circular-shift equivalent. - -@@node IShftC Intrinsic -@@subsubsection IShftC Intrinsic -@@cindex IShftC intrinsic -@@cindex intrinsics, IShftC - -@@noindent -@@example -IShftC(@@var{I}, @@var{Shift}, @@var{Size}) -@@end example - -@@noindent -IShftC: @@code{INTEGER} function, the @@samp{KIND=} value of the type being that of argument @@var{I}. - -@@noindent -@@var{I}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Shift}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Size}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{mil}, @@code{f90}, @@code{vxt}. - -@@noindent -Description: - -The rightmost @@var{Size} bits of the argument @@var{I} -are shifted circularly @@var{Shift} -places, i.e.@@: the bits shifted out of one end are shifted into -the opposite end. -No bits are lost. -The unshifted bits of the result are the same as -the unshifted bits of @@var{I}. -The absolute value of the argument @@var{Shift} -must be less than or equal to @@var{Size}. -The value of @@var{Size} must be greater than or equal to one and less than -or equal to @@samp{BIT_SIZE(@@var{I})}. - -@@xref{IShft Intrinsic}, for the logical shift equivalent. - -@@end ifset -@@ifset familyF77 -@@node ISign Intrinsic -@@subsubsection ISign Intrinsic -@@cindex ISign intrinsic -@@cindex intrinsics, ISign - -@@noindent -@@example -ISign(@@var{A}, @@var{B}) -@@end example - -@@noindent -ISign: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{A}: @@code{INTEGER(KIND=1)}; scalar; INTENT(IN). - -@@noindent -@@var{B}: @@code{INTEGER(KIND=1)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{SIGN()} that is specific -to one type for @@var{A} and @@var{B}. -@@xref{Sign Intrinsic}. - -@@end ifset -@@ifset familyF2U -@@node ITime Intrinsic -@@subsubsection ITime Intrinsic -@@cindex ITime intrinsic -@@cindex intrinsics, ITime - -@@noindent -@@example -CALL ITime(@@var{TArray}) -@@end example - -@@noindent -@@var{TArray}: @@code{INTEGER(KIND=1)}; DIMENSION(3); INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns the current local time hour, minutes, and seconds in elements -1, 2, and 3 of @@var{TArray}, respectively. - -@@end ifset -@@ifset familyVXT -@@node IZExt Intrinsic -@@subsubsection IZExt Intrinsic -@@cindex IZExt intrinsic -@@cindex intrinsics, IZExt - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL IZExt} to use this name for an -external procedure. - -@@node JIAbs Intrinsic -@@subsubsection JIAbs Intrinsic -@@cindex JIAbs intrinsic -@@cindex intrinsics, JIAbs - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JIAbs} to use this name for an -external procedure. - -@@node JIAnd Intrinsic -@@subsubsection JIAnd Intrinsic -@@cindex JIAnd intrinsic -@@cindex intrinsics, JIAnd - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JIAnd} to use this name for an -external procedure. - -@@node JIBClr Intrinsic -@@subsubsection JIBClr Intrinsic -@@cindex JIBClr intrinsic -@@cindex intrinsics, JIBClr - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JIBClr} to use this name for an -external procedure. - -@@node JIBits Intrinsic -@@subsubsection JIBits Intrinsic -@@cindex JIBits intrinsic -@@cindex intrinsics, JIBits - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JIBits} to use this name for an -external procedure. - -@@node JIBSet Intrinsic -@@subsubsection JIBSet Intrinsic -@@cindex JIBSet intrinsic -@@cindex intrinsics, JIBSet - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JIBSet} to use this name for an -external procedure. - -@@node JIDiM Intrinsic -@@subsubsection JIDiM Intrinsic -@@cindex JIDiM intrinsic -@@cindex intrinsics, JIDiM - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JIDiM} to use this name for an -external procedure. - -@@node JIDInt Intrinsic -@@subsubsection JIDInt Intrinsic -@@cindex JIDInt intrinsic -@@cindex intrinsics, JIDInt - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JIDInt} to use this name for an -external procedure. - -@@node JIDNnt Intrinsic -@@subsubsection JIDNnt Intrinsic -@@cindex JIDNnt intrinsic -@@cindex intrinsics, JIDNnt - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JIDNnt} to use this name for an -external procedure. - -@@node JIEOr Intrinsic -@@subsubsection JIEOr Intrinsic -@@cindex JIEOr intrinsic -@@cindex intrinsics, JIEOr - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JIEOr} to use this name for an -external procedure. - -@@node JIFix Intrinsic -@@subsubsection JIFix Intrinsic -@@cindex JIFix intrinsic -@@cindex intrinsics, JIFix - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JIFix} to use this name for an -external procedure. - -@@node JInt Intrinsic -@@subsubsection JInt Intrinsic -@@cindex JInt intrinsic -@@cindex intrinsics, JInt - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JInt} to use this name for an -external procedure. - -@@node JIOr Intrinsic -@@subsubsection JIOr Intrinsic -@@cindex JIOr intrinsic -@@cindex intrinsics, JIOr - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JIOr} to use this name for an -external procedure. - -@@node JIQint Intrinsic -@@subsubsection JIQint Intrinsic -@@cindex JIQint intrinsic -@@cindex intrinsics, JIQint - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JIQint} to use this name for an -external procedure. - -@@node JIQNnt Intrinsic -@@subsubsection JIQNnt Intrinsic -@@cindex JIQNnt intrinsic -@@cindex intrinsics, JIQNnt - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JIQNnt} to use this name for an -external procedure. - -@@node JIShft Intrinsic -@@subsubsection JIShft Intrinsic -@@cindex JIShft intrinsic -@@cindex intrinsics, JIShft - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JIShft} to use this name for an -external procedure. - -@@node JIShftC Intrinsic -@@subsubsection JIShftC Intrinsic -@@cindex JIShftC intrinsic -@@cindex intrinsics, JIShftC - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JIShftC} to use this name for an -external procedure. - -@@node JISign Intrinsic -@@subsubsection JISign Intrinsic -@@cindex JISign intrinsic -@@cindex intrinsics, JISign - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JISign} to use this name for an -external procedure. - -@@node JMax0 Intrinsic -@@subsubsection JMax0 Intrinsic -@@cindex JMax0 intrinsic -@@cindex intrinsics, JMax0 - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JMax0} to use this name for an -external procedure. - -@@node JMax1 Intrinsic -@@subsubsection JMax1 Intrinsic -@@cindex JMax1 intrinsic -@@cindex intrinsics, JMax1 - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JMax1} to use this name for an -external procedure. - -@@node JMin0 Intrinsic -@@subsubsection JMin0 Intrinsic -@@cindex JMin0 intrinsic -@@cindex intrinsics, JMin0 - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JMin0} to use this name for an -external procedure. - -@@node JMin1 Intrinsic -@@subsubsection JMin1 Intrinsic -@@cindex JMin1 intrinsic -@@cindex intrinsics, JMin1 - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JMin1} to use this name for an -external procedure. - -@@node JMod Intrinsic -@@subsubsection JMod Intrinsic -@@cindex JMod intrinsic -@@cindex intrinsics, JMod - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JMod} to use this name for an -external procedure. - -@@node JNInt Intrinsic -@@subsubsection JNInt Intrinsic -@@cindex JNInt intrinsic -@@cindex intrinsics, JNInt - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JNInt} to use this name for an -external procedure. - -@@node JNot Intrinsic -@@subsubsection JNot Intrinsic -@@cindex JNot intrinsic -@@cindex intrinsics, JNot - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JNot} to use this name for an -external procedure. - -@@node JZExt Intrinsic -@@subsubsection JZExt Intrinsic -@@cindex JZExt intrinsic -@@cindex intrinsics, JZExt - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL JZExt} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF2U -@@node Kill Intrinsic (subroutine) -@@subsubsection Kill Intrinsic (subroutine) -@@cindex Kill intrinsic -@@cindex intrinsics, Kill - -@@noindent -@@example -CALL Kill(@@var{Pid}, @@var{Signal}, @@var{Status}) -@@end example - -@@noindent -@@var{Pid}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Signal}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Status}: @@code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Sends the signal specified by @@var{Signal} to the process @@var{Pid}. -If the @@var{Status} argument is supplied, it contains -0 on success or a non-zero error code upon return. -See @@code{kill(2)}. - -Some non-GNU implementations of Fortran provide this intrinsic as -only a function, not as a subroutine, or do not support the -(optional) @@var{Status} argument. - -For information on other intrinsics with the same name: -@@xref{Kill Intrinsic (function)}. - -@@end ifset -@@ifset familyBADU77 -@@node Kill Intrinsic (function) -@@subsubsection Kill Intrinsic (function) -@@cindex Kill intrinsic -@@cindex intrinsics, Kill - -@@noindent -@@example -Kill(@@var{Pid}, @@var{Signal}) -@@end example - -@@noindent -Kill: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{Pid}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Signal}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{badu77}. - -@@noindent -Description: - -Sends the signal specified by @@var{Signal} to the process @@var{Pid}. -Returns 0 on success or a non-zero error code. -See @@code{kill(2)}. - -Due to the side effects performed by this intrinsic, the function -form is not recommended. - -For information on other intrinsics with the same name: -@@xref{Kill Intrinsic (subroutine)}. - -@@end ifset -@@ifset familyF90 -@@node Kind Intrinsic -@@subsubsection Kind Intrinsic -@@cindex Kind intrinsic -@@cindex intrinsics, Kind - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Kind} to use this name for an -external procedure. - -@@node LBound Intrinsic -@@subsubsection LBound Intrinsic -@@cindex LBound intrinsic -@@cindex intrinsics, LBound - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL LBound} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node Len Intrinsic -@@subsubsection Len Intrinsic -@@cindex Len intrinsic -@@cindex intrinsics, Len - -@@noindent -@@example -Len(@@var{String}) -@@end example - -@@noindent -Len: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{String}: @@code{CHARACTER}; scalar. - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns the length of @@var{String}. - -If @@var{String} is an array, the length of an element -of @@var{String} is returned. - -Note that @@var{String} need not be defined when this -intrinsic is invoked, since only the length, not -the content, of @@var{String} is needed. - -@@xref{Bit_Size Intrinsic}, for the function that determines -the size of its argument in bits. - -@@end ifset -@@ifset familyF90 -@@node Len_Trim Intrinsic -@@subsubsection Len_Trim Intrinsic -@@cindex Len_Trim intrinsic -@@cindex intrinsics, Len_Trim - -@@noindent -@@example -Len_Trim(@@var{String}) -@@end example - -@@noindent -Len_Trim: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{String}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f90}. - -@@noindent -Description: - -Returns the index of the last non-blank character in @@var{String}. -@@code{LNBLNK} and @@code{LEN_TRIM} are equivalent. - -@@end ifset -@@ifset familyF77 -@@node LGe Intrinsic -@@subsubsection LGe Intrinsic -@@cindex LGe intrinsic -@@cindex intrinsics, LGe - -@@noindent -@@example -LGe(@@var{String_A}, @@var{String_B}) -@@end example - -@@noindent -LGe: @@code{LOGICAL(KIND=1)} function. - -@@noindent -@@var{String_A}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{String_B}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns @@samp{.TRUE.} if @@samp{@@var{String_A}.GE.@@var{String_B}}, -@@samp{.FALSE.} otherwise. -@@var{String_A} and @@var{String_B} are interpreted as containing -ASCII character codes. -If either value contains a character not in the ASCII -character set, the result is processor dependent. - -If the @@var{String_A} and @@var{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. - -The lexical comparison intrinsics @@code{LGe}, @@code{LGt}, -@@code{LLe}, and @@code{LLt} differ from the corresponding -intrinsic operators @@code{.GE.}, @@code{.GT.}, -@@code{.LE.}, @@code{.LT.}. -Because the ASCII collating sequence is assumed, -the following expressions always return @@samp{.TRUE.}: - -@@smallexample -LGE ('0', ' ') -LGE ('A', '0') -LGE ('a', 'A') -@@end smallexample - -The following related expressions do @@emph{not} always -return @@samp{.TRUE.}, as they are not necessarily evaluated -assuming the arguments use ASCII encoding: - -@@smallexample -'0' .GE. ' ' -'A' .GE. '0' -'a' .GE. 'A' -@@end smallexample - -The same difference exists -between @@code{LGt} and @@code{.GT.}; -between @@code{LLe} and @@code{.LE.}; and -between @@code{LLt} and @@code{.LT.}. - -@@node LGt Intrinsic -@@subsubsection LGt Intrinsic -@@cindex LGt intrinsic -@@cindex intrinsics, LGt - -@@noindent -@@example -LGt(@@var{String_A}, @@var{String_B}) -@@end example - -@@noindent -LGt: @@code{LOGICAL(KIND=1)} function. - -@@noindent -@@var{String_A}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{String_B}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns @@samp{.TRUE.} if @@samp{@@var{String_A}.GT.@@var{String_B}}, -@@samp{.FALSE.} otherwise. -@@var{String_A} and @@var{String_B} are interpreted as containing -ASCII character codes. -If either value contains a character not in the ASCII -character set, the result is processor dependent. - -If the @@var{String_A} and @@var{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. - -@@xref{LGe Intrinsic}, for information on the distinction -between the @@code{LGT} intrinsic and the @@code{.GT.} -operator. - -@@end ifset -@@ifset familyF2U -@@node Link Intrinsic (subroutine) -@@subsubsection Link Intrinsic (subroutine) -@@cindex Link intrinsic -@@cindex intrinsics, Link - -@@noindent -@@example -CALL Link(@@var{Path1}, @@var{Path2}, @@var{Status}) -@@end example - -@@noindent -@@var{Path1}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{Path2}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{Status}: @@code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Makes a (hard) link from file @@var{Path1} to @@var{Path2}. -A null character (@@samp{CHAR(0)}) marks the end of -the names in @@var{Path1} and @@var{Path2}---otherwise, -trailing blanks in @@var{Path1} and @@var{Path2} are ignored. -If the @@var{Status} argument is supplied, it contains -0 on success or a non-zero error code upon return. -See @@code{link(2)}. - -Some non-GNU implementations of Fortran provide this intrinsic as -only a function, not as a subroutine, or do not support the -(optional) @@var{Status} argument. - -For information on other intrinsics with the same name: -@@xref{Link Intrinsic (function)}. - -@@end ifset -@@ifset familyBADU77 -@@node Link Intrinsic (function) -@@subsubsection Link Intrinsic (function) -@@cindex Link intrinsic -@@cindex intrinsics, Link - -@@noindent -@@example -Link(@@var{Path1}, @@var{Path2}) -@@end example - -@@noindent -Link: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{Path1}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{Path2}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{badu77}. - -@@noindent -Description: - -Makes a (hard) link from file @@var{Path1} to @@var{Path2}. -A null character (@@samp{CHAR(0)}) marks the end of -the names in @@var{Path1} and @@var{Path2}---otherwise, -trailing blanks in @@var{Path1} and @@var{Path2} are ignored. -Returns 0 on success or a non-zero error code. -See @@code{link(2)}. - -Due to the side effects performed by this intrinsic, the function -form is not recommended. - -For information on other intrinsics with the same name: -@@xref{Link Intrinsic (subroutine)}. - -@@end ifset -@@ifset familyF77 -@@node LLe Intrinsic -@@subsubsection LLe Intrinsic -@@cindex LLe intrinsic -@@cindex intrinsics, LLe - -@@noindent -@@example -LLe(@@var{String_A}, @@var{String_B}) -@@end example - -@@noindent -LLe: @@code{LOGICAL(KIND=1)} function. - -@@noindent -@@var{String_A}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{String_B}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns @@samp{.TRUE.} if @@samp{@@var{String_A}.LE.@@var{String_B}}, -@@samp{.FALSE.} otherwise. -@@var{String_A} and @@var{String_B} are interpreted as containing -ASCII character codes. -If either value contains a character not in the ASCII -character set, the result is processor dependent. - -If the @@var{String_A} and @@var{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. - -@@xref{LGe Intrinsic}, for information on the distinction -between the @@code{LLE} intrinsic and the @@code{.LE.} -operator. - -@@node LLt Intrinsic -@@subsubsection LLt Intrinsic -@@cindex LLt intrinsic -@@cindex intrinsics, LLt - -@@noindent -@@example -LLt(@@var{String_A}, @@var{String_B}) -@@end example - -@@noindent -LLt: @@code{LOGICAL(KIND=1)} function. - -@@noindent -@@var{String_A}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{String_B}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns @@samp{.TRUE.} if @@samp{@@var{String_A}.LT.@@var{String_B}}, -@@samp{.FALSE.} otherwise. -@@var{String_A} and @@var{String_B} are interpreted as containing -ASCII character codes. -If either value contains a character not in the ASCII -character set, the result is processor dependent. - -If the @@var{String_A} and @@var{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. - -@@xref{LGe Intrinsic}, for information on the distinction -between the @@code{LLT} intrinsic and the @@code{.LT.} -operator. - -@@end ifset -@@ifset familyF2U -@@node LnBlnk Intrinsic -@@subsubsection LnBlnk Intrinsic -@@cindex LnBlnk intrinsic -@@cindex intrinsics, LnBlnk - -@@noindent -@@example -LnBlnk(@@var{String}) -@@end example - -@@noindent -LnBlnk: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{String}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns the index of the last non-blank character in @@var{String}. -@@code{LNBLNK} and @@code{LEN_TRIM} are equivalent. - -@@node Loc Intrinsic -@@subsubsection Loc Intrinsic -@@cindex Loc intrinsic -@@cindex intrinsics, Loc - -@@noindent -@@example -Loc(@@var{Entity}) -@@end example - -@@noindent -Loc: @@code{INTEGER(KIND=7)} function. - -@@noindent -@@var{Entity}: Any type; cannot be a constant or expression. - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -The @@code{LOC()} intrinsic works the -same way as the @@code{%LOC()} construct. -@@xref{%LOC(),,The @@code{%LOC()} Construct}, for -more information. - -@@end ifset -@@ifset familyF77 -@@node Log Intrinsic -@@subsubsection Log Intrinsic -@@cindex Log intrinsic -@@cindex intrinsics, Log - -@@noindent -@@example -Log(@@var{X}) -@@end example - -@@noindent -Log: @@code{REAL} or @@code{COMPLEX} function, the exact type being that of argument @@var{X}. - -@@noindent -@@var{X}: @@code{REAL} or @@code{COMPLEX}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns the natural logarithm of @@var{X}, which must -be greater than zero or, if type @@code{COMPLEX}, must not -be zero. - -@@xref{Exp Intrinsic}, for the inverse of this function. - -@@xref{Log10 Intrinsic}, for the `common' (base-10) logarithm function. - -@@node Log10 Intrinsic -@@subsubsection Log10 Intrinsic -@@cindex Log10 intrinsic -@@cindex intrinsics, Log10 - -@@noindent -@@example -Log10(@@var{X}) -@@end example - -@@noindent -Log10: @@code{REAL} function, the @@samp{KIND=} value of the type being that of argument @@var{X}. - -@@noindent -@@var{X}: @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns the common logarithm (base 10) of @@var{X}, which must -be greater than zero. - -The inverse of this function is @@samp{10. ** LOG10(@@var{X})}. - -@@xref{Log Intrinsic}, for the natural logarithm function. - -@@end ifset -@@ifset familyF90 -@@node Logical Intrinsic -@@subsubsection Logical Intrinsic -@@cindex Logical intrinsic -@@cindex intrinsics, Logical - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Logical} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF2U -@@node Long Intrinsic -@@subsubsection Long Intrinsic -@@cindex Long intrinsic -@@cindex intrinsics, Long - -@@noindent -@@example -Long(@@var{A}) -@@end example - -@@noindent -Long: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{A}: @@code{INTEGER(KIND=6)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Archaic form of @@code{INT()} that is specific -to one type for @@var{A}. -@@xref{Int Intrinsic}. - -The precise meaning of this intrinsic might change -in a future version of the GNU Fortran language, -as more is learned about how it is used. - -@@end ifset -@@ifset familyF2C -@@node LShift Intrinsic -@@subsubsection LShift Intrinsic -@@cindex LShift intrinsic -@@cindex intrinsics, LShift - -@@noindent -@@example -LShift(@@var{I}, @@var{Shift}) -@@end example - -@@noindent -LShift: @@code{INTEGER} function, the @@samp{KIND=} value of the type being that of argument @@var{I}. - -@@noindent -@@var{I}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Shift}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}. - -@@noindent -Description: - -Returns @@var{I} shifted to the left -@@var{Shift} bits. - -Although similar to the expression -@@samp{@@var{I}*(2**@@var{Shift})}, there -are important differences. -For example, the sign of the result is -not necessarily the same as the sign of -@@var{I}. - -Currently this intrinsic is defined assuming -the underlying representation of @@var{I} -is as a two's-complement integer. -It is unclear at this point whether that -definition will apply when a different -representation is involved. - -@@xref{LShift Intrinsic}, for the inverse of this function. - -@@xref{IShft Intrinsic}, for information -on a more widely available left-shifting -intrinsic that is also more precisely defined. - -@@end ifset -@@ifset familyF2U -@@node LStat Intrinsic (subroutine) -@@subsubsection LStat Intrinsic (subroutine) -@@cindex LStat intrinsic -@@cindex intrinsics, LStat - -@@noindent -@@example -CALL LStat(@@var{File}, @@var{SArray}, @@var{Status}) -@@end example - -@@noindent -@@var{File}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{SArray}: @@code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT). - -@@noindent -@@var{Status}: @@code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Obtains data about the given file @@var{File} and places them in the array -@@var{SArray}. -A null character (@@samp{CHAR(0)}) marks the end of -the name in @@var{File}---otherwise, -trailing blanks in @@var{File} are ignored. -If @@var{File} is a symbolic link it returns data on the -link itself, so the routine is available only on systems that support -symbolic links. -The values in this array are extracted from the -@@code{stat} structure as returned by @@code{fstat(2)} q.v., as follows: - -@@enumerate -@@item -Device ID - -@@item -Inode number - -@@item -File mode - -@@item -Number of links - -@@item -Owner's uid - -@@item -Owner's gid - -@@item -ID of device containing directory entry for file -(0 if not available) - -@@item -File size (bytes) - -@@item -Last access time - -@@item -Last modification time - -@@item -Last file status change time - -@@item -Preferred I/O block size (-1 if not available) - -@@item -Number of blocks allocated (-1 if not available) -@@end enumerate - -Not all these elements are relevant on all systems. -If an element is not relevant, it is returned as 0. - -If the @@var{Status} argument is supplied, it contains -0 on success or a non-zero error code upon return -(@@code{ENOSYS} if the system does not provide @@code{lstat(2)}). - -Some non-GNU implementations of Fortran provide this intrinsic as -only a function, not as a subroutine, or do not support the -(optional) @@var{Status} argument. - -For information on other intrinsics with the same name: -@@xref{LStat Intrinsic (function)}. - -@@node LStat Intrinsic (function) -@@subsubsection LStat Intrinsic (function) -@@cindex LStat intrinsic -@@cindex intrinsics, LStat - -@@noindent -@@example -LStat(@@var{File}, @@var{SArray}) -@@end example - -@@noindent -LStat: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{File}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{SArray}: @@code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Obtains data about the given file @@var{File} and places them in the array -@@var{SArray}. -A null character (@@samp{CHAR(0)}) marks the end of -the name in @@var{File}---otherwise, -trailing blanks in @@var{File} are ignored. -If @@var{File} is a symbolic link it returns data on the -link itself, so the routine is available only on systems that support -symbolic links. -The values in this array are extracted from the -@@code{stat} structure as returned by @@code{fstat(2)} q.v., as follows: - -@@enumerate -@@item -Device ID - -@@item -Inode number - -@@item -File mode - -@@item -Number of links - -@@item -Owner's uid - -@@item -Owner's gid - -@@item -ID of device containing directory entry for file -(0 if not available) - -@@item -File size (bytes) - -@@item -Last access time - -@@item -Last modification time - -@@item -Last file status change time - -@@item -Preferred I/O block size (-1 if not available) - -@@item -Number of blocks allocated (-1 if not available) -@@end enumerate - -Not all these elements are relevant on all systems. -If an element is not relevant, it is returned as 0. - -Returns 0 on success or a non-zero error code -(@@code{ENOSYS} if the system does not provide @@code{lstat(2)}). - -For information on other intrinsics with the same name: -@@xref{LStat Intrinsic (subroutine)}. - -@@node LTime Intrinsic -@@subsubsection LTime Intrinsic -@@cindex LTime intrinsic -@@cindex intrinsics, LTime - -@@noindent -@@example -CALL LTime(@@var{STime}, @@var{TArray}) -@@end example - -@@noindent -@@var{STime}: @@code{INTEGER(KIND=1)}; scalar; INTENT(IN). - -@@noindent -@@var{TArray}: @@code{INTEGER(KIND=1)}; DIMENSION(9); INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Given a system time value @@var{STime}, fills @@var{TArray} with values -extracted from it appropriate to the GMT time zone using -@@code{localtime(3)}. - -The array elements are as follows: - -@@enumerate -@@item -Seconds after the minute, range 0--59 or 0--61 to allow for leap -seconds - -@@item -Minutes after the hour, range 0--59 - -@@item -Hours past midnight, range 0--23 - -@@item -Day of month, range 0--31 - -@@item -Number of months since January, range 0--12 - -@@item -Years since 1900 - -@@item -Number of days since Sunday, range 0--6 - -@@item -Days since January 1 - -@@item -Daylight savings indicator: positive if daylight savings is in effect, -zero if not, and negative if the information isn't available. -@@end enumerate - -@@end ifset -@@ifset familyF90 -@@node MatMul Intrinsic -@@subsubsection MatMul Intrinsic -@@cindex MatMul intrinsic -@@cindex intrinsics, MatMul - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL MatMul} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node Max Intrinsic -@@subsubsection Max Intrinsic -@@cindex Max intrinsic -@@cindex intrinsics, Max - -@@noindent -@@example -Max(@@var{A}-1, @@var{A}-2, @@dots{}, @@var{A}-n) -@@end example - -@@noindent -Max: @@code{INTEGER} or @@code{REAL} function, the exact type being the result of cross-promoting the -types of all the arguments. - -@@noindent -@@var{A}: @@code{INTEGER} or @@code{REAL}; at least two such arguments must be provided; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns the argument with the largest value. - -@@xref{Min Intrinsic}, for the opposite function. - -@@node Max0 Intrinsic -@@subsubsection Max0 Intrinsic -@@cindex Max0 intrinsic -@@cindex intrinsics, Max0 - -@@noindent -@@example -Max0(@@var{A}-1, @@var{A}-2, @@dots{}, @@var{A}-n) -@@end example - -@@noindent -Max0: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{A}: @@code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{MAX()} that is specific -to one type for @@var{A}. -@@xref{Max Intrinsic}. - -@@node Max1 Intrinsic -@@subsubsection Max1 Intrinsic -@@cindex Max1 intrinsic -@@cindex intrinsics, Max1 - -@@noindent -@@example -Max1(@@var{A}-1, @@var{A}-2, @@dots{}, @@var{A}-n) -@@end example - -@@noindent -Max1: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{A}: @@code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{MAX()} that is specific -to one type for @@var{A} and a different return type. -@@xref{Max Intrinsic}. - -@@end ifset -@@ifset familyF90 -@@node MaxExponent Intrinsic -@@subsubsection MaxExponent Intrinsic -@@cindex MaxExponent intrinsic -@@cindex intrinsics, MaxExponent - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL MaxExponent} to use this name for an -external procedure. - -@@node MaxLoc Intrinsic -@@subsubsection MaxLoc Intrinsic -@@cindex MaxLoc intrinsic -@@cindex intrinsics, MaxLoc - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL MaxLoc} to use this name for an -external procedure. - -@@node MaxVal Intrinsic -@@subsubsection MaxVal Intrinsic -@@cindex MaxVal intrinsic -@@cindex intrinsics, MaxVal - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL MaxVal} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF2U -@@node MClock Intrinsic -@@subsubsection MClock Intrinsic -@@cindex MClock intrinsic -@@cindex intrinsics, MClock - -@@noindent -@@example -MClock() -@@end example - -@@noindent -MClock: @@code{INTEGER(KIND=1)} function. - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns the number of clock ticks since the start of the process. -Supported on systems with @@code{clock(3)} (q.v.). - -@@cindex wraparound, timings -@@cindex limits, timings -This intrinsic is not fully portable, such as to systems -with 32-bit @@code{INTEGER} 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. - -@@xref{MClock8 Intrinsic}, for information on a -similar intrinsic that might be portable to more -GNU Fortran implementations, though to fewer -Fortran compilers. - -If the system does not support @@code{clock(3)}, --1 is returned. - -@@node MClock8 Intrinsic -@@subsubsection MClock8 Intrinsic -@@cindex MClock8 intrinsic -@@cindex intrinsics, MClock8 - -@@noindent -@@example -MClock8() -@@end example - -@@noindent -MClock8: @@code{INTEGER(KIND=2)} function. - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns the number of clock ticks since the start of the process. -Supported on systems with @@code{clock(3)} (q.v.). - -@@cindex wraparound, timings -@@cindex limits, timings -@@emph{Warning:} this intrinsic does not increase the range -of the timing values over that returned by @@code{clock(3)}. -On a system with a 32-bit @@code{clock(3)}, -@@code{MCLOCK8} will return a 32-bit value, -even though converted to an @@samp{INTEGER(KIND=2)} 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. - -No Fortran implementations other than GNU Fortran are -known to support this intrinsic at the time of this -writing. -@@xref{MClock Intrinsic}, for information on a -similar intrinsic that might be portable to more Fortran -compilers, though to fewer GNU Fortran implementations. - -If the system does not support @@code{clock(3)}, --1 is returned. - -@@end ifset -@@ifset familyF90 -@@node Merge Intrinsic -@@subsubsection Merge Intrinsic -@@cindex Merge intrinsic -@@cindex intrinsics, Merge - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Merge} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node Min Intrinsic -@@subsubsection Min Intrinsic -@@cindex Min intrinsic -@@cindex intrinsics, Min - -@@noindent -@@example -Min(@@var{A}-1, @@var{A}-2, @@dots{}, @@var{A}-n) -@@end example - -@@noindent -Min: @@code{INTEGER} or @@code{REAL} function, the exact type being the result of cross-promoting the -types of all the arguments. - -@@noindent -@@var{A}: @@code{INTEGER} or @@code{REAL}; at least two such arguments must be provided; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns the argument with the smallest value. - -@@xref{Max Intrinsic}, for the opposite function. - -@@node Min0 Intrinsic -@@subsubsection Min0 Intrinsic -@@cindex Min0 intrinsic -@@cindex intrinsics, Min0 - -@@noindent -@@example -Min0(@@var{A}-1, @@var{A}-2, @@dots{}, @@var{A}-n) -@@end example - -@@noindent -Min0: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{A}: @@code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{MIN()} that is specific -to one type for @@var{A}. -@@xref{Min Intrinsic}. - -@@node Min1 Intrinsic -@@subsubsection Min1 Intrinsic -@@cindex Min1 intrinsic -@@cindex intrinsics, Min1 - -@@noindent -@@example -Min1(@@var{A}-1, @@var{A}-2, @@dots{}, @@var{A}-n) -@@end example - -@@noindent -Min1: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{A}: @@code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{MIN()} that is specific -to one type for @@var{A} and a different return type. -@@xref{Min Intrinsic}. - -@@end ifset -@@ifset familyF90 -@@node MinExponent Intrinsic -@@subsubsection MinExponent Intrinsic -@@cindex MinExponent intrinsic -@@cindex intrinsics, MinExponent - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL MinExponent} to use this name for an -external procedure. - -@@node MinLoc Intrinsic -@@subsubsection MinLoc Intrinsic -@@cindex MinLoc intrinsic -@@cindex intrinsics, MinLoc - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL MinLoc} to use this name for an -external procedure. - -@@node MinVal Intrinsic -@@subsubsection MinVal Intrinsic -@@cindex MinVal intrinsic -@@cindex intrinsics, MinVal - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL MinVal} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node Mod Intrinsic -@@subsubsection Mod Intrinsic -@@cindex Mod intrinsic -@@cindex intrinsics, Mod - -@@noindent -@@example -Mod(@@var{A}, @@var{P}) -@@end example - -@@noindent -Mod: @@code{INTEGER} or @@code{REAL} function, the exact type being the result of cross-promoting the -types of all the arguments. - -@@noindent -@@var{A}: @@code{INTEGER} or @@code{REAL}; scalar; INTENT(IN). - -@@noindent -@@var{P}: @@code{INTEGER} or @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns remainder calculated as: - -@@smallexample -@@var{A} - (INT(@@var{A} / @@var{P}) * @@var{P}) -@@end smallexample - -@@var{P} must not be zero. - -@@end ifset -@@ifset familyF90 -@@node Modulo Intrinsic -@@subsubsection Modulo Intrinsic -@@cindex Modulo intrinsic -@@cindex intrinsics, Modulo - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Modulo} to use this name for an -external procedure. - -@@end ifset -@@ifset familyMIL -@@node MvBits Intrinsic -@@subsubsection MvBits Intrinsic -@@cindex MvBits intrinsic -@@cindex intrinsics, MvBits - -@@noindent -@@example -CALL MvBits(@@var{From}, @@var{FromPos}, @@var{Len}, @@var{TO}, @@var{ToPos}) -@@end example - -@@noindent -@@var{From}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{FromPos}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Len}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{TO}: @@code{INTEGER} with same @@samp{KIND=} value as for @@var{From}; scalar; INTENT(INOUT). - -@@noindent -@@var{ToPos}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{mil}, @@code{f90}, @@code{vxt}. - -@@noindent -Description: - -Moves @@var{Len} bits from positions @@var{FromPos} through -@@samp{@@var{FromPos}+@@var{Len}-1} of @@var{From} to positions @@var{ToPos} through -@@samp{@@var{FromPos}+@@var{Len}-1} of @@var{TO}. The portion of argument -@@var{TO} not affected by the movement of bits is unchanged. Arguments -@@var{From} and @@var{TO} are permitted to be the same numeric storage -unit. The values of @@samp{@@var{FromPos}+@@var{Len}} and -@@samp{@@var{ToPos}+@@var{Len}} must be less than or equal to -@@samp{BIT_SIZE(@@var{From})}. - -@@end ifset -@@ifset familyF90 -@@node Nearest Intrinsic -@@subsubsection Nearest Intrinsic -@@cindex Nearest intrinsic -@@cindex intrinsics, Nearest - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Nearest} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node NInt Intrinsic -@@subsubsection NInt Intrinsic -@@cindex NInt intrinsic -@@cindex intrinsics, NInt - -@@noindent -@@example -NInt(@@var{A}) -@@end example - -@@noindent -NInt: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{A}: @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns @@var{A} with the fractional portion of its -magnitude eliminated by rounding to the nearest whole -number and with its sign preserved, converted -to type @@code{INTEGER(KIND=1)}. - -If @@var{A} is type @@code{COMPLEX}, its real part is -rounded and converted. - -A fractional portion exactly equal to -@@samp{.5} is rounded to the whole number that -is larger in magnitude. -(Also called ``Fortran round''.) - -@@xref{Int Intrinsic}, for how to convert, truncate to -whole number. - -@@xref{ANInt Intrinsic}, for how to round to nearest whole number -without converting. - -@@end ifset -@@ifset familyMIL -@@node Not Intrinsic -@@subsubsection Not Intrinsic -@@cindex Not intrinsic -@@cindex intrinsics, Not - -@@noindent -@@example -Not(@@var{I}) -@@end example - -@@noindent -Not: @@code{INTEGER} function, the @@samp{KIND=} value of the type being that of argument @@var{I}. - -@@noindent -@@var{I}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{mil}, @@code{f90}, @@code{vxt}. - -@@noindent -Description: - -Returns value resulting from boolean NOT of each bit -in @@var{I}. - -@@end ifset -@@ifset familyF2C -@@node Or Intrinsic -@@subsubsection Or Intrinsic -@@cindex Or intrinsic -@@cindex intrinsics, Or - -@@noindent -@@example -Or(@@var{I}, @@var{J}) -@@end example - -@@noindent -Or: @@code{INTEGER} or @@code{LOGICAL} function, the exact type being the result of cross-promoting the -types of all the arguments. - -@@noindent -@@var{I}: @@code{INTEGER} or @@code{LOGICAL}; scalar; INTENT(IN). - -@@noindent -@@var{J}: @@code{INTEGER} or @@code{LOGICAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}. - -@@noindent -Description: - -Returns value resulting from boolean OR of -pair of bits in each of @@var{I} and @@var{J}. - -@@end ifset -@@ifset familyF90 -@@node Pack Intrinsic -@@subsubsection Pack Intrinsic -@@cindex Pack intrinsic -@@cindex intrinsics, Pack - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Pack} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF2U -@@node PError Intrinsic -@@subsubsection PError Intrinsic -@@cindex PError intrinsic -@@cindex intrinsics, PError - -@@noindent -@@example -CALL PError(@@var{String}) -@@end example - -@@noindent -@@var{String}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Prints (on the C @@code{stderr} stream) a newline-terminated error -message corresponding to the last system error. -This is prefixed by @@var{String}, a colon and a space. -See @@code{perror(3)}. - -@@end ifset -@@ifset familyF90 -@@node Precision Intrinsic -@@subsubsection Precision Intrinsic -@@cindex Precision intrinsic -@@cindex intrinsics, Precision - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Precision} to use this name for an -external procedure. - -@@node Present Intrinsic -@@subsubsection Present Intrinsic -@@cindex Present intrinsic -@@cindex intrinsics, Present - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Present} to use this name for an -external procedure. - -@@node Product Intrinsic -@@subsubsection Product Intrinsic -@@cindex Product intrinsic -@@cindex intrinsics, Product - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Product} to use this name for an -external procedure. - -@@end ifset -@@ifset familyVXT -@@node QAbs Intrinsic -@@subsubsection QAbs Intrinsic -@@cindex QAbs intrinsic -@@cindex intrinsics, QAbs - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QAbs} to use this name for an -external procedure. - -@@node QACos Intrinsic -@@subsubsection QACos Intrinsic -@@cindex QACos intrinsic -@@cindex intrinsics, QACos - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QACos} to use this name for an -external procedure. - -@@node QACosD Intrinsic -@@subsubsection QACosD Intrinsic -@@cindex QACosD intrinsic -@@cindex intrinsics, QACosD - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QACosD} to use this name for an -external procedure. - -@@node QASin Intrinsic -@@subsubsection QASin Intrinsic -@@cindex QASin intrinsic -@@cindex intrinsics, QASin - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QASin} to use this name for an -external procedure. - -@@node QASinD Intrinsic -@@subsubsection QASinD Intrinsic -@@cindex QASinD intrinsic -@@cindex intrinsics, QASinD - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QASinD} to use this name for an -external procedure. - -@@node QATan Intrinsic -@@subsubsection QATan Intrinsic -@@cindex QATan intrinsic -@@cindex intrinsics, QATan - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QATan} to use this name for an -external procedure. - -@@node QATan2 Intrinsic -@@subsubsection QATan2 Intrinsic -@@cindex QATan2 intrinsic -@@cindex intrinsics, QATan2 - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QATan2} to use this name for an -external procedure. - -@@node QATan2D Intrinsic -@@subsubsection QATan2D Intrinsic -@@cindex QATan2D intrinsic -@@cindex intrinsics, QATan2D - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QATan2D} to use this name for an -external procedure. - -@@node QATanD Intrinsic -@@subsubsection QATanD Intrinsic -@@cindex QATanD intrinsic -@@cindex intrinsics, QATanD - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QATanD} to use this name for an -external procedure. - -@@node QCos Intrinsic -@@subsubsection QCos Intrinsic -@@cindex QCos intrinsic -@@cindex intrinsics, QCos - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QCos} to use this name for an -external procedure. - -@@node QCosD Intrinsic -@@subsubsection QCosD Intrinsic -@@cindex QCosD intrinsic -@@cindex intrinsics, QCosD - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QCosD} to use this name for an -external procedure. - -@@node QCosH Intrinsic -@@subsubsection QCosH Intrinsic -@@cindex QCosH intrinsic -@@cindex intrinsics, QCosH - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QCosH} to use this name for an -external procedure. - -@@node QDiM Intrinsic -@@subsubsection QDiM Intrinsic -@@cindex QDiM intrinsic -@@cindex intrinsics, QDiM - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QDiM} to use this name for an -external procedure. - -@@node QExp Intrinsic -@@subsubsection QExp Intrinsic -@@cindex QExp intrinsic -@@cindex intrinsics, QExp - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QExp} to use this name for an -external procedure. - -@@node QExt Intrinsic -@@subsubsection QExt Intrinsic -@@cindex QExt intrinsic -@@cindex intrinsics, QExt - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QExt} to use this name for an -external procedure. - -@@node QExtD Intrinsic -@@subsubsection QExtD Intrinsic -@@cindex QExtD intrinsic -@@cindex intrinsics, QExtD - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QExtD} to use this name for an -external procedure. - -@@node QFloat Intrinsic -@@subsubsection QFloat Intrinsic -@@cindex QFloat intrinsic -@@cindex intrinsics, QFloat - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QFloat} to use this name for an -external procedure. - -@@node QInt Intrinsic -@@subsubsection QInt Intrinsic -@@cindex QInt intrinsic -@@cindex intrinsics, QInt - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QInt} to use this name for an -external procedure. - -@@node QLog Intrinsic -@@subsubsection QLog Intrinsic -@@cindex QLog intrinsic -@@cindex intrinsics, QLog - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QLog} to use this name for an -external procedure. - -@@node QLog10 Intrinsic -@@subsubsection QLog10 Intrinsic -@@cindex QLog10 intrinsic -@@cindex intrinsics, QLog10 - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QLog10} to use this name for an -external procedure. - -@@node QMax1 Intrinsic -@@subsubsection QMax1 Intrinsic -@@cindex QMax1 intrinsic -@@cindex intrinsics, QMax1 - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QMax1} to use this name for an -external procedure. - -@@node QMin1 Intrinsic -@@subsubsection QMin1 Intrinsic -@@cindex QMin1 intrinsic -@@cindex intrinsics, QMin1 - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QMin1} to use this name for an -external procedure. - -@@node QMod Intrinsic -@@subsubsection QMod Intrinsic -@@cindex QMod intrinsic -@@cindex intrinsics, QMod - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QMod} to use this name for an -external procedure. - -@@node QNInt Intrinsic -@@subsubsection QNInt Intrinsic -@@cindex QNInt intrinsic -@@cindex intrinsics, QNInt - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QNInt} to use this name for an -external procedure. - -@@node QSin Intrinsic -@@subsubsection QSin Intrinsic -@@cindex QSin intrinsic -@@cindex intrinsics, QSin - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QSin} to use this name for an -external procedure. - -@@node QSinD Intrinsic -@@subsubsection QSinD Intrinsic -@@cindex QSinD intrinsic -@@cindex intrinsics, QSinD - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QSinD} to use this name for an -external procedure. - -@@node QSinH Intrinsic -@@subsubsection QSinH Intrinsic -@@cindex QSinH intrinsic -@@cindex intrinsics, QSinH - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QSinH} to use this name for an -external procedure. - -@@node QSqRt Intrinsic -@@subsubsection QSqRt Intrinsic -@@cindex QSqRt intrinsic -@@cindex intrinsics, QSqRt - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QSqRt} to use this name for an -external procedure. - -@@node QTan Intrinsic -@@subsubsection QTan Intrinsic -@@cindex QTan intrinsic -@@cindex intrinsics, QTan - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QTan} to use this name for an -external procedure. - -@@node QTanD Intrinsic -@@subsubsection QTanD Intrinsic -@@cindex QTanD intrinsic -@@cindex intrinsics, QTanD - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QTanD} to use this name for an -external procedure. - -@@node QTanH Intrinsic -@@subsubsection QTanH Intrinsic -@@cindex QTanH intrinsic -@@cindex intrinsics, QTanH - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL QTanH} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF90 -@@node Radix Intrinsic -@@subsubsection Radix Intrinsic -@@cindex Radix intrinsic -@@cindex intrinsics, Radix - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Radix} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF2U -@@node Rand Intrinsic -@@subsubsection Rand Intrinsic -@@cindex Rand intrinsic -@@cindex intrinsics, Rand - -@@noindent -@@example -Rand(@@var{Flag}) -@@end example - -@@noindent -Rand: @@code{REAL(KIND=1)} function. - -@@noindent -@@var{Flag}: @@code{INTEGER}; OPTIONAL; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns a uniform quasi-random number between 0 and 1. -If @@var{Flag} is 0, the next number in sequence is returned; if -@@var{Flag} is 1, the generator is restarted by calling @@samp{srand(0)}; -if @@var{Flag} has any other value, it is used as a new seed with -@@code{srand}. - -@@xref{SRand Intrinsic}. - -@@emph{Note:} As typically implemented (by the routine of the same -name in the C library), this random number generator is a very poor -one, though the BSD and GNU libraries provide a much better -implementation than the `traditional' one. -On a different system you -almost certainly want to use something better. - -@@end ifset -@@ifset familyF90 -@@node Random_Number Intrinsic -@@subsubsection Random_Number Intrinsic -@@cindex Random_Number intrinsic -@@cindex intrinsics, Random_Number - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Random_Number} to use this name for an -external procedure. - -@@node Random_Seed Intrinsic -@@subsubsection Random_Seed Intrinsic -@@cindex Random_Seed intrinsic -@@cindex intrinsics, Random_Seed - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Random_Seed} to use this name for an -external procedure. - -@@node Range Intrinsic -@@subsubsection Range Intrinsic -@@cindex Range intrinsic -@@cindex intrinsics, Range - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Range} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node Real Intrinsic -@@subsubsection Real Intrinsic -@@cindex Real intrinsic -@@cindex intrinsics, Real - -@@noindent -@@example -Real(@@var{A}) -@@end example - -@@noindent -Real: @@code{REAL} function. -The exact type is @@samp{REAL(KIND=1)} when argument @@var{A} is -any type other than @@code{COMPLEX}, or when it is @@code{COMPLEX(KIND=1)}. -When @@var{A} is any @@code{COMPLEX} type other than @@code{COMPLEX(KIND=1)}, -this intrinsic is valid only when used as the argument to -@@code{REAL()}, as explained below. - -@@noindent -@@var{A}: @@code{INTEGER}, @@code{REAL}, or @@code{COMPLEX}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Converts @@var{A} to @@code{REAL(KIND=1)}. - -Use of @@code{REAL()} with a @@code{COMPLEX} argument -(other than @@code{COMPLEX(KIND=1)}) is restricted to the following case: - -@@example -REAL(REAL(A)) -@@end example - -@@noindent -This expression converts the real part of A to -@@code{REAL(KIND=1)}. - -@@xref{RealPart Intrinsic}, for information on a GNU Fortran -intrinsic that extracts the real part of an arbitrary -@@code{COMPLEX} value. - -@@xref{REAL() and AIMAG() of Complex}, for more information. - -@@end ifset -@@ifset familyGNU -@@node RealPart Intrinsic -@@subsubsection RealPart Intrinsic -@@cindex RealPart intrinsic -@@cindex intrinsics, RealPart - -@@noindent -@@example -RealPart(@@var{Z}) -@@end example - -@@noindent -RealPart: @@code{REAL} function, the @@samp{KIND=} value of the type being that of argument @@var{Z}. - -@@noindent -@@var{Z}: @@code{COMPLEX}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{gnu}. - -@@noindent -Description: - -The real part of @@var{Z} is returned, without conversion. - -@@emph{Note:} The way to do this in standard Fortran 90 -is @@samp{REAL(@@var{Z})}. -However, when, for example, @@var{Z} is @@code{COMPLEX(KIND=2)}, -@@samp{REAL(@@var{Z})} means something different for some compilers -that are not true Fortran 90 compilers but offer some -extensions standardized by Fortran 90 (such as the -@@code{DOUBLE COMPLEX} type, also known as @@code{COMPLEX(KIND=2)}). - -The advantage of @@code{REALPART()} is that, while not necessarily -more or less portable than @@code{REAL()}, it is more likely to -cause a compiler that doesn't support it to produce a diagnostic -than generate incorrect code. - -@@xref{REAL() and AIMAG() of Complex}, for more information. - -@@end ifset -@@ifset familyF2U -@@node Rename Intrinsic (subroutine) -@@subsubsection Rename Intrinsic (subroutine) -@@cindex Rename intrinsic -@@cindex intrinsics, Rename - -@@noindent -@@example -CALL Rename(@@var{Path1}, @@var{Path2}, @@var{Status}) -@@end example - -@@noindent -@@var{Path1}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{Path2}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{Status}: @@code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Renames the file @@var{Path1} to @@var{Path2}. -A null character (@@samp{CHAR(0)}) marks the end of -the names in @@var{Path1} and @@var{Path2}---otherwise, -trailing blanks in @@var{Path1} and @@var{Path2} are ignored. -See @@code{rename(2)}. -If the @@var{Status} argument is supplied, it contains -0 on success or a non-zero error code upon return. - -Some non-GNU implementations of Fortran provide this intrinsic as -only a function, not as a subroutine, or do not support the -(optional) @@var{Status} argument. - -For information on other intrinsics with the same name: -@@xref{Rename Intrinsic (function)}. - -@@end ifset -@@ifset familyBADU77 -@@node Rename Intrinsic (function) -@@subsubsection Rename Intrinsic (function) -@@cindex Rename intrinsic -@@cindex intrinsics, Rename - -@@noindent -@@example -Rename(@@var{Path1}, @@var{Path2}) -@@end example - -@@noindent -Rename: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{Path1}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{Path2}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{badu77}. - -@@noindent -Description: - -Renames the file @@var{Path1} to @@var{Path2}. -A null character (@@samp{CHAR(0)}) marks the end of -the names in @@var{Path1} and @@var{Path2}---otherwise, -trailing blanks in @@var{Path1} and @@var{Path2} are ignored. -See @@code{rename(2)}. -Returns 0 on success or a non-zero error code. - -Due to the side effects performed by this intrinsic, the function -form is not recommended. - -For information on other intrinsics with the same name: -@@xref{Rename Intrinsic (subroutine)}. - -@@end ifset -@@ifset familyF90 -@@node Repeat Intrinsic -@@subsubsection Repeat Intrinsic -@@cindex Repeat intrinsic -@@cindex intrinsics, Repeat - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Repeat} to use this name for an -external procedure. - -@@node Reshape Intrinsic -@@subsubsection Reshape Intrinsic -@@cindex Reshape intrinsic -@@cindex intrinsics, Reshape - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Reshape} to use this name for an -external procedure. - -@@node RRSpacing Intrinsic -@@subsubsection RRSpacing Intrinsic -@@cindex RRSpacing intrinsic -@@cindex intrinsics, RRSpacing - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL RRSpacing} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF2C -@@node RShift Intrinsic -@@subsubsection RShift Intrinsic -@@cindex RShift intrinsic -@@cindex intrinsics, RShift - -@@noindent -@@example -RShift(@@var{I}, @@var{Shift}) -@@end example - -@@noindent -RShift: @@code{INTEGER} function, the @@samp{KIND=} value of the type being that of argument @@var{I}. - -@@noindent -@@var{I}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Shift}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}. - -@@noindent -Description: - -Returns @@var{I} shifted to the right -@@var{Shift} bits. - -Although similar to the expression -@@samp{@@var{I}/(2**@@var{Shift})}, there -are important differences. -For example, the sign of the result is -undefined. - -Currently this intrinsic is defined assuming -the underlying representation of @@var{I} -is as a two's-complement integer. -It is unclear at this point whether that -definition will apply when a different -representation is involved. - -@@xref{RShift Intrinsic}, for the inverse of this function. - -@@xref{IShft Intrinsic}, for information -on a more widely available right-shifting -intrinsic that is also more precisely defined. - -@@end ifset -@@ifset familyF90 -@@node Scale Intrinsic -@@subsubsection Scale Intrinsic -@@cindex Scale intrinsic -@@cindex intrinsics, Scale - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Scale} to use this name for an -external procedure. - -@@node Scan Intrinsic -@@subsubsection Scan Intrinsic -@@cindex Scan intrinsic -@@cindex intrinsics, Scan - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Scan} to use this name for an -external procedure. - -@@end ifset -@@ifset familyVXT -@@node Secnds Intrinsic -@@subsubsection Secnds Intrinsic -@@cindex Secnds intrinsic -@@cindex intrinsics, Secnds - -@@noindent -@@example -Secnds(@@var{T}) -@@end example - -@@noindent -Secnds: @@code{REAL(KIND=1)} function. - -@@noindent -@@var{T}: @@code{REAL(KIND=1)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{vxt}. - -@@noindent -Description: - -Returns the local time in seconds since midnight minus the value -@@var{T}. - -@@cindex wraparound, timings -@@cindex limits, timings -This values returned by this intrinsic -become numerically less than previous values -(they wrap around) during a single run of the -compiler program, under normal circumstances -(such as running through the midnight hour). - -@@end ifset -@@ifset familyF2U -@@node Second Intrinsic (function) -@@subsubsection Second Intrinsic (function) -@@cindex Second intrinsic -@@cindex intrinsics, Second - -@@noindent -@@example -Second() -@@end example - -@@noindent -Second: @@code{REAL(KIND=1)} function. - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns the process's runtime in seconds---the same value as the -UNIX function @@code{etime} returns. - -@@cindex wraparound, timings -@@cindex limits, timings -On some systems, the underlying timings are represented -using types with sufficiently small limits that overflows -(wraparounds) 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. - -For information on other intrinsics with the same name: -@@xref{Second Intrinsic (subroutine)}. - -@@node Second Intrinsic (subroutine) -@@subsubsection Second Intrinsic (subroutine) -@@cindex Second intrinsic -@@cindex intrinsics, Second - -@@noindent -@@example -CALL Second(@@var{Seconds}) -@@end example - -@@noindent -@@var{Seconds}: @@code{REAL}; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns the process's runtime in seconds in @@var{Seconds}---the same value -as the UNIX function @@code{etime} returns. - -@@cindex wraparound, timings -@@cindex limits, timings -On some systems, the underlying timings are represented -using types with sufficiently small limits that overflows -(wraparounds) 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. - -This routine is known from Cray Fortran. @@xref{CPU_Time Intrinsic}, -for a standard equivalent. - -For information on other intrinsics with the same name: -@@xref{Second Intrinsic (function)}. - -@@end ifset -@@ifset familyF90 -@@node Selected_Int_Kind Intrinsic -@@subsubsection Selected_Int_Kind Intrinsic -@@cindex Selected_Int_Kind intrinsic -@@cindex intrinsics, Selected_Int_Kind - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Selected_Int_Kind} to use this name for an -external procedure. - -@@node Selected_Real_Kind Intrinsic -@@subsubsection Selected_Real_Kind Intrinsic -@@cindex Selected_Real_Kind intrinsic -@@cindex intrinsics, Selected_Real_Kind - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Selected_Real_Kind} to use this name for an -external procedure. - -@@node Set_Exponent Intrinsic -@@subsubsection Set_Exponent Intrinsic -@@cindex Set_Exponent intrinsic -@@cindex intrinsics, Set_Exponent - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Set_Exponent} to use this name for an -external procedure. - -@@node Shape Intrinsic -@@subsubsection Shape Intrinsic -@@cindex Shape intrinsic -@@cindex intrinsics, Shape - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Shape} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF2U -@@node Short Intrinsic -@@subsubsection Short Intrinsic -@@cindex Short intrinsic -@@cindex intrinsics, Short - -@@noindent -@@example -Short(@@var{A}) -@@end example - -@@noindent -Short: @@code{INTEGER(KIND=6)} function. - -@@noindent -@@var{A}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns @@var{A} with the fractional portion of its -magnitude truncated and its sign preserved, converted -to type @@code{INTEGER(KIND=6)}. - -If @@var{A} is type @@code{COMPLEX}, its real part -is truncated and converted, and its imaginary part is disgregarded. - -@@xref{Int Intrinsic}. - -The precise meaning of this intrinsic might change -in a future version of the GNU Fortran language, -as more is learned about how it is used. - -@@end ifset -@@ifset familyF77 -@@node Sign Intrinsic -@@subsubsection Sign Intrinsic -@@cindex Sign intrinsic -@@cindex intrinsics, Sign - -@@noindent -@@example -Sign(@@var{A}, @@var{B}) -@@end example - -@@noindent -Sign: @@code{INTEGER} or @@code{REAL} function, the exact type being the result of cross-promoting the -types of all the arguments. - -@@noindent -@@var{A}: @@code{INTEGER} or @@code{REAL}; scalar; INTENT(IN). - -@@noindent -@@var{B}: @@code{INTEGER} or @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns @@samp{ABS(@@var{A})*@@var{s}}, where -@@var{s} is +1 if @@samp{@@var{B}.GE.0}, --1 otherwise. - -@@xref{Abs Intrinsic}, for the function that returns -the magnitude of a value. - -@@end ifset -@@ifset familyF2U -@@node Signal Intrinsic (subroutine) -@@subsubsection Signal Intrinsic (subroutine) -@@cindex Signal intrinsic -@@cindex intrinsics, Signal - -@@noindent -@@example -CALL Signal(@@var{Number}, @@var{Handler}, @@var{Status}) -@@end example - -@@noindent -@@var{Number}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Handler}: Signal handler (@@code{INTEGER FUNCTION} or @@code{SUBROUTINE}) -or dummy/global @@code{INTEGER(KIND=1)} scalar. - -@@noindent -@@var{Status}: @@code{INTEGER(KIND=7)}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -If @@var{Handler} is a an @@code{EXTERNAL} routine, arranges for it to be -invoked with a single integer argument (of system-dependent length) -when signal @@var{Number} occurs. -If @@var{Handler} is an integer, it can be -used to turn off handling of signal @@var{Number} or revert to its default -action. -See @@code{signal(2)}. - -Note that @@var{Handler} will be called using C conventions, -so the value of its argument in Fortran terms -Fortran terms is obtained by applying @@code{%LOC()} (or @@var{LOC()}) to it. - -The value returned by @@code{signal(2)} is written to @@var{Status}, if -that argument is supplied. -Otherwise the return value is ignored. - -Some non-GNU implementations of Fortran provide this intrinsic as -only a function, not as a subroutine, or do not support the -(optional) @@var{Status} argument. - -@@emph{Warning:} Use of the @@code{libf2c} run-time library function -@@samp{signal_} directly -(such as via @@samp{EXTERNAL SIGNAL}) -requires use of the @@code{%VAL()} construct -to pass an @@code{INTEGER} value -(such as @@samp{SIG_IGN} or @@samp{SIG_DFL}) -for the @@var{Handler} argument. - -However, while @@samp{CALL SIGNAL(@@var{signum}, %VAL(SIG_IGN))} -works when @@samp{SIGNAL} is treated as an external procedure -(and resolves, at link time, to @@code{libf2c}'s @@samp{signal_} routine), -this construct is not valid when @@samp{SIGNAL} is recognized -as the intrinsic of that name. - -Therefore, for maximum portability and reliability, -code such references to the @@samp{SIGNAL} facility as follows: - -@@smallexample -INTRINSIC SIGNAL -@@dots{} -CALL SIGNAL(@@var{signum}, SIG_IGN) -@@end smallexample - -@@code{g77} will compile such a call correctly, -while other compilers will generally either do so as well -or reject the @@samp{INTRINSIC SIGNAL} statement via a diagnostic, -allowing you to take appropriate action. - -For information on other intrinsics with the same name: -@@xref{Signal Intrinsic (function)}. - -@@end ifset -@@ifset familyBADU77 -@@node Signal Intrinsic (function) -@@subsubsection Signal Intrinsic (function) -@@cindex Signal intrinsic -@@cindex intrinsics, Signal - -@@noindent -@@example -Signal(@@var{Number}, @@var{Handler}) -@@end example - -@@noindent -Signal: @@code{INTEGER(KIND=7)} function. - -@@noindent -@@var{Number}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Handler}: Signal handler (@@code{INTEGER FUNCTION} or @@code{SUBROUTINE}) -or dummy/global @@code{INTEGER(KIND=1)} scalar. - -@@noindent -Intrinsic groups: @@code{badu77}. - -@@noindent -Description: - -If @@var{Handler} is a an @@code{EXTERNAL} routine, arranges for it to be -invoked with a single integer argument (of system-dependent length) -when signal @@var{Number} occurs. -If @@var{Handler} is an integer, it can be -used to turn off handling of signal @@var{Number} or revert to its default -action. -See @@code{signal(2)}. - -Note that @@var{Handler} will be called using C conventions, -so the value of its argument in Fortran terms -is obtained by applying @@code{%LOC()} (or @@var{LOC()}) to it. - -The value returned by @@code{signal(2)} is returned. - -Due to the side effects performed by this intrinsic, the function -form is not recommended. - -@@emph{Warning:} If the returned value is stored in -an @@code{INTEGER(KIND=1)} (default @@code{INTEGER}) argument, -truncation of the original return value occurs on some systems -(such as Alphas, which have 64-bit pointers but 32-bit default integers), -with no warning issued by @@code{g77} under normal circumstances. - -Therefore, the following code fragment might silently fail on -some systems: - -@@smallexample -INTEGER RTN -EXTERNAL MYHNDL -RTN = SIGNAL(@@var{signum}, MYHNDL) -@@dots{} -! Restore original handler: -RTN = SIGNAL(@@var{signum}, RTN) -@@end smallexample - -The reason for the failure is that @@samp{RTN} might not hold -all the information on the original handler for the signal, -thus restoring an invalid handler. -This bug could manifest itself as a spurious run-time failure -at an arbitrary point later during the program's execution, -for example. - -@@emph{Warning:} Use of the @@code{libf2c} run-time library function -@@samp{signal_} directly -(such as via @@samp{EXTERNAL SIGNAL}) -requires use of the @@code{%VAL()} construct -to pass an @@code{INTEGER} value -(such as @@samp{SIG_IGN} or @@samp{SIG_DFL}) -for the @@var{Handler} argument. - -However, while @@samp{RTN = SIGNAL(@@var{signum}, %VAL(SIG_IGN))} -works when @@samp{SIGNAL} is treated as an external procedure -(and resolves, at link time, to @@code{libf2c}'s @@samp{signal_} routine), -this construct is not valid when @@samp{SIGNAL} is recognized -as the intrinsic of that name. - -Therefore, for maximum portability and reliability, -code such references to the @@samp{SIGNAL} facility as follows: - -@@smallexample -INTRINSIC SIGNAL -@@dots{} -RTN = SIGNAL(@@var{signum}, SIG_IGN) -@@end smallexample - -@@code{g77} will compile such a call correctly, -while other compilers will generally either do so as well -or reject the @@samp{INTRINSIC SIGNAL} statement via a diagnostic, -allowing you to take appropriate action. - -For information on other intrinsics with the same name: -@@xref{Signal Intrinsic (subroutine)}. - -@@end ifset -@@ifset familyF77 -@@node Sin Intrinsic -@@subsubsection Sin Intrinsic -@@cindex Sin intrinsic -@@cindex intrinsics, Sin - -@@noindent -@@example -Sin(@@var{X}) -@@end example - -@@noindent -Sin: @@code{REAL} or @@code{COMPLEX} function, the exact type being that of argument @@var{X}. - -@@noindent -@@var{X}: @@code{REAL} or @@code{COMPLEX}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns the sine of @@var{X}, an angle measured -in radians. - -@@xref{ASin Intrinsic}, for the inverse of this function. - -@@end ifset -@@ifset familyVXT -@@node SinD Intrinsic -@@subsubsection SinD Intrinsic -@@cindex SinD intrinsic -@@cindex intrinsics, SinD - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL SinD} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node SinH Intrinsic -@@subsubsection SinH Intrinsic -@@cindex SinH intrinsic -@@cindex intrinsics, SinH - -@@noindent -@@example -SinH(@@var{X}) -@@end example - -@@noindent -SinH: @@code{REAL} function, the @@samp{KIND=} value of the type being that of argument @@var{X}. - -@@noindent -@@var{X}: @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns the hyperbolic sine of @@var{X}. - -@@end ifset -@@ifset familyF2U -@@node Sleep Intrinsic -@@subsubsection Sleep Intrinsic -@@cindex Sleep intrinsic -@@cindex intrinsics, Sleep - -@@noindent -@@example -CALL Sleep(@@var{Seconds}) -@@end example - -@@noindent -@@var{Seconds}: @@code{INTEGER(KIND=1)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Causes the process to pause for @@var{Seconds} seconds. -See @@code{sleep(2)}. - -@@end ifset -@@ifset familyF77 -@@node Sngl Intrinsic -@@subsubsection Sngl Intrinsic -@@cindex Sngl intrinsic -@@cindex intrinsics, Sngl - -@@noindent -@@example -Sngl(@@var{A}) -@@end example - -@@noindent -Sngl: @@code{REAL(KIND=1)} function. - -@@noindent -@@var{A}: @@code{REAL(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Archaic form of @@code{REAL()} that is specific -to one type for @@var{A}. -@@xref{Real Intrinsic}. - -@@end ifset -@@ifset familyVXT -@@node SnglQ Intrinsic -@@subsubsection SnglQ Intrinsic -@@cindex SnglQ intrinsic -@@cindex intrinsics, SnglQ - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL SnglQ} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF90 -@@node Spacing Intrinsic -@@subsubsection Spacing Intrinsic -@@cindex Spacing intrinsic -@@cindex intrinsics, Spacing - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Spacing} to use this name for an -external procedure. - -@@node Spread Intrinsic -@@subsubsection Spread Intrinsic -@@cindex Spread intrinsic -@@cindex intrinsics, Spread - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Spread} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node SqRt Intrinsic -@@subsubsection SqRt Intrinsic -@@cindex SqRt intrinsic -@@cindex intrinsics, SqRt - -@@noindent -@@example -SqRt(@@var{X}) -@@end example - -@@noindent -SqRt: @@code{REAL} or @@code{COMPLEX} function, the exact type being that of argument @@var{X}. - -@@noindent -@@var{X}: @@code{REAL} or @@code{COMPLEX}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns the square root of @@var{X}, which must -not be negative. - -To calculate and represent the square root of a negative -number, complex arithmetic must be used. -For example, @@samp{SQRT(COMPLEX(@@var{X}))}. - -The inverse of this function is @@samp{SQRT(@@var{X}) * SQRT(@@var{X})}. - -@@end ifset -@@ifset familyF2U -@@node SRand Intrinsic -@@subsubsection SRand Intrinsic -@@cindex SRand intrinsic -@@cindex intrinsics, SRand - -@@noindent -@@example -CALL SRand(@@var{Seed}) -@@end example - -@@noindent -@@var{Seed}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Reinitialises the generator with the seed in @@var{Seed}. -@@xref{IRand Intrinsic}. -@@xref{Rand Intrinsic}. - -@@node Stat Intrinsic (subroutine) -@@subsubsection Stat Intrinsic (subroutine) -@@cindex Stat intrinsic -@@cindex intrinsics, Stat - -@@noindent -@@example -CALL Stat(@@var{File}, @@var{SArray}, @@var{Status}) -@@end example - -@@noindent -@@var{File}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{SArray}: @@code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT). - -@@noindent -@@var{Status}: @@code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Obtains data about the given file @@var{File} and places them in the array -@@var{SArray}. -A null character (@@samp{CHAR(0)}) marks the end of -the name in @@var{File}---otherwise, -trailing blanks in @@var{File} are ignored. -The values in this array are extracted from the -@@code{stat} structure as returned by @@code{fstat(2)} q.v., as follows: - -@@enumerate -@@item -Device ID - -@@item -Inode number - -@@item -File mode - -@@item -Number of links - -@@item -Owner's uid - -@@item -Owner's gid - -@@item -ID of device containing directory entry for file -(0 if not available) - -@@item -File size (bytes) - -@@item -Last access time - -@@item -Last modification time - -@@item -Last file status change time - -@@item -Preferred I/O block size (-1 if not available) - -@@item -Number of blocks allocated (-1 if not available) -@@end enumerate - -Not all these elements are relevant on all systems. -If an element is not relevant, it is returned as 0. - -If the @@var{Status} argument is supplied, it contains -0 on success or a non-zero error code upon return. - -Some non-GNU implementations of Fortran provide this intrinsic as -only a function, not as a subroutine, or do not support the -(optional) @@var{Status} argument. - -For information on other intrinsics with the same name: -@@xref{Stat Intrinsic (function)}. - -@@node Stat Intrinsic (function) -@@subsubsection Stat Intrinsic (function) -@@cindex Stat intrinsic -@@cindex intrinsics, Stat - -@@noindent -@@example -Stat(@@var{File}, @@var{SArray}) -@@end example - -@@noindent -Stat: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{File}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{SArray}: @@code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Obtains data about the given file @@var{File} and places them in the array -@@var{SArray}. -A null character (@@samp{CHAR(0)}) marks the end of -the name in @@var{File}---otherwise, -trailing blanks in @@var{File} are ignored. -The values in this array are extracted from the -@@code{stat} structure as returned by @@code{fstat(2)} q.v., as follows: - -@@enumerate -@@item -Device ID - -@@item -Inode number - -@@item -File mode - -@@item -Number of links - -@@item -Owner's uid - -@@item -Owner's gid - -@@item -ID of device containing directory entry for file -(0 if not available) - -@@item -File size (bytes) - -@@item -Last access time - -@@item -Last modification time - -@@item -Last file status change time - -@@item -Preferred I/O block size (-1 if not available) - -@@item -Number of blocks allocated (-1 if not available) -@@end enumerate - -Not all these elements are relevant on all systems. -If an element is not relevant, it is returned as 0. - -Returns 0 on success or a non-zero error code. - -For information on other intrinsics with the same name: -@@xref{Stat Intrinsic (subroutine)}. - -@@end ifset -@@ifset familyF90 -@@node Sum Intrinsic -@@subsubsection Sum Intrinsic -@@cindex Sum intrinsic -@@cindex intrinsics, Sum - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Sum} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF2U -@@node SymLnk Intrinsic (subroutine) -@@subsubsection SymLnk Intrinsic (subroutine) -@@cindex SymLnk intrinsic -@@cindex intrinsics, SymLnk - -@@noindent -@@example -CALL SymLnk(@@var{Path1}, @@var{Path2}, @@var{Status}) -@@end example - -@@noindent -@@var{Path1}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{Path2}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{Status}: @@code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Makes a symbolic link from file @@var{Path1} to @@var{Path2}. -A null character (@@samp{CHAR(0)}) marks the end of -the names in @@var{Path1} and @@var{Path2}---otherwise, -trailing blanks in @@var{Path1} and @@var{Path2} are ignored. -If the @@var{Status} argument is supplied, it contains -0 on success or a non-zero error code upon return -(@@code{ENOSYS} if the system does not provide @@code{symlink(2)}). - -Some non-GNU implementations of Fortran provide this intrinsic as -only a function, not as a subroutine, or do not support the -(optional) @@var{Status} argument. - -For information on other intrinsics with the same name: -@@xref{SymLnk Intrinsic (function)}. - -@@end ifset -@@ifset familyBADU77 -@@node SymLnk Intrinsic (function) -@@subsubsection SymLnk Intrinsic (function) -@@cindex SymLnk intrinsic -@@cindex intrinsics, SymLnk - -@@noindent -@@example -SymLnk(@@var{Path1}, @@var{Path2}) -@@end example - -@@noindent -SymLnk: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{Path1}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{Path2}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{badu77}. - -@@noindent -Description: - -Makes a symbolic link from file @@var{Path1} to @@var{Path2}. -A null character (@@samp{CHAR(0)}) marks the end of -the names in @@var{Path1} and @@var{Path2}---otherwise, -trailing blanks in @@var{Path1} and @@var{Path2} are ignored. -Returns 0 on success or a non-zero error code -(@@code{ENOSYS} if the system does not provide @@code{symlink(2)}). - -Due to the side effects performed by this intrinsic, the function -form is not recommended. - -For information on other intrinsics with the same name: -@@xref{SymLnk Intrinsic (subroutine)}. - -@@end ifset -@@ifset familyF2U -@@node System Intrinsic (subroutine) -@@subsubsection System Intrinsic (subroutine) -@@cindex System intrinsic -@@cindex intrinsics, System - -@@noindent -@@example -CALL System(@@var{Command}, @@var{Status}) -@@end example - -@@noindent -@@var{Command}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{Status}: @@code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Passes the command @@var{Command} to a shell (see @@code{system(3)}). -If argument @@var{Status} is present, it contains the value returned by -@@code{system(3)}, presumably 0 if the shell command succeeded. -Note that which shell is used to invoke the command is system-dependent -and environment-dependent. - -Some non-GNU implementations of Fortran provide this intrinsic as -only a function, not as a subroutine, or do not support the -(optional) @@var{Status} argument. - -For information on other intrinsics with the same name: -@@xref{System Intrinsic (function)}. - -@@end ifset -@@ifset familyBADU77 -@@node System Intrinsic (function) -@@subsubsection System Intrinsic (function) -@@cindex System intrinsic -@@cindex intrinsics, System - -@@noindent -@@example -System(@@var{Command}) -@@end example - -@@noindent -System: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{Command}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{badu77}. - -@@noindent -Description: - -Passes the command @@var{Command} to a shell (see @@code{system(3)}). -Returns the value returned by -@@code{system(3)}, presumably 0 if the shell command succeeded. -Note that which shell is used to invoke the command is system-dependent -and environment-dependent. - -Due to the side effects performed by this intrinsic, the function -form is not recommended. -However, the function form can be valid in cases where the -actual side effects performed by the call are unimportant to -the application. - -For example, on a UNIX system, @@samp{SAME = SYSTEM('cmp a b')} -does not perform any side effects likely to be important to the -program, so the programmer would not care if the actual system -call (and invocation of @@code{cmp}) was optimized away in a situation -where the return value could be determined otherwise, or was not -actually needed (@@samp{SAME} not actually referenced after the -sample assignment statement). - -For information on other intrinsics with the same name: -@@xref{System Intrinsic (subroutine)}. - -@@end ifset -@@ifset familyF90 -@@node System_Clock Intrinsic -@@subsubsection System_Clock Intrinsic -@@cindex System_Clock intrinsic -@@cindex intrinsics, System_Clock - -@@noindent -@@example -CALL System_Clock(@@var{Count}, @@var{Rate}, @@var{Max}) -@@end example - -@@noindent -@@var{Count}: @@code{INTEGER(KIND=1)}; scalar; INTENT(OUT). - -@@noindent -@@var{Rate}: @@code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -@@var{Max}: @@code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{f90}. - -@@noindent -Description: - -Returns in @@var{Count} the current value of the system clock; this is -the value returned by the UNIX function @@code{times(2)} -in this implementation, but -isn't in general. -@@var{Rate} is the number of clock ticks per second and -@@var{Max} is the maximum value this can take, which isn't very useful -in this implementation since it's just the maximum C @@code{unsigned -int} value. - -@@cindex wraparound, timings -@@cindex limits, timings -On some systems, the underlying timings are represented -using types with sufficiently small limits that overflows -(wraparounds) 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. - -@@end ifset -@@ifset familyF77 -@@node Tan Intrinsic -@@subsubsection Tan Intrinsic -@@cindex Tan intrinsic -@@cindex intrinsics, Tan - -@@noindent -@@example -Tan(@@var{X}) -@@end example - -@@noindent -Tan: @@code{REAL} function, the @@samp{KIND=} value of the type being that of argument @@var{X}. - -@@noindent -@@var{X}: @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns the tangent of @@var{X}, an angle measured -in radians. - -@@xref{ATan Intrinsic}, for the inverse of this function. - -@@end ifset -@@ifset familyVXT -@@node TanD Intrinsic -@@subsubsection TanD Intrinsic -@@cindex TanD intrinsic -@@cindex intrinsics, TanD - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL TanD} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF77 -@@node TanH Intrinsic -@@subsubsection TanH Intrinsic -@@cindex TanH intrinsic -@@cindex intrinsics, TanH - -@@noindent -@@example -TanH(@@var{X}) -@@end example - -@@noindent -TanH: @@code{REAL} function, the @@samp{KIND=} value of the type being that of argument @@var{X}. - -@@noindent -@@var{X}: @@code{REAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: (standard FORTRAN 77). - -@@noindent -Description: - -Returns the hyperbolic tangent of @@var{X}. - -@@end ifset -@@ifset familyF2U -@@node Time Intrinsic (UNIX) -@@subsubsection Time Intrinsic (UNIX) -@@cindex Time intrinsic -@@cindex intrinsics, Time - -@@noindent -@@example -Time() -@@end example - -@@noindent -Time: @@code{INTEGER(KIND=1)} function. - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns the current time encoded as an integer -(in the manner of the UNIX function @@code{time(3)}). -This value is suitable for passing to @@code{CTIME}, -@@code{GMTIME}, and @@code{LTIME}. - -@@cindex wraparound, timings -@@cindex limits, timings -This intrinsic is not fully portable, such as to systems -with 32-bit @@code{INTEGER} 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. - -@@xref{Time8 Intrinsic}, for information on a -similar intrinsic that might be portable to more -GNU Fortran implementations, though to fewer -Fortran compilers. - -For information on other intrinsics with the same name: -@@xref{Time Intrinsic (VXT)}. - -@@end ifset -@@ifset familyVXT -@@node Time Intrinsic (VXT) -@@subsubsection Time Intrinsic (VXT) -@@cindex Time intrinsic -@@cindex intrinsics, Time - -@@noindent -@@example -CALL Time(@@var{Time}) -@@end example - -@@noindent -@@var{Time}: @@code{CHARACTER*8}; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{vxt}. - -@@noindent -Description: - -Returns in @@var{Time} a character representation of the current time as -obtained from @@code{ctime(3)}. - -@@cindex Y10K compliance -@@cindex Year 10000 compliance -@@cindex wraparound, Y10K -@@cindex limits, Y10K -Programs making use of this intrinsic -might not be Year 10000 (Y10K) compliant. -For example, the date might appear, -to such programs, to wrap around -(change from a larger value to a smaller one) -as of the Year 10000. - -@@xref{FDate Intrinsic (subroutine)}, for an equivalent routine. - -For information on other intrinsics with the same name: -@@xref{Time Intrinsic (UNIX)}. - -@@end ifset -@@ifset familyF2U -@@node Time8 Intrinsic -@@subsubsection Time8 Intrinsic -@@cindex Time8 intrinsic -@@cindex intrinsics, Time8 - -@@noindent -@@example -Time8() -@@end example - -@@noindent -Time8: @@code{INTEGER(KIND=2)} function. - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns the current time encoded as a long integer -(in the manner of the UNIX function @@code{time(3)}). -This value is suitable for passing to @@code{CTIME}, -@@code{GMTIME}, and @@code{LTIME}. - -@@cindex wraparound, timings -@@cindex limits, timings -@@emph{Warning:} this intrinsic does not increase the range -of the timing values over that returned by @@code{time(3)}. -On a system with a 32-bit @@code{time(3)}, -@@code{TIME8} will return a 32-bit value, -even though converted to an @@samp{INTEGER(KIND=2)} 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. - -No Fortran implementations other than GNU Fortran are -known to support this intrinsic at the time of this -writing. -@@xref{Time Intrinsic (UNIX)}, for information on a -similar intrinsic that might be portable to more Fortran -compilers, though to fewer GNU Fortran implementations. - -@@end ifset -@@ifset familyF90 -@@node Tiny Intrinsic -@@subsubsection Tiny Intrinsic -@@cindex Tiny intrinsic -@@cindex intrinsics, Tiny - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Tiny} to use this name for an -external procedure. - -@@node Transfer Intrinsic -@@subsubsection Transfer Intrinsic -@@cindex Transfer intrinsic -@@cindex intrinsics, Transfer - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Transfer} to use this name for an -external procedure. - -@@node Transpose Intrinsic -@@subsubsection Transpose Intrinsic -@@cindex Transpose intrinsic -@@cindex intrinsics, Transpose - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Transpose} to use this name for an -external procedure. - -@@node Trim Intrinsic -@@subsubsection Trim Intrinsic -@@cindex Trim intrinsic -@@cindex intrinsics, Trim - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Trim} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF2U -@@node TtyNam Intrinsic (subroutine) -@@subsubsection TtyNam Intrinsic (subroutine) -@@cindex TtyNam intrinsic -@@cindex intrinsics, TtyNam - -@@noindent -@@example -CALL TtyNam(@@var{Unit}, @@var{Name}) -@@end example - -@@noindent -@@var{Unit}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Name}: @@code{CHARACTER}; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Sets @@var{Name} to the name of the terminal device open on logical unit -@@var{Unit} or to a blank string if @@var{Unit} is not connected to a -terminal. - -Some non-GNU implementations of Fortran provide this intrinsic as -only a function, not as a subroutine. - -For information on other intrinsics with the same name: -@@xref{TtyNam Intrinsic (function)}. - -@@node TtyNam Intrinsic (function) -@@subsubsection TtyNam Intrinsic (function) -@@cindex TtyNam intrinsic -@@cindex intrinsics, TtyNam - -@@noindent -@@example -TtyNam(@@var{Unit}) -@@end example - -@@noindent -TtyNam: @@code{CHARACTER*(*)} function. - -@@noindent -@@var{Unit}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Returns the name of the terminal device open on logical unit -@@var{Unit} or a blank string if @@var{Unit} is not connected to a -terminal. - -For information on other intrinsics with the same name: -@@xref{TtyNam Intrinsic (subroutine)}. - -@@end ifset -@@ifset familyF90 -@@node UBound Intrinsic -@@subsubsection UBound Intrinsic -@@cindex UBound intrinsic -@@cindex intrinsics, UBound - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL UBound} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF2U -@@node UMask Intrinsic (subroutine) -@@subsubsection UMask Intrinsic (subroutine) -@@cindex UMask intrinsic -@@cindex intrinsics, UMask - -@@noindent -@@example -CALL UMask(@@var{Mask}, @@var{Old}) -@@end example - -@@noindent -@@var{Mask}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -@@var{Old}: @@code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Sets the file creation mask to @@var{Mask} and returns the old value in -argument @@var{Old} if it is supplied. -See @@code{umask(2)}. - -Some non-GNU implementations of Fortran provide this intrinsic as -only a function, not as a subroutine. - -For information on other intrinsics with the same name: -@@xref{UMask Intrinsic (function)}. - -@@end ifset -@@ifset familyBADU77 -@@node UMask Intrinsic (function) -@@subsubsection UMask Intrinsic (function) -@@cindex UMask intrinsic -@@cindex intrinsics, UMask - -@@noindent -@@example -UMask(@@var{Mask}) -@@end example - -@@noindent -UMask: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{Mask}: @@code{INTEGER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{badu77}. - -@@noindent -Description: - -Sets the file creation mask to @@var{Mask} and returns the old value. -See @@code{umask(2)}. - -Due to the side effects performed by this intrinsic, the function -form is not recommended. - -For information on other intrinsics with the same name: -@@xref{UMask Intrinsic (subroutine)}. - -@@end ifset -@@ifset familyF2U -@@node Unlink Intrinsic (subroutine) -@@subsubsection Unlink Intrinsic (subroutine) -@@cindex Unlink intrinsic -@@cindex intrinsics, Unlink - -@@noindent -@@example -CALL Unlink(@@var{File}, @@var{Status}) -@@end example - -@@noindent -@@var{File}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -@@var{Status}: @@code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). - -@@noindent -Intrinsic groups: @@code{unix}. - -@@noindent -Description: - -Unlink the file @@var{File}. -A null character (@@samp{CHAR(0)}) marks the end of -the name in @@var{File}---otherwise, -trailing blanks in @@var{File} are ignored. -If the @@var{Status} argument is supplied, it contains -0 on success or a non-zero error code upon return. -See @@code{unlink(2)}. - -Some non-GNU implementations of Fortran provide this intrinsic as -only a function, not as a subroutine, or do not support the -(optional) @@var{Status} argument. - -For information on other intrinsics with the same name: -@@xref{Unlink Intrinsic (function)}. - -@@end ifset -@@ifset familyBADU77 -@@node Unlink Intrinsic (function) -@@subsubsection Unlink Intrinsic (function) -@@cindex Unlink intrinsic -@@cindex intrinsics, Unlink - -@@noindent -@@example -Unlink(@@var{File}) -@@end example - -@@noindent -Unlink: @@code{INTEGER(KIND=1)} function. - -@@noindent -@@var{File}: @@code{CHARACTER}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{badu77}. - -@@noindent -Description: - -Unlink the file @@var{File}. -A null character (@@samp{CHAR(0)}) marks the end of -the name in @@var{File}---otherwise, -trailing blanks in @@var{File} are ignored. -Returns 0 on success or a non-zero error code. -See @@code{unlink(2)}. - -Due to the side effects performed by this intrinsic, the function -form is not recommended. - -For information on other intrinsics with the same name: -@@xref{Unlink Intrinsic (subroutine)}. - -@@end ifset -@@ifset familyF90 -@@node Unpack Intrinsic -@@subsubsection Unpack Intrinsic -@@cindex Unpack intrinsic -@@cindex intrinsics, Unpack - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Unpack} to use this name for an -external procedure. - -@@node Verify Intrinsic -@@subsubsection Verify Intrinsic -@@cindex Verify intrinsic -@@cindex intrinsics, Verify - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL Verify} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF2C -@@node XOr Intrinsic -@@subsubsection XOr Intrinsic -@@cindex XOr intrinsic -@@cindex intrinsics, XOr - -@@noindent -@@example -XOr(@@var{I}, @@var{J}) -@@end example - -@@noindent -XOr: @@code{INTEGER} or @@code{LOGICAL} function, the exact type being the result of cross-promoting the -types of all the arguments. - -@@noindent -@@var{I}: @@code{INTEGER} or @@code{LOGICAL}; scalar; INTENT(IN). - -@@noindent -@@var{J}: @@code{INTEGER} or @@code{LOGICAL}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}. - -@@noindent -Description: - -Returns value resulting from boolean exclusive-OR of -pair of bits in each of @@var{I} and @@var{J}. - -@@node ZAbs Intrinsic -@@subsubsection ZAbs Intrinsic -@@cindex ZAbs intrinsic -@@cindex intrinsics, ZAbs - -@@noindent -@@example -ZAbs(@@var{A}) -@@end example - -@@noindent -ZAbs: @@code{REAL(KIND=2)} function. - -@@noindent -@@var{A}: @@code{COMPLEX(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}. - -@@noindent -Description: - -Archaic form of @@code{ABS()} that is specific -to one type for @@var{A}. -@@xref{Abs Intrinsic}. - -@@node ZCos Intrinsic -@@subsubsection ZCos Intrinsic -@@cindex ZCos intrinsic -@@cindex intrinsics, ZCos - -@@noindent -@@example -ZCos(@@var{X}) -@@end example - -@@noindent -ZCos: @@code{COMPLEX(KIND=2)} function. - -@@noindent -@@var{X}: @@code{COMPLEX(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}. - -@@noindent -Description: - -Archaic form of @@code{COS()} that is specific -to one type for @@var{X}. -@@xref{Cos Intrinsic}. - -@@node ZExp Intrinsic -@@subsubsection ZExp Intrinsic -@@cindex ZExp intrinsic -@@cindex intrinsics, ZExp - -@@noindent -@@example -ZExp(@@var{X}) -@@end example - -@@noindent -ZExp: @@code{COMPLEX(KIND=2)} function. - -@@noindent -@@var{X}: @@code{COMPLEX(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}. - -@@noindent -Description: - -Archaic form of @@code{EXP()} that is specific -to one type for @@var{X}. -@@xref{Exp Intrinsic}. - -@@end ifset -@@ifset familyVXT -@@node ZExt Intrinsic -@@subsubsection ZExt Intrinsic -@@cindex ZExt intrinsic -@@cindex intrinsics, ZExt - -This intrinsic is not yet implemented. -The name is, however, reserved as an intrinsic. -Use @@samp{EXTERNAL ZExt} to use this name for an -external procedure. - -@@end ifset -@@ifset familyF2C -@@node ZLog Intrinsic -@@subsubsection ZLog Intrinsic -@@cindex ZLog intrinsic -@@cindex intrinsics, ZLog - -@@noindent -@@example -ZLog(@@var{X}) -@@end example - -@@noindent -ZLog: @@code{COMPLEX(KIND=2)} function. - -@@noindent -@@var{X}: @@code{COMPLEX(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}. - -@@noindent -Description: - -Archaic form of @@code{LOG()} that is specific -to one type for @@var{X}. -@@xref{Log Intrinsic}. - -@@node ZSin Intrinsic -@@subsubsection ZSin Intrinsic -@@cindex ZSin intrinsic -@@cindex intrinsics, ZSin - -@@noindent -@@example -ZSin(@@var{X}) -@@end example - -@@noindent -ZSin: @@code{COMPLEX(KIND=2)} function. - -@@noindent -@@var{X}: @@code{COMPLEX(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}. - -@@noindent -Description: - -Archaic form of @@code{SIN()} that is specific -to one type for @@var{X}. -@@xref{Sin Intrinsic}. - -@@node ZSqRt Intrinsic -@@subsubsection ZSqRt Intrinsic -@@cindex ZSqRt intrinsic -@@cindex intrinsics, ZSqRt - -@@noindent -@@example -ZSqRt(@@var{X}) -@@end example - -@@noindent -ZSqRt: @@code{COMPLEX(KIND=2)} function. - -@@noindent -@@var{X}: @@code{COMPLEX(KIND=2)}; scalar; INTENT(IN). - -@@noindent -Intrinsic groups: @@code{f2c}. - -@@noindent -Description: - -Archaic form of @@code{SQRT()} that is specific -to one type for @@var{X}. -@@xref{SqRt Intrinsic}. - -@@end ifset @