| @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 |
| |
| @noindent |
| @example |
| CALL FGet(@var{C}, @var{Status}) |
| @end example |
| |
| @noindent |
| @var{C}: @code{CHARACTER}; scalar; INTENT(OUT). |
| |
| @noindent |
| @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Reads a single character into @var{C} in stream mode from unit 5 |
| (by-passing normal formatted output) using @code{getc(3)}. |
| Returns in |
| @var{Status} 0 on success, @minus{}1 on end-of-file, and the error code |
| from @code{ferror(3)} otherwise. |
| |
| Stream I/O should not be mixed with normal record-oriented (formatted or |
| unformatted) I/O on the same unit; the results are unpredictable. |
| |
| For information on other intrinsics with the same name: |
| @xref{FGet Intrinsic (function)}. |
| |
| @end ifset |
| @ifset familyBADU77 |
| @node FGet Intrinsic (function) |
| @subsubsection FGet Intrinsic (function) |
| @cindex FGet intrinsic |
| @cindex intrinsics, FGet |
| |
| @noindent |
| @example |
| FGet(@var{C}) |
| @end example |
| |
| @noindent |
| FGet: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{C}: @code{CHARACTER}; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{badu77}. |
| |
| @noindent |
| Description: |
| |
| Reads a single character into @var{C} in stream mode from unit 5 |
| (by-passing normal formatted input) using @code{getc(3)}. |
| Returns 0 on |
| success, @minus{}1 on end-of-file, and the error code from |
| @code{ferror(3)} otherwise. |
| |
| Stream I/O should not be mixed with normal record-oriented (formatted or |
| unformatted) I/O on the same unit; the results are unpredictable. |
| |
| For information on other intrinsics with the same name: |
| @xref{FGet Intrinsic (subroutine)}. |
| |
| @end ifset |
| @ifset familyF2U |
| @node FGetC Intrinsic (subroutine) |
| @subsubsection FGetC Intrinsic (subroutine) |
| @cindex FGetC intrinsic |
| @cindex intrinsics, FGetC |
| |
| @noindent |
| @example |
| CALL FGetC(@var{Unit}, @var{C}, @var{Status}) |
| @end example |
| |
| @noindent |
| @var{Unit}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{C}: @code{CHARACTER}; scalar; INTENT(OUT). |
| |
| @noindent |
| @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Reads a single character into @var{C} in stream mode from unit @var{Unit} |
| (by-passing normal formatted output) using @code{getc(3)}. |
| Returns in |
| @var{Status} 0 on success, @minus{}1 on end-of-file, and the error code from |
| @code{ferror(3)} otherwise. |
| |
| Stream I/O should not be mixed with normal record-oriented (formatted or |
| unformatted) I/O on the same unit; the results are unpredictable. |
| |
| For information on other intrinsics with the same name: |
| @xref{FGetC Intrinsic (function)}. |
| |
| @end ifset |
| @ifset familyBADU77 |
| @node FGetC Intrinsic (function) |
| @subsubsection FGetC Intrinsic (function) |
| @cindex FGetC intrinsic |
| @cindex intrinsics, FGetC |
| |
| @noindent |
| @example |
| FGetC(@var{Unit}, @var{C}) |
| @end example |
| |
| @noindent |
| FGetC: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{Unit}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{C}: @code{CHARACTER}; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{badu77}. |
| |
| @noindent |
| Description: |
| |
| Reads a single character into @var{C} in stream mode from unit @var{Unit} |
| (by-passing normal formatted output) using @code{getc(3)}. |
| Returns 0 on |
| success, @minus{}1 on end-of-file, and the error code from |
| @code{ferror(3)} otherwise. |
| |
| Stream I/O should not be mixed with normal record-oriented (formatted or |
| unformatted) I/O on the same unit; the results are unpredictable. |
| |
| For information on other intrinsics with the same name: |
| @xref{FGetC Intrinsic (subroutine)}. |
| |
| @end ifset |
| @ifset familyF77 |
| @node Float Intrinsic |
| @subsubsection Float Intrinsic |
| @cindex Float intrinsic |
| @cindex intrinsics, Float |
| |
| @noindent |
| @example |
| Float(@var{A}) |
| @end example |
| |
| @noindent |
| Float: @code{REAL(KIND=1)} function. |
| |
| @noindent |
| @var{A}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Archaic form of @code{REAL()} that is specific |
| to one type for @var{A}. |
| @xref{Real Intrinsic}. |
| |
| @end ifset |
| @ifset familyVXT |
| @node FloatI Intrinsic |
| @subsubsection FloatI Intrinsic |
| @cindex FloatI intrinsic |
| @cindex intrinsics, FloatI |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL FloatI} to use this name for an |
| external procedure. |
| |
| @node FloatJ Intrinsic |
| @subsubsection FloatJ Intrinsic |
| @cindex FloatJ intrinsic |
| @cindex intrinsics, FloatJ |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL FloatJ} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF90 |
| @node Floor Intrinsic |
| @subsubsection Floor Intrinsic |
| @cindex Floor intrinsic |
| @cindex intrinsics, Floor |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Floor} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF2U |
| @node Flush Intrinsic |
| @subsubsection Flush Intrinsic |
| @cindex Flush intrinsic |
| @cindex intrinsics, Flush |
| |
| @noindent |
| @example |
| CALL Flush(@var{Unit}) |
| @end example |
| |
| @noindent |
| @var{Unit}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Flushes Fortran unit(s) currently open for output. |
| Without the optional argument, all such units are flushed, |
| otherwise just the unit specified by @var{Unit}. |
| |
| Some non-GNU implementations of Fortran provide this intrinsic |
| as a library procedure that might or might not support the |
| (optional) @var{Unit} argument. |
| |
| @node FNum Intrinsic |
| @subsubsection FNum Intrinsic |
| @cindex FNum intrinsic |
| @cindex intrinsics, FNum |
| |
| @noindent |
| @example |
| FNum(@var{Unit}) |
| @end example |
| |
| @noindent |
| FNum: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{Unit}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Returns the Unix file descriptor number corresponding to the open |
| Fortran I/O unit @var{Unit}. |
| This could be passed to an interface to C I/O routines. |
| |
| @node FPut Intrinsic (subroutine) |
| @subsubsection FPut Intrinsic (subroutine) |
| @cindex FPut intrinsic |
| @cindex intrinsics, FPut |
| |
| @noindent |
| @example |
| CALL FPut(@var{C}, @var{Status}) |
| @end example |
| |
| @noindent |
| @var{C}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Writes the single character @var{C} in stream mode to unit 6 |
| (by-passing normal formatted output) using @code{putc(3)}. |
| Returns in |
| @var{Status} 0 on success, the error code from @code{ferror(3)} otherwise. |
| |
| Stream I/O should not be mixed with normal record-oriented (formatted or |
| unformatted) I/O on the same unit; the results are unpredictable. |
| |
| For information on other intrinsics with the same name: |
| @xref{FPut Intrinsic (function)}. |
| |
| @end ifset |
| @ifset familyBADU77 |
| @node FPut Intrinsic (function) |
| @subsubsection FPut Intrinsic (function) |
| @cindex FPut intrinsic |
| @cindex intrinsics, FPut |
| |
| @noindent |
| @example |
| FPut(@var{C}) |
| @end example |
| |
| @noindent |
| FPut: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{C}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{badu77}. |
| |
| @noindent |
| Description: |
| |
| Writes the single character @var{C} in stream mode to unit 6 |
| (by-passing normal formatted output) using @code{getc(3)}. |
| Returns 0 on |
| success, the error code from @code{ferror(3)} otherwise. |
| |
| Stream I/O should not be mixed with normal record-oriented (formatted or |
| unformatted) I/O on the same unit; the results are unpredictable. |
| |
| For information on other intrinsics with the same name: |
| @xref{FPut Intrinsic (subroutine)}. |
| |
| @end ifset |
| @ifset familyF2U |
| @node FPutC Intrinsic (subroutine) |
| @subsubsection FPutC Intrinsic (subroutine) |
| @cindex FPutC intrinsic |
| @cindex intrinsics, FPutC |
| |
| @noindent |
| @example |
| CALL FPutC(@var{Unit}, @var{C}, @var{Status}) |
| @end example |
| |
| @noindent |
| @var{Unit}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{C}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Writes the single character @var{Unit} in stream mode to unit 6 |
| (by-passing normal formatted output) using @code{putc(3)}. |
| Returns in |
| @var{C} 0 on success, the error code from @code{ferror(3)} otherwise. |
| |
| Stream I/O should not be mixed with normal record-oriented (formatted or |
| unformatted) I/O on the same unit; the results are unpredictable. |
| |
| For information on other intrinsics with the same name: |
| @xref{FPutC Intrinsic (function)}. |
| |
| @end ifset |
| @ifset familyBADU77 |
| @node FPutC Intrinsic (function) |
| @subsubsection FPutC Intrinsic (function) |
| @cindex FPutC intrinsic |
| @cindex intrinsics, FPutC |
| |
| @noindent |
| @example |
| FPutC(@var{Unit}, @var{C}) |
| @end example |
| |
| @noindent |
| FPutC: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{Unit}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{C}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{badu77}. |
| |
| @noindent |
| Description: |
| |
| Writes the single character @var{C} in stream mode to unit @var{Unit} |
| (by-passing normal formatted output) using @code{putc(3)}. |
| Returns 0 on |
| success, the error code from @code{ferror(3)} otherwise. |
| |
| Stream I/O should not be mixed with normal record-oriented (formatted or |
| unformatted) I/O on the same unit; the results are unpredictable. |
| |
| For information on other intrinsics with the same name: |
| @xref{FPutC Intrinsic (subroutine)}. |
| |
| @end ifset |
| @ifset familyF90 |
| @node Fraction Intrinsic |
| @subsubsection Fraction Intrinsic |
| @cindex Fraction intrinsic |
| @cindex intrinsics, Fraction |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Fraction} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF2U |
| @node FSeek Intrinsic |
| @subsubsection FSeek Intrinsic |
| @cindex FSeek intrinsic |
| @cindex intrinsics, FSeek |
| |
| @noindent |
| @example |
| CALL FSeek(@var{Unit}, @var{Offset}, @var{Whence}, @var{ErrLab}) |
| @end example |
| |
| @noindent |
| @var{Unit}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Offset}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Whence}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{ErrLab}: @samp{*@var{label}}, where @var{label} is the label |
| of an executable statement; OPTIONAL. |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Attempts to move Fortran unit @var{Unit} to the specified |
| @var{Offset}: absolute offset if @var{Whence}=0; relative to the |
| current offset if @var{Whence}=1; relative to the end of the file if |
| @var{Whence}=2. |
| It branches to label @var{ErrLab} if @var{Unit} is |
| not open or if the call otherwise fails. |
| |
| @node FStat Intrinsic (subroutine) |
| @subsubsection FStat Intrinsic (subroutine) |
| @cindex FStat intrinsic |
| @cindex intrinsics, FStat |
| |
| @noindent |
| @example |
| CALL FStat(@var{Unit}, @var{SArray}, @var{Status}) |
| @end example |
| |
| @noindent |
| @var{Unit}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT). |
| |
| @noindent |
| @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Obtains data about the file open on Fortran I/O unit @var{Unit} and |
| places them in the array @var{SArray}. |
| The values in this array are |
| extracted from the @code{stat} structure as returned by |
| @code{fstat(2)} q.v., as follows: |
| |
| @enumerate |
| @item |
| Device ID |
| |
| @item |
| Inode number |
| |
| @item |
| File mode |
| |
| @item |
| Number of links |
| |
| @item |
| Owner's uid |
| |
| @item |
| Owner's gid |
| |
| @item |
| ID of device containing directory entry for file |
| (0 if not available) |
| |
| @item |
| File size (bytes) |
| |
| @item |
| Last access time |
| |
| @item |
| Last modification time |
| |
| @item |
| Last file status change time |
| |
| @item |
| Preferred I/O block size (-1 if not available) |
| |
| @item |
| Number of blocks allocated (-1 if not available) |
| @end enumerate |
| |
| Not all these elements are relevant on all systems. |
| If an element is not relevant, it is returned as 0. |
| |
| If the @var{Status} argument is supplied, it contains |
| 0 on success or a nonzero error code upon return. |
| |
| Some non-GNU implementations of Fortran provide this intrinsic as |
| only a function, not as a subroutine, or do not support the |
| (optional) @var{Status} argument. |
| |
| For information on other intrinsics with the same name: |
| @xref{FStat Intrinsic (function)}. |
| |
| @node FStat Intrinsic (function) |
| @subsubsection FStat Intrinsic (function) |
| @cindex FStat intrinsic |
| @cindex intrinsics, FStat |
| |
| @noindent |
| @example |
| FStat(@var{Unit}, @var{SArray}) |
| @end example |
| |
| @noindent |
| FStat: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{Unit}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Obtains data about the file open on Fortran I/O unit @var{Unit} and |
| places them in the array @var{SArray}. |
| The values in this array are |
| extracted from the @code{stat} structure as returned by |
| @code{fstat(2)} q.v., as follows: |
| |
| @enumerate |
| @item |
| Device ID |
| |
| @item |
| Inode number |
| |
| @item |
| File mode |
| |
| @item |
| Number of links |
| |
| @item |
| Owner's uid |
| |
| @item |
| Owner's gid |
| |
| @item |
| ID of device containing directory entry for file |
| (0 if not available) |
| |
| @item |
| File size (bytes) |
| |
| @item |
| Last access time |
| |
| @item |
| Last modification time |
| |
| @item |
| Last file status change time |
| |
| @item |
| Preferred I/O block size (-1 if not available) |
| |
| @item |
| Number of blocks allocated (-1 if not available) |
| @end enumerate |
| |
| Not all these elements are relevant on all systems. |
| If an element is not relevant, it is returned as 0. |
| |
| Returns 0 on success or a nonzero error code. |
| |
| For information on other intrinsics with the same name: |
| @xref{FStat Intrinsic (subroutine)}. |
| |
| @node FTell Intrinsic (subroutine) |
| @subsubsection FTell Intrinsic (subroutine) |
| @cindex FTell intrinsic |
| @cindex intrinsics, FTell |
| |
| @noindent |
| @example |
| CALL FTell(@var{Unit}, @var{Offset}) |
| @end example |
| |
| @noindent |
| @var{Unit}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Offset}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Sets @var{Offset} to the current offset of Fortran unit @var{Unit} |
| (or to @minus{}1 if @var{Unit} is not open). |
| |
| Some non-GNU implementations of Fortran provide this intrinsic as |
| only a function, not as a subroutine. |
| |
| For information on other intrinsics with the same name: |
| @xref{FTell Intrinsic (function)}. |
| |
| @node FTell Intrinsic (function) |
| @subsubsection FTell Intrinsic (function) |
| @cindex FTell intrinsic |
| @cindex intrinsics, FTell |
| |
| @noindent |
| @example |
| FTell(@var{Unit}) |
| @end example |
| |
| @noindent |
| FTell: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{Unit}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Returns the current offset of Fortran unit @var{Unit} |
| (or @minus{}1 if @var{Unit} is not open). |
| |
| For information on other intrinsics with the same name: |
| @xref{FTell Intrinsic (subroutine)}. |
| |
| @node GError Intrinsic |
| @subsubsection GError Intrinsic |
| @cindex GError intrinsic |
| @cindex intrinsics, GError |
| |
| @noindent |
| @example |
| CALL GError(@var{Message}) |
| @end example |
| |
| @noindent |
| @var{Message}: @code{CHARACTER}; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Returns the system error message corresponding to the last system |
| error (C @code{errno}). |
| |
| @node GetArg Intrinsic |
| @subsubsection GetArg Intrinsic |
| @cindex GetArg intrinsic |
| @cindex intrinsics, GetArg |
| |
| @noindent |
| @example |
| CALL GetArg(@var{Pos}, @var{Value}) |
| @end example |
| |
| @noindent |
| @var{Pos}: @code{INTEGER} not wider than the default kind; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Value}: @code{CHARACTER}; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Sets @var{Value} to the @var{Pos}-th command-line argument (or to all |
| blanks if there are fewer than @var{Value} command-line arguments); |
| @code{CALL GETARG(0, @var{value})} sets @var{value} to the name of the |
| program (on systems that support this feature). |
| |
| @xref{IArgC Intrinsic}, for information on how to get the number |
| of arguments. |
| |
| @node GetCWD Intrinsic (subroutine) |
| @subsubsection GetCWD Intrinsic (subroutine) |
| @cindex GetCWD intrinsic |
| @cindex intrinsics, GetCWD |
| |
| @noindent |
| @example |
| CALL GetCWD(@var{Name}, @var{Status}) |
| @end example |
| |
| @noindent |
| @var{Name}: @code{CHARACTER}; scalar; INTENT(OUT). |
| |
| @noindent |
| @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Places the current working directory in @var{Name}. |
| If the @var{Status} argument is supplied, it contains 0 |
| success or a nonzero error code upon return |
| (@code{ENOSYS} if the system does not provide @code{getcwd(3)} |
| or @code{getwd(3)}). |
| |
| Some non-GNU implementations of Fortran provide this intrinsic as |
| only a function, not as a subroutine, or do not support the |
| (optional) @var{Status} argument. |
| |
| For information on other intrinsics with the same name: |
| @xref{GetCWD Intrinsic (function)}. |
| |
| @node GetCWD Intrinsic (function) |
| @subsubsection GetCWD Intrinsic (function) |
| @cindex GetCWD intrinsic |
| @cindex intrinsics, GetCWD |
| |
| @noindent |
| @example |
| GetCWD(@var{Name}) |
| @end example |
| |
| @noindent |
| GetCWD: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{Name}: @code{CHARACTER}; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Places the current working directory in @var{Name}. |
| Returns 0 on |
| success, otherwise a nonzero error code |
| (@code{ENOSYS} if the system does not provide @code{getcwd(3)} |
| or @code{getwd(3)}). |
| |
| For information on other intrinsics with the same name: |
| @xref{GetCWD Intrinsic (subroutine)}. |
| |
| @node GetEnv Intrinsic |
| @subsubsection GetEnv Intrinsic |
| @cindex GetEnv intrinsic |
| @cindex intrinsics, GetEnv |
| |
| @noindent |
| @example |
| CALL GetEnv(@var{Name}, @var{Value}) |
| @end example |
| |
| @noindent |
| @var{Name}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Value}: @code{CHARACTER}; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Sets @var{Value} to the value of environment variable given by the |
| value of @var{Name} (@code{$name} in shell terms) or to blanks if |
| @code{$name} has not been set. |
| A null character (@samp{CHAR(0)}) marks the end of |
| the name in @var{Name}---otherwise, |
| trailing blanks in @var{Name} are ignored. |
| |
| @node GetGId Intrinsic |
| @subsubsection GetGId Intrinsic |
| @cindex GetGId intrinsic |
| @cindex intrinsics, GetGId |
| |
| @noindent |
| @example |
| GetGId() |
| @end example |
| |
| @noindent |
| GetGId: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Returns the group id for the current process. |
| |
| @node GetLog Intrinsic |
| @subsubsection GetLog Intrinsic |
| @cindex GetLog intrinsic |
| @cindex intrinsics, GetLog |
| |
| @noindent |
| @example |
| CALL GetLog(@var{Login}) |
| @end example |
| |
| @noindent |
| @var{Login}: @code{CHARACTER}; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Returns the login name for the process in @var{Login}. |
| |
| @emph{Caution:} On some systems, the @code{getlogin(3)} |
| function, which this intrinsic calls at run time, |
| is either not implemented or returns a null pointer. |
| In the latter case, this intrinsic returns blanks |
| in @var{Login}. |
| |
| @node GetPId Intrinsic |
| @subsubsection GetPId Intrinsic |
| @cindex GetPId intrinsic |
| @cindex intrinsics, GetPId |
| |
| @noindent |
| @example |
| GetPId() |
| @end example |
| |
| @noindent |
| GetPId: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Returns the process id for the current process. |
| |
| @node GetUId Intrinsic |
| @subsubsection GetUId Intrinsic |
| @cindex GetUId intrinsic |
| @cindex intrinsics, GetUId |
| |
| @noindent |
| @example |
| GetUId() |
| @end example |
| |
| @noindent |
| GetUId: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Returns the user id for the current process. |
| |
| @node GMTime Intrinsic |
| @subsubsection GMTime Intrinsic |
| @cindex GMTime intrinsic |
| @cindex intrinsics, GMTime |
| |
| @noindent |
| @example |
| CALL GMTime(@var{STime}, @var{TArray}) |
| @end example |
| |
| @noindent |
| @var{STime}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(9); INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Given a system time value @var{STime}, fills @var{TArray} with values |
| extracted from it appropriate to the GMT time zone using |
| @code{gmtime(3)}. |
| |
| The array elements are as follows: |
| |
| @enumerate |
| @item |
| Seconds after the minute, range 0--59 or 0--61 to allow for leap |
| seconds |
| |
| @item |
| Minutes after the hour, range 0--59 |
| |
| @item |
| Hours past midnight, range 0--23 |
| |
| @item |
| Day of month, range 0--31 |
| |
| @item |
| Number of months since January, range 0--12 |
| |
| @item |
| Years since 1900 |
| |
| @item |
| Number of days since Sunday, range 0--6 |
| |
| @item |
| Days since January 1 |
| |
| @item |
| Daylight savings indicator: positive if daylight savings is in effect, |
| zero if not, and negative if the information isn't available. |
| @end enumerate |
| |
| @node HostNm Intrinsic (subroutine) |
| @subsubsection HostNm Intrinsic (subroutine) |
| @cindex HostNm intrinsic |
| @cindex intrinsics, HostNm |
| |
| @noindent |
| @example |
| CALL HostNm(@var{Name}, @var{Status}) |
| @end example |
| |
| @noindent |
| @var{Name}: @code{CHARACTER}; scalar; INTENT(OUT). |
| |
| @noindent |
| @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Fills @var{Name} with the system's host name returned by |
| @code{gethostname(2)}. |
| If the @var{Status} argument is supplied, it contains |
| 0 on success or a nonzero error code upon return |
| (@code{ENOSYS} if the system does not provide @code{gethostname(2)}). |
| |
| Some non-GNU implementations of Fortran provide this intrinsic as |
| only a function, not as a subroutine, or do not support the |
| (optional) @var{Status} argument. |
| |
| On some systems (specifically SCO) it might be necessary to link the |
| ``socket'' library if you call this routine. |
| Typically this means adding @samp{-lg2c -lsocket -lm} |
| to the @code{g77} command line when linking the program. |
| |
| For information on other intrinsics with the same name: |
| @xref{HostNm Intrinsic (function)}. |
| |
| @node HostNm Intrinsic (function) |
| @subsubsection HostNm Intrinsic (function) |
| @cindex HostNm intrinsic |
| @cindex intrinsics, HostNm |
| |
| @noindent |
| @example |
| HostNm(@var{Name}) |
| @end example |
| |
| @noindent |
| HostNm: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{Name}: @code{CHARACTER}; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Fills @var{Name} with the system's host name returned by |
| @code{gethostname(2)}, returning 0 on success or a nonzero error code |
| (@code{ENOSYS} if the system does not provide @code{gethostname(2)}). |
| |
| On some systems (specifically SCO) it might be necessary to link the |
| ``socket'' library if you call this routine. |
| Typically this means adding @samp{-lg2c -lsocket -lm} |
| to the @code{g77} command line when linking the program. |
| |
| For information on other intrinsics with the same name: |
| @xref{HostNm Intrinsic (subroutine)}. |
| |
| @end ifset |
| @ifset familyF90 |
| @node Huge Intrinsic |
| @subsubsection Huge Intrinsic |
| @cindex Huge intrinsic |
| @cindex intrinsics, Huge |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Huge} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF77 |
| @node IAbs Intrinsic |
| @subsubsection IAbs Intrinsic |
| @cindex IAbs intrinsic |
| @cindex intrinsics, IAbs |
| |
| @noindent |
| @example |
| IAbs(@var{A}) |
| @end example |
| |
| @noindent |
| IAbs: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{A}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Archaic form of @code{ABS()} that is specific |
| to one type for @var{A}. |
| @xref{Abs Intrinsic}. |
| |
| @end ifset |
| @ifset familyASC |
| @node IAChar Intrinsic |
| @subsubsection IAChar Intrinsic |
| @cindex IAChar intrinsic |
| @cindex intrinsics, IAChar |
| |
| @noindent |
| @example |
| IAChar(@var{C}) |
| @end example |
| |
| @noindent |
| IAChar: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{C}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{f2c}, @code{f90}. |
| |
| @noindent |
| Description: |
| |
| Returns the code for the ASCII character in the |
| first character position of @var{C}. |
| |
| @xref{AChar Intrinsic}, for the inverse of this function. |
| |
| @xref{IChar Intrinsic}, for the function corresponding |
| to the system's native character set. |
| |
| @end ifset |
| @ifset familyMIL |
| @node IAnd Intrinsic |
| @subsubsection IAnd Intrinsic |
| @cindex IAnd intrinsic |
| @cindex intrinsics, IAnd |
| |
| @noindent |
| @example |
| IAnd(@var{I}, @var{J}) |
| @end example |
| |
| @noindent |
| IAnd: @code{INTEGER} function, the exact type being the result of cross-promoting the |
| types of all the arguments. |
| |
| @noindent |
| @var{I}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{J}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}. |
| |
| @noindent |
| Description: |
| |
| Returns value resulting from boolean AND of |
| pair of bits in each of @var{I} and @var{J}. |
| |
| @end ifset |
| @ifset familyF2U |
| @node IArgC Intrinsic |
| @subsubsection IArgC Intrinsic |
| @cindex IArgC intrinsic |
| @cindex intrinsics, IArgC |
| |
| @noindent |
| @example |
| IArgC() |
| @end example |
| |
| @noindent |
| IArgC: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Returns the number of command-line arguments. |
| |
| This count does not include the specification of the program |
| name itself. |
| |
| @end ifset |
| @ifset familyMIL |
| @node IBClr Intrinsic |
| @subsubsection IBClr Intrinsic |
| @cindex IBClr intrinsic |
| @cindex intrinsics, IBClr |
| |
| @noindent |
| @example |
| IBClr(@var{I}, @var{Pos}) |
| @end example |
| |
| @noindent |
| IBClr: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}. |
| |
| @noindent |
| @var{I}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Pos}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}. |
| |
| @noindent |
| Description: |
| |
| Returns the value of @var{I} with bit @var{Pos} cleared (set to |
| zero). |
| @xref{BTest Intrinsic}, for information on bit positions. |
| |
| @node IBits Intrinsic |
| @subsubsection IBits Intrinsic |
| @cindex IBits intrinsic |
| @cindex intrinsics, IBits |
| |
| @noindent |
| @example |
| IBits(@var{I}, @var{Pos}, @var{Len}) |
| @end example |
| |
| @noindent |
| IBits: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}. |
| |
| @noindent |
| @var{I}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Pos}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Len}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}. |
| |
| @noindent |
| Description: |
| |
| Extracts a subfield of length @var{Len} from @var{I}, starting from |
| bit position @var{Pos} and extending left for @var{Len} bits. |
| The result is right-justified and the remaining bits are zeroed. |
| The value |
| of @samp{@var{Pos}+@var{Len}} must be less than or equal to the value |
| @samp{BIT_SIZE(@var{I})}. |
| @xref{Bit_Size Intrinsic}. |
| |
| @node IBSet Intrinsic |
| @subsubsection IBSet Intrinsic |
| @cindex IBSet intrinsic |
| @cindex intrinsics, IBSet |
| |
| @noindent |
| @example |
| IBSet(@var{I}, @var{Pos}) |
| @end example |
| |
| @noindent |
| IBSet: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}. |
| |
| @noindent |
| @var{I}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Pos}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}. |
| |
| @noindent |
| Description: |
| |
| Returns the value of @var{I} with bit @var{Pos} set (to one). |
| @xref{BTest Intrinsic}, for information on bit positions. |
| |
| @end ifset |
| @ifset familyF77 |
| @node IChar Intrinsic |
| @subsubsection IChar Intrinsic |
| @cindex IChar intrinsic |
| @cindex intrinsics, IChar |
| |
| @noindent |
| @example |
| IChar(@var{C}) |
| @end example |
| |
| @noindent |
| IChar: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{C}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Returns the code for the character in the |
| first character position of @var{C}. |
| |
| Because the system's native character set is used, |
| the correspondence between character and their codes |
| is not necessarily the same between GNU Fortran |
| implementations. |
| |
| Note that no intrinsic exists to convert a printable |
| character string to a numerical value. |
| For example, there is no intrinsic that, given |
| the @code{CHARACTER} value @samp{'154'}, returns an |
| @code{INTEGER} or @code{REAL} value with the value @samp{154}. |
| |
| Instead, you can use internal-file I/O to do this kind |
| of conversion. |
| For example: |
| |
| @smallexample |
| INTEGER VALUE |
| CHARACTER*10 STRING |
| STRING = '154' |
| READ (STRING, '(I10)'), VALUE |
| PRINT *, VALUE |
| END |
| @end smallexample |
| |
| The above program, when run, prints: |
| |
| @smallexample |
| 154 |
| @end smallexample |
| |
| @xref{Char Intrinsic}, for the inverse of the @code{ICHAR} function. |
| |
| @xref{IAChar Intrinsic}, for the function corresponding |
| to the ASCII character set. |
| |
| @end ifset |
| @ifset familyF2U |
| @node IDate Intrinsic (UNIX) |
| @subsubsection IDate Intrinsic (UNIX) |
| @cindex IDate intrinsic |
| @cindex intrinsics, IDate |
| |
| @noindent |
| @example |
| CALL IDate(@var{TArray}) |
| @end example |
| |
| @noindent |
| @var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(3); INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Fills @var{TArray} with the numerical values at the current local time. |
| The day (in the range 1--31), month (in the range 1--12), |
| and year appear in elements 1, 2, and 3 of @var{TArray}, respectively. |
| The year has four significant digits. |
| |
| @cindex Y10K compliance |
| @cindex Year 10000 compliance |
| @cindex wraparound, Y10K |
| @cindex limits, Y10K |
| Programs making use of this intrinsic |
| might not be Year 10000 (Y10K) compliant. |
| For example, the date might appear, |
| to such programs, to wrap around |
| (change from a larger value to a smaller one) |
| as of the Year 10000. |
| |
| For information on other intrinsics with the same name: |
| @xref{IDate Intrinsic (VXT)}. |
| |
| @end ifset |
| @ifset familyVXT |
| @node IDate Intrinsic (VXT) |
| @subsubsection IDate Intrinsic (VXT) |
| @cindex IDate intrinsic |
| @cindex intrinsics, IDate |
| |
| @noindent |
| @example |
| CALL IDate(@var{M}, @var{D}, @var{Y}) |
| @end example |
| |
| @noindent |
| @var{M}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT). |
| |
| @noindent |
| @var{D}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT). |
| |
| @noindent |
| @var{Y}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{vxt}. |
| |
| @noindent |
| Description: |
| |
| Returns the numerical values of the current local time. |
| The month (in the range 1--12) is returned in @var{M}, |
| the day (in the range 1--31) in @var{D}, |
| and the year in @var{Y} (in the range 0--99). |
| |
| @cindex Y2K compliance |
| @cindex Year 2000 compliance |
| @cindex wraparound, Y2K |
| @cindex limits, Y2K |
| This intrinsic is not recommended, due to the fact that |
| its return value for year wraps around century boundaries |
| (change from a larger value to a smaller one). |
| Therefore, programs making use of this intrinsic, for |
| instance, might not be Year 2000 (Y2K) compliant. |
| For example, the date might appear, |
| to such programs, to wrap around |
| as of the Year 2000. |
| |
| @xref{IDate Intrinsic (UNIX)}, for information on obtaining more digits |
| for the current date. |
| |
| For information on other intrinsics with the same name: |
| @xref{IDate Intrinsic (UNIX)}. |
| |
| @end ifset |
| @ifset familyF77 |
| @node IDiM Intrinsic |
| @subsubsection IDiM Intrinsic |
| @cindex IDiM intrinsic |
| @cindex intrinsics, IDiM |
| |
| @noindent |
| @example |
| IDiM(@var{X}, @var{Y}) |
| @end example |
| |
| @noindent |
| IDiM: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{X}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Y}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Archaic form of @code{DIM()} that is specific |
| to one type for @var{X} and @var{Y}. |
| @xref{DiM Intrinsic}. |
| |
| @node IDInt Intrinsic |
| @subsubsection IDInt Intrinsic |
| @cindex IDInt intrinsic |
| @cindex intrinsics, IDInt |
| |
| @noindent |
| @example |
| IDInt(@var{A}) |
| @end example |
| |
| @noindent |
| IDInt: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Archaic form of @code{INT()} that is specific |
| to one type for @var{A}. |
| @xref{Int Intrinsic}. |
| |
| @node IDNInt Intrinsic |
| @subsubsection IDNInt Intrinsic |
| @cindex IDNInt intrinsic |
| @cindex intrinsics, IDNInt |
| |
| @noindent |
| @example |
| IDNInt(@var{A}) |
| @end example |
| |
| @noindent |
| IDNInt: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Archaic form of @code{NINT()} that is specific |
| to one type for @var{A}. |
| @xref{NInt Intrinsic}. |
| |
| @end ifset |
| @ifset familyMIL |
| @node IEOr Intrinsic |
| @subsubsection IEOr Intrinsic |
| @cindex IEOr intrinsic |
| @cindex intrinsics, IEOr |
| |
| @noindent |
| @example |
| IEOr(@var{I}, @var{J}) |
| @end example |
| |
| @noindent |
| IEOr: @code{INTEGER} function, the exact type being the result of cross-promoting the |
| types of all the arguments. |
| |
| @noindent |
| @var{I}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{J}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}. |
| |
| @noindent |
| Description: |
| |
| Returns value resulting from boolean exclusive-OR of |
| pair of bits in each of @var{I} and @var{J}. |
| |
| @end ifset |
| @ifset familyF2U |
| @node IErrNo Intrinsic |
| @subsubsection IErrNo Intrinsic |
| @cindex IErrNo intrinsic |
| @cindex intrinsics, IErrNo |
| |
| @noindent |
| @example |
| IErrNo() |
| @end example |
| |
| @noindent |
| IErrNo: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Returns the last system error number (corresponding to the C |
| @code{errno}). |
| |
| @end ifset |
| @ifset familyF77 |
| @node IFix Intrinsic |
| @subsubsection IFix Intrinsic |
| @cindex IFix intrinsic |
| @cindex intrinsics, IFix |
| |
| @noindent |
| @example |
| IFix(@var{A}) |
| @end example |
| |
| @noindent |
| IFix: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{A}: @code{REAL(KIND=1)}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Archaic form of @code{INT()} that is specific |
| to one type for @var{A}. |
| @xref{Int Intrinsic}. |
| |
| @end ifset |
| @ifset familyVXT |
| @node IIAbs Intrinsic |
| @subsubsection IIAbs Intrinsic |
| @cindex IIAbs intrinsic |
| @cindex intrinsics, IIAbs |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL IIAbs} to use this name for an |
| external procedure. |
| |
| @node IIAnd Intrinsic |
| @subsubsection IIAnd Intrinsic |
| @cindex IIAnd intrinsic |
| @cindex intrinsics, IIAnd |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL IIAnd} to use this name for an |
| external procedure. |
| |
| @node IIBClr Intrinsic |
| @subsubsection IIBClr Intrinsic |
| @cindex IIBClr intrinsic |
| @cindex intrinsics, IIBClr |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL IIBClr} to use this name for an |
| external procedure. |
| |
| @node IIBits Intrinsic |
| @subsubsection IIBits Intrinsic |
| @cindex IIBits intrinsic |
| @cindex intrinsics, IIBits |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL IIBits} to use this name for an |
| external procedure. |
| |
| @node IIBSet Intrinsic |
| @subsubsection IIBSet Intrinsic |
| @cindex IIBSet intrinsic |
| @cindex intrinsics, IIBSet |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL IIBSet} to use this name for an |
| external procedure. |
| |
| @node IIDiM Intrinsic |
| @subsubsection IIDiM Intrinsic |
| @cindex IIDiM intrinsic |
| @cindex intrinsics, IIDiM |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL IIDiM} to use this name for an |
| external procedure. |
| |
| @node IIDInt Intrinsic |
| @subsubsection IIDInt Intrinsic |
| @cindex IIDInt intrinsic |
| @cindex intrinsics, IIDInt |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL IIDInt} to use this name for an |
| external procedure. |
| |
| @node IIDNnt Intrinsic |
| @subsubsection IIDNnt Intrinsic |
| @cindex IIDNnt intrinsic |
| @cindex intrinsics, IIDNnt |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL IIDNnt} to use this name for an |
| external procedure. |
| |
| @node IIEOr Intrinsic |
| @subsubsection IIEOr Intrinsic |
| @cindex IIEOr intrinsic |
| @cindex intrinsics, IIEOr |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL IIEOr} to use this name for an |
| external procedure. |
| |
| @node IIFix Intrinsic |
| @subsubsection IIFix Intrinsic |
| @cindex IIFix intrinsic |
| @cindex intrinsics, IIFix |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL IIFix} to use this name for an |
| external procedure. |
| |
| @node IInt Intrinsic |
| @subsubsection IInt Intrinsic |
| @cindex IInt intrinsic |
| @cindex intrinsics, IInt |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL IInt} to use this name for an |
| external procedure. |
| |
| @node IIOr Intrinsic |
| @subsubsection IIOr Intrinsic |
| @cindex IIOr intrinsic |
| @cindex intrinsics, IIOr |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL IIOr} to use this name for an |
| external procedure. |
| |
| @node IIQint Intrinsic |
| @subsubsection IIQint Intrinsic |
| @cindex IIQint intrinsic |
| @cindex intrinsics, IIQint |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL IIQint} to use this name for an |
| external procedure. |
| |
| @node IIQNnt Intrinsic |
| @subsubsection IIQNnt Intrinsic |
| @cindex IIQNnt intrinsic |
| @cindex intrinsics, IIQNnt |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL IIQNnt} to use this name for an |
| external procedure. |
| |
| @node IIShftC Intrinsic |
| @subsubsection IIShftC Intrinsic |
| @cindex IIShftC intrinsic |
| @cindex intrinsics, IIShftC |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL IIShftC} to use this name for an |
| external procedure. |
| |
| @node IISign Intrinsic |
| @subsubsection IISign Intrinsic |
| @cindex IISign intrinsic |
| @cindex intrinsics, IISign |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL IISign} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF2C |
| @node Imag Intrinsic |
| @subsubsection Imag Intrinsic |
| @cindex Imag intrinsic |
| @cindex intrinsics, Imag |
| |
| @noindent |
| @example |
| Imag(@var{Z}) |
| @end example |
| |
| @noindent |
| Imag: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{Z}. |
| |
| @noindent |
| @var{Z}: @code{COMPLEX}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{f2c}. |
| |
| @noindent |
| Description: |
| |
| The imaginary part of @var{Z} is returned, without conversion. |
| |
| @emph{Note:} The way to do this in standard Fortran 90 |
| is @samp{AIMAG(@var{Z})}. |
| However, when, for example, @var{Z} is @code{DOUBLE COMPLEX}, |
| @samp{AIMAG(@var{Z})} means something different for some compilers |
| that are not true Fortran 90 compilers but offer some |
| extensions standardized by Fortran 90 (such as the |
| @code{DOUBLE COMPLEX} type, also known as @code{COMPLEX(KIND=2)}). |
| |
| The advantage of @code{IMAG()} is that, while not necessarily |
| more or less portable than @code{AIMAG()}, it is more likely to |
| cause a compiler that doesn't support it to produce a diagnostic |
| than generate incorrect code. |
| |
| @xref{REAL() and AIMAG() of Complex}, for more information. |
| |
| @end ifset |
| @ifset familyGNU |
| @node ImagPart Intrinsic |
| @subsubsection ImagPart Intrinsic |
| @cindex ImagPart intrinsic |
| @cindex intrinsics, ImagPart |
| |
| @noindent |
| @example |
| ImagPart(@var{Z}) |
| @end example |
| |
| @noindent |
| ImagPart: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{Z}. |
| |
| @noindent |
| @var{Z}: @code{COMPLEX}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{gnu}. |
| |
| @noindent |
| Description: |
| |
| The imaginary part of @var{Z} is returned, without conversion. |
| |
| @emph{Note:} The way to do this in standard Fortran 90 |
| is @samp{AIMAG(@var{Z})}. |
| However, when, for example, @var{Z} is @code{DOUBLE COMPLEX}, |
| @samp{AIMAG(@var{Z})} means something different for some compilers |
| that are not true Fortran 90 compilers but offer some |
| extensions standardized by Fortran 90 (such as the |
| @code{DOUBLE COMPLEX} type, also known as @code{COMPLEX(KIND=2)}). |
| |
| The advantage of @code{IMAGPART()} is that, while not necessarily |
| more or less portable than @code{AIMAG()}, it is more likely to |
| cause a compiler that doesn't support it to produce a diagnostic |
| than generate incorrect code. |
| |
| @xref{REAL() and AIMAG() of Complex}, for more information. |
| |
| @end ifset |
| @ifset familyVXT |
| @node IMax0 Intrinsic |
| @subsubsection IMax0 Intrinsic |
| @cindex IMax0 intrinsic |
| @cindex intrinsics, IMax0 |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL IMax0} to use this name for an |
| external procedure. |
| |
| @node IMax1 Intrinsic |
| @subsubsection IMax1 Intrinsic |
| @cindex IMax1 intrinsic |
| @cindex intrinsics, IMax1 |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL IMax1} to use this name for an |
| external procedure. |
| |
| @node IMin0 Intrinsic |
| @subsubsection IMin0 Intrinsic |
| @cindex IMin0 intrinsic |
| @cindex intrinsics, IMin0 |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL IMin0} to use this name for an |
| external procedure. |
| |
| @node IMin1 Intrinsic |
| @subsubsection IMin1 Intrinsic |
| @cindex IMin1 intrinsic |
| @cindex intrinsics, IMin1 |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL IMin1} to use this name for an |
| external procedure. |
| |
| @node IMod Intrinsic |
| @subsubsection IMod Intrinsic |
| @cindex IMod intrinsic |
| @cindex intrinsics, IMod |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL IMod} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF77 |
| @node Index Intrinsic |
| @subsubsection Index Intrinsic |
| @cindex Index intrinsic |
| @cindex intrinsics, Index |
| |
| @noindent |
| @example |
| Index(@var{String}, @var{Substring}) |
| @end example |
| |
| @noindent |
| Index: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{String}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Substring}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Returns the position of the start of the first occurrence of string |
| @var{Substring} as a substring in @var{String}, counting from one. |
| If @var{Substring} doesn't occur in @var{String}, zero is returned. |
| |
| @end ifset |
| @ifset familyVXT |
| @node INInt Intrinsic |
| @subsubsection INInt Intrinsic |
| @cindex INInt intrinsic |
| @cindex intrinsics, INInt |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL INInt} to use this name for an |
| external procedure. |
| |
| @node INot Intrinsic |
| @subsubsection INot Intrinsic |
| @cindex INot intrinsic |
| @cindex intrinsics, INot |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL INot} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF77 |
| @node Int Intrinsic |
| @subsubsection Int Intrinsic |
| @cindex Int intrinsic |
| @cindex intrinsics, Int |
| |
| @noindent |
| @example |
| Int(@var{A}) |
| @end example |
| |
| @noindent |
| Int: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Returns @var{A} with the fractional portion of its |
| magnitude truncated and its sign preserved, converted |
| to type @code{INTEGER(KIND=1)}. |
| |
| If @var{A} is type @code{COMPLEX}, its real part is |
| truncated and converted, and its imaginary part is disregarded. |
| |
| @xref{NInt Intrinsic}, for how to convert, rounded to nearest |
| whole number. |
| |
| @xref{AInt Intrinsic}, for how to truncate to whole number |
| without converting. |
| |
| @end ifset |
| @ifset familyGNU |
| @node Int2 Intrinsic |
| @subsubsection Int2 Intrinsic |
| @cindex Int2 intrinsic |
| @cindex intrinsics, Int2 |
| |
| @noindent |
| @example |
| Int2(@var{A}) |
| @end example |
| |
| @noindent |
| Int2: @code{INTEGER(KIND=6)} function. |
| |
| @noindent |
| @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{gnu}. |
| |
| @noindent |
| Description: |
| |
| Returns @var{A} with the fractional portion of its |
| magnitude truncated and its sign preserved, converted |
| to type @code{INTEGER(KIND=6)}. |
| |
| If @var{A} is type @code{COMPLEX}, its real part |
| is truncated and converted, and its imaginary part is disregarded. |
| |
| @xref{Int Intrinsic}. |
| |
| The precise meaning of this intrinsic might change |
| in a future version of the GNU Fortran language, |
| as more is learned about how it is used. |
| |
| @node Int8 Intrinsic |
| @subsubsection Int8 Intrinsic |
| @cindex Int8 intrinsic |
| @cindex intrinsics, Int8 |
| |
| @noindent |
| @example |
| Int8(@var{A}) |
| @end example |
| |
| @noindent |
| Int8: @code{INTEGER(KIND=2)} function. |
| |
| @noindent |
| @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{gnu}. |
| |
| @noindent |
| Description: |
| |
| Returns @var{A} with the fractional portion of its |
| magnitude truncated and its sign preserved, converted |
| to type @code{INTEGER(KIND=2)}. |
| |
| If @var{A} is type @code{COMPLEX}, its real part |
| is truncated and converted, and its imaginary part is disregarded. |
| |
| @xref{Int Intrinsic}. |
| |
| The precise meaning of this intrinsic might change |
| in a future version of the GNU Fortran language, |
| as more is learned about how it is used. |
| |
| @end ifset |
| @ifset familyMIL |
| @node IOr Intrinsic |
| @subsubsection IOr Intrinsic |
| @cindex IOr intrinsic |
| @cindex intrinsics, IOr |
| |
| @noindent |
| @example |
| IOr(@var{I}, @var{J}) |
| @end example |
| |
| @noindent |
| IOr: @code{INTEGER} function, the exact type being the result of cross-promoting the |
| types of all the arguments. |
| |
| @noindent |
| @var{I}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{J}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}. |
| |
| @noindent |
| Description: |
| |
| Returns value resulting from boolean OR of |
| pair of bits in each of @var{I} and @var{J}. |
| |
| @end ifset |
| @ifset familyF2U |
| @node IRand Intrinsic |
| @subsubsection IRand Intrinsic |
| @cindex IRand intrinsic |
| @cindex intrinsics, IRand |
| |
| @noindent |
| @example |
| IRand(@var{Flag}) |
| @end example |
| |
| @noindent |
| IRand: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{Flag}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Returns a uniform quasi-random number up to a system-dependent limit. |
| If @var{Flag} is 0, the next number in sequence is returned; if |
| @var{Flag} is 1, the generator is restarted by calling the UNIX function |
| @samp{srand(0)}; if @var{Flag} has any other value, |
| it is used as a new seed with @code{srand()}. |
| |
| @xref{SRand Intrinsic}. |
| |
| @emph{Note:} As typically implemented (by the routine of the same |
| name in the C library), this random number generator is a very poor |
| one, though the BSD and GNU libraries provide a much better |
| implementation than the `traditional' one. |
| On a different system you almost certainly want to use something better. |
| |
| @node IsaTty Intrinsic |
| @subsubsection IsaTty Intrinsic |
| @cindex IsaTty intrinsic |
| @cindex intrinsics, IsaTty |
| |
| @noindent |
| @example |
| IsaTty(@var{Unit}) |
| @end example |
| |
| @noindent |
| IsaTty: @code{LOGICAL(KIND=1)} function. |
| |
| @noindent |
| @var{Unit}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Returns @code{.TRUE.} if and only if the Fortran I/O unit |
| specified by @var{Unit} is connected |
| to a terminal device. |
| See @code{isatty(3)}. |
| |
| @end ifset |
| @ifset familyMIL |
| @node IShft Intrinsic |
| @subsubsection IShft Intrinsic |
| @cindex IShft intrinsic |
| @cindex intrinsics, IShft |
| |
| @noindent |
| @example |
| IShft(@var{I}, @var{Shift}) |
| @end example |
| |
| @noindent |
| IShft: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}. |
| |
| @noindent |
| @var{I}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Shift}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}. |
| |
| @noindent |
| Description: |
| |
| All bits representing @var{I} are shifted @var{Shift} places. |
| @samp{@var{Shift}.GT.0} indicates a left shift, @samp{@var{Shift}.EQ.0} |
| indicates no shift and @samp{@var{Shift}.LT.0} indicates a right shift. |
| If the absolute value of the shift count is greater than |
| @samp{BIT_SIZE(@var{I})}, the result is undefined. |
| Bits shifted out from the left end or the right end are lost. |
| Zeros are shifted in from the opposite end. |
| |
| @xref{IShftC Intrinsic}, for the circular-shift equivalent. |
| |
| @node IShftC Intrinsic |
| @subsubsection IShftC Intrinsic |
| @cindex IShftC intrinsic |
| @cindex intrinsics, IShftC |
| |
| @noindent |
| @example |
| IShftC(@var{I}, @var{Shift}, @var{Size}) |
| @end example |
| |
| @noindent |
| IShftC: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}. |
| |
| @noindent |
| @var{I}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Shift}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Size}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}. |
| |
| @noindent |
| Description: |
| |
| The rightmost @var{Size} bits of the argument @var{I} |
| are shifted circularly @var{Shift} |
| places, i.e.@: the bits shifted out of one end are shifted into |
| the opposite end. |
| No bits are lost. |
| The unshifted bits of the result are the same as |
| the unshifted bits of @var{I}. |
| The absolute value of the argument @var{Shift} |
| must be less than or equal to @var{Size}. |
| The value of @var{Size} must be greater than or equal to one and less than |
| or equal to @samp{BIT_SIZE(@var{I})}. |
| |
| @xref{IShft Intrinsic}, for the logical shift equivalent. |
| |
| @end ifset |
| @ifset familyF77 |
| @node ISign Intrinsic |
| @subsubsection ISign Intrinsic |
| @cindex ISign intrinsic |
| @cindex intrinsics, ISign |
| |
| @noindent |
| @example |
| ISign(@var{A}, @var{B}) |
| @end example |
| |
| @noindent |
| ISign: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{A}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{B}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Archaic form of @code{SIGN()} that is specific |
| to one type for @var{A} and @var{B}. |
| @xref{Sign Intrinsic}. |
| |
| @end ifset |
| @ifset familyF2U |
| @node ITime Intrinsic |
| @subsubsection ITime Intrinsic |
| @cindex ITime intrinsic |
| @cindex intrinsics, ITime |
| |
| @noindent |
| @example |
| CALL ITime(@var{TArray}) |
| @end example |
| |
| @noindent |
| @var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(3); INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Returns the current local time hour, minutes, and seconds in elements |
| 1, 2, and 3 of @var{TArray}, respectively. |
| |
| @end ifset |
| @ifset familyVXT |
| @node IZExt Intrinsic |
| @subsubsection IZExt Intrinsic |
| @cindex IZExt intrinsic |
| @cindex intrinsics, IZExt |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL IZExt} to use this name for an |
| external procedure. |
| |
| @node JIAbs Intrinsic |
| @subsubsection JIAbs Intrinsic |
| @cindex JIAbs intrinsic |
| @cindex intrinsics, JIAbs |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JIAbs} to use this name for an |
| external procedure. |
| |
| @node JIAnd Intrinsic |
| @subsubsection JIAnd Intrinsic |
| @cindex JIAnd intrinsic |
| @cindex intrinsics, JIAnd |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JIAnd} to use this name for an |
| external procedure. |
| |
| @node JIBClr Intrinsic |
| @subsubsection JIBClr Intrinsic |
| @cindex JIBClr intrinsic |
| @cindex intrinsics, JIBClr |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JIBClr} to use this name for an |
| external procedure. |
| |
| @node JIBits Intrinsic |
| @subsubsection JIBits Intrinsic |
| @cindex JIBits intrinsic |
| @cindex intrinsics, JIBits |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JIBits} to use this name for an |
| external procedure. |
| |
| @node JIBSet Intrinsic |
| @subsubsection JIBSet Intrinsic |
| @cindex JIBSet intrinsic |
| @cindex intrinsics, JIBSet |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JIBSet} to use this name for an |
| external procedure. |
| |
| @node JIDiM Intrinsic |
| @subsubsection JIDiM Intrinsic |
| @cindex JIDiM intrinsic |
| @cindex intrinsics, JIDiM |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JIDiM} to use this name for an |
| external procedure. |
| |
| @node JIDInt Intrinsic |
| @subsubsection JIDInt Intrinsic |
| @cindex JIDInt intrinsic |
| @cindex intrinsics, JIDInt |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JIDInt} to use this name for an |
| external procedure. |
| |
| @node JIDNnt Intrinsic |
| @subsubsection JIDNnt Intrinsic |
| @cindex JIDNnt intrinsic |
| @cindex intrinsics, JIDNnt |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JIDNnt} to use this name for an |
| external procedure. |
| |
| @node JIEOr Intrinsic |
| @subsubsection JIEOr Intrinsic |
| @cindex JIEOr intrinsic |
| @cindex intrinsics, JIEOr |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JIEOr} to use this name for an |
| external procedure. |
| |
| @node JIFix Intrinsic |
| @subsubsection JIFix Intrinsic |
| @cindex JIFix intrinsic |
| @cindex intrinsics, JIFix |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JIFix} to use this name for an |
| external procedure. |
| |
| @node JInt Intrinsic |
| @subsubsection JInt Intrinsic |
| @cindex JInt intrinsic |
| @cindex intrinsics, JInt |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JInt} to use this name for an |
| external procedure. |
| |
| @node JIOr Intrinsic |
| @subsubsection JIOr Intrinsic |
| @cindex JIOr intrinsic |
| @cindex intrinsics, JIOr |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JIOr} to use this name for an |
| external procedure. |
| |
| @node JIQint Intrinsic |
| @subsubsection JIQint Intrinsic |
| @cindex JIQint intrinsic |
| @cindex intrinsics, JIQint |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JIQint} to use this name for an |
| external procedure. |
| |
| @node JIQNnt Intrinsic |
| @subsubsection JIQNnt Intrinsic |
| @cindex JIQNnt intrinsic |
| @cindex intrinsics, JIQNnt |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JIQNnt} to use this name for an |
| external procedure. |
| |
| @node JIShft Intrinsic |
| @subsubsection JIShft Intrinsic |
| @cindex JIShft intrinsic |
| @cindex intrinsics, JIShft |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JIShft} to use this name for an |
| external procedure. |
| |
| @node JIShftC Intrinsic |
| @subsubsection JIShftC Intrinsic |
| @cindex JIShftC intrinsic |
| @cindex intrinsics, JIShftC |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JIShftC} to use this name for an |
| external procedure. |
| |
| @node JISign Intrinsic |
| @subsubsection JISign Intrinsic |
| @cindex JISign intrinsic |
| @cindex intrinsics, JISign |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JISign} to use this name for an |
| external procedure. |
| |
| @node JMax0 Intrinsic |
| @subsubsection JMax0 Intrinsic |
| @cindex JMax0 intrinsic |
| @cindex intrinsics, JMax0 |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JMax0} to use this name for an |
| external procedure. |
| |
| @node JMax1 Intrinsic |
| @subsubsection JMax1 Intrinsic |
| @cindex JMax1 intrinsic |
| @cindex intrinsics, JMax1 |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JMax1} to use this name for an |
| external procedure. |
| |
| @node JMin0 Intrinsic |
| @subsubsection JMin0 Intrinsic |
| @cindex JMin0 intrinsic |
| @cindex intrinsics, JMin0 |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JMin0} to use this name for an |
| external procedure. |
| |
| @node JMin1 Intrinsic |
| @subsubsection JMin1 Intrinsic |
| @cindex JMin1 intrinsic |
| @cindex intrinsics, JMin1 |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JMin1} to use this name for an |
| external procedure. |
| |
| @node JMod Intrinsic |
| @subsubsection JMod Intrinsic |
| @cindex JMod intrinsic |
| @cindex intrinsics, JMod |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JMod} to use this name for an |
| external procedure. |
| |
| @node JNInt Intrinsic |
| @subsubsection JNInt Intrinsic |
| @cindex JNInt intrinsic |
| @cindex intrinsics, JNInt |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JNInt} to use this name for an |
| external procedure. |
| |
| @node JNot Intrinsic |
| @subsubsection JNot Intrinsic |
| @cindex JNot intrinsic |
| @cindex intrinsics, JNot |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JNot} to use this name for an |
| external procedure. |
| |
| @node JZExt Intrinsic |
| @subsubsection JZExt Intrinsic |
| @cindex JZExt intrinsic |
| @cindex intrinsics, JZExt |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL JZExt} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF2U |
| @node Kill Intrinsic (subroutine) |
| @subsubsection Kill Intrinsic (subroutine) |
| @cindex Kill intrinsic |
| @cindex intrinsics, Kill |
| |
| @noindent |
| @example |
| CALL Kill(@var{Pid}, @var{Signal}, @var{Status}) |
| @end example |
| |
| @noindent |
| @var{Pid}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Signal}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Sends the signal specified by @var{Signal} to the process @var{Pid}. |
| If the @var{Status} argument is supplied, it contains |
| 0 on success or a nonzero error code upon return. |
| See @code{kill(2)}. |
| |
| Some non-GNU implementations of Fortran provide this intrinsic as |
| only a function, not as a subroutine, or do not support the |
| (optional) @var{Status} argument. |
| |
| For information on other intrinsics with the same name: |
| @xref{Kill Intrinsic (function)}. |
| |
| @end ifset |
| @ifset familyBADU77 |
| @node Kill Intrinsic (function) |
| @subsubsection Kill Intrinsic (function) |
| @cindex Kill intrinsic |
| @cindex intrinsics, Kill |
| |
| @noindent |
| @example |
| Kill(@var{Pid}, @var{Signal}) |
| @end example |
| |
| @noindent |
| Kill: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{Pid}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Signal}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{badu77}. |
| |
| @noindent |
| Description: |
| |
| Sends the signal specified by @var{Signal} to the process @var{Pid}. |
| Returns 0 on success or a nonzero error code. |
| See @code{kill(2)}. |
| |
| Due to the side effects performed by this intrinsic, the function |
| form is not recommended. |
| |
| For information on other intrinsics with the same name: |
| @xref{Kill Intrinsic (subroutine)}. |
| |
| @end ifset |
| @ifset familyF90 |
| @node Kind Intrinsic |
| @subsubsection Kind Intrinsic |
| @cindex Kind intrinsic |
| @cindex intrinsics, Kind |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Kind} to use this name for an |
| external procedure. |
| |
| @node LBound Intrinsic |
| @subsubsection LBound Intrinsic |
| @cindex LBound intrinsic |
| @cindex intrinsics, LBound |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL LBound} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF77 |
| @node Len Intrinsic |
| @subsubsection Len Intrinsic |
| @cindex Len intrinsic |
| @cindex intrinsics, Len |
| |
| @noindent |
| @example |
| Len(@var{String}) |
| @end example |
| |
| @noindent |
| Len: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{String}: @code{CHARACTER}; scalar. |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Returns the length of @var{String}. |
| |
| If @var{String} is an array, the length of an element |
| of @var{String} is returned. |
| |
| Note that @var{String} need not be defined when this |
| intrinsic is invoked, since only the length, not |
| the content, of @var{String} is needed. |
| |
| @xref{Bit_Size Intrinsic}, for the function that determines |
| the size of its argument in bits. |
| |
| @end ifset |
| @ifset familyF90 |
| @node Len_Trim Intrinsic |
| @subsubsection Len_Trim Intrinsic |
| @cindex Len_Trim intrinsic |
| @cindex intrinsics, Len_Trim |
| |
| @noindent |
| @example |
| Len_Trim(@var{String}) |
| @end example |
| |
| @noindent |
| Len_Trim: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{String}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{f90}. |
| |
| @noindent |
| Description: |
| |
| Returns the index of the last non-blank character in @var{String}. |
| @code{LNBLNK} and @code{LEN_TRIM} are equivalent. |
| |
| @end ifset |
| @ifset familyF77 |
| @node LGe Intrinsic |
| @subsubsection LGe Intrinsic |
| @cindex LGe intrinsic |
| @cindex intrinsics, LGe |
| |
| @noindent |
| @example |
| LGe(@var{String_A}, @var{String_B}) |
| @end example |
| |
| @noindent |
| LGe: @code{LOGICAL(KIND=1)} function. |
| |
| @noindent |
| @var{String_A}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{String_B}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Returns @samp{.TRUE.} if @samp{@var{String_A}.GE.@var{String_B}}, |
| @samp{.FALSE.} otherwise. |
| @var{String_A} and @var{String_B} are interpreted as containing |
| ASCII character codes. |
| If either value contains a character not in the ASCII |
| character set, the result is processor dependent. |
| |
| If the @var{String_A} and @var{String_B} are not the same length, |
| the shorter is compared as if spaces were appended to |
| it to form a value that has the same length as the longer. |
| |
| The lexical comparison intrinsics @code{LGe}, @code{LGt}, |
| @code{LLe}, and @code{LLt} differ from the corresponding |
| intrinsic operators @code{.GE.}, @code{.GT.}, |
| @code{.LE.}, @code{.LT.}. |
| Because the ASCII collating sequence is assumed, |
| the following expressions always return @samp{.TRUE.}: |
| |
| @smallexample |
| LGE ('0', ' ') |
| LGE ('A', '0') |
| LGE ('a', 'A') |
| @end smallexample |
| |
| The following related expressions do @emph{not} always |
| return @samp{.TRUE.}, as they are not necessarily evaluated |
| assuming the arguments use ASCII encoding: |
| |
| @smallexample |
| '0' .GE. ' ' |
| 'A' .GE. '0' |
| 'a' .GE. 'A' |
| @end smallexample |
| |
| The same difference exists |
| between @code{LGt} and @code{.GT.}; |
| between @code{LLe} and @code{.LE.}; and |
| between @code{LLt} and @code{.LT.}. |
| |
| @node LGt Intrinsic |
| @subsubsection LGt Intrinsic |
| @cindex LGt intrinsic |
| @cindex intrinsics, LGt |
| |
| @noindent |
| @example |
| LGt(@var{String_A}, @var{String_B}) |
| @end example |
| |
| @noindent |
| LGt: @code{LOGICAL(KIND=1)} function. |
| |
| @noindent |
| @var{String_A}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{String_B}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Returns @samp{.TRUE.} if @samp{@var{String_A}.GT.@var{String_B}}, |
| @samp{.FALSE.} otherwise. |
| @var{String_A} and @var{String_B} are interpreted as containing |
| ASCII character codes. |
| If either value contains a character not in the ASCII |
| character set, the result is processor dependent. |
| |
| If the @var{String_A} and @var{String_B} are not the same length, |
| the shorter is compared as if spaces were appended to |
| it to form a value that has the same length as the longer. |
| |
| @xref{LGe Intrinsic}, for information on the distinction |
| between the @code{LGT} intrinsic and the @code{.GT.} |
| operator. |
| |
| @end ifset |
| @ifset familyF2U |
| @node Link Intrinsic (subroutine) |
| @subsubsection Link Intrinsic (subroutine) |
| @cindex Link intrinsic |
| @cindex intrinsics, Link |
| |
| @noindent |
| @example |
| CALL Link(@var{Path1}, @var{Path2}, @var{Status}) |
| @end example |
| |
| @noindent |
| @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Makes a (hard) link from file @var{Path1} to @var{Path2}. |
| A null character (@samp{CHAR(0)}) marks the end of |
| the names in @var{Path1} and @var{Path2}---otherwise, |
| trailing blanks in @var{Path1} and @var{Path2} are ignored. |
| If the @var{Status} argument is supplied, it contains |
| 0 on success or a nonzero error code upon return. |
| See @code{link(2)}. |
| |
| Some non-GNU implementations of Fortran provide this intrinsic as |
| only a function, not as a subroutine, or do not support the |
| (optional) @var{Status} argument. |
| |
| For information on other intrinsics with the same name: |
| @xref{Link Intrinsic (function)}. |
| |
| @end ifset |
| @ifset familyBADU77 |
| @node Link Intrinsic (function) |
| @subsubsection Link Intrinsic (function) |
| @cindex Link intrinsic |
| @cindex intrinsics, Link |
| |
| @noindent |
| @example |
| Link(@var{Path1}, @var{Path2}) |
| @end example |
| |
| @noindent |
| Link: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{badu77}. |
| |
| @noindent |
| Description: |
| |
| Makes a (hard) link from file @var{Path1} to @var{Path2}. |
| A null character (@samp{CHAR(0)}) marks the end of |
| the names in @var{Path1} and @var{Path2}---otherwise, |
| trailing blanks in @var{Path1} and @var{Path2} are ignored. |
| Returns 0 on success or a nonzero error code. |
| See @code{link(2)}. |
| |
| Due to the side effects performed by this intrinsic, the function |
| form is not recommended. |
| |
| For information on other intrinsics with the same name: |
| @xref{Link Intrinsic (subroutine)}. |
| |
| @end ifset |
| @ifset familyF77 |
| @node LLe Intrinsic |
| @subsubsection LLe Intrinsic |
| @cindex LLe intrinsic |
| @cindex intrinsics, LLe |
| |
| @noindent |
| @example |
| LLe(@var{String_A}, @var{String_B}) |
| @end example |
| |
| @noindent |
| LLe: @code{LOGICAL(KIND=1)} function. |
| |
| @noindent |
| @var{String_A}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{String_B}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Returns @samp{.TRUE.} if @samp{@var{String_A}.LE.@var{String_B}}, |
| @samp{.FALSE.} otherwise. |
| @var{String_A} and @var{String_B} are interpreted as containing |
| ASCII character codes. |
| If either value contains a character not in the ASCII |
| character set, the result is processor dependent. |
| |
| If the @var{String_A} and @var{String_B} are not the same length, |
| the shorter is compared as if spaces were appended to |
| it to form a value that has the same length as the longer. |
| |
| @xref{LGe Intrinsic}, for information on the distinction |
| between the @code{LLE} intrinsic and the @code{.LE.} |
| operator. |
| |
| @node LLt Intrinsic |
| @subsubsection LLt Intrinsic |
| @cindex LLt intrinsic |
| @cindex intrinsics, LLt |
| |
| @noindent |
| @example |
| LLt(@var{String_A}, @var{String_B}) |
| @end example |
| |
| @noindent |
| LLt: @code{LOGICAL(KIND=1)} function. |
| |
| @noindent |
| @var{String_A}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{String_B}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Returns @samp{.TRUE.} if @samp{@var{String_A}.LT.@var{String_B}}, |
| @samp{.FALSE.} otherwise. |
| @var{String_A} and @var{String_B} are interpreted as containing |
| ASCII character codes. |
| If either value contains a character not in the ASCII |
| character set, the result is processor dependent. |
| |
| If the @var{String_A} and @var{String_B} are not the same length, |
| the shorter is compared as if spaces were appended to |
| it to form a value that has the same length as the longer. |
| |
| @xref{LGe Intrinsic}, for information on the distinction |
| between the @code{LLT} intrinsic and the @code{.LT.} |
| operator. |
| |
| @end ifset |
| @ifset familyF2U |
| @node LnBlnk Intrinsic |
| @subsubsection LnBlnk Intrinsic |
| @cindex LnBlnk intrinsic |
| @cindex intrinsics, LnBlnk |
| |
| @noindent |
| @example |
| LnBlnk(@var{String}) |
| @end example |
| |
| @noindent |
| LnBlnk: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{String}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Returns the index of the last non-blank character in @var{String}. |
| @code{LNBLNK} and @code{LEN_TRIM} are equivalent. |
| |
| @node Loc Intrinsic |
| @subsubsection Loc Intrinsic |
| @cindex Loc intrinsic |
| @cindex intrinsics, Loc |
| |
| @noindent |
| @example |
| Loc(@var{Entity}) |
| @end example |
| |
| @noindent |
| Loc: @code{INTEGER(KIND=7)} function. |
| |
| @noindent |
| @var{Entity}: Any type; cannot be a constant or expression. |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| The @code{LOC()} intrinsic works the |
| same way as the @code{%LOC()} construct. |
| @xref{%LOC(),,The @code{%LOC()} Construct}, for |
| more information. |
| |
| @end ifset |
| @ifset familyF77 |
| @node Log Intrinsic |
| @subsubsection Log Intrinsic |
| @cindex Log intrinsic |
| @cindex intrinsics, Log |
| |
| @noindent |
| @example |
| Log(@var{X}) |
| @end example |
| |
| @noindent |
| Log: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}. |
| |
| @noindent |
| @var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Returns the natural logarithm of @var{X}, which must |
| be greater than zero or, if type @code{COMPLEX}, must not |
| be zero. |
| |
| @xref{Exp Intrinsic}, for the inverse of this function. |
| |
| @xref{Log10 Intrinsic}, for the `common' (base-10) logarithm function. |
| |
| @node Log10 Intrinsic |
| @subsubsection Log10 Intrinsic |
| @cindex Log10 intrinsic |
| @cindex intrinsics, Log10 |
| |
| @noindent |
| @example |
| Log10(@var{X}) |
| @end example |
| |
| @noindent |
| Log10: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}. |
| |
| @noindent |
| @var{X}: @code{REAL}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Returns the common logarithm (base 10) of @var{X}, which must |
| be greater than zero. |
| |
| The inverse of this function is @samp{10. ** LOG10(@var{X})}. |
| |
| @xref{Log Intrinsic}, for the natural logarithm function. |
| |
| @end ifset |
| @ifset familyF90 |
| @node Logical Intrinsic |
| @subsubsection Logical Intrinsic |
| @cindex Logical intrinsic |
| @cindex intrinsics, Logical |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Logical} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF2U |
| @node Long Intrinsic |
| @subsubsection Long Intrinsic |
| @cindex Long intrinsic |
| @cindex intrinsics, Long |
| |
| @noindent |
| @example |
| Long(@var{A}) |
| @end example |
| |
| @noindent |
| Long: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{A}: @code{INTEGER(KIND=6)}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Archaic form of @code{INT()} that is specific |
| to one type for @var{A}. |
| @xref{Int Intrinsic}. |
| |
| The precise meaning of this intrinsic might change |
| in a future version of the GNU Fortran language, |
| as more is learned about how it is used. |
| |
| @end ifset |
| @ifset familyF2C |
| @node LShift Intrinsic |
| @subsubsection LShift Intrinsic |
| @cindex LShift intrinsic |
| @cindex intrinsics, LShift |
| |
| @noindent |
| @example |
| LShift(@var{I}, @var{Shift}) |
| @end example |
| |
| @noindent |
| LShift: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}. |
| |
| @noindent |
| @var{I}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Shift}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{f2c}. |
| |
| @noindent |
| Description: |
| |
| Returns @var{I} shifted to the left |
| @var{Shift} bits. |
| |
| Although similar to the expression |
| @samp{@var{I}*(2**@var{Shift})}, there |
| are important differences. |
| For example, the sign of the result is |
| not necessarily the same as the sign of |
| @var{I}. |
| |
| Currently this intrinsic is defined assuming |
| the underlying representation of @var{I} |
| is as a two's-complement integer. |
| It is unclear at this point whether that |
| definition will apply when a different |
| representation is involved. |
| |
| @xref{LShift Intrinsic}, for the inverse of this function. |
| |
| @xref{IShft Intrinsic}, for information |
| on a more widely available left-shifting |
| intrinsic that is also more precisely defined. |
| |
| @end ifset |
| @ifset familyF2U |
| @node LStat Intrinsic (subroutine) |
| @subsubsection LStat Intrinsic (subroutine) |
| @cindex LStat intrinsic |
| @cindex intrinsics, LStat |
| |
| @noindent |
| @example |
| CALL LStat(@var{File}, @var{SArray}, @var{Status}) |
| @end example |
| |
| @noindent |
| @var{File}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT). |
| |
| @noindent |
| @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Obtains data about the given file @var{File} and places them in the array |
| @var{SArray}. |
| A null character (@samp{CHAR(0)}) marks the end of |
| the name in @var{File}---otherwise, |
| trailing blanks in @var{File} are ignored. |
| If @var{File} is a symbolic link it returns data on the |
| link itself, so the routine is available only on systems that support |
| symbolic links. |
| The values in this array are extracted from the |
| @code{stat} structure as returned by @code{fstat(2)} q.v., as follows: |
| |
| @enumerate |
| @item |
| Device ID |
| |
| @item |
| Inode number |
| |
| @item |
| File mode |
| |
| @item |
| Number of links |
| |
| @item |
| Owner's uid |
| |
| @item |
| Owner's gid |
| |
| @item |
| ID of device containing directory entry for file |
| (0 if not available) |
| |
| @item |
| File size (bytes) |
| |
| @item |
| Last access time |
| |
| @item |
| Last modification time |
| |
| @item |
| Last file status change time |
| |
| @item |
| Preferred I/O block size (-1 if not available) |
| |
| @item |
| Number of blocks allocated (-1 if not available) |
| @end enumerate |
| |
| Not all these elements are relevant on all systems. |
| If an element is not relevant, it is returned as 0. |
| |
| If the @var{Status} argument is supplied, it contains |
| 0 on success or a nonzero error code upon return |
| (@code{ENOSYS} if the system does not provide @code{lstat(2)}). |
| |
| Some non-GNU implementations of Fortran provide this intrinsic as |
| only a function, not as a subroutine, or do not support the |
| (optional) @var{Status} argument. |
| |
| For information on other intrinsics with the same name: |
| @xref{LStat Intrinsic (function)}. |
| |
| @node LStat Intrinsic (function) |
| @subsubsection LStat Intrinsic (function) |
| @cindex LStat intrinsic |
| @cindex intrinsics, LStat |
| |
| @noindent |
| @example |
| LStat(@var{File}, @var{SArray}) |
| @end example |
| |
| @noindent |
| LStat: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{File}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Obtains data about the given file @var{File} and places them in the array |
| @var{SArray}. |
| A null character (@samp{CHAR(0)}) marks the end of |
| the name in @var{File}---otherwise, |
| trailing blanks in @var{File} are ignored. |
| If @var{File} is a symbolic link it returns data on the |
| link itself, so the routine is available only on systems that support |
| symbolic links. |
| The values in this array are extracted from the |
| @code{stat} structure as returned by @code{fstat(2)} q.v., as follows: |
| |
| @enumerate |
| @item |
| Device ID |
| |
| @item |
| Inode number |
| |
| @item |
| File mode |
| |
| @item |
| Number of links |
| |
| @item |
| Owner's uid |
| |
| @item |
| Owner's gid |
| |
| @item |
| ID of device containing directory entry for file |
| (0 if not available) |
| |
| @item |
| File size (bytes) |
| |
| @item |
| Last access time |
| |
| @item |
| Last modification time |
| |
| @item |
| Last file status change time |
| |
| @item |
| Preferred I/O block size (-1 if not available) |
| |
| @item |
| Number of blocks allocated (-1 if not available) |
| @end enumerate |
| |
| Not all these elements are relevant on all systems. |
| If an element is not relevant, it is returned as 0. |
| |
| Returns 0 on success or a nonzero error code |
| (@code{ENOSYS} if the system does not provide @code{lstat(2)}). |
| |
| For information on other intrinsics with the same name: |
| @xref{LStat Intrinsic (subroutine)}. |
| |
| @node LTime Intrinsic |
| @subsubsection LTime Intrinsic |
| @cindex LTime intrinsic |
| @cindex intrinsics, LTime |
| |
| @noindent |
| @example |
| CALL LTime(@var{STime}, @var{TArray}) |
| @end example |
| |
| @noindent |
| @var{STime}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(9); INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Given a system time value @var{STime}, fills @var{TArray} with values |
| extracted from it appropriate to the GMT time zone using |
| @code{localtime(3)}. |
| |
| The array elements are as follows: |
| |
| @enumerate |
| @item |
| Seconds after the minute, range 0--59 or 0--61 to allow for leap |
| seconds |
| |
| @item |
| Minutes after the hour, range 0--59 |
| |
| @item |
| Hours past midnight, range 0--23 |
| |
| @item |
| Day of month, range 0--31 |
| |
| @item |
| Number of months since January, range 0--12 |
| |
| @item |
| Years since 1900 |
| |
| @item |
| Number of days since Sunday, range 0--6 |
| |
| @item |
| Days since January 1 |
| |
| @item |
| Daylight savings indicator: positive if daylight savings is in effect, |
| zero if not, and negative if the information isn't available. |
| @end enumerate |
| |
| @end ifset |
| @ifset familyF90 |
| @node MatMul Intrinsic |
| @subsubsection MatMul Intrinsic |
| @cindex MatMul intrinsic |
| @cindex intrinsics, MatMul |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL MatMul} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF77 |
| @node Max Intrinsic |
| @subsubsection Max Intrinsic |
| @cindex Max intrinsic |
| @cindex intrinsics, Max |
| |
| @noindent |
| @example |
| Max(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n) |
| @end example |
| |
| @noindent |
| Max: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the |
| types of all the arguments. |
| |
| @noindent |
| @var{A}: @code{INTEGER} or @code{REAL}; at least two such arguments must be provided; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Returns the argument with the largest value. |
| |
| @xref{Min Intrinsic}, for the opposite function. |
| |
| @node Max0 Intrinsic |
| @subsubsection Max0 Intrinsic |
| @cindex Max0 intrinsic |
| @cindex intrinsics, Max0 |
| |
| @noindent |
| @example |
| Max0(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n) |
| @end example |
| |
| @noindent |
| Max0: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{A}: @code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Archaic form of @code{MAX()} that is specific |
| to one type for @var{A}. |
| @xref{Max Intrinsic}. |
| |
| @node Max1 Intrinsic |
| @subsubsection Max1 Intrinsic |
| @cindex Max1 intrinsic |
| @cindex intrinsics, Max1 |
| |
| @noindent |
| @example |
| Max1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n) |
| @end example |
| |
| @noindent |
| Max1: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{A}: @code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Archaic form of @code{MAX()} that is specific |
| to one type for @var{A} and a different return type. |
| @xref{Max Intrinsic}. |
| |
| @end ifset |
| @ifset familyF90 |
| @node MaxExponent Intrinsic |
| @subsubsection MaxExponent Intrinsic |
| @cindex MaxExponent intrinsic |
| @cindex intrinsics, MaxExponent |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL MaxExponent} to use this name for an |
| external procedure. |
| |
| @node MaxLoc Intrinsic |
| @subsubsection MaxLoc Intrinsic |
| @cindex MaxLoc intrinsic |
| @cindex intrinsics, MaxLoc |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL MaxLoc} to use this name for an |
| external procedure. |
| |
| @node MaxVal Intrinsic |
| @subsubsection MaxVal Intrinsic |
| @cindex MaxVal intrinsic |
| @cindex intrinsics, MaxVal |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL MaxVal} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF2U |
| @node MClock Intrinsic |
| @subsubsection MClock Intrinsic |
| @cindex MClock intrinsic |
| @cindex intrinsics, MClock |
| |
| @noindent |
| @example |
| MClock() |
| @end example |
| |
| @noindent |
| MClock: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Returns the number of clock ticks since the start of the process. |
| Supported on systems with @code{clock(3)} (q.v.). |
| |
| @cindex wraparound, timings |
| @cindex limits, timings |
| This intrinsic is not fully portable, such as to systems |
| with 32-bit @code{INTEGER} types but supporting times |
| wider than 32 bits. |
| Therefore, the values returned by this intrinsic |
| might be, or become, negative, |
| or numerically less than previous values, |
| during a single run of the compiled program. |
| |
| @xref{MClock8 Intrinsic}, for information on a |
| similar intrinsic that might be portable to more |
| GNU Fortran implementations, though to fewer |
| Fortran compilers. |
| |
| If the system does not support @code{clock(3)}, |
| -1 is returned. |
| |
| @node MClock8 Intrinsic |
| @subsubsection MClock8 Intrinsic |
| @cindex MClock8 intrinsic |
| @cindex intrinsics, MClock8 |
| |
| @noindent |
| @example |
| MClock8() |
| @end example |
| |
| @noindent |
| MClock8: @code{INTEGER(KIND=2)} function. |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Returns the number of clock ticks since the start of the process. |
| Supported on systems with @code{clock(3)} (q.v.). |
| |
| @cindex wraparound, timings |
| @cindex limits, timings |
| @emph{Warning:} this intrinsic does not increase the range |
| of the timing values over that returned by @code{clock(3)}. |
| On a system with a 32-bit @code{clock(3)}, |
| @code{MCLOCK8} will return a 32-bit value, |
| even though converted to an @samp{INTEGER(KIND=2)} value. |
| That means overflows of the 32-bit value can still occur. |
| Therefore, the values returned by this intrinsic |
| might be, or become, negative, |
| or numerically less than previous values, |
| during a single run of the compiled program. |
| |
| No Fortran implementations other than GNU Fortran are |
| known to support this intrinsic at the time of this |
| writing. |
| @xref{MClock Intrinsic}, for information on a |
| similar intrinsic that might be portable to more Fortran |
| compilers, though to fewer GNU Fortran implementations. |
| |
| If the system does not support @code{clock(3)}, |
| -1 is returned. |
| |
| @end ifset |
| @ifset familyF90 |
| @node Merge Intrinsic |
| @subsubsection Merge Intrinsic |
| @cindex Merge intrinsic |
| @cindex intrinsics, Merge |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Merge} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF77 |
| @node Min Intrinsic |
| @subsubsection Min Intrinsic |
| @cindex Min intrinsic |
| @cindex intrinsics, Min |
| |
| @noindent |
| @example |
| Min(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n) |
| @end example |
| |
| @noindent |
| Min: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the |
| types of all the arguments. |
| |
| @noindent |
| @var{A}: @code{INTEGER} or @code{REAL}; at least two such arguments must be provided; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Returns the argument with the smallest value. |
| |
| @xref{Max Intrinsic}, for the opposite function. |
| |
| @node Min0 Intrinsic |
| @subsubsection Min0 Intrinsic |
| @cindex Min0 intrinsic |
| @cindex intrinsics, Min0 |
| |
| @noindent |
| @example |
| Min0(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n) |
| @end example |
| |
| @noindent |
| Min0: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{A}: @code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Archaic form of @code{MIN()} that is specific |
| to one type for @var{A}. |
| @xref{Min Intrinsic}. |
| |
| @node Min1 Intrinsic |
| @subsubsection Min1 Intrinsic |
| @cindex Min1 intrinsic |
| @cindex intrinsics, Min1 |
| |
| @noindent |
| @example |
| Min1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n) |
| @end example |
| |
| @noindent |
| Min1: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{A}: @code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Archaic form of @code{MIN()} that is specific |
| to one type for @var{A} and a different return type. |
| @xref{Min Intrinsic}. |
| |
| @end ifset |
| @ifset familyF90 |
| @node MinExponent Intrinsic |
| @subsubsection MinExponent Intrinsic |
| @cindex MinExponent intrinsic |
| @cindex intrinsics, MinExponent |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL MinExponent} to use this name for an |
| external procedure. |
| |
| @node MinLoc Intrinsic |
| @subsubsection MinLoc Intrinsic |
| @cindex MinLoc intrinsic |
| @cindex intrinsics, MinLoc |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL MinLoc} to use this name for an |
| external procedure. |
| |
| @node MinVal Intrinsic |
| @subsubsection MinVal Intrinsic |
| @cindex MinVal intrinsic |
| @cindex intrinsics, MinVal |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL MinVal} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF77 |
| @node Mod Intrinsic |
| @subsubsection Mod Intrinsic |
| @cindex Mod intrinsic |
| @cindex intrinsics, Mod |
| |
| @noindent |
| @example |
| Mod(@var{A}, @var{P}) |
| @end example |
| |
| @noindent |
| Mod: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the |
| types of all the arguments. |
| |
| @noindent |
| @var{A}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{P}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Returns remainder calculated as: |
| |
| @smallexample |
| @var{A} - (INT(@var{A} / @var{P}) * @var{P}) |
| @end smallexample |
| |
| @var{P} must not be zero. |
| |
| @end ifset |
| @ifset familyF90 |
| @node Modulo Intrinsic |
| @subsubsection Modulo Intrinsic |
| @cindex Modulo intrinsic |
| @cindex intrinsics, Modulo |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Modulo} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyMIL |
| @node MvBits Intrinsic |
| @subsubsection MvBits Intrinsic |
| @cindex MvBits intrinsic |
| @cindex intrinsics, MvBits |
| |
| @noindent |
| @example |
| CALL MvBits(@var{From}, @var{FromPos}, @var{Len}, @var{TO}, @var{ToPos}) |
| @end example |
| |
| @noindent |
| @var{From}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{FromPos}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Len}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{TO}: @code{INTEGER} with same @samp{KIND=} value as for @var{From}; scalar; INTENT(INOUT). |
| |
| @noindent |
| @var{ToPos}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}. |
| |
| @noindent |
| Description: |
| |
| Moves @var{Len} bits from positions @var{FromPos} through |
| @samp{@var{FromPos}+@var{Len}-1} of @var{From} to positions @var{ToPos} through |
| @samp{@var{FromPos}+@var{Len}-1} of @var{TO}. The portion of argument |
| @var{TO} not affected by the movement of bits is unchanged. Arguments |
| @var{From} and @var{TO} are permitted to be the same numeric storage |
| unit. The values of @samp{@var{FromPos}+@var{Len}} and |
| @samp{@var{ToPos}+@var{Len}} must be less than or equal to |
| @samp{BIT_SIZE(@var{From})}. |
| |
| @end ifset |
| @ifset familyF90 |
| @node Nearest Intrinsic |
| @subsubsection Nearest Intrinsic |
| @cindex Nearest intrinsic |
| @cindex intrinsics, Nearest |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Nearest} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF77 |
| @node NInt Intrinsic |
| @subsubsection NInt Intrinsic |
| @cindex NInt intrinsic |
| @cindex intrinsics, NInt |
| |
| @noindent |
| @example |
| NInt(@var{A}) |
| @end example |
| |
| @noindent |
| NInt: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{A}: @code{REAL}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Returns @var{A} with the fractional portion of its |
| magnitude eliminated by rounding to the nearest whole |
| number and with its sign preserved, converted |
| to type @code{INTEGER(KIND=1)}. |
| |
| If @var{A} is type @code{COMPLEX}, its real part is |
| rounded and converted. |
| |
| A fractional portion exactly equal to |
| @samp{.5} is rounded to the whole number that |
| is larger in magnitude. |
| (Also called ``Fortran round''.) |
| |
| @xref{Int Intrinsic}, for how to convert, truncate to |
| whole number. |
| |
| @xref{ANInt Intrinsic}, for how to round to nearest whole number |
| without converting. |
| |
| @end ifset |
| @ifset familyMIL |
| @node Not Intrinsic |
| @subsubsection Not Intrinsic |
| @cindex Not intrinsic |
| @cindex intrinsics, Not |
| |
| @noindent |
| @example |
| Not(@var{I}) |
| @end example |
| |
| @noindent |
| Not: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}. |
| |
| @noindent |
| @var{I}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}. |
| |
| @noindent |
| Description: |
| |
| Returns value resulting from boolean NOT of each bit |
| in @var{I}. |
| |
| @end ifset |
| @ifset familyF2C |
| @node Or Intrinsic |
| @subsubsection Or Intrinsic |
| @cindex Or intrinsic |
| @cindex intrinsics, Or |
| |
| @noindent |
| @example |
| Or(@var{I}, @var{J}) |
| @end example |
| |
| @noindent |
| Or: @code{INTEGER} or @code{LOGICAL} function, the exact type being the result of cross-promoting the |
| types of all the arguments. |
| |
| @noindent |
| @var{I}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{J}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{f2c}. |
| |
| @noindent |
| Description: |
| |
| Returns value resulting from boolean OR of |
| pair of bits in each of @var{I} and @var{J}. |
| |
| @end ifset |
| @ifset familyF90 |
| @node Pack Intrinsic |
| @subsubsection Pack Intrinsic |
| @cindex Pack intrinsic |
| @cindex intrinsics, Pack |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Pack} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF2U |
| @node PError Intrinsic |
| @subsubsection PError Intrinsic |
| @cindex PError intrinsic |
| @cindex intrinsics, PError |
| |
| @noindent |
| @example |
| CALL PError(@var{String}) |
| @end example |
| |
| @noindent |
| @var{String}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Prints (on the C @code{stderr} stream) a newline-terminated error |
| message corresponding to the last system error. |
| This is prefixed by @var{String}, a colon and a space. |
| See @code{perror(3)}. |
| |
| @end ifset |
| @ifset familyF90 |
| @node Precision Intrinsic |
| @subsubsection Precision Intrinsic |
| @cindex Precision intrinsic |
| @cindex intrinsics, Precision |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Precision} to use this name for an |
| external procedure. |
| |
| @node Present Intrinsic |
| @subsubsection Present Intrinsic |
| @cindex Present intrinsic |
| @cindex intrinsics, Present |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Present} to use this name for an |
| external procedure. |
| |
| @node Product Intrinsic |
| @subsubsection Product Intrinsic |
| @cindex Product intrinsic |
| @cindex intrinsics, Product |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Product} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyVXT |
| @node QAbs Intrinsic |
| @subsubsection QAbs Intrinsic |
| @cindex QAbs intrinsic |
| @cindex intrinsics, QAbs |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QAbs} to use this name for an |
| external procedure. |
| |
| @node QACos Intrinsic |
| @subsubsection QACos Intrinsic |
| @cindex QACos intrinsic |
| @cindex intrinsics, QACos |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QACos} to use this name for an |
| external procedure. |
| |
| @node QACosD Intrinsic |
| @subsubsection QACosD Intrinsic |
| @cindex QACosD intrinsic |
| @cindex intrinsics, QACosD |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QACosD} to use this name for an |
| external procedure. |
| |
| @node QASin Intrinsic |
| @subsubsection QASin Intrinsic |
| @cindex QASin intrinsic |
| @cindex intrinsics, QASin |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QASin} to use this name for an |
| external procedure. |
| |
| @node QASinD Intrinsic |
| @subsubsection QASinD Intrinsic |
| @cindex QASinD intrinsic |
| @cindex intrinsics, QASinD |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QASinD} to use this name for an |
| external procedure. |
| |
| @node QATan Intrinsic |
| @subsubsection QATan Intrinsic |
| @cindex QATan intrinsic |
| @cindex intrinsics, QATan |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QATan} to use this name for an |
| external procedure. |
| |
| @node QATan2 Intrinsic |
| @subsubsection QATan2 Intrinsic |
| @cindex QATan2 intrinsic |
| @cindex intrinsics, QATan2 |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QATan2} to use this name for an |
| external procedure. |
| |
| @node QATan2D Intrinsic |
| @subsubsection QATan2D Intrinsic |
| @cindex QATan2D intrinsic |
| @cindex intrinsics, QATan2D |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QATan2D} to use this name for an |
| external procedure. |
| |
| @node QATanD Intrinsic |
| @subsubsection QATanD Intrinsic |
| @cindex QATanD intrinsic |
| @cindex intrinsics, QATanD |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QATanD} to use this name for an |
| external procedure. |
| |
| @node QCos Intrinsic |
| @subsubsection QCos Intrinsic |
| @cindex QCos intrinsic |
| @cindex intrinsics, QCos |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QCos} to use this name for an |
| external procedure. |
| |
| @node QCosD Intrinsic |
| @subsubsection QCosD Intrinsic |
| @cindex QCosD intrinsic |
| @cindex intrinsics, QCosD |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QCosD} to use this name for an |
| external procedure. |
| |
| @node QCosH Intrinsic |
| @subsubsection QCosH Intrinsic |
| @cindex QCosH intrinsic |
| @cindex intrinsics, QCosH |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QCosH} to use this name for an |
| external procedure. |
| |
| @node QDiM Intrinsic |
| @subsubsection QDiM Intrinsic |
| @cindex QDiM intrinsic |
| @cindex intrinsics, QDiM |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QDiM} to use this name for an |
| external procedure. |
| |
| @node QExp Intrinsic |
| @subsubsection QExp Intrinsic |
| @cindex QExp intrinsic |
| @cindex intrinsics, QExp |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QExp} to use this name for an |
| external procedure. |
| |
| @node QExt Intrinsic |
| @subsubsection QExt Intrinsic |
| @cindex QExt intrinsic |
| @cindex intrinsics, QExt |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QExt} to use this name for an |
| external procedure. |
| |
| @node QExtD Intrinsic |
| @subsubsection QExtD Intrinsic |
| @cindex QExtD intrinsic |
| @cindex intrinsics, QExtD |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QExtD} to use this name for an |
| external procedure. |
| |
| @node QFloat Intrinsic |
| @subsubsection QFloat Intrinsic |
| @cindex QFloat intrinsic |
| @cindex intrinsics, QFloat |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QFloat} to use this name for an |
| external procedure. |
| |
| @node QInt Intrinsic |
| @subsubsection QInt Intrinsic |
| @cindex QInt intrinsic |
| @cindex intrinsics, QInt |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QInt} to use this name for an |
| external procedure. |
| |
| @node QLog Intrinsic |
| @subsubsection QLog Intrinsic |
| @cindex QLog intrinsic |
| @cindex intrinsics, QLog |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QLog} to use this name for an |
| external procedure. |
| |
| @node QLog10 Intrinsic |
| @subsubsection QLog10 Intrinsic |
| @cindex QLog10 intrinsic |
| @cindex intrinsics, QLog10 |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QLog10} to use this name for an |
| external procedure. |
| |
| @node QMax1 Intrinsic |
| @subsubsection QMax1 Intrinsic |
| @cindex QMax1 intrinsic |
| @cindex intrinsics, QMax1 |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QMax1} to use this name for an |
| external procedure. |
| |
| @node QMin1 Intrinsic |
| @subsubsection QMin1 Intrinsic |
| @cindex QMin1 intrinsic |
| @cindex intrinsics, QMin1 |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QMin1} to use this name for an |
| external procedure. |
| |
| @node QMod Intrinsic |
| @subsubsection QMod Intrinsic |
| @cindex QMod intrinsic |
| @cindex intrinsics, QMod |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QMod} to use this name for an |
| external procedure. |
| |
| @node QNInt Intrinsic |
| @subsubsection QNInt Intrinsic |
| @cindex QNInt intrinsic |
| @cindex intrinsics, QNInt |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QNInt} to use this name for an |
| external procedure. |
| |
| @node QSin Intrinsic |
| @subsubsection QSin Intrinsic |
| @cindex QSin intrinsic |
| @cindex intrinsics, QSin |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QSin} to use this name for an |
| external procedure. |
| |
| @node QSinD Intrinsic |
| @subsubsection QSinD Intrinsic |
| @cindex QSinD intrinsic |
| @cindex intrinsics, QSinD |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QSinD} to use this name for an |
| external procedure. |
| |
| @node QSinH Intrinsic |
| @subsubsection QSinH Intrinsic |
| @cindex QSinH intrinsic |
| @cindex intrinsics, QSinH |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QSinH} to use this name for an |
| external procedure. |
| |
| @node QSqRt Intrinsic |
| @subsubsection QSqRt Intrinsic |
| @cindex QSqRt intrinsic |
| @cindex intrinsics, QSqRt |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QSqRt} to use this name for an |
| external procedure. |
| |
| @node QTan Intrinsic |
| @subsubsection QTan Intrinsic |
| @cindex QTan intrinsic |
| @cindex intrinsics, QTan |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QTan} to use this name for an |
| external procedure. |
| |
| @node QTanD Intrinsic |
| @subsubsection QTanD Intrinsic |
| @cindex QTanD intrinsic |
| @cindex intrinsics, QTanD |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QTanD} to use this name for an |
| external procedure. |
| |
| @node QTanH Intrinsic |
| @subsubsection QTanH Intrinsic |
| @cindex QTanH intrinsic |
| @cindex intrinsics, QTanH |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL QTanH} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF90 |
| @node Radix Intrinsic |
| @subsubsection Radix Intrinsic |
| @cindex Radix intrinsic |
| @cindex intrinsics, Radix |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Radix} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF2U |
| @node Rand Intrinsic |
| @subsubsection Rand Intrinsic |
| @cindex Rand intrinsic |
| @cindex intrinsics, Rand |
| |
| @noindent |
| @example |
| Rand(@var{Flag}) |
| @end example |
| |
| @noindent |
| Rand: @code{REAL(KIND=1)} function. |
| |
| @noindent |
| @var{Flag}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Returns a uniform quasi-random number between 0 and 1. |
| If @var{Flag} is 0, the next number in sequence is returned; if |
| @var{Flag} is 1, the generator is restarted by calling @samp{srand(0)}; |
| if @var{Flag} has any other value, it is used as a new seed with |
| @code{srand}. |
| |
| @xref{SRand Intrinsic}. |
| |
| @emph{Note:} As typically implemented (by the routine of the same |
| name in the C library), this random number generator is a very poor |
| one, though the BSD and GNU libraries provide a much better |
| implementation than the `traditional' one. |
| On a different system you |
| almost certainly want to use something better. |
| |
| @end ifset |
| @ifset familyF90 |
| @node Random_Number Intrinsic |
| @subsubsection Random_Number Intrinsic |
| @cindex Random_Number intrinsic |
| @cindex intrinsics, Random_Number |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Random_Number} to use this name for an |
| external procedure. |
| |
| @node Random_Seed Intrinsic |
| @subsubsection Random_Seed Intrinsic |
| @cindex Random_Seed intrinsic |
| @cindex intrinsics, Random_Seed |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Random_Seed} to use this name for an |
| external procedure. |
| |
| @node Range Intrinsic |
| @subsubsection Range Intrinsic |
| @cindex Range intrinsic |
| @cindex intrinsics, Range |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Range} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF77 |
| @node Real Intrinsic |
| @subsubsection Real Intrinsic |
| @cindex Real intrinsic |
| @cindex intrinsics, Real |
| |
| @noindent |
| @example |
| Real(@var{A}) |
| @end example |
| |
| @noindent |
| Real: @code{REAL} function. |
| The exact type is @samp{REAL(KIND=1)} when argument @var{A} is |
| any type other than @code{COMPLEX}, or when it is @code{COMPLEX(KIND=1)}. |
| When @var{A} is any @code{COMPLEX} type other than @code{COMPLEX(KIND=1)}, |
| this intrinsic is valid only when used as the argument to |
| @code{REAL()}, as explained below. |
| |
| @noindent |
| @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Converts @var{A} to @code{REAL(KIND=1)}. |
| |
| Use of @code{REAL()} with a @code{COMPLEX} argument |
| (other than @code{COMPLEX(KIND=1)}) is restricted to the following case: |
| |
| @example |
| REAL(REAL(A)) |
| @end example |
| |
| @noindent |
| This expression converts the real part of A to |
| @code{REAL(KIND=1)}. |
| |
| @xref{RealPart Intrinsic}, for information on a GNU Fortran |
| intrinsic that extracts the real part of an arbitrary |
| @code{COMPLEX} value. |
| |
| @xref{REAL() and AIMAG() of Complex}, for more information. |
| |
| @end ifset |
| @ifset familyGNU |
| @node RealPart Intrinsic |
| @subsubsection RealPart Intrinsic |
| @cindex RealPart intrinsic |
| @cindex intrinsics, RealPart |
| |
| @noindent |
| @example |
| RealPart(@var{Z}) |
| @end example |
| |
| @noindent |
| RealPart: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{Z}. |
| |
| @noindent |
| @var{Z}: @code{COMPLEX}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{gnu}. |
| |
| @noindent |
| Description: |
| |
| The real part of @var{Z} is returned, without conversion. |
| |
| @emph{Note:} The way to do this in standard Fortran 90 |
| is @samp{REAL(@var{Z})}. |
| However, when, for example, @var{Z} is @code{COMPLEX(KIND=2)}, |
| @samp{REAL(@var{Z})} means something different for some compilers |
| that are not true Fortran 90 compilers but offer some |
| extensions standardized by Fortran 90 (such as the |
| @code{DOUBLE COMPLEX} type, also known as @code{COMPLEX(KIND=2)}). |
| |
| The advantage of @code{REALPART()} is that, while not necessarily |
| more or less portable than @code{REAL()}, it is more likely to |
| cause a compiler that doesn't support it to produce a diagnostic |
| than generate incorrect code. |
| |
| @xref{REAL() and AIMAG() of Complex}, for more information. |
| |
| @end ifset |
| @ifset familyF2U |
| @node Rename Intrinsic (subroutine) |
| @subsubsection Rename Intrinsic (subroutine) |
| @cindex Rename intrinsic |
| @cindex intrinsics, Rename |
| |
| @noindent |
| @example |
| CALL Rename(@var{Path1}, @var{Path2}, @var{Status}) |
| @end example |
| |
| @noindent |
| @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Renames the file @var{Path1} to @var{Path2}. |
| A null character (@samp{CHAR(0)}) marks the end of |
| the names in @var{Path1} and @var{Path2}---otherwise, |
| trailing blanks in @var{Path1} and @var{Path2} are ignored. |
| See @code{rename(2)}. |
| If the @var{Status} argument is supplied, it contains |
| 0 on success or a nonzero error code upon return. |
| |
| Some non-GNU implementations of Fortran provide this intrinsic as |
| only a function, not as a subroutine, or do not support the |
| (optional) @var{Status} argument. |
| |
| For information on other intrinsics with the same name: |
| @xref{Rename Intrinsic (function)}. |
| |
| @end ifset |
| @ifset familyBADU77 |
| @node Rename Intrinsic (function) |
| @subsubsection Rename Intrinsic (function) |
| @cindex Rename intrinsic |
| @cindex intrinsics, Rename |
| |
| @noindent |
| @example |
| Rename(@var{Path1}, @var{Path2}) |
| @end example |
| |
| @noindent |
| Rename: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{badu77}. |
| |
| @noindent |
| Description: |
| |
| Renames the file @var{Path1} to @var{Path2}. |
| A null character (@samp{CHAR(0)}) marks the end of |
| the names in @var{Path1} and @var{Path2}---otherwise, |
| trailing blanks in @var{Path1} and @var{Path2} are ignored. |
| See @code{rename(2)}. |
| Returns 0 on success or a nonzero error code. |
| |
| Due to the side effects performed by this intrinsic, the function |
| form is not recommended. |
| |
| For information on other intrinsics with the same name: |
| @xref{Rename Intrinsic (subroutine)}. |
| |
| @end ifset |
| @ifset familyF90 |
| @node Repeat Intrinsic |
| @subsubsection Repeat Intrinsic |
| @cindex Repeat intrinsic |
| @cindex intrinsics, Repeat |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Repeat} to use this name for an |
| external procedure. |
| |
| @node Reshape Intrinsic |
| @subsubsection Reshape Intrinsic |
| @cindex Reshape intrinsic |
| @cindex intrinsics, Reshape |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Reshape} to use this name for an |
| external procedure. |
| |
| @node RRSpacing Intrinsic |
| @subsubsection RRSpacing Intrinsic |
| @cindex RRSpacing intrinsic |
| @cindex intrinsics, RRSpacing |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL RRSpacing} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF2C |
| @node RShift Intrinsic |
| @subsubsection RShift Intrinsic |
| @cindex RShift intrinsic |
| @cindex intrinsics, RShift |
| |
| @noindent |
| @example |
| RShift(@var{I}, @var{Shift}) |
| @end example |
| |
| @noindent |
| RShift: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}. |
| |
| @noindent |
| @var{I}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Shift}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{f2c}. |
| |
| @noindent |
| Description: |
| |
| Returns @var{I} shifted to the right |
| @var{Shift} bits. |
| |
| Although similar to the expression |
| @samp{@var{I}/(2**@var{Shift})}, there |
| are important differences. |
| For example, the sign of the result is |
| undefined. |
| |
| Currently this intrinsic is defined assuming |
| the underlying representation of @var{I} |
| is as a two's-complement integer. |
| It is unclear at this point whether that |
| definition will apply when a different |
| representation is involved. |
| |
| @xref{RShift Intrinsic}, for the inverse of this function. |
| |
| @xref{IShft Intrinsic}, for information |
| on a more widely available right-shifting |
| intrinsic that is also more precisely defined. |
| |
| @end ifset |
| @ifset familyF90 |
| @node Scale Intrinsic |
| @subsubsection Scale Intrinsic |
| @cindex Scale intrinsic |
| @cindex intrinsics, Scale |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Scale} to use this name for an |
| external procedure. |
| |
| @node Scan Intrinsic |
| @subsubsection Scan Intrinsic |
| @cindex Scan intrinsic |
| @cindex intrinsics, Scan |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Scan} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyVXT |
| @node Secnds Intrinsic |
| @subsubsection Secnds Intrinsic |
| @cindex Secnds intrinsic |
| @cindex intrinsics, Secnds |
| |
| @noindent |
| @example |
| Secnds(@var{T}) |
| @end example |
| |
| @noindent |
| Secnds: @code{REAL(KIND=1)} function. |
| |
| @noindent |
| @var{T}: @code{REAL(KIND=1)}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{vxt}. |
| |
| @noindent |
| Description: |
| |
| Returns the local time in seconds since midnight minus the value |
| @var{T}. |
| |
| @cindex wraparound, timings |
| @cindex limits, timings |
| This values returned by this intrinsic |
| become numerically less than previous values |
| (they wrap around) during a single run of the |
| compiler program, under normal circumstances |
| (such as running through the midnight hour). |
| |
| @end ifset |
| @ifset familyF2U |
| @node Second Intrinsic (function) |
| @subsubsection Second Intrinsic (function) |
| @cindex Second intrinsic |
| @cindex intrinsics, Second |
| |
| @noindent |
| @example |
| Second() |
| @end example |
| |
| @noindent |
| Second: @code{REAL(KIND=1)} function. |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Returns the process's runtime in seconds---the same value as the |
| UNIX function @code{etime} returns. |
| |
| @cindex wraparound, timings |
| @cindex limits, timings |
| On some systems, the underlying timings are represented |
| using types with sufficiently small limits that overflows |
| (wraparounds) are possible, such as 32-bit types. |
| Therefore, the values returned by this intrinsic |
| might be, or become, negative, |
| or numerically less than previous values, |
| during a single run of the compiled program. |
| |
| For information on other intrinsics with the same name: |
| @xref{Second Intrinsic (subroutine)}. |
| |
| @node Second Intrinsic (subroutine) |
| @subsubsection Second Intrinsic (subroutine) |
| @cindex Second intrinsic |
| @cindex intrinsics, Second |
| |
| @noindent |
| @example |
| CALL Second(@var{Seconds}) |
| @end example |
| |
| @noindent |
| @var{Seconds}: @code{REAL}; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Returns the process's runtime in seconds in @var{Seconds}---the same value |
| as the UNIX function @code{etime} returns. |
| |
| @cindex wraparound, timings |
| @cindex limits, timings |
| On some systems, the underlying timings are represented |
| using types with sufficiently small limits that overflows |
| (wraparounds) are possible, such as 32-bit types. |
| Therefore, the values returned by this intrinsic |
| might be, or become, negative, |
| or numerically less than previous values, |
| during a single run of the compiled program. |
| |
| This routine is known from Cray Fortran. @xref{CPU_Time Intrinsic}, |
| for a standard equivalent. |
| |
| For information on other intrinsics with the same name: |
| @xref{Second Intrinsic (function)}. |
| |
| @end ifset |
| @ifset familyF90 |
| @node Selected_Int_Kind Intrinsic |
| @subsubsection Selected_Int_Kind Intrinsic |
| @cindex Selected_Int_Kind intrinsic |
| @cindex intrinsics, Selected_Int_Kind |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Selected_Int_Kind} to use this name for an |
| external procedure. |
| |
| @node Selected_Real_Kind Intrinsic |
| @subsubsection Selected_Real_Kind Intrinsic |
| @cindex Selected_Real_Kind intrinsic |
| @cindex intrinsics, Selected_Real_Kind |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Selected_Real_Kind} to use this name for an |
| external procedure. |
| |
| @node Set_Exponent Intrinsic |
| @subsubsection Set_Exponent Intrinsic |
| @cindex Set_Exponent intrinsic |
| @cindex intrinsics, Set_Exponent |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Set_Exponent} to use this name for an |
| external procedure. |
| |
| @node Shape Intrinsic |
| @subsubsection Shape Intrinsic |
| @cindex Shape intrinsic |
| @cindex intrinsics, Shape |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Shape} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF2U |
| @node Short Intrinsic |
| @subsubsection Short Intrinsic |
| @cindex Short intrinsic |
| @cindex intrinsics, Short |
| |
| @noindent |
| @example |
| Short(@var{A}) |
| @end example |
| |
| @noindent |
| Short: @code{INTEGER(KIND=6)} function. |
| |
| @noindent |
| @var{A}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Returns @var{A} with the fractional portion of its |
| magnitude truncated and its sign preserved, converted |
| to type @code{INTEGER(KIND=6)}. |
| |
| If @var{A} is type @code{COMPLEX}, its real part |
| is truncated and converted, and its imaginary part is disregarded. |
| |
| @xref{Int Intrinsic}. |
| |
| The precise meaning of this intrinsic might change |
| in a future version of the GNU Fortran language, |
| as more is learned about how it is used. |
| |
| @end ifset |
| @ifset familyF77 |
| @node Sign Intrinsic |
| @subsubsection Sign Intrinsic |
| @cindex Sign intrinsic |
| @cindex intrinsics, Sign |
| |
| @noindent |
| @example |
| Sign(@var{A}, @var{B}) |
| @end example |
| |
| @noindent |
| Sign: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the |
| types of all the arguments. |
| |
| @noindent |
| @var{A}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{B}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Returns @samp{ABS(@var{A})*@var{s}}, where |
| @var{s} is +1 if @samp{@var{B}.GE.0}, |
| -1 otherwise. |
| |
| @xref{Abs Intrinsic}, for the function that returns |
| the magnitude of a value. |
| |
| @end ifset |
| @ifset familyF2U |
| @node Signal Intrinsic (subroutine) |
| @subsubsection Signal Intrinsic (subroutine) |
| @cindex Signal intrinsic |
| @cindex intrinsics, Signal |
| |
| @noindent |
| @example |
| CALL Signal(@var{Number}, @var{Handler}, @var{Status}) |
| @end example |
| |
| @noindent |
| @var{Number}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Handler}: Signal handler (@code{INTEGER FUNCTION} or @code{SUBROUTINE}) |
| or dummy/global @code{INTEGER(KIND=1)} scalar. |
| |
| @noindent |
| @var{Status}: @code{INTEGER(KIND=7)}; OPTIONAL; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| If @var{Handler} is a an @code{EXTERNAL} routine, arranges for it to be |
| invoked with a single integer argument (of system-dependent length) |
| when signal @var{Number} occurs. |
| If @var{Handler} is an integer, it can be |
| used to turn off handling of signal @var{Number} or revert to its default |
| action. |
| See @code{signal(2)}. |
| |
| Note that @var{Handler} will be called using C conventions, |
| so the value of its argument in Fortran terms |
| Fortran terms is obtained by applying @code{%LOC()} (or @code{LOC()}) to it. |
| |
| The value returned by @code{signal(2)} is written to @var{Status}, if |
| that argument is supplied. |
| Otherwise the return value is ignored. |
| |
| Some non-GNU implementations of Fortran provide this intrinsic as |
| only a function, not as a subroutine, or do not support the |
| (optional) @var{Status} argument. |
| |
| @emph{Warning:} Use of the @code{libf2c} run-time library function |
| @samp{signal_} directly |
| (such as via @samp{EXTERNAL SIGNAL}) |
| requires use of the @code{%VAL()} construct |
| to pass an @code{INTEGER} value |
| (such as @samp{SIG_IGN} or @samp{SIG_DFL}) |
| for the @var{Handler} argument. |
| |
| However, while @samp{CALL SIGNAL(@var{signum}, %VAL(SIG_IGN))} |
| works when @samp{SIGNAL} is treated as an external procedure |
| (and resolves, at link time, to @code{libf2c}'s @samp{signal_} routine), |
| this construct is not valid when @samp{SIGNAL} is recognized |
| as the intrinsic of that name. |
| |
| Therefore, for maximum portability and reliability, |
| code such references to the @samp{SIGNAL} facility as follows: |
| |
| @smallexample |
| INTRINSIC SIGNAL |
| @dots{} |
| CALL SIGNAL(@var{signum}, SIG_IGN) |
| @end smallexample |
| |
| @code{g77} will compile such a call correctly, |
| while other compilers will generally either do so as well |
| or reject the @samp{INTRINSIC SIGNAL} statement via a diagnostic, |
| allowing you to take appropriate action. |
| |
| For information on other intrinsics with the same name: |
| @xref{Signal Intrinsic (function)}. |
| |
| @end ifset |
| @ifset familyBADU77 |
| @node Signal Intrinsic (function) |
| @subsubsection Signal Intrinsic (function) |
| @cindex Signal intrinsic |
| @cindex intrinsics, Signal |
| |
| @noindent |
| @example |
| Signal(@var{Number}, @var{Handler}) |
| @end example |
| |
| @noindent |
| Signal: @code{INTEGER(KIND=7)} function. |
| |
| @noindent |
| @var{Number}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Handler}: Signal handler (@code{INTEGER FUNCTION} or @code{SUBROUTINE}) |
| or dummy/global @code{INTEGER(KIND=1)} scalar. |
| |
| @noindent |
| Intrinsic groups: @code{badu77}. |
| |
| @noindent |
| Description: |
| |
| If @var{Handler} is a an @code{EXTERNAL} routine, arranges for it to be |
| invoked with a single integer argument (of system-dependent length) |
| when signal @var{Number} occurs. |
| If @var{Handler} is an integer, it can be |
| used to turn off handling of signal @var{Number} or revert to its default |
| action. |
| See @code{signal(2)}. |
| |
| Note that @var{Handler} will be called using C conventions, |
| so the value of its argument in Fortran terms |
| is obtained by applying @code{%LOC()} (or @code{LOC()}) to it. |
| |
| The value returned by @code{signal(2)} is returned. |
| |
| Due to the side effects performed by this intrinsic, the function |
| form is not recommended. |
| |
| @emph{Warning:} If the returned value is stored in |
| an @code{INTEGER(KIND=1)} (default @code{INTEGER}) argument, |
| truncation of the original return value occurs on some systems |
| (such as Alphas, which have 64-bit pointers but 32-bit default integers), |
| with no warning issued by @code{g77} under normal circumstances. |
| |
| Therefore, the following code fragment might silently fail on |
| some systems: |
| |
| @smallexample |
| INTEGER RTN |
| EXTERNAL MYHNDL |
| RTN = SIGNAL(@var{signum}, MYHNDL) |
| @dots{} |
| ! Restore original handler: |
| RTN = SIGNAL(@var{signum}, RTN) |
| @end smallexample |
| |
| The reason for the failure is that @samp{RTN} might not hold |
| all the information on the original handler for the signal, |
| thus restoring an invalid handler. |
| This bug could manifest itself as a spurious run-time failure |
| at an arbitrary point later during the program's execution, |
| for example. |
| |
| @emph{Warning:} Use of the @code{libf2c} run-time library function |
| @samp{signal_} directly |
| (such as via @samp{EXTERNAL SIGNAL}) |
| requires use of the @code{%VAL()} construct |
| to pass an @code{INTEGER} value |
| (such as @samp{SIG_IGN} or @samp{SIG_DFL}) |
| for the @var{Handler} argument. |
| |
| However, while @samp{RTN = SIGNAL(@var{signum}, %VAL(SIG_IGN))} |
| works when @samp{SIGNAL} is treated as an external procedure |
| (and resolves, at link time, to @code{libf2c}'s @samp{signal_} routine), |
| this construct is not valid when @samp{SIGNAL} is recognized |
| as the intrinsic of that name. |
| |
| Therefore, for maximum portability and reliability, |
| code such references to the @samp{SIGNAL} facility as follows: |
| |
| @smallexample |
| INTRINSIC SIGNAL |
| @dots{} |
| RTN = SIGNAL(@var{signum}, SIG_IGN) |
| @end smallexample |
| |
| @code{g77} will compile such a call correctly, |
| while other compilers will generally either do so as well |
| or reject the @samp{INTRINSIC SIGNAL} statement via a diagnostic, |
| allowing you to take appropriate action. |
| |
| For information on other intrinsics with the same name: |
| @xref{Signal Intrinsic (subroutine)}. |
| |
| @end ifset |
| @ifset familyF77 |
| @node Sin Intrinsic |
| @subsubsection Sin Intrinsic |
| @cindex Sin intrinsic |
| @cindex intrinsics, Sin |
| |
| @noindent |
| @example |
| Sin(@var{X}) |
| @end example |
| |
| @noindent |
| Sin: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}. |
| |
| @noindent |
| @var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Returns the sine of @var{X}, an angle measured |
| in radians. |
| |
| @xref{ASin Intrinsic}, for the inverse of this function. |
| |
| @end ifset |
| @ifset familyVXT |
| @node SinD Intrinsic |
| @subsubsection SinD Intrinsic |
| @cindex SinD intrinsic |
| @cindex intrinsics, SinD |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL SinD} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF77 |
| @node SinH Intrinsic |
| @subsubsection SinH Intrinsic |
| @cindex SinH intrinsic |
| @cindex intrinsics, SinH |
| |
| @noindent |
| @example |
| SinH(@var{X}) |
| @end example |
| |
| @noindent |
| SinH: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}. |
| |
| @noindent |
| @var{X}: @code{REAL}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Returns the hyperbolic sine of @var{X}. |
| |
| @end ifset |
| @ifset familyF2U |
| @node Sleep Intrinsic |
| @subsubsection Sleep Intrinsic |
| @cindex Sleep intrinsic |
| @cindex intrinsics, Sleep |
| |
| @noindent |
| @example |
| CALL Sleep(@var{Seconds}) |
| @end example |
| |
| @noindent |
| @var{Seconds}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Causes the process to pause for @var{Seconds} seconds. |
| See @code{sleep(2)}. |
| |
| @end ifset |
| @ifset familyF77 |
| @node Sngl Intrinsic |
| @subsubsection Sngl Intrinsic |
| @cindex Sngl intrinsic |
| @cindex intrinsics, Sngl |
| |
| @noindent |
| @example |
| Sngl(@var{A}) |
| @end example |
| |
| @noindent |
| Sngl: @code{REAL(KIND=1)} function. |
| |
| @noindent |
| @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Archaic form of @code{REAL()} that is specific |
| to one type for @var{A}. |
| @xref{Real Intrinsic}. |
| |
| @end ifset |
| @ifset familyVXT |
| @node SnglQ Intrinsic |
| @subsubsection SnglQ Intrinsic |
| @cindex SnglQ intrinsic |
| @cindex intrinsics, SnglQ |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL SnglQ} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF90 |
| @node Spacing Intrinsic |
| @subsubsection Spacing Intrinsic |
| @cindex Spacing intrinsic |
| @cindex intrinsics, Spacing |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Spacing} to use this name for an |
| external procedure. |
| |
| @node Spread Intrinsic |
| @subsubsection Spread Intrinsic |
| @cindex Spread intrinsic |
| @cindex intrinsics, Spread |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Spread} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF77 |
| @node SqRt Intrinsic |
| @subsubsection SqRt Intrinsic |
| @cindex SqRt intrinsic |
| @cindex intrinsics, SqRt |
| |
| @noindent |
| @example |
| SqRt(@var{X}) |
| @end example |
| |
| @noindent |
| SqRt: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}. |
| |
| @noindent |
| @var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Returns the square root of @var{X}, which must |
| not be negative. |
| |
| To calculate and represent the square root of a negative |
| number, complex arithmetic must be used. |
| For example, @samp{SQRT(COMPLEX(@var{X}))}. |
| |
| The inverse of this function is @samp{SQRT(@var{X}) * SQRT(@var{X})}. |
| |
| @end ifset |
| @ifset familyF2U |
| @node SRand Intrinsic |
| @subsubsection SRand Intrinsic |
| @cindex SRand intrinsic |
| @cindex intrinsics, SRand |
| |
| @noindent |
| @example |
| CALL SRand(@var{Seed}) |
| @end example |
| |
| @noindent |
| @var{Seed}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Reinitializes the generator with the seed in @var{Seed}. |
| @xref{IRand Intrinsic}. |
| @xref{Rand Intrinsic}. |
| |
| @node Stat Intrinsic (subroutine) |
| @subsubsection Stat Intrinsic (subroutine) |
| @cindex Stat intrinsic |
| @cindex intrinsics, Stat |
| |
| @noindent |
| @example |
| CALL Stat(@var{File}, @var{SArray}, @var{Status}) |
| @end example |
| |
| @noindent |
| @var{File}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT). |
| |
| @noindent |
| @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Obtains data about the given file @var{File} and places them in the array |
| @var{SArray}. |
| A null character (@samp{CHAR(0)}) marks the end of |
| the name in @var{File}---otherwise, |
| trailing blanks in @var{File} are ignored. |
| The values in this array are extracted from the |
| @code{stat} structure as returned by @code{fstat(2)} q.v., as follows: |
| |
| @enumerate |
| @item |
| Device ID |
| |
| @item |
| Inode number |
| |
| @item |
| File mode |
| |
| @item |
| Number of links |
| |
| @item |
| Owner's uid |
| |
| @item |
| Owner's gid |
| |
| @item |
| ID of device containing directory entry for file |
| (0 if not available) |
| |
| @item |
| File size (bytes) |
| |
| @item |
| Last access time |
| |
| @item |
| Last modification time |
| |
| @item |
| Last file status change time |
| |
| @item |
| Preferred I/O block size (-1 if not available) |
| |
| @item |
| Number of blocks allocated (-1 if not available) |
| @end enumerate |
| |
| Not all these elements are relevant on all systems. |
| If an element is not relevant, it is returned as 0. |
| |
| If the @var{Status} argument is supplied, it contains |
| 0 on success or a nonzero error code upon return. |
| |
| Some non-GNU implementations of Fortran provide this intrinsic as |
| only a function, not as a subroutine, or do not support the |
| (optional) @var{Status} argument. |
| |
| For information on other intrinsics with the same name: |
| @xref{Stat Intrinsic (function)}. |
| |
| @node Stat Intrinsic (function) |
| @subsubsection Stat Intrinsic (function) |
| @cindex Stat intrinsic |
| @cindex intrinsics, Stat |
| |
| @noindent |
| @example |
| Stat(@var{File}, @var{SArray}) |
| @end example |
| |
| @noindent |
| Stat: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{File}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Obtains data about the given file @var{File} and places them in the array |
| @var{SArray}. |
| A null character (@samp{CHAR(0)}) marks the end of |
| the name in @var{File}---otherwise, |
| trailing blanks in @var{File} are ignored. |
| The values in this array are extracted from the |
| @code{stat} structure as returned by @code{fstat(2)} q.v., as follows: |
| |
| @enumerate |
| @item |
| Device ID |
| |
| @item |
| Inode number |
| |
| @item |
| File mode |
| |
| @item |
| Number of links |
| |
| @item |
| Owner's uid |
| |
| @item |
| Owner's gid |
| |
| @item |
| ID of device containing directory entry for file |
| (0 if not available) |
| |
| @item |
| File size (bytes) |
| |
| @item |
| Last access time |
| |
| @item |
| Last modification time |
| |
| @item |
| Last file status change time |
| |
| @item |
| Preferred I/O block size (-1 if not available) |
| |
| @item |
| Number of blocks allocated (-1 if not available) |
| @end enumerate |
| |
| Not all these elements are relevant on all systems. |
| If an element is not relevant, it is returned as 0. |
| |
| Returns 0 on success or a nonzero error code. |
| |
| For information on other intrinsics with the same name: |
| @xref{Stat Intrinsic (subroutine)}. |
| |
| @end ifset |
| @ifset familyF90 |
| @node Sum Intrinsic |
| @subsubsection Sum Intrinsic |
| @cindex Sum intrinsic |
| @cindex intrinsics, Sum |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Sum} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF2U |
| @node SymLnk Intrinsic (subroutine) |
| @subsubsection SymLnk Intrinsic (subroutine) |
| @cindex SymLnk intrinsic |
| @cindex intrinsics, SymLnk |
| |
| @noindent |
| @example |
| CALL SymLnk(@var{Path1}, @var{Path2}, @var{Status}) |
| @end example |
| |
| @noindent |
| @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Makes a symbolic link from file @var{Path1} to @var{Path2}. |
| A null character (@samp{CHAR(0)}) marks the end of |
| the names in @var{Path1} and @var{Path2}---otherwise, |
| trailing blanks in @var{Path1} and @var{Path2} are ignored. |
| If the @var{Status} argument is supplied, it contains |
| 0 on success or a nonzero error code upon return |
| (@code{ENOSYS} if the system does not provide @code{symlink(2)}). |
| |
| Some non-GNU implementations of Fortran provide this intrinsic as |
| only a function, not as a subroutine, or do not support the |
| (optional) @var{Status} argument. |
| |
| For information on other intrinsics with the same name: |
| @xref{SymLnk Intrinsic (function)}. |
| |
| @end ifset |
| @ifset familyBADU77 |
| @node SymLnk Intrinsic (function) |
| @subsubsection SymLnk Intrinsic (function) |
| @cindex SymLnk intrinsic |
| @cindex intrinsics, SymLnk |
| |
| @noindent |
| @example |
| SymLnk(@var{Path1}, @var{Path2}) |
| @end example |
| |
| @noindent |
| SymLnk: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{badu77}. |
| |
| @noindent |
| Description: |
| |
| Makes a symbolic link from file @var{Path1} to @var{Path2}. |
| A null character (@samp{CHAR(0)}) marks the end of |
| the names in @var{Path1} and @var{Path2}---otherwise, |
| trailing blanks in @var{Path1} and @var{Path2} are ignored. |
| Returns 0 on success or a nonzero error code |
| (@code{ENOSYS} if the system does not provide @code{symlink(2)}). |
| |
| Due to the side effects performed by this intrinsic, the function |
| form is not recommended. |
| |
| For information on other intrinsics with the same name: |
| @xref{SymLnk Intrinsic (subroutine)}. |
| |
| @end ifset |
| @ifset familyF2U |
| @node System Intrinsic (subroutine) |
| @subsubsection System Intrinsic (subroutine) |
| @cindex System intrinsic |
| @cindex intrinsics, System |
| |
| @noindent |
| @example |
| CALL System(@var{Command}, @var{Status}) |
| @end example |
| |
| @noindent |
| @var{Command}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Passes the command @var{Command} to a shell (see @code{system(3)}). |
| If argument @var{Status} is present, it contains the value returned by |
| @code{system(3)}, presumably 0 if the shell command succeeded. |
| Note that which shell is used to invoke the command is system-dependent |
| and environment-dependent. |
| |
| Some non-GNU implementations of Fortran provide this intrinsic as |
| only a function, not as a subroutine, or do not support the |
| (optional) @var{Status} argument. |
| |
| For information on other intrinsics with the same name: |
| @xref{System Intrinsic (function)}. |
| |
| @end ifset |
| @ifset familyBADU77 |
| @node System Intrinsic (function) |
| @subsubsection System Intrinsic (function) |
| @cindex System intrinsic |
| @cindex intrinsics, System |
| |
| @noindent |
| @example |
| System(@var{Command}) |
| @end example |
| |
| @noindent |
| System: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{Command}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{badu77}. |
| |
| @noindent |
| Description: |
| |
| Passes the command @var{Command} to a shell (see @code{system(3)}). |
| Returns the value returned by |
| @code{system(3)}, presumably 0 if the shell command succeeded. |
| Note that which shell is used to invoke the command is system-dependent |
| and environment-dependent. |
| |
| Due to the side effects performed by this intrinsic, the function |
| form is not recommended. |
| However, the function form can be valid in cases where the |
| actual side effects performed by the call are unimportant to |
| the application. |
| |
| For example, on a UNIX system, @samp{SAME = SYSTEM('cmp a b')} |
| does not perform any side effects likely to be important to the |
| program, so the programmer would not care if the actual system |
| call (and invocation of @code{cmp}) was optimized away in a situation |
| where the return value could be determined otherwise, or was not |
| actually needed (@samp{SAME} not actually referenced after the |
| sample assignment statement). |
| |
| For information on other intrinsics with the same name: |
| @xref{System Intrinsic (subroutine)}. |
| |
| @end ifset |
| @ifset familyF90 |
| @node System_Clock Intrinsic |
| @subsubsection System_Clock Intrinsic |
| @cindex System_Clock intrinsic |
| @cindex intrinsics, System_Clock |
| |
| @noindent |
| @example |
| CALL System_Clock(@var{Count}, @var{Rate}, @var{Max}) |
| @end example |
| |
| @noindent |
| @var{Count}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT). |
| |
| @noindent |
| @var{Rate}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). |
| |
| @noindent |
| @var{Max}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{f90}. |
| |
| @noindent |
| Description: |
| |
| Returns in @var{Count} the current value of the system clock; this is |
| the value returned by the UNIX function @code{times(2)} |
| in this implementation, but |
| isn't in general. |
| @var{Rate} is the number of clock ticks per second and |
| @var{Max} is the maximum value this can take, which isn't very useful |
| in this implementation since it's just the maximum C @code{unsigned |
| int} value. |
| |
| @cindex wraparound, timings |
| @cindex limits, timings |
| On some systems, the underlying timings are represented |
| using types with sufficiently small limits that overflows |
| (wraparounds) are possible, such as 32-bit types. |
| Therefore, the values returned by this intrinsic |
| might be, or become, negative, |
| or numerically less than previous values, |
| during a single run of the compiled program. |
| |
| @end ifset |
| @ifset familyF77 |
| @node Tan Intrinsic |
| @subsubsection Tan Intrinsic |
| @cindex Tan intrinsic |
| @cindex intrinsics, Tan |
| |
| @noindent |
| @example |
| Tan(@var{X}) |
| @end example |
| |
| @noindent |
| Tan: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}. |
| |
| @noindent |
| @var{X}: @code{REAL}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Returns the tangent of @var{X}, an angle measured |
| in radians. |
| |
| @xref{ATan Intrinsic}, for the inverse of this function. |
| |
| @end ifset |
| @ifset familyVXT |
| @node TanD Intrinsic |
| @subsubsection TanD Intrinsic |
| @cindex TanD intrinsic |
| @cindex intrinsics, TanD |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL TanD} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF77 |
| @node TanH Intrinsic |
| @subsubsection TanH Intrinsic |
| @cindex TanH intrinsic |
| @cindex intrinsics, TanH |
| |
| @noindent |
| @example |
| TanH(@var{X}) |
| @end example |
| |
| @noindent |
| TanH: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}. |
| |
| @noindent |
| @var{X}: @code{REAL}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: (standard FORTRAN 77). |
| |
| @noindent |
| Description: |
| |
| Returns the hyperbolic tangent of @var{X}. |
| |
| @end ifset |
| @ifset familyF2U |
| @node Time Intrinsic (UNIX) |
| @subsubsection Time Intrinsic (UNIX) |
| @cindex Time intrinsic |
| @cindex intrinsics, Time |
| |
| @noindent |
| @example |
| Time() |
| @end example |
| |
| @noindent |
| Time: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Returns the current time encoded as an integer |
| (in the manner of the UNIX function @code{time(3)}). |
| This value is suitable for passing to @code{CTIME}, |
| @code{GMTIME}, and @code{LTIME}. |
| |
| @cindex wraparound, timings |
| @cindex limits, timings |
| This intrinsic is not fully portable, such as to systems |
| with 32-bit @code{INTEGER} types but supporting times |
| wider than 32 bits. |
| Therefore, the values returned by this intrinsic |
| might be, or become, negative, |
| or numerically less than previous values, |
| during a single run of the compiled program. |
| |
| @xref{Time8 Intrinsic}, for information on a |
| similar intrinsic that might be portable to more |
| GNU Fortran implementations, though to fewer |
| Fortran compilers. |
| |
| For information on other intrinsics with the same name: |
| @xref{Time Intrinsic (VXT)}. |
| |
| @end ifset |
| @ifset familyVXT |
| @node Time Intrinsic (VXT) |
| @subsubsection Time Intrinsic (VXT) |
| @cindex Time intrinsic |
| @cindex intrinsics, Time |
| |
| @noindent |
| @example |
| CALL Time(@var{Time}) |
| @end example |
| |
| @noindent |
| @var{Time}: @code{CHARACTER*8}; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{vxt}. |
| |
| @noindent |
| Description: |
| |
| Returns in @var{Time} a character representation of the current time as |
| obtained from @code{ctime(3)}. |
| |
| @cindex Y10K compliance |
| @cindex Year 10000 compliance |
| @cindex wraparound, Y10K |
| @cindex limits, Y10K |
| Programs making use of this intrinsic |
| might not be Year 10000 (Y10K) compliant. |
| For example, the date might appear, |
| to such programs, to wrap around |
| (change from a larger value to a smaller one) |
| as of the Year 10000. |
| |
| @xref{FDate Intrinsic (subroutine)}, for an equivalent routine. |
| |
| For information on other intrinsics with the same name: |
| @xref{Time Intrinsic (UNIX)}. |
| |
| @end ifset |
| @ifset familyF2U |
| @node Time8 Intrinsic |
| @subsubsection Time8 Intrinsic |
| @cindex Time8 intrinsic |
| @cindex intrinsics, Time8 |
| |
| @noindent |
| @example |
| Time8() |
| @end example |
| |
| @noindent |
| Time8: @code{INTEGER(KIND=2)} function. |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Returns the current time encoded as a long integer |
| (in the manner of the UNIX function @code{time(3)}). |
| This value is suitable for passing to @code{CTIME}, |
| @code{GMTIME}, and @code{LTIME}. |
| |
| @cindex wraparound, timings |
| @cindex limits, timings |
| @emph{Warning:} this intrinsic does not increase the range |
| of the timing values over that returned by @code{time(3)}. |
| On a system with a 32-bit @code{time(3)}, |
| @code{TIME8} will return a 32-bit value, |
| even though converted to an @samp{INTEGER(KIND=2)} value. |
| That means overflows of the 32-bit value can still occur. |
| Therefore, the values returned by this intrinsic |
| might be, or become, negative, |
| or numerically less than previous values, |
| during a single run of the compiled program. |
| |
| No Fortran implementations other than GNU Fortran are |
| known to support this intrinsic at the time of this |
| writing. |
| @xref{Time Intrinsic (UNIX)}, for information on a |
| similar intrinsic that might be portable to more Fortran |
| compilers, though to fewer GNU Fortran implementations. |
| |
| @end ifset |
| @ifset familyF90 |
| @node Tiny Intrinsic |
| @subsubsection Tiny Intrinsic |
| @cindex Tiny intrinsic |
| @cindex intrinsics, Tiny |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Tiny} to use this name for an |
| external procedure. |
| |
| @node Transfer Intrinsic |
| @subsubsection Transfer Intrinsic |
| @cindex Transfer intrinsic |
| @cindex intrinsics, Transfer |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Transfer} to use this name for an |
| external procedure. |
| |
| @node Transpose Intrinsic |
| @subsubsection Transpose Intrinsic |
| @cindex Transpose intrinsic |
| @cindex intrinsics, Transpose |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Transpose} to use this name for an |
| external procedure. |
| |
| @node Trim Intrinsic |
| @subsubsection Trim Intrinsic |
| @cindex Trim intrinsic |
| @cindex intrinsics, Trim |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Trim} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF2U |
| @node TtyNam Intrinsic (subroutine) |
| @subsubsection TtyNam Intrinsic (subroutine) |
| @cindex TtyNam intrinsic |
| @cindex intrinsics, TtyNam |
| |
| @noindent |
| @example |
| CALL TtyNam(@var{Unit}, @var{Name}) |
| @end example |
| |
| @noindent |
| @var{Unit}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Name}: @code{CHARACTER}; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Sets @var{Name} to the name of the terminal device open on logical unit |
| @var{Unit} or to a blank string if @var{Unit} is not connected to a |
| terminal. |
| |
| Some non-GNU implementations of Fortran provide this intrinsic as |
| only a function, not as a subroutine. |
| |
| For information on other intrinsics with the same name: |
| @xref{TtyNam Intrinsic (function)}. |
| |
| @node TtyNam Intrinsic (function) |
| @subsubsection TtyNam Intrinsic (function) |
| @cindex TtyNam intrinsic |
| @cindex intrinsics, TtyNam |
| |
| @noindent |
| @example |
| TtyNam(@var{Unit}) |
| @end example |
| |
| @noindent |
| TtyNam: @code{CHARACTER*(*)} function. |
| |
| @noindent |
| @var{Unit}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Returns the name of the terminal device open on logical unit |
| @var{Unit} or a blank string if @var{Unit} is not connected to a |
| terminal. |
| |
| For information on other intrinsics with the same name: |
| @xref{TtyNam Intrinsic (subroutine)}. |
| |
| @end ifset |
| @ifset familyF90 |
| @node UBound Intrinsic |
| @subsubsection UBound Intrinsic |
| @cindex UBound intrinsic |
| @cindex intrinsics, UBound |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL UBound} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF2U |
| @node UMask Intrinsic (subroutine) |
| @subsubsection UMask Intrinsic (subroutine) |
| @cindex UMask intrinsic |
| @cindex intrinsics, UMask |
| |
| @noindent |
| @example |
| CALL UMask(@var{Mask}, @var{Old}) |
| @end example |
| |
| @noindent |
| @var{Mask}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Old}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Sets the file creation mask to @var{Mask} and returns the old value in |
| argument @var{Old} if it is supplied. |
| See @code{umask(2)}. |
| |
| Some non-GNU implementations of Fortran provide this intrinsic as |
| only a function, not as a subroutine. |
| |
| For information on other intrinsics with the same name: |
| @xref{UMask Intrinsic (function)}. |
| |
| @end ifset |
| @ifset familyBADU77 |
| @node UMask Intrinsic (function) |
| @subsubsection UMask Intrinsic (function) |
| @cindex UMask intrinsic |
| @cindex intrinsics, UMask |
| |
| @noindent |
| @example |
| UMask(@var{Mask}) |
| @end example |
| |
| @noindent |
| UMask: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{Mask}: @code{INTEGER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{badu77}. |
| |
| @noindent |
| Description: |
| |
| Sets the file creation mask to @var{Mask} and returns the old value. |
| See @code{umask(2)}. |
| |
| Due to the side effects performed by this intrinsic, the function |
| form is not recommended. |
| |
| For information on other intrinsics with the same name: |
| @xref{UMask Intrinsic (subroutine)}. |
| |
| @end ifset |
| @ifset familyF2U |
| @node Unlink Intrinsic (subroutine) |
| @subsubsection Unlink Intrinsic (subroutine) |
| @cindex Unlink intrinsic |
| @cindex intrinsics, Unlink |
| |
| @noindent |
| @example |
| CALL Unlink(@var{File}, @var{Status}) |
| @end example |
| |
| @noindent |
| @var{File}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT). |
| |
| @noindent |
| Intrinsic groups: @code{unix}. |
| |
| @noindent |
| Description: |
| |
| Unlink the file @var{File}. |
| A null character (@samp{CHAR(0)}) marks the end of |
| the name in @var{File}---otherwise, |
| trailing blanks in @var{File} are ignored. |
| If the @var{Status} argument is supplied, it contains |
| 0 on success or a nonzero error code upon return. |
| See @code{unlink(2)}. |
| |
| Some non-GNU implementations of Fortran provide this intrinsic as |
| only a function, not as a subroutine, or do not support the |
| (optional) @var{Status} argument. |
| |
| For information on other intrinsics with the same name: |
| @xref{Unlink Intrinsic (function)}. |
| |
| @end ifset |
| @ifset familyBADU77 |
| @node Unlink Intrinsic (function) |
| @subsubsection Unlink Intrinsic (function) |
| @cindex Unlink intrinsic |
| @cindex intrinsics, Unlink |
| |
| @noindent |
| @example |
| Unlink(@var{File}) |
| @end example |
| |
| @noindent |
| Unlink: @code{INTEGER(KIND=1)} function. |
| |
| @noindent |
| @var{File}: @code{CHARACTER}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{badu77}. |
| |
| @noindent |
| Description: |
| |
| Unlink the file @var{File}. |
| A null character (@samp{CHAR(0)}) marks the end of |
| the name in @var{File}---otherwise, |
| trailing blanks in @var{File} are ignored. |
| Returns 0 on success or a nonzero error code. |
| See @code{unlink(2)}. |
| |
| Due to the side effects performed by this intrinsic, the function |
| form is not recommended. |
| |
| For information on other intrinsics with the same name: |
| @xref{Unlink Intrinsic (subroutine)}. |
| |
| @end ifset |
| @ifset familyF90 |
| @node Unpack Intrinsic |
| @subsubsection Unpack Intrinsic |
| @cindex Unpack intrinsic |
| @cindex intrinsics, Unpack |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Unpack} to use this name for an |
| external procedure. |
| |
| @node Verify Intrinsic |
| @subsubsection Verify Intrinsic |
| @cindex Verify intrinsic |
| @cindex intrinsics, Verify |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL Verify} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF2C |
| @node XOr Intrinsic |
| @subsubsection XOr Intrinsic |
| @cindex XOr intrinsic |
| @cindex intrinsics, XOr |
| |
| @noindent |
| @example |
| XOr(@var{I}, @var{J}) |
| @end example |
| |
| @noindent |
| XOr: @code{INTEGER} or @code{LOGICAL} function, the exact type being the result of cross-promoting the |
| types of all the arguments. |
| |
| @noindent |
| @var{I}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN). |
| |
| @noindent |
| @var{J}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{f2c}. |
| |
| @noindent |
| Description: |
| |
| Returns value resulting from boolean exclusive-OR of |
| pair of bits in each of @var{I} and @var{J}. |
| |
| @node ZAbs Intrinsic |
| @subsubsection ZAbs Intrinsic |
| @cindex ZAbs intrinsic |
| @cindex intrinsics, ZAbs |
| |
| @noindent |
| @example |
| ZAbs(@var{A}) |
| @end example |
| |
| @noindent |
| ZAbs: @code{REAL(KIND=2)} function. |
| |
| @noindent |
| @var{A}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{f2c}. |
| |
| @noindent |
| Description: |
| |
| Archaic form of @code{ABS()} that is specific |
| to one type for @var{A}. |
| @xref{Abs Intrinsic}. |
| |
| @node ZCos Intrinsic |
| @subsubsection ZCos Intrinsic |
| @cindex ZCos intrinsic |
| @cindex intrinsics, ZCos |
| |
| @noindent |
| @example |
| ZCos(@var{X}) |
| @end example |
| |
| @noindent |
| ZCos: @code{COMPLEX(KIND=2)} function. |
| |
| @noindent |
| @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{f2c}. |
| |
| @noindent |
| Description: |
| |
| Archaic form of @code{COS()} that is specific |
| to one type for @var{X}. |
| @xref{Cos Intrinsic}. |
| |
| @node ZExp Intrinsic |
| @subsubsection ZExp Intrinsic |
| @cindex ZExp intrinsic |
| @cindex intrinsics, ZExp |
| |
| @noindent |
| @example |
| ZExp(@var{X}) |
| @end example |
| |
| @noindent |
| ZExp: @code{COMPLEX(KIND=2)} function. |
| |
| @noindent |
| @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{f2c}. |
| |
| @noindent |
| Description: |
| |
| Archaic form of @code{EXP()} that is specific |
| to one type for @var{X}. |
| @xref{Exp Intrinsic}. |
| |
| @end ifset |
| @ifset familyVXT |
| @node ZExt Intrinsic |
| @subsubsection ZExt Intrinsic |
| @cindex ZExt intrinsic |
| @cindex intrinsics, ZExt |
| |
| This intrinsic is not yet implemented. |
| The name is, however, reserved as an intrinsic. |
| Use @samp{EXTERNAL ZExt} to use this name for an |
| external procedure. |
| |
| @end ifset |
| @ifset familyF2C |
| @node ZLog Intrinsic |
| @subsubsection ZLog Intrinsic |
| @cindex ZLog intrinsic |
| @cindex intrinsics, ZLog |
| |
| @noindent |
| @example |
| ZLog(@var{X}) |
| @end example |
| |
| @noindent |
| ZLog: @code{COMPLEX(KIND=2)} function. |
| |
| @noindent |
| @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{f2c}. |
| |
| @noindent |
| Description: |
| |
| Archaic form of @code{LOG()} that is specific |
| to one type for @var{X}. |
| @xref{Log Intrinsic}. |
| |
| @node ZSin Intrinsic |
| @subsubsection ZSin Intrinsic |
| @cindex ZSin intrinsic |
| @cindex intrinsics, ZSin |
| |
| @noindent |
| @example |
| ZSin(@var{X}) |
| @end example |
| |
| @noindent |
| ZSin: @code{COMPLEX(KIND=2)} function. |
| |
| @noindent |
| @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{f2c}. |
| |
| @noindent |
| Description: |
| |
| Archaic form of @code{SIN()} that is specific |
| to one type for @var{X}. |
| @xref{Sin Intrinsic}. |
| |
| @node ZSqRt Intrinsic |
| @subsubsection ZSqRt Intrinsic |
| @cindex ZSqRt intrinsic |
| @cindex intrinsics, ZSqRt |
| |
| @noindent |
| @example |
| ZSqRt(@var{X}) |
| @end example |
| |
| @noindent |
| ZSqRt: @code{COMPLEX(KIND=2)} function. |
| |
| @noindent |
| @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN). |
| |
| @noindent |
| Intrinsic groups: @code{f2c}. |
| |
| @noindent |
| Description: |
| |
| Archaic form of @code{SQRT()} that is specific |
| to one type for @var{X}. |
| @xref{SqRt Intrinsic}. |
| |
| @end ifset |