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