This is Info file f/g77.info, produced by Makeinfo version 1.68 from the input file ../../../src/gcc-2.95.3/gcc/f/g77.texi. INFO-DIR-SECTION Programming START-INFO-DIR-ENTRY * g77: (g77). The GNU Fortran compiler. END-INFO-DIR-ENTRY This file documents the use and the internals of the GNU Fortran (`g77') compiler. It corresponds to the GCC-2.95 version of `g77'. Published by the Free Software Foundation 59 Temple Place - Suite 330 Boston, MA 02111-1307 USA Copyright (C) 1995-1999 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that the sections entitled "GNU General Public License," "Funding for Free Software," and "Protect Your Freedom--Fight `Look And Feel'" are included exactly as in the original, and provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that the sections entitled "GNU General Public License," "Funding for Free Software," and "Protect Your Freedom--Fight `Look And Feel'", and this permission notice, may be included in translations approved by the Free Software Foundation instead of in the original English. Contributed by James Craig Burley (). Inspired by a first pass at translating `g77-0.5.16/f/DOC' that was contributed to Craig by David Ronis ().  File: g77.info, Node: Date_and_Time Intrinsic, Next: DbesJ0 Intrinsic, Prev: DATan2 Intrinsic, Up: Table of Intrinsic Functions Date_and_Time Intrinsic ....................... CALL Date_and_Time(DATE, TIME, ZONE, VALUES) DATE: `CHARACTER'; scalar; INTENT(OUT). TIME: `CHARACTER'; OPTIONAL; scalar; INTENT(OUT). ZONE: `CHARACTER'; OPTIONAL; scalar; INTENT(OUT). VALUES: `INTEGER(KIND=1)'; OPTIONAL; DIMENSION(8); INTENT(OUT). Intrinsic groups: `f90'. Description: Returns: DATE The date in the form CCYYMMDD: century, year, month and day; TIME The time in the form `HHMMSS.SS': hours, minutes, seconds and milliseconds; ZONE The difference between local time and UTC (GMT) in the form SHHMM: sign, hours and minutes, e.g. `-0500' (winter in New York); 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. 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.  File: g77.info, Node: DbesJ0 Intrinsic, Next: DbesJ1 Intrinsic, Prev: Date_and_Time Intrinsic, Up: Table of Intrinsic Functions DbesJ0 Intrinsic ................ DbesJ0(X) DbesJ0: `REAL(KIND=2)' function. X: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: `unix'. Description: Archaic form of `BESJ0()' that is specific to one type for X. *Note BesJ0 Intrinsic::.  File: g77.info, Node: DbesJ1 Intrinsic, Next: DbesJN Intrinsic, Prev: DbesJ0 Intrinsic, Up: Table of Intrinsic Functions DbesJ1 Intrinsic ................ DbesJ1(X) DbesJ1: `REAL(KIND=2)' function. X: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: `unix'. Description: Archaic form of `BESJ1()' that is specific to one type for X. *Note BesJ1 Intrinsic::.  File: g77.info, Node: DbesJN Intrinsic, Next: DbesY0 Intrinsic, Prev: DbesJ1 Intrinsic, Up: Table of Intrinsic Functions DbesJN Intrinsic ................ DbesJN(N, X) DbesJN: `REAL(KIND=2)' function. N: `INTEGER'; scalar; INTENT(IN). X: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: `unix'. Description: Archaic form of `BESJN()' that is specific to one type for X. *Note BesJN Intrinsic::.  File: g77.info, Node: DbesY0 Intrinsic, Next: DbesY1 Intrinsic, Prev: DbesJN Intrinsic, Up: Table of Intrinsic Functions DbesY0 Intrinsic ................ DbesY0(X) DbesY0: `REAL(KIND=2)' function. X: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: `unix'. Description: Archaic form of `BESY0()' that is specific to one type for X. *Note BesY0 Intrinsic::.  File: g77.info, Node: DbesY1 Intrinsic, Next: DbesYN Intrinsic, Prev: DbesY0 Intrinsic, Up: Table of Intrinsic Functions DbesY1 Intrinsic ................ DbesY1(X) DbesY1: `REAL(KIND=2)' function. X: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: `unix'. Description: Archaic form of `BESY1()' that is specific to one type for X. *Note BesY1 Intrinsic::.  File: g77.info, Node: DbesYN Intrinsic, Next: Dble Intrinsic, Prev: DbesY1 Intrinsic, Up: Table of Intrinsic Functions DbesYN Intrinsic ................ DbesYN(N, X) DbesYN: `REAL(KIND=2)' function. N: `INTEGER'; scalar; INTENT(IN). X: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: `unix'. Description: Archaic form of `BESYN()' that is specific to one type for X. *Note BesYN Intrinsic::.  File: g77.info, Node: Dble Intrinsic, Next: DCos Intrinsic, Prev: DbesYN Intrinsic, Up: Table of Intrinsic Functions Dble Intrinsic .............. Dble(A) Dble: `REAL(KIND=2)' function. A: `INTEGER', `REAL', or `COMPLEX'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Returns A converted to double precision (`REAL(KIND=2)'). If A is `COMPLEX', the real part of A is used for the conversion and the imaginary part disregarded. *Note Sngl Intrinsic::, for the function that converts to single precision. *Note Int Intrinsic::, for the function that converts to `INTEGER'. *Note Complex Intrinsic::, for the function that converts to `COMPLEX'.  File: g77.info, Node: DCos Intrinsic, Next: DCosH Intrinsic, Prev: Dble Intrinsic, Up: Table of Intrinsic Functions DCos Intrinsic .............. DCos(X) DCos: `REAL(KIND=2)' function. X: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `COS()' that is specific to one type for X. *Note Cos Intrinsic::.  File: g77.info, Node: DCosH Intrinsic, Next: DDiM Intrinsic, Prev: DCos Intrinsic, Up: Table of Intrinsic Functions DCosH Intrinsic ............... DCosH(X) DCosH: `REAL(KIND=2)' function. X: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `COSH()' that is specific to one type for X. *Note CosH Intrinsic::.  File: g77.info, Node: DDiM Intrinsic, Next: DErF Intrinsic, Prev: DCosH Intrinsic, Up: Table of Intrinsic Functions DDiM Intrinsic .............. DDiM(X, Y) DDiM: `REAL(KIND=2)' function. X: `REAL(KIND=2)'; scalar; INTENT(IN). Y: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `DIM()' that is specific to one type for X and Y. *Note DiM Intrinsic::.  File: g77.info, Node: DErF Intrinsic, Next: DErFC Intrinsic, Prev: DDiM Intrinsic, Up: Table of Intrinsic Functions DErF Intrinsic .............. DErF(X) DErF: `REAL(KIND=2)' function. X: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: `unix'. Description: Archaic form of `ERF()' that is specific to one type for X. *Note ErF Intrinsic::.  File: g77.info, Node: DErFC Intrinsic, Next: DExp Intrinsic, Prev: DErF Intrinsic, Up: Table of Intrinsic Functions DErFC Intrinsic ............... DErFC(X) DErFC: `REAL(KIND=2)' function. X: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: `unix'. Description: Archaic form of `ERFC()' that is specific to one type for X. *Note ErFC Intrinsic::.  File: g77.info, Node: DExp Intrinsic, Next: Digits Intrinsic, Prev: DErFC Intrinsic, Up: Table of Intrinsic Functions DExp Intrinsic .............. DExp(X) DExp: `REAL(KIND=2)' function. X: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `EXP()' that is specific to one type for X. *Note Exp Intrinsic::.  File: g77.info, Node: Digits Intrinsic, Next: DiM Intrinsic, Prev: DExp Intrinsic, Up: Table of Intrinsic Functions Digits Intrinsic ................ This intrinsic is not yet implemented. The name is, however, reserved as an intrinsic. Use `EXTERNAL Digits' to use this name for an external procedure.  File: g77.info, Node: DiM Intrinsic, Next: DInt Intrinsic, Prev: Digits Intrinsic, Up: Table of Intrinsic Functions DiM Intrinsic ............. DiM(X, Y) DiM: `INTEGER' or `REAL' function, the exact type being the result of cross-promoting the types of all the arguments. X: `INTEGER' or `REAL'; scalar; INTENT(IN). Y: `INTEGER' or `REAL'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Returns `X-Y' if X is greater than Y; otherwise returns zero.  File: g77.info, Node: DInt Intrinsic, Next: DLog Intrinsic, Prev: DiM Intrinsic, Up: Table of Intrinsic Functions DInt Intrinsic .............. DInt(A) DInt: `REAL(KIND=2)' function. A: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `AINT()' that is specific to one type for A. *Note AInt Intrinsic::.  File: g77.info, Node: DLog Intrinsic, Next: DLog10 Intrinsic, Prev: DInt Intrinsic, Up: Table of Intrinsic Functions DLog Intrinsic .............. DLog(X) DLog: `REAL(KIND=2)' function. X: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `LOG()' that is specific to one type for X. *Note Log Intrinsic::.  File: g77.info, Node: DLog10 Intrinsic, Next: DMax1 Intrinsic, Prev: DLog Intrinsic, Up: Table of Intrinsic Functions DLog10 Intrinsic ................ DLog10(X) DLog10: `REAL(KIND=2)' function. X: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `LOG10()' that is specific to one type for X. *Note Log10 Intrinsic::.  File: g77.info, Node: DMax1 Intrinsic, Next: DMin1 Intrinsic, Prev: DLog10 Intrinsic, Up: Table of Intrinsic Functions DMax1 Intrinsic ............... DMax1(A-1, A-2, ..., A-n) DMax1: `REAL(KIND=2)' function. A: `REAL(KIND=2)'; at least two such arguments must be provided; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `MAX()' that is specific to one type for A. *Note Max Intrinsic::.  File: g77.info, Node: DMin1 Intrinsic, Next: DMod Intrinsic, Prev: DMax1 Intrinsic, Up: Table of Intrinsic Functions DMin1 Intrinsic ............... DMin1(A-1, A-2, ..., A-n) DMin1: `REAL(KIND=2)' function. A: `REAL(KIND=2)'; at least two such arguments must be provided; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `MIN()' that is specific to one type for A. *Note Min Intrinsic::.  File: g77.info, Node: DMod Intrinsic, Next: DNInt Intrinsic, Prev: DMin1 Intrinsic, Up: Table of Intrinsic Functions DMod Intrinsic .............. DMod(A, P) DMod: `REAL(KIND=2)' function. A: `REAL(KIND=2)'; scalar; INTENT(IN). P: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `MOD()' that is specific to one type for A. *Note Mod Intrinsic::.  File: g77.info, Node: DNInt Intrinsic, Next: Dot_Product Intrinsic, Prev: DMod Intrinsic, Up: Table of Intrinsic Functions DNInt Intrinsic ............... DNInt(A) DNInt: `REAL(KIND=2)' function. A: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `ANINT()' that is specific to one type for A. *Note ANInt Intrinsic::.  File: g77.info, Node: Dot_Product Intrinsic, Next: DProd Intrinsic, Prev: DNInt Intrinsic, Up: Table of Intrinsic Functions Dot_Product Intrinsic ..................... This intrinsic is not yet implemented. The name is, however, reserved as an intrinsic. Use `EXTERNAL Dot_Product' to use this name for an external procedure.  File: g77.info, Node: DProd Intrinsic, Next: DSign Intrinsic, Prev: Dot_Product Intrinsic, Up: Table of Intrinsic Functions DProd Intrinsic ............... DProd(X, Y) DProd: `REAL(KIND=2)' function. X: `REAL(KIND=1)'; scalar; INTENT(IN). Y: `REAL(KIND=1)'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Returns `DBLE(X)*DBLE(Y)'.  File: g77.info, Node: DSign Intrinsic, Next: DSin Intrinsic, Prev: DProd Intrinsic, Up: Table of Intrinsic Functions DSign Intrinsic ............... DSign(A, B) DSign: `REAL(KIND=2)' function. A: `REAL(KIND=2)'; scalar; INTENT(IN). B: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `SIGN()' that is specific to one type for A and B. *Note Sign Intrinsic::.  File: g77.info, Node: DSin Intrinsic, Next: DSinH Intrinsic, Prev: DSign Intrinsic, Up: Table of Intrinsic Functions DSin Intrinsic .............. DSin(X) DSin: `REAL(KIND=2)' function. X: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `SIN()' that is specific to one type for X. *Note Sin Intrinsic::.  File: g77.info, Node: DSinH Intrinsic, Next: DSqRt Intrinsic, Prev: DSin Intrinsic, Up: Table of Intrinsic Functions DSinH Intrinsic ............... DSinH(X) DSinH: `REAL(KIND=2)' function. X: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `SINH()' that is specific to one type for X. *Note SinH Intrinsic::.  File: g77.info, Node: DSqRt Intrinsic, Next: DTan Intrinsic, Prev: DSinH Intrinsic, Up: Table of Intrinsic Functions DSqRt Intrinsic ............... DSqRt(X) DSqRt: `REAL(KIND=2)' function. X: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `SQRT()' that is specific to one type for X. *Note SqRt Intrinsic::.  File: g77.info, Node: DTan Intrinsic, Next: DTanH Intrinsic, Prev: DSqRt Intrinsic, Up: Table of Intrinsic Functions DTan Intrinsic .............. DTan(X) DTan: `REAL(KIND=2)' function. X: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `TAN()' that is specific to one type for X. *Note Tan Intrinsic::.  File: g77.info, Node: DTanH Intrinsic, Next: DTime Intrinsic (subroutine), Prev: DTan Intrinsic, Up: Table of Intrinsic Functions DTanH Intrinsic ............... DTanH(X) DTanH: `REAL(KIND=2)' function. X: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `TANH()' that is specific to one type for X. *Note TanH Intrinsic::.  File: g77.info, Node: DTime Intrinsic (subroutine), Next: EOShift Intrinsic, Prev: DTanH Intrinsic, Up: Table of Intrinsic Functions DTime Intrinsic (subroutine) ............................ CALL DTime(TARRAY, RESULT) TARRAY: `REAL(KIND=1)'; DIMENSION(2); INTENT(OUT). RESULT: `REAL(KIND=1)'; scalar; INTENT(OUT). Intrinsic groups: `unix'. Description: Initially, return the number of seconds of runtime since the start of the process's execution in RESULT, and the user and system components of this in `TARRAY(1)' and `TARRAY(2)' respectively. The value of RESULT is equal to `TARRAY(1) + TARRAY(2)'. Subsequent invocations of `DTIME()' set values based on accumulations since the previous invocation. 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: *Note DTime Intrinsic (function)::.  File: g77.info, Node: EOShift Intrinsic, Next: Epsilon Intrinsic, Prev: DTime Intrinsic (subroutine), Up: Table of Intrinsic Functions EOShift Intrinsic ................. This intrinsic is not yet implemented. The name is, however, reserved as an intrinsic. Use `EXTERNAL EOShift' to use this name for an external procedure.  File: g77.info, Node: Epsilon Intrinsic, Next: ErF Intrinsic, Prev: EOShift Intrinsic, Up: Table of Intrinsic Functions Epsilon Intrinsic ................. This intrinsic is not yet implemented. The name is, however, reserved as an intrinsic. Use `EXTERNAL Epsilon' to use this name for an external procedure.  File: g77.info, Node: ErF Intrinsic, Next: ErFC Intrinsic, Prev: Epsilon Intrinsic, Up: Table of Intrinsic Functions ErF Intrinsic ............. ErF(X) ErF: `REAL' function, the `KIND=' value of the type being that of argument X. X: `REAL'; scalar; INTENT(IN). Intrinsic groups: `unix'. Description: Returns the error function of X. See `erf(3m)', which provides the implementation.  File: g77.info, Node: ErFC Intrinsic, Next: ETime Intrinsic (subroutine), Prev: ErF Intrinsic, Up: Table of Intrinsic Functions ErFC Intrinsic .............. ErFC(X) ErFC: `REAL' function, the `KIND=' value of the type being that of argument X. X: `REAL'; scalar; INTENT(IN). Intrinsic groups: `unix'. Description: Returns the complementary error function of X: `ERFC(R) = 1 - ERF(R)' (except that the result might be more accurate than explicitly evaluating that formulae would give). See `erfc(3m)', which provides the implementation.  File: g77.info, Node: ETime Intrinsic (subroutine), Next: ETime Intrinsic (function), Prev: ErFC Intrinsic, Up: Table of Intrinsic Functions ETime Intrinsic (subroutine) ............................ CALL ETime(TARRAY, RESULT) TARRAY: `REAL(KIND=1)'; DIMENSION(2); INTENT(OUT). RESULT: `REAL(KIND=1)'; scalar; INTENT(OUT). Intrinsic groups: `unix'. Description: Return the number of seconds of runtime since the start of the process's execution in RESULT, and the user and system components of this in `TARRAY(1)' and `TARRAY(2)' respectively. The value of RESULT is equal to `TARRAY(1) + TARRAY(2)'. 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: *Note ETime Intrinsic (function)::.  File: g77.info, Node: ETime Intrinsic (function), Next: Exit Intrinsic, Prev: ETime Intrinsic (subroutine), Up: Table of Intrinsic Functions ETime Intrinsic (function) .......................... ETime(TARRAY) ETime: `REAL(KIND=1)' function. TARRAY: `REAL(KIND=1)'; DIMENSION(2); INTENT(OUT). Intrinsic groups: `unix'. 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 `TARRAY(1)' and `TARRAY(2)' respectively. The functions' value is equal to `TARRAY(1) + TARRAY(2)'. 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: *Note ETime Intrinsic (subroutine)::.  File: g77.info, Node: Exit Intrinsic, Next: Exp Intrinsic, Prev: ETime Intrinsic (function), Up: Table of Intrinsic Functions Exit Intrinsic .............. CALL Exit(STATUS) STATUS: `INTEGER'; OPTIONAL; scalar; INTENT(IN). Intrinsic groups: `unix'. Description: Exit the program with status STATUS after closing open Fortran I/O units and otherwise behaving as `exit(2)'. If STATUS is omitted the canonical `success' value will be returned to the system.  File: g77.info, Node: Exp Intrinsic, Next: Exponent Intrinsic, Prev: Exit Intrinsic, Up: Table of Intrinsic Functions Exp Intrinsic ............. Exp(X) Exp: `REAL' or `COMPLEX' function, the exact type being that of argument X. X: `REAL' or `COMPLEX'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Returns `E**X', where E is approximately 2.7182818. *Note Log Intrinsic::, for the inverse of this function.  File: g77.info, Node: Exponent Intrinsic, Next: FDate Intrinsic (subroutine), Prev: Exp Intrinsic, Up: Table of Intrinsic Functions Exponent Intrinsic .................. This intrinsic is not yet implemented. The name is, however, reserved as an intrinsic. Use `EXTERNAL Exponent' to use this name for an external procedure.  File: g77.info, Node: FDate Intrinsic (subroutine), Next: FDate Intrinsic (function), Prev: Exponent Intrinsic, Up: Table of Intrinsic Functions FDate Intrinsic (subroutine) ............................ CALL FDate(DATE) DATE: `CHARACTER'; scalar; INTENT(OUT). Intrinsic groups: `unix'. Description: Returns the current date (using the same format as `CTIME()') in DATE. Equivalent to: CALL CTIME(DATE, TIME8()) 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. *Note 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: *Note FDate Intrinsic (function)::.  File: g77.info, Node: FDate Intrinsic (function), Next: FGet Intrinsic (subroutine), Prev: FDate Intrinsic (subroutine), Up: Table of Intrinsic Functions FDate Intrinsic (function) .......................... FDate() FDate: `CHARACTER*(*)' function. Intrinsic groups: `unix'. Description: Returns the current date (using the same format as `CTIME()'). Equivalent to: CTIME(TIME8()) 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. *Note CTime Intrinsic (function)::. For information on other intrinsics with the same name: *Note FDate Intrinsic (subroutine)::.  File: g77.info, Node: FGet Intrinsic (subroutine), Next: FGetC Intrinsic (subroutine), Prev: FDate Intrinsic (function), Up: Table of Intrinsic Functions FGet Intrinsic (subroutine) ........................... CALL FGet(C, STATUS) C: `CHARACTER'; scalar; INTENT(OUT). STATUS: `INTEGER(KIND=1)'; OPTIONAL; scalar; INTENT(OUT). Intrinsic groups: `unix'. Description: Reads a single character into C in stream mode from unit 5 (by-passing normal formatted output) using `getc(3)'. Returns in STATUS 0 on success, -1 on end-of-file, and the error code from `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: *Note FGet Intrinsic (function)::.  File: g77.info, Node: FGetC Intrinsic (subroutine), Next: Float Intrinsic, Prev: FGet Intrinsic (subroutine), Up: Table of Intrinsic Functions FGetC Intrinsic (subroutine) ............................ CALL FGetC(UNIT, C, STATUS) UNIT: `INTEGER'; scalar; INTENT(IN). C: `CHARACTER'; scalar; INTENT(OUT). STATUS: `INTEGER(KIND=1)'; OPTIONAL; scalar; INTENT(OUT). Intrinsic groups: `unix'. Description: Reads a single character into C in stream mode from unit UNIT (by-passing normal formatted output) using `getc(3)'. Returns in STATUS 0 on success, -1 on end-of-file, and the error code from `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: *Note FGetC Intrinsic (function)::.  File: g77.info, Node: Float Intrinsic, Next: Floor Intrinsic, Prev: FGetC Intrinsic (subroutine), Up: Table of Intrinsic Functions Float Intrinsic ............... Float(A) Float: `REAL(KIND=1)' function. A: `INTEGER'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `REAL()' that is specific to one type for A. *Note Real Intrinsic::.  File: g77.info, Node: Floor Intrinsic, Next: Flush Intrinsic, Prev: Float Intrinsic, Up: Table of Intrinsic Functions Floor Intrinsic ............... This intrinsic is not yet implemented. The name is, however, reserved as an intrinsic. Use `EXTERNAL Floor' to use this name for an external procedure.  File: g77.info, Node: Flush Intrinsic, Next: FNum Intrinsic, Prev: Floor Intrinsic, Up: Table of Intrinsic Functions Flush Intrinsic ............... CALL Flush(UNIT) UNIT: `INTEGER'; OPTIONAL; scalar; INTENT(IN). Intrinsic groups: `unix'. Description: Flushes Fortran unit(s) currently open for output. Without the optional argument, all such units are flushed, otherwise just the unit specified by UNIT. Some non-GNU implementations of Fortran provide this intrinsic as a library procedure that might or might not support the (optional) UNIT argument.  File: g77.info, Node: FNum Intrinsic, Next: FPut Intrinsic (subroutine), Prev: Flush Intrinsic, Up: Table of Intrinsic Functions FNum Intrinsic .............. FNum(UNIT) FNum: `INTEGER(KIND=1)' function. UNIT: `INTEGER'; scalar; INTENT(IN). Intrinsic groups: `unix'. Description: Returns the Unix file descriptor number corresponding to the open Fortran I/O unit UNIT. This could be passed to an interface to C I/O routines.  File: g77.info, Node: FPut Intrinsic (subroutine), Next: FPutC Intrinsic (subroutine), Prev: FNum Intrinsic, Up: Table of Intrinsic Functions FPut Intrinsic (subroutine) ........................... CALL FPut(C, STATUS) C: `CHARACTER'; scalar; INTENT(IN). STATUS: `INTEGER(KIND=1)'; OPTIONAL; scalar; INTENT(OUT). Intrinsic groups: `unix'. Description: Writes the single character C in stream mode to unit 6 (by-passing normal formatted output) using `putc(3)'. Returns in STATUS 0 on success, the error code from `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: *Note FPut Intrinsic (function)::.  File: g77.info, Node: FPutC Intrinsic (subroutine), Next: Fraction Intrinsic, Prev: FPut Intrinsic (subroutine), Up: Table of Intrinsic Functions FPutC Intrinsic (subroutine) ............................ CALL FPutC(UNIT, C, STATUS) UNIT: `INTEGER'; scalar; INTENT(IN). C: `CHARACTER'; scalar; INTENT(IN). STATUS: `INTEGER(KIND=1)'; OPTIONAL; scalar; INTENT(OUT). Intrinsic groups: `unix'. Description: Writes the single character UNIT in stream mode to unit 6 (by-passing normal formatted output) using `putc(3)'. Returns in C 0 on success, the error code from `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: *Note FPutC Intrinsic (function)::.  File: g77.info, Node: Fraction Intrinsic, Next: FSeek Intrinsic, Prev: FPutC Intrinsic (subroutine), Up: Table of Intrinsic Functions Fraction Intrinsic .................. This intrinsic is not yet implemented. The name is, however, reserved as an intrinsic. Use `EXTERNAL Fraction' to use this name for an external procedure.  File: g77.info, Node: FSeek Intrinsic, Next: FStat Intrinsic (subroutine), Prev: Fraction Intrinsic, Up: Table of Intrinsic Functions FSeek Intrinsic ............... CALL FSeek(UNIT, OFFSET, WHENCE, ERRLAB) UNIT: `INTEGER'; scalar; INTENT(IN). OFFSET: `INTEGER'; scalar; INTENT(IN). WHENCE: `INTEGER'; scalar; INTENT(IN). ERRLAB: `*LABEL', where LABEL is the label of an executable statement; OPTIONAL. Intrinsic groups: `unix'. Description: Attempts to move Fortran unit UNIT to the specified OFFSET: absolute offset if WHENCE=0; relative to the current offset if WHENCE=1; relative to the end of the file if WHENCE=2. It branches to label ERRLAB if UNIT is not open or if the call otherwise fails.  File: g77.info, Node: FStat Intrinsic (subroutine), Next: FStat Intrinsic (function), Prev: FSeek Intrinsic, Up: Table of Intrinsic Functions FStat Intrinsic (subroutine) ............................ CALL FStat(UNIT, SARRAY, STATUS) UNIT: `INTEGER'; scalar; INTENT(IN). SARRAY: `INTEGER(KIND=1)'; DIMENSION(13); INTENT(OUT). STATUS: `INTEGER(KIND=1)'; OPTIONAL; scalar; INTENT(OUT). Intrinsic groups: `unix'. Description: Obtains data about the file open on Fortran I/O unit UNIT and places them in the array SARRAY. The values in this array are extracted from the `stat' structure as returned by `fstat(2)' q.v., as follows: 1. Device ID 2. Inode number 3. File mode 4. Number of links 5. Owner's uid 6. Owner's gid 7. ID of device containing directory entry for file (0 if not available) 8. File size (bytes) 9. Last access time 10. Last modification time 11. Last file status change time 12. Preferred I/O block size (-1 if not available) 13. Number of blocks allocated (-1 if not available) Not all these elements are relevant on all systems. If an element is not relevant, it is returned as 0. If the 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) STATUS argument. For information on other intrinsics with the same name: *Note FStat Intrinsic (function)::.  File: g77.info, Node: FStat Intrinsic (function), Next: FTell Intrinsic (subroutine), Prev: FStat Intrinsic (subroutine), Up: Table of Intrinsic Functions FStat Intrinsic (function) .......................... FStat(UNIT, SARRAY) FStat: `INTEGER(KIND=1)' function. UNIT: `INTEGER'; scalar; INTENT(IN). SARRAY: `INTEGER(KIND=1)'; DIMENSION(13); INTENT(OUT). Intrinsic groups: `unix'. Description: Obtains data about the file open on Fortran I/O unit UNIT and places them in the array SARRAY. The values in this array are extracted from the `stat' structure as returned by `fstat(2)' q.v., as follows: 1. Device ID 2. Inode number 3. File mode 4. Number of links 5. Owner's uid 6. Owner's gid 7. ID of device containing directory entry for file (0 if not available) 8. File size (bytes) 9. Last access time 10. Last modification time 11. Last file status change time 12. Preferred I/O block size (-1 if not available) 13. Number of blocks allocated (-1 if not available) 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: *Note FStat Intrinsic (subroutine)::.  File: g77.info, Node: FTell Intrinsic (subroutine), Next: FTell Intrinsic (function), Prev: FStat Intrinsic (function), Up: Table of Intrinsic Functions FTell Intrinsic (subroutine) ............................ CALL FTell(UNIT, OFFSET) UNIT: `INTEGER'; scalar; INTENT(IN). OFFSET: `INTEGER(KIND=1)'; scalar; INTENT(OUT). Intrinsic groups: `unix'. Description: Sets OFFSET to the current offset of Fortran unit UNIT (or to -1 if 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: *Note FTell Intrinsic (function)::.  File: g77.info, Node: FTell Intrinsic (function), Next: GError Intrinsic, Prev: FTell Intrinsic (subroutine), Up: Table of Intrinsic Functions FTell Intrinsic (function) .......................... FTell(UNIT) FTell: `INTEGER(KIND=1)' function. UNIT: `INTEGER'; scalar; INTENT(IN). Intrinsic groups: `unix'. Description: Returns the current offset of Fortran unit UNIT (or -1 if UNIT is not open). For information on other intrinsics with the same name: *Note FTell Intrinsic (subroutine)::.  File: g77.info, Node: GError Intrinsic, Next: GetArg Intrinsic, Prev: FTell Intrinsic (function), Up: Table of Intrinsic Functions GError Intrinsic ................ CALL GError(MESSAGE) MESSAGE: `CHARACTER'; scalar; INTENT(OUT). Intrinsic groups: `unix'. Description: Returns the system error message corresponding to the last system error (C `errno').  File: g77.info, Node: GetArg Intrinsic, Next: GetCWD Intrinsic (subroutine), Prev: GError Intrinsic, Up: Table of Intrinsic Functions GetArg Intrinsic ................ CALL GetArg(POS, VALUE) POS: `INTEGER'; scalar; INTENT(IN). VALUE: `CHARACTER'; scalar; INTENT(OUT). Intrinsic groups: `unix'. Description: Sets VALUE to the POS-th command-line argument (or to all blanks if there are fewer than VALUE command-line arguments); `CALL GETARG(0, VALUE)' sets VALUE to the name of the program (on systems that support this feature). *Note IArgC Intrinsic::, for information on how to get the number of arguments.  File: g77.info, Node: GetCWD Intrinsic (subroutine), Next: GetCWD Intrinsic (function), Prev: GetArg Intrinsic, Up: Table of Intrinsic Functions GetCWD Intrinsic (subroutine) ............................. CALL GetCWD(NAME, STATUS) NAME: `CHARACTER'; scalar; INTENT(OUT). STATUS: `INTEGER(KIND=1)'; OPTIONAL; scalar; INTENT(OUT). Intrinsic groups: `unix'. Description: Places the current working directory in NAME. If the STATUS argument is supplied, it contains 0 success or a non-zero error code upon return (`ENOSYS' if the system does not provide `getcwd(3)' or `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) STATUS argument. For information on other intrinsics with the same name: *Note GetCWD Intrinsic (function)::.  File: g77.info, Node: GetCWD Intrinsic (function), Next: GetEnv Intrinsic, Prev: GetCWD Intrinsic (subroutine), Up: Table of Intrinsic Functions GetCWD Intrinsic (function) ........................... GetCWD(NAME) GetCWD: `INTEGER(KIND=1)' function. NAME: `CHARACTER'; scalar; INTENT(OUT). Intrinsic groups: `unix'. Description: Places the current working directory in NAME. Returns 0 on success, otherwise a non-zero error code (`ENOSYS' if the system does not provide `getcwd(3)' or `getwd(3)'). For information on other intrinsics with the same name: *Note GetCWD Intrinsic (subroutine)::.  File: g77.info, Node: GetEnv Intrinsic, Next: GetGId Intrinsic, Prev: GetCWD Intrinsic (function), Up: Table of Intrinsic Functions GetEnv Intrinsic ................ CALL GetEnv(NAME, VALUE) NAME: `CHARACTER'; scalar; INTENT(IN). VALUE: `CHARACTER'; scalar; INTENT(OUT). Intrinsic groups: `unix'. Description: Sets VALUE to the value of environment variable given by the value of NAME (`$name' in shell terms) or to blanks if `$name' has not been set. A null character (`CHAR(0)') marks the end of the name in NAME--otherwise, trailing blanks in NAME are ignored.  File: g77.info, Node: GetGId Intrinsic, Next: GetLog Intrinsic, Prev: GetEnv Intrinsic, Up: Table of Intrinsic Functions GetGId Intrinsic ................ GetGId() GetGId: `INTEGER(KIND=1)' function. Intrinsic groups: `unix'. Description: Returns the group id for the current process.  File: g77.info, Node: GetLog Intrinsic, Next: GetPId Intrinsic, Prev: GetGId Intrinsic, Up: Table of Intrinsic Functions GetLog Intrinsic ................ CALL GetLog(LOGIN) LOGIN: `CHARACTER'; scalar; INTENT(OUT). Intrinsic groups: `unix'. Description: Returns the login name for the process in LOGIN. *Caution:* On some systems, the `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 LOGIN.  File: g77.info, Node: GetPId Intrinsic, Next: GetUId Intrinsic, Prev: GetLog Intrinsic, Up: Table of Intrinsic Functions GetPId Intrinsic ................ GetPId() GetPId: `INTEGER(KIND=1)' function. Intrinsic groups: `unix'. Description: Returns the process id for the current process.  File: g77.info, Node: GetUId Intrinsic, Next: GMTime Intrinsic, Prev: GetPId Intrinsic, Up: Table of Intrinsic Functions GetUId Intrinsic ................ GetUId() GetUId: `INTEGER(KIND=1)' function. Intrinsic groups: `unix'. Description: Returns the user id for the current process.  File: g77.info, Node: GMTime Intrinsic, Next: HostNm Intrinsic (subroutine), Prev: GetUId Intrinsic, Up: Table of Intrinsic Functions GMTime Intrinsic ................ CALL GMTime(STIME, TARRAY) STIME: `INTEGER(KIND=1)'; scalar; INTENT(IN). TARRAY: `INTEGER(KIND=1)'; DIMENSION(9); INTENT(OUT). Intrinsic groups: `unix'. Description: Given a system time value STIME, fills TARRAY with values extracted from it appropriate to the GMT time zone using `gmtime(3)'. The array elements are as follows: 1. Seconds after the minute, range 0-59 or 0-61 to allow for leap seconds 2. Minutes after the hour, range 0-59 3. Hours past midnight, range 0-23 4. Day of month, range 0-31 5. Number of months since January, range 0-12 6. Years since 1900 7. Number of days since Sunday, range 0-6 8. Days since January 1 9. Daylight savings indicator: positive if daylight savings is in effect, zero if not, and negative if the information isn't available.  File: g77.info, Node: HostNm Intrinsic (subroutine), Next: HostNm Intrinsic (function), Prev: GMTime Intrinsic, Up: Table of Intrinsic Functions HostNm Intrinsic (subroutine) ............................. CALL HostNm(NAME, STATUS) NAME: `CHARACTER'; scalar; INTENT(OUT). STATUS: `INTEGER(KIND=1)'; OPTIONAL; scalar; INTENT(OUT). Intrinsic groups: `unix'. Description: Fills NAME with the system's host name returned by `gethostname(2)'. If the STATUS argument is supplied, it contains 0 on success or a non-zero error code upon return (`ENOSYS' if the system does not provide `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) 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 `-lg2c -lsocket -lm' to the `g77' command line when linking the program. For information on other intrinsics with the same name: *Note HostNm Intrinsic (function)::.  File: g77.info, Node: HostNm Intrinsic (function), Next: Huge Intrinsic, Prev: HostNm Intrinsic (subroutine), Up: Table of Intrinsic Functions HostNm Intrinsic (function) ........................... HostNm(NAME) HostNm: `INTEGER(KIND=1)' function. NAME: `CHARACTER'; scalar; INTENT(OUT). Intrinsic groups: `unix'. Description: Fills NAME with the system's host name returned by `gethostname(2)', returning 0 on success or a non-zero error code (`ENOSYS' if the system does not provide `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 `-lg2c -lsocket -lm' to the `g77' command line when linking the program. For information on other intrinsics with the same name: *Note HostNm Intrinsic (subroutine)::.  File: g77.info, Node: Huge Intrinsic, Next: IAbs Intrinsic, Prev: HostNm Intrinsic (function), Up: Table of Intrinsic Functions Huge Intrinsic .............. This intrinsic is not yet implemented. The name is, however, reserved as an intrinsic. Use `EXTERNAL Huge' to use this name for an external procedure.  File: g77.info, Node: IAbs Intrinsic, Next: IAChar Intrinsic, Prev: Huge Intrinsic, Up: Table of Intrinsic Functions IAbs Intrinsic .............. IAbs(A) IAbs: `INTEGER(KIND=1)' function. A: `INTEGER(KIND=1)'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `ABS()' that is specific to one type for A. *Note Abs Intrinsic::.  File: g77.info, Node: IAChar Intrinsic, Next: IAnd Intrinsic, Prev: IAbs Intrinsic, Up: Table of Intrinsic Functions IAChar Intrinsic ................ IAChar(C) IAChar: `INTEGER(KIND=1)' function. C: `CHARACTER'; scalar; INTENT(IN). Intrinsic groups: `f2c', `f90'. Description: Returns the code for the ASCII character in the first character position of C. *Note AChar Intrinsic::, for the inverse of this function. *Note IChar Intrinsic::, for the function corresponding to the system's native character set.  File: g77.info, Node: IAnd Intrinsic, Next: IArgC Intrinsic, Prev: IAChar Intrinsic, Up: Table of Intrinsic Functions IAnd Intrinsic .............. IAnd(I, J) IAnd: `INTEGER' function, the exact type being the result of cross-promoting the types of all the arguments. I: `INTEGER'; scalar; INTENT(IN). J: `INTEGER'; scalar; INTENT(IN). Intrinsic groups: `mil', `f90', `vxt'. Description: Returns value resulting from boolean AND of pair of bits in each of I and J.  File: g77.info, Node: IArgC Intrinsic, Next: IBClr Intrinsic, Prev: IAnd Intrinsic, Up: Table of Intrinsic Functions IArgC Intrinsic ............... IArgC() IArgC: `INTEGER(KIND=1)' function. Intrinsic groups: `unix'. Description: Returns the number of command-line arguments. This count does not include the specification of the program name itself.  File: g77.info, Node: IBClr Intrinsic, Next: IBits Intrinsic, Prev: IArgC Intrinsic, Up: Table of Intrinsic Functions IBClr Intrinsic ............... IBClr(I, POS) IBClr: `INTEGER' function, the `KIND=' value of the type being that of argument I. I: `INTEGER'; scalar; INTENT(IN). POS: `INTEGER'; scalar; INTENT(IN). Intrinsic groups: `mil', `f90', `vxt'. Description: Returns the value of I with bit POS cleared (set to zero). *Note BTest Intrinsic::, for information on bit positions.  File: g77.info, Node: IBits Intrinsic, Next: IBSet Intrinsic, Prev: IBClr Intrinsic, Up: Table of Intrinsic Functions IBits Intrinsic ............... IBits(I, POS, LEN) IBits: `INTEGER' function, the `KIND=' value of the type being that of argument I. I: `INTEGER'; scalar; INTENT(IN). POS: `INTEGER'; scalar; INTENT(IN). LEN: `INTEGER'; scalar; INTENT(IN). Intrinsic groups: `mil', `f90', `vxt'. Description: Extracts a subfield of length LEN from I, starting from bit position POS and extending left for LEN bits. The result is right-justified and the remaining bits are zeroed. The value of `POS+LEN' must be less than or equal to the value `BIT_SIZE(I)'. *Note Bit_Size Intrinsic::.  File: g77.info, Node: IBSet Intrinsic, Next: IChar Intrinsic, Prev: IBits Intrinsic, Up: Table of Intrinsic Functions IBSet Intrinsic ............... IBSet(I, POS) IBSet: `INTEGER' function, the `KIND=' value of the type being that of argument I. I: `INTEGER'; scalar; INTENT(IN). POS: `INTEGER'; scalar; INTENT(IN). Intrinsic groups: `mil', `f90', `vxt'. Description: Returns the value of I with bit POS set (to one). *Note BTest Intrinsic::, for information on bit positions.  File: g77.info, Node: IChar Intrinsic, Next: IDate Intrinsic (UNIX), Prev: IBSet Intrinsic, Up: Table of Intrinsic Functions IChar Intrinsic ............... IChar(C) IChar: `INTEGER(KIND=1)' function. C: `CHARACTER'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Returns the code for the character in the first character position of 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 `CHARACTER' value `'154'', returns an `INTEGER' or `REAL' value with the value `154'. Instead, you can use internal-file I/O to do this kind of conversion. For example: INTEGER VALUE CHARACTER*10 STRING STRING = '154' READ (STRING, '(I10)'), VALUE PRINT *, VALUE END The above program, when run, prints: 154 *Note Char Intrinsic::, for the inverse of the `ICHAR' function. *Note IAChar Intrinsic::, for the function corresponding to the ASCII character set.  File: g77.info, Node: IDate Intrinsic (UNIX), Next: IDiM Intrinsic, Prev: IChar Intrinsic, Up: Table of Intrinsic Functions IDate Intrinsic (UNIX) ...................... CALL IDate(TARRAY) TARRAY: `INTEGER(KIND=1)'; DIMENSION(3); INTENT(OUT). Intrinsic groups: `unix'. Description: Fills 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. 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: *Note IDate Intrinsic (VXT)::.  File: g77.info, Node: IDiM Intrinsic, Next: IDInt Intrinsic, Prev: IDate Intrinsic (UNIX), Up: Table of Intrinsic Functions IDiM Intrinsic .............. IDiM(X, Y) IDiM: `INTEGER(KIND=1)' function. X: `INTEGER(KIND=1)'; scalar; INTENT(IN). Y: `INTEGER(KIND=1)'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `DIM()' that is specific to one type for X and Y. *Note DiM Intrinsic::.  File: g77.info, Node: IDInt Intrinsic, Next: IDNInt Intrinsic, Prev: IDiM Intrinsic, Up: Table of Intrinsic Functions IDInt Intrinsic ............... IDInt(A) IDInt: `INTEGER(KIND=1)' function. A: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `INT()' that is specific to one type for A. *Note Int Intrinsic::.  File: g77.info, Node: IDNInt Intrinsic, Next: IEOr Intrinsic, Prev: IDInt Intrinsic, Up: Table of Intrinsic Functions IDNInt Intrinsic ................ IDNInt(A) IDNInt: `INTEGER(KIND=1)' function. A: `REAL(KIND=2)'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `NINT()' that is specific to one type for A. *Note NInt Intrinsic::.  File: g77.info, Node: IEOr Intrinsic, Next: IErrNo Intrinsic, Prev: IDNInt Intrinsic, Up: Table of Intrinsic Functions IEOr Intrinsic .............. IEOr(I, J) IEOr: `INTEGER' function, the exact type being the result of cross-promoting the types of all the arguments. I: `INTEGER'; scalar; INTENT(IN). J: `INTEGER'; scalar; INTENT(IN). Intrinsic groups: `mil', `f90', `vxt'. Description: Returns value resulting from boolean exclusive-OR of pair of bits in each of I and J.  File: g77.info, Node: IErrNo Intrinsic, Next: IFix Intrinsic, Prev: IEOr Intrinsic, Up: Table of Intrinsic Functions IErrNo Intrinsic ................ IErrNo() IErrNo: `INTEGER(KIND=1)' function. Intrinsic groups: `unix'. Description: Returns the last system error number (corresponding to the C `errno').  File: g77.info, Node: IFix Intrinsic, Next: Imag Intrinsic, Prev: IErrNo Intrinsic, Up: Table of Intrinsic Functions IFix Intrinsic .............. IFix(A) IFix: `INTEGER(KIND=1)' function. A: `REAL(KIND=1)'; scalar; INTENT(IN). Intrinsic groups: (standard FORTRAN 77). Description: Archaic form of `INT()' that is specific to one type for A. *Note Int Intrinsic::.  File: g77.info, Node: Imag Intrinsic, Next: ImagPart Intrinsic, Prev: IFix Intrinsic, Up: Table of Intrinsic Functions Imag Intrinsic .............. Imag(Z) Imag: `REAL' function, the `KIND=' value of the type being that of argument Z. Z: `COMPLEX'; scalar; INTENT(IN). Intrinsic groups: `f2c'. Description: The imaginary part of Z is returned, without conversion. *Note:* The way to do this in standard Fortran 90 is `AIMAG(Z)'. However, when, for example, Z is `DOUBLE COMPLEX', `AIMAG(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 `DOUBLE COMPLEX' type, also known as `COMPLEX(KIND=2)'). The advantage of `IMAG()' is that, while not necessarily more or less portable than `AIMAG()', it is more likely to cause a compiler that doesn't support it to produce a diagnostic than generate incorrect code. *Note REAL() and AIMAG() of Complex::, for more information.  File: g77.info, Node: ImagPart Intrinsic, Next: Index Intrinsic, Prev: Imag Intrinsic, Up: Table of Intrinsic Functions ImagPart Intrinsic .................. ImagPart(Z) ImagPart: `REAL' function, the `KIND=' value of the type being that of argument Z. Z: `COMPLEX'; scalar; INTENT(IN). Intrinsic groups: `gnu'. Description: The imaginary part of Z is returned, without conversion. *Note:* The way to do this in standard Fortran 90 is `AIMAG(Z)'. However, when, for example, Z is `DOUBLE COMPLEX', `AIMAG(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 `DOUBLE COMPLEX' type, also known as `COMPLEX(KIND=2)'). The advantage of `IMAGPART()' is that, while not necessarily more or less portable than `AIMAG()', it is more likely to cause a compiler that doesn't support it to produce a diagnostic than generate incorrect code. *Note REAL() and AIMAG() of Complex::, for more information.