blob: e657510a0608136453ecbbdc0eda530f770db796 [file] [log] [blame]
@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 @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} not wider than the default kind; 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} not wider than the default kind; 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 nonzero 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 nonzero 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 nonzero 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 nonzero 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} not wider than the default kind; 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} not wider than the default kind; 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} not wider than the default kind; 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