home *** CD-ROM | disk | FTP | other *** search
/ Big Green CD 8 / BGCD_8_Dev.iso / OPENSTEP / UNIX / GNU / gcc-2.7.2.3.1-I / info / g77.info-11 < prev    next >
Encoding:
GNU Info File  |  1997-09-12  |  50.4 KB  |  1,609 lines

  1. This is Info file g77.info, produced by Makeinfo version 1.68 from the
  2. input file g77.texi.
  3.  
  4.    This file explains how to use the GNU Fortran system.
  5.  
  6.    Published by the Free Software Foundation 59 Temple Place - Suite 330
  7. Boston, MA 02111-1307 USA
  8.  
  9.    Copyright (C) 1995-1997 Free Software Foundation, Inc.
  10.  
  11.    Permission is granted to make and distribute verbatim copies of this
  12. manual provided the copyright notice and this permission notice are
  13. preserved on all copies.
  14.  
  15.    Permission is granted to copy and distribute modified versions of
  16. this manual under the conditions for verbatim copying, provided also
  17. that the sections entitled "GNU General Public License," "Funding for
  18. Free Software," and "Protect Your Freedom--Fight `Look And Feel'" are
  19. included exactly as in the original, and provided that the entire
  20. resulting derived work is distributed under the terms of a permission
  21. notice identical to this one.
  22.  
  23.    Permission is granted to copy and distribute translations of this
  24. manual into another language, under the above conditions for modified
  25. versions, except that the sections entitled "GNU General Public
  26. License," "Funding for Free Software," and "Protect Your Freedom--Fight
  27. `Look And Feel'", and this permission notice, may be included in
  28. translations approved by the Free Software Foundation instead of in the
  29. original English.
  30.  
  31.    Contributed by James Craig Burley (<burley@gnu.ai.mit.edu>).
  32. Inspired by a first pass at translating `g77-0.5.16/f/DOC' that was
  33. contributed to Craig by David Ronis (<ronis@onsager.chem.mcgill.ca>).
  34.  
  35. INFO-DIR-SECTION Fortran Programming
  36. START-INFO-DIR-ENTRY
  37. * g77: (g77).               The GNU Fortran compilation system.
  38. END-INFO-DIR-ENTRY
  39.  
  40. 
  41. File: g77.info,  Node: Ugly Assigned Labels,  Prev: Ugly Integer Conversions,  Up: Distensions
  42.  
  43. Ugly Assigned Labels
  44. --------------------
  45.  
  46.    The `-fugly-assign' option forces `g77' to use the same storage for
  47. assigned labels as it would for a normal assignment to the same
  48. variable.
  49.  
  50.    For example, consider the following code fragment:
  51.  
  52.      I = 3
  53.      ASSIGN 10 TO I
  54.  
  55. Normally, for portability and improved diagnostics, `g77' reserves
  56. distinct storage for a "sibling" of `I', used only for `ASSIGN'
  57. statements to that variable (along with the corresponding
  58. assigned-`GOTO' and assigned-`FORMAT'-I/O statements that reference the
  59. variable).
  60.  
  61.    However, some code (that violates the ANSI FORTRAN 77 standard)
  62. attempts to copy assigned labels among variables involved with `ASSIGN'
  63. statements, as in:
  64.  
  65.      ASSIGN 10 TO I
  66.      ISTATE(5) = I
  67.      ...
  68.      J = ISTATE(ICUR)
  69.      GOTO J
  70.  
  71. Such code doesn't work under `g77' unless `-fugly-assign' is specified
  72. on the command-line, ensuring that the value of `I' referenced in the
  73. second line is whatever value `g77' uses to designate statement label
  74. `10', so the value may be copied into the `ISTATE' array, later
  75. retrieved into a variable of the appropriate type (`J'), and used as
  76. the target of an assigned-`GOTO' statement.
  77.  
  78.    *Note:* To avoid subtle program bugs, when `-fugly-assign' is
  79. specified, `g77' requires the type of variables specified in
  80. assigned-label contexts *must* be the same type returned by `%LOC()'.
  81. On many systems, this type is effectively the same as
  82. `INTEGER(KIND=1)', while, on others, it is effectively the same as
  83. `INTEGER(KIND=2)'.
  84.  
  85.    Do *not* depend on `g77' actually writing valid pointers to these
  86. variables, however.  While `g77' currently chooses that implementation,
  87. it might be changed in the future.
  88.  
  89.    *Note Assigned Statement Labels (ASSIGN and GOTO): Assigned
  90. Statement Labels, for implementation details on assigned-statement
  91. labels.
  92.  
  93. 
  94. File: g77.info,  Node: Compiler,  Next: Other Dialects,  Prev: Language,  Up: Top
  95.  
  96. The GNU Fortran Compiler
  97. ************************
  98.  
  99.    The GNU Fortran compiler, `g77', supports programs written in the
  100. GNU Fortran language and in some other dialects of Fortran.
  101.  
  102.    Some aspects of how `g77' works are universal regardless of dialect,
  103. and yet are not properly part of the GNU Fortran language itself.
  104. These are described below.
  105.  
  106.    *Note: This portion of the documentation definitely needs a lot of
  107. work!*
  108.  
  109. * Menu:
  110.  
  111. * Compiler Limits::
  112. * Compiler Types::
  113. * Compiler Constants::
  114. * Compiler Intrinsics::
  115.  
  116. 
  117. File: g77.info,  Node: Compiler Limits,  Next: Compiler Types,  Up: Compiler
  118.  
  119. Compiler Limits
  120. ===============
  121.  
  122.    `g77', as with GNU tools in general, imposes few arbitrary
  123. restrictions on lengths of identifiers, number of continuation lines,
  124. number of external symbols in a program, and so on.
  125.  
  126.    For example, some other Fortran compiler have an option (such as
  127. `-NlX') to increase the limit on the number of continuation lines.
  128. Also, some Fortran compilation systems have an option (such as `-NxX')
  129. to increase the limit on the number of external symbols.
  130.  
  131.    `g77', `gcc', and GNU `ld' (the GNU linker) have no equivalent
  132. options, since they do not impose arbitrary limits in these areas.
  133.  
  134.    `g77' does currently limit the number of dimensions in an array to
  135. the same degree as do the Fortran standards--seven (7).  This
  136. restriction might well be lifted in a future version.
  137.  
  138. 
  139. File: g77.info,  Node: Compiler Types,  Next: Compiler Constants,  Prev: Compiler Limits,  Up: Compiler
  140.  
  141. Compiler Types
  142. ==============
  143.  
  144.    Fortran implementations have a fair amount of freedom given them by
  145. the standard as far as how much storage space is used and how much
  146. precision and range is offered by the various types such as
  147. `LOGICAL(KIND=1)', `INTEGER(KIND=1)', `REAL(KIND=1)', `REAL(KIND=2)',
  148. `COMPLEX(KIND=1)', and `CHARACTER'.  Further, many compilers offer
  149. so-called `*N' notation, but the interpretation of N varies across
  150. compilers and target architectures.
  151.  
  152.    The standard requires that `LOGICAL(KIND=1)', `INTEGER(KIND=1)', and
  153. `REAL(KIND=1)' occupy the same amount of storage space, and that
  154. `COMPLEX(KIND=1)' and `REAL(KIND=2)' take twice as much storage space
  155. as `REAL(KIND=1)'.  Further, it requires that `COMPLEX(KIND=1)'
  156. entities be ordered such that when a `COMPLEX(KIND=1)' variable is
  157. storage-associated (such as via `EQUIVALENCE') with a two-element
  158. `REAL(KIND=1)' array named `R', `R(1)' corresponds to the real element
  159. and `R(2)' to the imaginary element of the `COMPLEX(KIND=1)' variable.
  160.  
  161.    (Few requirements as to precision or ranges of any of these are
  162. placed on the implementation, nor is the relationship of storage sizes
  163. of these types to the `CHARACTER' type specified, by the standard.)
  164.  
  165.    `g77' follows the above requirements, warning when compiling a
  166. program requires placement of items in memory that contradict the
  167. requirements of the target architecture.  (For example, a program can
  168. require placement of a `REAL(KIND=2)' on a boundary that is not an even
  169. multiple of its size, but still an even multiple of the size of a
  170. `REAL(KIND=1)' variable.  On some target architectures, using the
  171. canonical mapping of Fortran types to underlying architectural types,
  172. such placement is prohibited by the machine definition or the
  173. Application Binary Interface (ABI) in force for the configuration
  174. defined for building `gcc' and `g77'.  `g77' warns about such
  175. situations when it encounters them.)
  176.  
  177.    `g77' follows consistent rules for configuring the mapping between
  178. Fortran types, including the `*N' notation, and the underlying
  179. architectural types as accessed by a similarly-configured applicable
  180. version of the `gcc' compiler.  These rules offer a widely portable,
  181. consistent Fortran/C environment, although they might well conflict
  182. with the expectations of users of Fortran compilers designed and
  183. written for particular architectures.
  184.  
  185.    These rules are based on the configuration that is in force for the
  186. version of `gcc' built in the same release as `g77' (and which was
  187. therefore used to build both the `g77' compiler components and the
  188. `libf2c' run-time library):
  189.  
  190. `REAL(KIND=1)'
  191.      Same as `float' type.
  192.  
  193. `REAL(KIND=2)'
  194.      Same as whatever floating-point type that is twice the size of a
  195.      `float'--usually, this is a `double'.
  196.  
  197. `INTEGER(KIND=1)'
  198.      Same as an integral type that is occupies the same amount of
  199.      memory storage as `float'--usually, this is either an `int' or a
  200.      `long int'.
  201.  
  202. `LOGICAL(KIND=1)'
  203.      Same `gcc' type as `INTEGER(KIND=1)'.
  204.  
  205. `INTEGER(KIND=2)'
  206.      Twice the size, and usually nearly twice the range, as
  207.      `INTEGER(KIND=1)'--usually, this is either a `long int' or a `long
  208.      long int'.
  209.  
  210. `LOGICAL(KIND=2)'
  211.      Same `gcc' type as `INTEGER(KIND=2)'.
  212.  
  213. `INTEGER(KIND=3)'
  214.      Same `gcc' type as signed `char'.
  215.  
  216. `LOGICAL(KIND=3)'
  217.      Same `gcc' type as `INTEGER(KIND=3)'.
  218.  
  219. `INTEGER(KIND=6)'
  220.      Twice the size, and usually nearly twice the range, as
  221.      `INTEGER(KIND=3)'--usually, this is a `short'.
  222.  
  223. `LOGICAL(KIND=6)'
  224.      Same `gcc' type as `INTEGER(KIND=6)'.
  225.  
  226. `COMPLEX(KIND=1)'
  227.      Two `REAL(KIND=1)' scalars (one for the real part followed by one
  228.      for the imaginary part).
  229.  
  230. `COMPLEX(KIND=2)'
  231.      Two `REAL(KIND=2)' scalars.
  232.  
  233. `NUMERIC-TYPE*N'
  234.      (Where NUMERIC-TYPE is any type other than `CHARACTER'.)  Same as
  235.      whatever `gcc' type occupies N times the storage space of a `gcc'
  236.      `char' item.
  237.  
  238. `DOUBLE PRECISION'
  239.      Same as `REAL(KIND=2)'.
  240.  
  241. `DOUBLE COMPLEX'
  242.      Same as `COMPLEX(KIND=2)'.
  243.  
  244.    Note that the above are proposed correspondences and might change in
  245. future versions of `g77'--avoid writing code depending on them.
  246.  
  247.    Other types supported by `g77' are derived from gcc types such as
  248. `char', `short', `int', `long int', `long long int', `long double', and
  249. so on.  That is, whatever types `gcc' already supports, `g77' supports
  250. now or probably will support in a future version.  The rules for the
  251. `NUMERIC-TYPE*N' notation apply to these types, and new values for
  252. `NUMERIC-TYPE(KIND=N)' will be assigned in a way that encourages
  253. clarity, consistency, and portability.
  254.  
  255. 
  256. File: g77.info,  Node: Compiler Constants,  Next: Compiler Intrinsics,  Prev: Compiler Types,  Up: Compiler
  257.  
  258. Compiler Constants
  259. ==================
  260.  
  261.    `g77' strictly assigns types to *all* constants not documented as
  262. "typeless" (typeless constants including `'1'Z', for example).  Many
  263. other Fortran compilers attempt to assign types to typed constants
  264. based on their context.  This results in hard-to-find bugs, nonportable
  265. code, and is not in the spirit (though it strictly follows the letter)
  266. of the 77 and 90 standards.
  267.  
  268.    `g77' might offer, in a future release, explicit constructs by which
  269. a wider variety of typeless constants may be specified, and/or
  270. user-requested warnings indicating places where `g77' might differ from
  271. how other compilers assign types to constants.
  272.  
  273.    *Note Context-Sensitive Constants::, for more information on this
  274. issue.
  275.  
  276. 
  277. File: g77.info,  Node: Compiler Intrinsics,  Prev: Compiler Constants,  Up: Compiler
  278.  
  279. Compiler Intrinsics
  280. ===================
  281.  
  282.    `g77' offers an ever-widening set of intrinsics.  Currently these
  283. all are procedures (functions and subroutines).
  284.  
  285.    Some of these intrinsics are unimplemented, but their names reserved
  286. to reduce future problems with existing code as they are implemented.
  287. Others are implemented as part of the GNU Fortran language, while yet
  288. others are provided for compatibility with other dialects of Fortran
  289. but are not part of the GNU Fortran language.
  290.  
  291.    To manage these distinctions, `g77' provides intrinsic *groups*, a
  292. facility that is simply an extension of the intrinsic groups provided
  293. by the GNU Fortran language.
  294.  
  295. * Menu:
  296.  
  297. * Intrinsic Groups::  How intrinsics are grouped for easy management.
  298. * Other Intrinsics::  Intrinsics other than those in the GNU
  299.                        Fortran language.
  300.  
  301. 
  302. File: g77.info,  Node: Intrinsic Groups,  Next: Other Intrinsics,  Up: Compiler Intrinsics
  303.  
  304. Intrinsic Groups
  305. ----------------
  306.  
  307.    A given specific intrinsic belongs in one or more groups.  Each
  308. group is deleted, disabled, hidden, or enabled by default or a
  309. command-line option.  The meaning of each term follows.
  310.  
  311. Deleted
  312.      No intrinsics are recognized as belonging to that group.
  313.  
  314. Disabled
  315.      Intrinsics are recognized as belonging to the group, but
  316.      references to them (other than via the `INTRINSIC' statement) are
  317.      disallowed through that group.
  318.  
  319. Hidden
  320.      Intrinsics in that group are recognized and enabled (if
  321.      implemented) *only* if the first mention of the actual name of an
  322.      intrinsic in a program unit is in an `INTRINSIC' statement.
  323.  
  324. Enabled
  325.      Intrinsics in that group are recognized and enabled (if
  326.      implemented).
  327.  
  328.    The distinction between deleting and disabling a group is illustrated
  329. by the following example.  Assume intrinsic `FOO' belongs only to group
  330. `FGR'.  If group `FGR' is deleted, the following program unit will
  331. successfully compile, because `FOO()' will be seen as a reference to an
  332. external function named `FOO':
  333.  
  334.      PRINT *, FOO()
  335.      END
  336.  
  337. If group `FGR' is disabled, compiling the above program will produce
  338. diagnostics, either because the `FOO' intrinsic is improperly invoked
  339. or, if properly invoked, it is not enabled.  To change the above
  340. program so it references an external function `FOO' instead of the
  341. disabled `FOO' intrinsic, add the following line to the top:
  342.  
  343.      EXTERNAL FOO
  344.  
  345. So, deleting a group tells `g77' to pretend as though the intrinsics in
  346. that group do not exist at all, whereas disabling it tells `g77' to
  347. recognize them as (disabled) intrinsics in intrinsic-like contexts.
  348.  
  349.    Hiding a group is like enabling it, but the intrinsic must be first
  350. named in an `INTRINSIC' statement to be considered a reference to the
  351. intrinsic rather than to an external procedure.  This might be the
  352. "safest" way to treat a new group of intrinsics when compiling old
  353. code, because it allows the old code to be generally written as if
  354. those new intrinsics never existed, but to be changed to use them by
  355. inserting `INTRINSIC' statements in the appropriate places.  However,
  356. it should be the goal of development to use `EXTERNAL' for all names of
  357. external procedures that might be intrinsic names.
  358.  
  359.    If an intrinsic is in more than one group, it is enabled if any of
  360. its containing groups are enabled; if not so enabled, it is hidden if
  361. any of its containing groups are hidden; if not so hidden, it is
  362. disabled if any of its containing groups are disabled; if not so
  363. disabled, it is deleted.  This extra complication is necessary because
  364. some intrinsics, such as `IBITS', belong to more than one group, and
  365. hence should be enabled if any of the groups to which they belong are
  366. enabled, and so on.
  367.  
  368.    The groups are:
  369.  
  370. `badu77'
  371.      UNIX intrinsics having inappropriate forms (usually functions that
  372.      have intended side effects).
  373.  
  374. `gnu'
  375.      Intrinsics the GNU Fortran language supports that are extensions to
  376.      the Fortran standards (77 and 90).
  377.  
  378. `f2c'
  379.      Intrinsics supported by AT&T's `f2c' converter and/or `libf2c'.
  380.  
  381. `f90'
  382.      Fortran 90 intrinsics.
  383.  
  384. `mil'
  385.      MIL-STD 1753 intrinsics (`MVBITS', `IAND', `BTEST', and so on).
  386.  
  387. `unix'
  388.      UNIX intrinsics (`IARGC', `EXIT', `ERF', and so on).
  389.  
  390. `vxt'
  391.      VAX/VMS FORTRAN (current as of v4) intrinsics.
  392.  
  393. 
  394. File: g77.info,  Node: Other Intrinsics,  Prev: Intrinsic Groups,  Up: Compiler Intrinsics
  395.  
  396. Other Intrinsics
  397. ----------------
  398.  
  399.    `g77' supports intrinsics other than those in the GNU Fortran
  400. language proper.  This set of intrinsics is described below.
  401.  
  402.    (Note that the empty lines appearing in the menu below are not
  403. intentional--they result from a bug in the `makeinfo' program.)
  404.  
  405. * Menu:
  406.  
  407.  
  408. * ACosD Intrinsic::     (Reserved for future use.)
  409.  
  410. * AIMax0 Intrinsic::    (Reserved for future use.)
  411. * AIMin0 Intrinsic::    (Reserved for future use.)
  412.  
  413. * AJMax0 Intrinsic::    (Reserved for future use.)
  414. * AJMin0 Intrinsic::    (Reserved for future use.)
  415.  
  416. * ASinD Intrinsic::     (Reserved for future use.)
  417.  
  418. * ATan2D Intrinsic::    (Reserved for future use.)
  419. * ATanD Intrinsic::     (Reserved for future use.)
  420.  
  421. * BITest Intrinsic::    (Reserved for future use.)
  422.  
  423. * BJTest Intrinsic::    (Reserved for future use.)
  424.  
  425. * CDAbs Intrinsic::     Absolute value (archaic).
  426. * CDCos Intrinsic::     Cosine (archaic).
  427. * CDExp Intrinsic::     Exponential (archaic).
  428. * CDLog Intrinsic::     Natural logarithm (archaic).
  429. * CDSin Intrinsic::     Sine (archaic).
  430. * CDSqRt Intrinsic::    Square root (archaic).
  431.  
  432. * ChDir Intrinsic (function):: Change directory.
  433.  
  434. * ChMod Intrinsic (function):: Change file modes.
  435.  
  436. * CosD Intrinsic::      (Reserved for future use.)
  437.  
  438. * DACosD Intrinsic::    (Reserved for future use.)
  439.  
  440. * DASinD Intrinsic::    (Reserved for future use.)
  441.  
  442. * DATan2D Intrinsic::   (Reserved for future use.)
  443. * DATanD Intrinsic::    (Reserved for future use.)
  444. * Date Intrinsic::      Get current date as dd-Mon-yy.
  445.  
  446. * DbleQ Intrinsic::     (Reserved for future use.)
  447.  
  448. * DCmplx Intrinsic::    Construct `COMPLEX(KIND=2)' value.
  449. * DConjg Intrinsic::    Complex conjugate (archaic).
  450.  
  451. * DCosD Intrinsic::     (Reserved for future use.)
  452.  
  453. * DFloat Intrinsic::    Conversion (archaic).
  454.  
  455. * DFlotI Intrinsic::    (Reserved for future use.)
  456. * DFlotJ Intrinsic::    (Reserved for future use.)
  457.  
  458. * DImag Intrinsic::     Convert/extract imaginary part of complex (archaic).
  459.  
  460. * DReal Intrinsic::     Convert value to type `REAL(KIND=2)'.
  461.  
  462. * DSinD Intrinsic::     (Reserved for future use.)
  463.  
  464. * DTanD Intrinsic::     (Reserved for future use.)
  465.  
  466. * Dtime Intrinsic (function):: Get elapsed time since last time.
  467.  
  468. * FGet Intrinsic (function):: Read a character from unit 5 stream-wise.
  469.  
  470. * FGetC Intrinsic (function):: Read a character stream-wise.
  471.  
  472. * FloatI Intrinsic::    (Reserved for future use.)
  473. * FloatJ Intrinsic::    (Reserved for future use.)
  474.  
  475. * FPut Intrinsic (function):: Write a character to unit 6 stream-wise.
  476.  
  477. * FPutC Intrinsic (function):: Write a character stream-wise.
  478.  
  479. * IDate Intrinsic (VXT):: Get local time info (VAX/VMS).
  480.  
  481. * IIAbs Intrinsic::     (Reserved for future use.)
  482. * IIAnd Intrinsic::     (Reserved for future use.)
  483. * IIBClr Intrinsic::    (Reserved for future use.)
  484. * IIBits Intrinsic::    (Reserved for future use.)
  485. * IIBSet Intrinsic::    (Reserved for future use.)
  486. * IIDiM Intrinsic::     (Reserved for future use.)
  487. * IIDInt Intrinsic::    (Reserved for future use.)
  488. * IIDNnt Intrinsic::    (Reserved for future use.)
  489. * IIEOr Intrinsic::     (Reserved for future use.)
  490. * IIFix Intrinsic::     (Reserved for future use.)
  491. * IInt Intrinsic::      (Reserved for future use.)
  492. * IIOr Intrinsic::      (Reserved for future use.)
  493. * IIQint Intrinsic::    (Reserved for future use.)
  494. * IIQNnt Intrinsic::    (Reserved for future use.)
  495. * IIShftC Intrinsic::   (Reserved for future use.)
  496. * IISign Intrinsic::    (Reserved for future use.)
  497.  
  498. * IMax0 Intrinsic::     (Reserved for future use.)
  499. * IMax1 Intrinsic::     (Reserved for future use.)
  500. * IMin0 Intrinsic::     (Reserved for future use.)
  501. * IMin1 Intrinsic::     (Reserved for future use.)
  502. * IMod Intrinsic::      (Reserved for future use.)
  503.  
  504. * INInt Intrinsic::     (Reserved for future use.)
  505. * INot Intrinsic::      (Reserved for future use.)
  506.  
  507. * IZExt Intrinsic::     (Reserved for future use.)
  508. * JIAbs Intrinsic::     (Reserved for future use.)
  509. * JIAnd Intrinsic::     (Reserved for future use.)
  510. * JIBClr Intrinsic::    (Reserved for future use.)
  511. * JIBits Intrinsic::    (Reserved for future use.)
  512. * JIBSet Intrinsic::    (Reserved for future use.)
  513. * JIDiM Intrinsic::     (Reserved for future use.)
  514. * JIDInt Intrinsic::    (Reserved for future use.)
  515. * JIDNnt Intrinsic::    (Reserved for future use.)
  516. * JIEOr Intrinsic::     (Reserved for future use.)
  517. * JIFix Intrinsic::     (Reserved for future use.)
  518. * JInt Intrinsic::      (Reserved for future use.)
  519. * JIOr Intrinsic::      (Reserved for future use.)
  520. * JIQint Intrinsic::    (Reserved for future use.)
  521. * JIQNnt Intrinsic::    (Reserved for future use.)
  522. * JIShft Intrinsic::    (Reserved for future use.)
  523. * JIShftC Intrinsic::   (Reserved for future use.)
  524. * JISign Intrinsic::    (Reserved for future use.)
  525. * JMax0 Intrinsic::     (Reserved for future use.)
  526. * JMax1 Intrinsic::     (Reserved for future use.)
  527. * JMin0 Intrinsic::     (Reserved for future use.)
  528. * JMin1 Intrinsic::     (Reserved for future use.)
  529. * JMod Intrinsic::      (Reserved for future use.)
  530. * JNInt Intrinsic::     (Reserved for future use.)
  531. * JNot Intrinsic::      (Reserved for future use.)
  532. * JZExt Intrinsic::     (Reserved for future use.)
  533.  
  534. * Kill Intrinsic (function):: Signal a process.
  535.  
  536. * Link Intrinsic (function):: Make hard link in file system.
  537.  
  538. * QAbs Intrinsic::      (Reserved for future use.)
  539. * QACos Intrinsic::     (Reserved for future use.)
  540. * QACosD Intrinsic::    (Reserved for future use.)
  541. * QASin Intrinsic::     (Reserved for future use.)
  542. * QASinD Intrinsic::    (Reserved for future use.)
  543. * QATan Intrinsic::     (Reserved for future use.)
  544. * QATan2 Intrinsic::    (Reserved for future use.)
  545. * QATan2D Intrinsic::   (Reserved for future use.)
  546. * QATanD Intrinsic::    (Reserved for future use.)
  547. * QCos Intrinsic::      (Reserved for future use.)
  548. * QCosD Intrinsic::     (Reserved for future use.)
  549. * QCosH Intrinsic::     (Reserved for future use.)
  550. * QDiM Intrinsic::      (Reserved for future use.)
  551. * QExp Intrinsic::      (Reserved for future use.)
  552. * QExt Intrinsic::      (Reserved for future use.)
  553. * QExtD Intrinsic::     (Reserved for future use.)
  554. * QFloat Intrinsic::    (Reserved for future use.)
  555. * QInt Intrinsic::      (Reserved for future use.)
  556. * QLog Intrinsic::      (Reserved for future use.)
  557. * QLog10 Intrinsic::    (Reserved for future use.)
  558. * QMax1 Intrinsic::     (Reserved for future use.)
  559. * QMin1 Intrinsic::     (Reserved for future use.)
  560. * QMod Intrinsic::      (Reserved for future use.)
  561. * QNInt Intrinsic::     (Reserved for future use.)
  562. * QSin Intrinsic::      (Reserved for future use.)
  563. * QSinD Intrinsic::     (Reserved for future use.)
  564. * QSinH Intrinsic::     (Reserved for future use.)
  565. * QSqRt Intrinsic::     (Reserved for future use.)
  566. * QTan Intrinsic::      (Reserved for future use.)
  567. * QTanD Intrinsic::     (Reserved for future use.)
  568. * QTanH Intrinsic::     (Reserved for future use.)
  569.  
  570. * Rename Intrinsic (function):: Rename file.
  571.  
  572. * Secnds Intrinsic::    Get local time offset since midnight.
  573.  
  574. * Signal Intrinsic (function):: Muck with signal handling.
  575.  
  576. * SinD Intrinsic::      (Reserved for future use.)
  577.  
  578. * SnglQ Intrinsic::     (Reserved for future use.)
  579.  
  580. * SymLnk Intrinsic (function):: Make symbolic link in file system.
  581.  
  582. * System Intrinsic (function):: Invoke shell (system) command.
  583.  
  584. * TanD Intrinsic::      (Reserved for future use.)
  585.  
  586. * Time Intrinsic (VXT):: Get the time as a character value.
  587.  
  588. * UMask Intrinsic (function):: Set file creation permissions mask.
  589.  
  590. * Unlink Intrinsic (function):: Unlink file.
  591.  
  592. * ZExt Intrinsic::      (Reserved for future use.)
  593.  
  594. 
  595. File: g77.info,  Node: ACosD Intrinsic,  Next: AIMax0 Intrinsic,  Up: Other Intrinsics
  596.  
  597. ACosD Intrinsic
  598. ...............
  599.  
  600.    This intrinsic is not yet implemented.  The name is, however,
  601. reserved as an intrinsic.  Use `EXTERNAL ACosD' to use this name for an
  602. external procedure.
  603.  
  604. 
  605. File: g77.info,  Node: AIMax0 Intrinsic,  Next: AIMin0 Intrinsic,  Prev: ACosD Intrinsic,  Up: Other Intrinsics
  606.  
  607. AIMax0 Intrinsic
  608. ................
  609.  
  610.    This intrinsic is not yet implemented.  The name is, however,
  611. reserved as an intrinsic.  Use `EXTERNAL AIMax0' to use this name for an
  612. external procedure.
  613.  
  614. 
  615. File: g77.info,  Node: AIMin0 Intrinsic,  Next: AJMax0 Intrinsic,  Prev: AIMax0 Intrinsic,  Up: Other Intrinsics
  616.  
  617. AIMin0 Intrinsic
  618. ................
  619.  
  620.    This intrinsic is not yet implemented.  The name is, however,
  621. reserved as an intrinsic.  Use `EXTERNAL AIMin0' to use this name for an
  622. external procedure.
  623.  
  624. 
  625. File: g77.info,  Node: AJMax0 Intrinsic,  Next: AJMin0 Intrinsic,  Prev: AIMin0 Intrinsic,  Up: Other Intrinsics
  626.  
  627. AJMax0 Intrinsic
  628. ................
  629.  
  630.    This intrinsic is not yet implemented.  The name is, however,
  631. reserved as an intrinsic.  Use `EXTERNAL AJMax0' to use this name for an
  632. external procedure.
  633.  
  634. 
  635. File: g77.info,  Node: AJMin0 Intrinsic,  Next: ASinD Intrinsic,  Prev: AJMax0 Intrinsic,  Up: Other Intrinsics
  636.  
  637. AJMin0 Intrinsic
  638. ................
  639.  
  640.    This intrinsic is not yet implemented.  The name is, however,
  641. reserved as an intrinsic.  Use `EXTERNAL AJMin0' to use this name for an
  642. external procedure.
  643.  
  644. 
  645. File: g77.info,  Node: ASinD Intrinsic,  Next: ATan2D Intrinsic,  Prev: AJMin0 Intrinsic,  Up: Other Intrinsics
  646.  
  647. ASinD Intrinsic
  648. ...............
  649.  
  650.    This intrinsic is not yet implemented.  The name is, however,
  651. reserved as an intrinsic.  Use `EXTERNAL ASinD' to use this name for an
  652. external procedure.
  653.  
  654. 
  655. File: g77.info,  Node: ATan2D Intrinsic,  Next: ATanD Intrinsic,  Prev: ASinD Intrinsic,  Up: Other Intrinsics
  656.  
  657. ATan2D Intrinsic
  658. ................
  659.  
  660.    This intrinsic is not yet implemented.  The name is, however,
  661. reserved as an intrinsic.  Use `EXTERNAL ATan2D' to use this name for an
  662. external procedure.
  663.  
  664. 
  665. File: g77.info,  Node: ATanD Intrinsic,  Next: BITest Intrinsic,  Prev: ATan2D Intrinsic,  Up: Other Intrinsics
  666.  
  667. ATanD Intrinsic
  668. ...............
  669.  
  670.    This intrinsic is not yet implemented.  The name is, however,
  671. reserved as an intrinsic.  Use `EXTERNAL ATanD' to use this name for an
  672. external procedure.
  673.  
  674. 
  675. File: g77.info,  Node: BITest Intrinsic,  Next: BJTest Intrinsic,  Prev: ATanD Intrinsic,  Up: Other Intrinsics
  676.  
  677. BITest Intrinsic
  678. ................
  679.  
  680.    This intrinsic is not yet implemented.  The name is, however,
  681. reserved as an intrinsic.  Use `EXTERNAL BITest' to use this name for an
  682. external procedure.
  683.  
  684. 
  685. File: g77.info,  Node: BJTest Intrinsic,  Next: CDAbs Intrinsic,  Prev: BITest Intrinsic,  Up: Other Intrinsics
  686.  
  687. BJTest Intrinsic
  688. ................
  689.  
  690.    This intrinsic is not yet implemented.  The name is, however,
  691. reserved as an intrinsic.  Use `EXTERNAL BJTest' to use this name for an
  692. external procedure.
  693.  
  694. 
  695. File: g77.info,  Node: CDAbs Intrinsic,  Next: CDCos Intrinsic,  Prev: BJTest Intrinsic,  Up: Other Intrinsics
  696.  
  697. CDAbs Intrinsic
  698. ...............
  699.  
  700.      CDAbs(A)
  701.  
  702. CDAbs: `REAL(KIND=2)' function.
  703.  
  704. A: `COMPLEX(KIND=2)'; scalar; INTENT(IN).
  705.  
  706. Intrinsic groups: `f2c', `vxt'.
  707.  
  708. Description:
  709.  
  710.    Archaic form of `ABS()' that is specific to one type for A.  *Note
  711. Abs Intrinsic::.
  712.  
  713. 
  714. File: g77.info,  Node: CDCos Intrinsic,  Next: CDExp Intrinsic,  Prev: CDAbs Intrinsic,  Up: Other Intrinsics
  715.  
  716. CDCos Intrinsic
  717. ...............
  718.  
  719.      CDCos(X)
  720.  
  721. CDCos: `COMPLEX(KIND=2)' function.
  722.  
  723. X: `COMPLEX(KIND=2)'; scalar; INTENT(IN).
  724.  
  725. Intrinsic groups: `f2c', `vxt'.
  726.  
  727. Description:
  728.  
  729.    Archaic form of `COS()' that is specific to one type for X.  *Note
  730. Cos Intrinsic::.
  731.  
  732. 
  733. File: g77.info,  Node: CDExp Intrinsic,  Next: CDLog Intrinsic,  Prev: CDCos Intrinsic,  Up: Other Intrinsics
  734.  
  735. CDExp Intrinsic
  736. ...............
  737.  
  738.      CDExp(X)
  739.  
  740. CDExp: `COMPLEX(KIND=2)' function.
  741.  
  742. X: `COMPLEX(KIND=2)'; scalar; INTENT(IN).
  743.  
  744. Intrinsic groups: `f2c', `vxt'.
  745.  
  746. Description:
  747.  
  748.    Archaic form of `EXP()' that is specific to one type for X.  *Note
  749. Exp Intrinsic::.
  750.  
  751. 
  752. File: g77.info,  Node: CDLog Intrinsic,  Next: CDSin Intrinsic,  Prev: CDExp Intrinsic,  Up: Other Intrinsics
  753.  
  754. CDLog Intrinsic
  755. ...............
  756.  
  757.      CDLog(X)
  758.  
  759. CDLog: `COMPLEX(KIND=2)' function.
  760.  
  761. X: `COMPLEX(KIND=2)'; scalar; INTENT(IN).
  762.  
  763. Intrinsic groups: `f2c', `vxt'.
  764.  
  765. Description:
  766.  
  767.    Archaic form of `LOG()' that is specific to one type for X.  *Note
  768. Log Intrinsic::.
  769.  
  770. 
  771. File: g77.info,  Node: CDSin Intrinsic,  Next: CDSqRt Intrinsic,  Prev: CDLog Intrinsic,  Up: Other Intrinsics
  772.  
  773. CDSin Intrinsic
  774. ...............
  775.  
  776.      CDSin(X)
  777.  
  778. CDSin: `COMPLEX(KIND=2)' function.
  779.  
  780. X: `COMPLEX(KIND=2)'; scalar; INTENT(IN).
  781.  
  782. Intrinsic groups: `f2c', `vxt'.
  783.  
  784. Description:
  785.  
  786.    Archaic form of `SIN()' that is specific to one type for X.  *Note
  787. Sin Intrinsic::.
  788.  
  789. 
  790. File: g77.info,  Node: CDSqRt Intrinsic,  Next: ChDir Intrinsic (function),  Prev: CDSin Intrinsic,  Up: Other Intrinsics
  791.  
  792. CDSqRt Intrinsic
  793. ................
  794.  
  795.      CDSqRt(X)
  796.  
  797. CDSqRt: `COMPLEX(KIND=2)' function.
  798.  
  799. X: `COMPLEX(KIND=2)'; scalar; INTENT(IN).
  800.  
  801. Intrinsic groups: `f2c', `vxt'.
  802.  
  803. Description:
  804.  
  805.    Archaic form of `SQRT()' that is specific to one type for X.  *Note
  806. SqRt Intrinsic::.
  807.  
  808. 
  809. File: g77.info,  Node: ChDir Intrinsic (function),  Next: ChMod Intrinsic (function),  Prev: CDSqRt Intrinsic,  Up: Other Intrinsics
  810.  
  811. ChDir Intrinsic (function)
  812. ..........................
  813.  
  814.      ChDir(DIR)
  815.  
  816. ChDir: `INTEGER(KIND=1)' function.
  817.  
  818. DIR: `CHARACTER'; scalar; INTENT(IN).
  819.  
  820. Intrinsic groups: `badu77'.
  821.  
  822. Description:
  823.  
  824.    Sets the current working directory to be DIR.  Returns 0 on success
  825. or a non-zero error code.  See `chdir(3)'.
  826.  
  827.    Due to the side effects performed by this intrinsic, the function
  828. form is not recommended.
  829.  
  830.    For information on other intrinsics with the same name: *Note ChDir
  831. Intrinsic (subroutine)::.
  832.  
  833. 
  834. File: g77.info,  Node: ChMod Intrinsic (function),  Next: CosD Intrinsic,  Prev: ChDir Intrinsic (function),  Up: Other Intrinsics
  835.  
  836. ChMod Intrinsic (function)
  837. ..........................
  838.  
  839.      ChMod(NAME, MODE)
  840.  
  841. ChMod: `INTEGER(KIND=1)' function.
  842.  
  843. NAME: `CHARACTER'; scalar; INTENT(IN).
  844.  
  845. MODE: `CHARACTER'; scalar; INTENT(IN).
  846.  
  847. Intrinsic groups: `badu77'.
  848.  
  849. Description:
  850.  
  851.    Changes the access mode of file NAME according to the specification
  852. MODE, which is given in the format of `chmod(1)'.  A null character
  853. (`CHAR(0)') marks the end of the name in NAME--otherwise, trailing
  854. blanks in NAME are ignored.  Currently, NAME must not contain the
  855. single quote character.
  856.  
  857.    Returns 0 on success or a non-zero error code otherwise.
  858.  
  859.    Note that this currently works by actually invoking `/bin/chmod' (or
  860. the `chmod' found when the library was configured) and so may fail in
  861. some circumstances and will, anyway, be slow.
  862.  
  863.    Due to the side effects performed by this intrinsic, the function
  864. form is not recommended.
  865.  
  866.    For information on other intrinsics with the same name: *Note ChMod
  867. Intrinsic (subroutine)::.
  868.  
  869. 
  870. File: g77.info,  Node: CosD Intrinsic,  Next: DACosD Intrinsic,  Prev: ChMod Intrinsic (function),  Up: Other Intrinsics
  871.  
  872. CosD Intrinsic
  873. ..............
  874.  
  875.    This intrinsic is not yet implemented.  The name is, however,
  876. reserved as an intrinsic.  Use `EXTERNAL CosD' to use this name for an
  877. external procedure.
  878.  
  879. 
  880. File: g77.info,  Node: DACosD Intrinsic,  Next: DASinD Intrinsic,  Prev: CosD Intrinsic,  Up: Other Intrinsics
  881.  
  882. DACosD Intrinsic
  883. ................
  884.  
  885.    This intrinsic is not yet implemented.  The name is, however,
  886. reserved as an intrinsic.  Use `EXTERNAL DACosD' to use this name for an
  887. external procedure.
  888.  
  889. 
  890. File: g77.info,  Node: DASinD Intrinsic,  Next: DATan2D Intrinsic,  Prev: DACosD Intrinsic,  Up: Other Intrinsics
  891.  
  892. DASinD Intrinsic
  893. ................
  894.  
  895.    This intrinsic is not yet implemented.  The name is, however,
  896. reserved as an intrinsic.  Use `EXTERNAL DASinD' to use this name for an
  897. external procedure.
  898.  
  899. 
  900. File: g77.info,  Node: DATan2D Intrinsic,  Next: DATanD Intrinsic,  Prev: DASinD Intrinsic,  Up: Other Intrinsics
  901.  
  902. DATan2D Intrinsic
  903. .................
  904.  
  905.    This intrinsic is not yet implemented.  The name is, however,
  906. reserved as an intrinsic.  Use `EXTERNAL DATan2D' to use this name for
  907. an external procedure.
  908.  
  909. 
  910. File: g77.info,  Node: DATanD Intrinsic,  Next: Date Intrinsic,  Prev: DATan2D Intrinsic,  Up: Other Intrinsics
  911.  
  912. DATanD Intrinsic
  913. ................
  914.  
  915.    This intrinsic is not yet implemented.  The name is, however,
  916. reserved as an intrinsic.  Use `EXTERNAL DATanD' to use this name for an
  917. external procedure.
  918.  
  919. 
  920. File: g77.info,  Node: Date Intrinsic,  Next: DbleQ Intrinsic,  Prev: DATanD Intrinsic,  Up: Other Intrinsics
  921.  
  922. Date Intrinsic
  923. ..............
  924.  
  925.      CALL Date(DATE)
  926.  
  927. DATE: `CHARACTER'; scalar; INTENT(OUT).
  928.  
  929. Intrinsic groups: `vxt'.
  930.  
  931. Description:
  932.  
  933.    Returns DATE in the form `DD-MMM-YY', representing the numeric day
  934. of the month DD, a three-character abbreviation of the month name MMM
  935. and the last two digits of the year YY, e.g. `25-Nov-96'.
  936.  
  937.    This intrinsic is not recommended, due to the year 2000 approaching.
  938. *Note CTime Intrinsic (subroutine)::, for information on obtaining more
  939. digits for the current (or any) date.
  940.  
  941. 
  942. File: g77.info,  Node: DbleQ Intrinsic,  Next: DCmplx Intrinsic,  Prev: Date Intrinsic,  Up: Other Intrinsics
  943.  
  944. DbleQ Intrinsic
  945. ...............
  946.  
  947.    This intrinsic is not yet implemented.  The name is, however,
  948. reserved as an intrinsic.  Use `EXTERNAL DbleQ' to use this name for an
  949. external procedure.
  950.  
  951. 
  952. File: g77.info,  Node: DCmplx Intrinsic,  Next: DConjg Intrinsic,  Prev: DbleQ Intrinsic,  Up: Other Intrinsics
  953.  
  954. DCmplx Intrinsic
  955. ................
  956.  
  957.      DCmplx(X, Y)
  958.  
  959. DCmplx: `COMPLEX(KIND=2)' function.
  960.  
  961. X: `INTEGER', `REAL', or `COMPLEX'; scalar; INTENT(IN).
  962.  
  963. Y: `INTEGER' or `REAL'; OPTIONAL (must be omitted if X is `COMPLEX');
  964. scalar; INTENT(IN).
  965.  
  966. Intrinsic groups: `f2c', `vxt'.
  967.  
  968. Description:
  969.  
  970.    If X is not type `COMPLEX', constructs a value of type
  971. `COMPLEX(KIND=2)' from the real and imaginary values specified by X and
  972. Y, respectively.  If Y is omitted, `0D0' is assumed.
  973.  
  974.    If X is type `COMPLEX', converts it to type `COMPLEX(KIND=2)'.
  975.  
  976.    Although this intrinsic is not standard Fortran, it is a popular
  977. extension offered by many compilers that support `DOUBLE COMPLEX',
  978. since it offers the easiest way to convert to `DOUBLE COMPLEX' without
  979. using Fortran 90 features (such as the `KIND=' argument to the
  980. `CMPLX()' intrinsic).
  981.  
  982.    (`CMPLX(0D0, 0D0)' returns a single-precision `COMPLEX' result, as
  983. required by standard FORTRAN 77.  That's why so many compilers provide
  984. `DCMPLX()', since `DCMPLX(0D0, 0D0)' returns a `DOUBLE COMPLEX' result.
  985. Still, `DCMPLX()' converts even `REAL*16' arguments to their `REAL*8'
  986. equivalents in most dialects of Fortran, so neither it nor `CMPLX()'
  987. allow easy construction of arbitrary-precision values without
  988. potentially forcing a conversion involving extending or reducing
  989. precision.  GNU Fortran provides such an intrinsic, called `COMPLEX()'.)
  990.  
  991.    *Note Complex Intrinsic::, for information on easily constructing a
  992. `COMPLEX' value of arbitrary precision from `REAL' arguments.
  993.  
  994. 
  995. File: g77.info,  Node: DConjg Intrinsic,  Next: DCosD Intrinsic,  Prev: DCmplx Intrinsic,  Up: Other Intrinsics
  996.  
  997. DConjg Intrinsic
  998. ................
  999.  
  1000.      DConjg(Z)
  1001.  
  1002. DConjg: `COMPLEX(KIND=2)' function.
  1003.  
  1004. Z: `COMPLEX(KIND=2)'; scalar; INTENT(IN).
  1005.  
  1006. Intrinsic groups: `f2c', `vxt'.
  1007.  
  1008. Description:
  1009.  
  1010.    Archaic form of `CONJG()' that is specific to one type for Z.  *Note
  1011. Conjg Intrinsic::.
  1012.  
  1013. 
  1014. File: g77.info,  Node: DCosD Intrinsic,  Next: DFloat Intrinsic,  Prev: DConjg Intrinsic,  Up: Other Intrinsics
  1015.  
  1016. DCosD Intrinsic
  1017. ...............
  1018.  
  1019.    This intrinsic is not yet implemented.  The name is, however,
  1020. reserved as an intrinsic.  Use `EXTERNAL DCosD' to use this name for an
  1021. external procedure.
  1022.  
  1023. 
  1024. File: g77.info,  Node: DFloat Intrinsic,  Next: DFlotI Intrinsic,  Prev: DCosD Intrinsic,  Up: Other Intrinsics
  1025.  
  1026. DFloat Intrinsic
  1027. ................
  1028.  
  1029.      DFloat(A)
  1030.  
  1031. DFloat: `REAL(KIND=2)' function.
  1032.  
  1033. A: `INTEGER'; scalar; INTENT(IN).
  1034.  
  1035. Intrinsic groups: `f2c', `vxt'.
  1036.  
  1037. Description:
  1038.  
  1039.    Archaic form of `REAL()' that is specific to one type for A.  *Note
  1040. Real Intrinsic::.
  1041.  
  1042. 
  1043. File: g77.info,  Node: DFlotI Intrinsic,  Next: DFlotJ Intrinsic,  Prev: DFloat Intrinsic,  Up: Other Intrinsics
  1044.  
  1045. DFlotI Intrinsic
  1046. ................
  1047.  
  1048.    This intrinsic is not yet implemented.  The name is, however,
  1049. reserved as an intrinsic.  Use `EXTERNAL DFlotI' to use this name for an
  1050. external procedure.
  1051.  
  1052. 
  1053. File: g77.info,  Node: DFlotJ Intrinsic,  Next: DImag Intrinsic,  Prev: DFlotI Intrinsic,  Up: Other Intrinsics
  1054.  
  1055. DFlotJ Intrinsic
  1056. ................
  1057.  
  1058.    This intrinsic is not yet implemented.  The name is, however,
  1059. reserved as an intrinsic.  Use `EXTERNAL DFlotJ' to use this name for an
  1060. external procedure.
  1061.  
  1062. 
  1063. File: g77.info,  Node: DImag Intrinsic,  Next: DReal Intrinsic,  Prev: DFlotJ Intrinsic,  Up: Other Intrinsics
  1064.  
  1065. DImag Intrinsic
  1066. ...............
  1067.  
  1068.      DImag(Z)
  1069.  
  1070. DImag: `REAL(KIND=2)' function.
  1071.  
  1072. Z: `COMPLEX(KIND=2)'; scalar; INTENT(IN).
  1073.  
  1074. Intrinsic groups: `f2c', `vxt'.
  1075.  
  1076. Description:
  1077.  
  1078.    Archaic form of `AIMAG()' that is specific to one type for Z.  *Note
  1079. AImag Intrinsic::.
  1080.  
  1081. 
  1082. File: g77.info,  Node: DReal Intrinsic,  Next: DSinD Intrinsic,  Prev: DImag Intrinsic,  Up: Other Intrinsics
  1083.  
  1084. DReal Intrinsic
  1085. ...............
  1086.  
  1087.      DReal(A)
  1088.  
  1089. DReal: `REAL(KIND=2)' function.
  1090.  
  1091. A: `INTEGER', `REAL', or `COMPLEX'; scalar; INTENT(IN).
  1092.  
  1093. Intrinsic groups: `vxt'.
  1094.  
  1095. Description:
  1096.  
  1097.    Converts A to `REAL(KIND=2)'.
  1098.  
  1099.    If A is type `COMPLEX', its real part is converted (if necessary) to
  1100. `REAL(KIND=2)', and its imaginary part is disregarded.
  1101.  
  1102.    Although this intrinsic is not standard Fortran, it is a popular
  1103. extension offered by many compilers that support `DOUBLE COMPLEX',
  1104. since it offers the easiest way to extract the real part of a `DOUBLE
  1105. COMPLEX' value without using the Fortran 90 `REAL()' intrinsic in a way
  1106. that produces a return value inconsistent with the way many FORTRAN 77
  1107. compilers handle `REAL()' of a `DOUBLE COMPLEX' value.
  1108.  
  1109.    *Note RealPart Intrinsic::, for information on a GNU Fortran
  1110. intrinsic that avoids these areas of confusion.
  1111.  
  1112.    *Note Dble Intrinsic::, for information on the standard FORTRAN 77
  1113. replacement for `DREAL()'.
  1114.  
  1115.    *Note REAL() and AIMAG() of Complex::, for more information on this
  1116. issue.
  1117.  
  1118. 
  1119. File: g77.info,  Node: DSinD Intrinsic,  Next: DTanD Intrinsic,  Prev: DReal Intrinsic,  Up: Other Intrinsics
  1120.  
  1121. DSinD Intrinsic
  1122. ...............
  1123.  
  1124.    This intrinsic is not yet implemented.  The name is, however,
  1125. reserved as an intrinsic.  Use `EXTERNAL DSinD' to use this name for an
  1126. external procedure.
  1127.  
  1128. 
  1129. File: g77.info,  Node: DTanD Intrinsic,  Next: Dtime Intrinsic (function),  Prev: DSinD Intrinsic,  Up: Other Intrinsics
  1130.  
  1131. DTanD Intrinsic
  1132. ...............
  1133.  
  1134.    This intrinsic is not yet implemented.  The name is, however,
  1135. reserved as an intrinsic.  Use `EXTERNAL DTanD' to use this name for an
  1136. external procedure.
  1137.  
  1138. 
  1139. File: g77.info,  Node: Dtime Intrinsic (function),  Next: FGet Intrinsic (function),  Prev: DTanD Intrinsic,  Up: Other Intrinsics
  1140.  
  1141. Dtime Intrinsic (function)
  1142. ..........................
  1143.  
  1144.      Dtime(TARRAY)
  1145.  
  1146. Dtime: `REAL(KIND=1)' function.
  1147.  
  1148. TARRAY: `REAL(KIND=1)'; DIMENSION(2); INTENT(OUT).
  1149.  
  1150. Intrinsic groups: `badu77'.
  1151.  
  1152. Description:
  1153.  
  1154.    Initially, return the number of seconds of runtime since the start
  1155. of the process's execution as the function value, and the user and
  1156. system components of this in `TARRAY(1)' and `TARRAY(2)' respectively.
  1157. The functions' value is equal to `TARRAY(1) + TARRAY(2)'.
  1158.  
  1159.    Subsequent invocations of `DTIME()' return values accumulated since
  1160. the previous invocation.
  1161.  
  1162.    Due to the side effects performed by this intrinsic, the function
  1163. form is not recommended.
  1164.  
  1165.    For information on other intrinsics with the same name: *Note Dtime
  1166. Intrinsic (subroutine)::.
  1167.  
  1168. 
  1169. File: g77.info,  Node: FGet Intrinsic (function),  Next: FGetC Intrinsic (function),  Prev: Dtime Intrinsic (function),  Up: Other Intrinsics
  1170.  
  1171. FGet Intrinsic (function)
  1172. .........................
  1173.  
  1174.      FGet(C)
  1175.  
  1176. FGet: `INTEGER(KIND=1)' function.
  1177.  
  1178. C: `CHARACTER'; scalar; INTENT(OUT).
  1179.  
  1180. Intrinsic groups: `badu77'.
  1181.  
  1182. Description:
  1183.  
  1184.    Reads a single character into C in stream mode from unit 5
  1185. (by-passing normal formatted input) using `getc(3)'.  Returns 0 on
  1186. success, -1 on end-of-file, and the error code from `ferror(3)'
  1187. otherwise.
  1188.  
  1189.    Stream I/O should not be mixed with normal record-oriented
  1190. (formatted or unformatted) I/O on the same unit; the results are
  1191. unpredictable.
  1192.  
  1193.    For information on other intrinsics with the same name: *Note FGet
  1194. Intrinsic (subroutine)::.
  1195.  
  1196. 
  1197. File: g77.info,  Node: FGetC Intrinsic (function),  Next: FloatI Intrinsic,  Prev: FGet Intrinsic (function),  Up: Other Intrinsics
  1198.  
  1199. FGetC Intrinsic (function)
  1200. ..........................
  1201.  
  1202.      FGetC(UNIT, C)
  1203.  
  1204. FGetC: `INTEGER(KIND=1)' function.
  1205.  
  1206. UNIT: `INTEGER'; scalar; INTENT(IN).
  1207.  
  1208. C: `CHARACTER'; scalar; INTENT(OUT).
  1209.  
  1210. Intrinsic groups: `badu77'.
  1211.  
  1212. Description:
  1213.  
  1214.    Reads a single character into C in stream mode from unit UNIT
  1215. (by-passing normal formatted output) using `getc(3)'.  Returns 0 on
  1216. success, -1 on end-of-file, and the error code from `ferror(3)'
  1217. otherwise.
  1218.  
  1219.    Stream I/O should not be mixed with normal record-oriented
  1220. (formatted or unformatted) I/O on the same unit; the results are
  1221. unpredictable.
  1222.  
  1223.    For information on other intrinsics with the same name: *Note FGetC
  1224. Intrinsic (subroutine)::.
  1225.  
  1226. 
  1227. File: g77.info,  Node: FloatI Intrinsic,  Next: FloatJ Intrinsic,  Prev: FGetC Intrinsic (function),  Up: Other Intrinsics
  1228.  
  1229. FloatI Intrinsic
  1230. ................
  1231.  
  1232.    This intrinsic is not yet implemented.  The name is, however,
  1233. reserved as an intrinsic.  Use `EXTERNAL FloatI' to use this name for an
  1234. external procedure.
  1235.  
  1236. 
  1237. File: g77.info,  Node: FloatJ Intrinsic,  Next: FPut Intrinsic (function),  Prev: FloatI Intrinsic,  Up: Other Intrinsics
  1238.  
  1239. FloatJ Intrinsic
  1240. ................
  1241.  
  1242.    This intrinsic is not yet implemented.  The name is, however,
  1243. reserved as an intrinsic.  Use `EXTERNAL FloatJ' to use this name for an
  1244. external procedure.
  1245.  
  1246. 
  1247. File: g77.info,  Node: FPut Intrinsic (function),  Next: FPutC Intrinsic (function),  Prev: FloatJ Intrinsic,  Up: Other Intrinsics
  1248.  
  1249. FPut Intrinsic (function)
  1250. .........................
  1251.  
  1252.      FPut(C)
  1253.  
  1254. FPut: `INTEGER(KIND=1)' function.
  1255.  
  1256. C: `CHARACTER'; scalar; INTENT(IN).
  1257.  
  1258. Intrinsic groups: `badu77'.
  1259.  
  1260. Description:
  1261.  
  1262.    Writes the single character C in stream mode to unit 6 (by-passing
  1263. normal formatted output) using `getc(3)'.  Returns 0 on success, the
  1264. error code from `ferror(3)' otherwise.
  1265.  
  1266.    Stream I/O should not be mixed with normal record-oriented
  1267. (formatted or unformatted) I/O on the same unit; the results are
  1268. unpredictable.
  1269.  
  1270.    For information on other intrinsics with the same name: *Note FPut
  1271. Intrinsic (subroutine)::.
  1272.  
  1273. 
  1274. File: g77.info,  Node: FPutC Intrinsic (function),  Next: IDate Intrinsic (VXT),  Prev: FPut Intrinsic (function),  Up: Other Intrinsics
  1275.  
  1276. FPutC Intrinsic (function)
  1277. ..........................
  1278.  
  1279.      FPutC(UNIT, C)
  1280.  
  1281. FPutC: `INTEGER(KIND=1)' function.
  1282.  
  1283. UNIT: `INTEGER'; scalar; INTENT(IN).
  1284.  
  1285. C: `CHARACTER'; scalar; INTENT(IN).
  1286.  
  1287. Intrinsic groups: `badu77'.
  1288.  
  1289. Description:
  1290.  
  1291.    Writes the single character C in stream mode to unit UNIT
  1292. (by-passing normal formatted output) using `putc(3)'.  Returns 0 on
  1293. success, the error code from `ferror(3)' otherwise.
  1294.  
  1295.    Stream I/O should not be mixed with normal record-oriented
  1296. (formatted or unformatted) I/O on the same unit; the results are
  1297. unpredictable.
  1298.  
  1299.    For information on other intrinsics with the same name: *Note FPutC
  1300. Intrinsic (subroutine)::.
  1301.  
  1302. 
  1303. File: g77.info,  Node: IDate Intrinsic (VXT),  Next: IIAbs Intrinsic,  Prev: FPutC Intrinsic (function),  Up: Other Intrinsics
  1304.  
  1305. IDate Intrinsic (VXT)
  1306. .....................
  1307.  
  1308.      CALL IDate(M, D, Y)
  1309.  
  1310. M: `INTEGER(KIND=1)'; scalar; INTENT(OUT).
  1311.  
  1312. D: `INTEGER(KIND=1)'; scalar; INTENT(OUT).
  1313.  
  1314. Y: `INTEGER(KIND=1)'; scalar; INTENT(OUT).
  1315.  
  1316. Intrinsic groups: `vxt'.
  1317.  
  1318. Description:
  1319.  
  1320.    Returns the numerical values of the current local time.  The month
  1321. (in the range 1-12) is returned in M, the day (in the range 1-7) in D,
  1322. and the year in Y (in the range 0-99).
  1323.  
  1324.    This intrinsic is not recommended, due to the year 2000 approaching.
  1325.  
  1326.    For information on other intrinsics with the same name: *Note IDate
  1327. Intrinsic (UNIX)::.
  1328.  
  1329. 
  1330. File: g77.info,  Node: IIAbs Intrinsic,  Next: IIAnd Intrinsic,  Prev: IDate Intrinsic (VXT),  Up: Other Intrinsics
  1331.  
  1332. IIAbs Intrinsic
  1333. ...............
  1334.  
  1335.    This intrinsic is not yet implemented.  The name is, however,
  1336. reserved as an intrinsic.  Use `EXTERNAL IIAbs' to use this name for an
  1337. external procedure.
  1338.  
  1339. 
  1340. File: g77.info,  Node: IIAnd Intrinsic,  Next: IIBClr Intrinsic,  Prev: IIAbs Intrinsic,  Up: Other Intrinsics
  1341.  
  1342. IIAnd Intrinsic
  1343. ...............
  1344.  
  1345.    This intrinsic is not yet implemented.  The name is, however,
  1346. reserved as an intrinsic.  Use `EXTERNAL IIAnd' to use this name for an
  1347. external procedure.
  1348.  
  1349. 
  1350. File: g77.info,  Node: IIBClr Intrinsic,  Next: IIBits Intrinsic,  Prev: IIAnd Intrinsic,  Up: Other Intrinsics
  1351.  
  1352. IIBClr Intrinsic
  1353. ................
  1354.  
  1355.    This intrinsic is not yet implemented.  The name is, however,
  1356. reserved as an intrinsic.  Use `EXTERNAL IIBClr' to use this name for an
  1357. external procedure.
  1358.  
  1359. 
  1360. File: g77.info,  Node: IIBits Intrinsic,  Next: IIBSet Intrinsic,  Prev: IIBClr Intrinsic,  Up: Other Intrinsics
  1361.  
  1362. IIBits Intrinsic
  1363. ................
  1364.  
  1365.    This intrinsic is not yet implemented.  The name is, however,
  1366. reserved as an intrinsic.  Use `EXTERNAL IIBits' to use this name for an
  1367. external procedure.
  1368.  
  1369. 
  1370. File: g77.info,  Node: IIBSet Intrinsic,  Next: IIDiM Intrinsic,  Prev: IIBits Intrinsic,  Up: Other Intrinsics
  1371.  
  1372. IIBSet Intrinsic
  1373. ................
  1374.  
  1375.    This intrinsic is not yet implemented.  The name is, however,
  1376. reserved as an intrinsic.  Use `EXTERNAL IIBSet' to use this name for an
  1377. external procedure.
  1378.  
  1379. 
  1380. File: g77.info,  Node: IIDiM Intrinsic,  Next: IIDInt Intrinsic,  Prev: IIBSet Intrinsic,  Up: Other Intrinsics
  1381.  
  1382. IIDiM Intrinsic
  1383. ...............
  1384.  
  1385.    This intrinsic is not yet implemented.  The name is, however,
  1386. reserved as an intrinsic.  Use `EXTERNAL IIDiM' to use this name for an
  1387. external procedure.
  1388.  
  1389. 
  1390. File: g77.info,  Node: IIDInt Intrinsic,  Next: IIDNnt Intrinsic,  Prev: IIDiM Intrinsic,  Up: Other Intrinsics
  1391.  
  1392. IIDInt Intrinsic
  1393. ................
  1394.  
  1395.    This intrinsic is not yet implemented.  The name is, however,
  1396. reserved as an intrinsic.  Use `EXTERNAL IIDInt' to use this name for an
  1397. external procedure.
  1398.  
  1399. 
  1400. File: g77.info,  Node: IIDNnt Intrinsic,  Next: IIEOr Intrinsic,  Prev: IIDInt Intrinsic,  Up: Other Intrinsics
  1401.  
  1402. IIDNnt Intrinsic
  1403. ................
  1404.  
  1405.    This intrinsic is not yet implemented.  The name is, however,
  1406. reserved as an intrinsic.  Use `EXTERNAL IIDNnt' to use this name for an
  1407. external procedure.
  1408.  
  1409. 
  1410. File: g77.info,  Node: IIEOr Intrinsic,  Next: IIFix Intrinsic,  Prev: IIDNnt Intrinsic,  Up: Other Intrinsics
  1411.  
  1412. IIEOr Intrinsic
  1413. ...............
  1414.  
  1415.    This intrinsic is not yet implemented.  The name is, however,
  1416. reserved as an intrinsic.  Use `EXTERNAL IIEOr' to use this name for an
  1417. external procedure.
  1418.  
  1419. 
  1420. File: g77.info,  Node: IIFix Intrinsic,  Next: IInt Intrinsic,  Prev: IIEOr Intrinsic,  Up: Other Intrinsics
  1421.  
  1422. IIFix Intrinsic
  1423. ...............
  1424.  
  1425.    This intrinsic is not yet implemented.  The name is, however,
  1426. reserved as an intrinsic.  Use `EXTERNAL IIFix' to use this name for an
  1427. external procedure.
  1428.  
  1429. 
  1430. File: g77.info,  Node: IInt Intrinsic,  Next: IIOr Intrinsic,  Prev: IIFix Intrinsic,  Up: Other Intrinsics
  1431.  
  1432. IInt Intrinsic
  1433. ..............
  1434.  
  1435.    This intrinsic is not yet implemented.  The name is, however,
  1436. reserved as an intrinsic.  Use `EXTERNAL IInt' to use this name for an
  1437. external procedure.
  1438.  
  1439. 
  1440. File: g77.info,  Node: IIOr Intrinsic,  Next: IIQint Intrinsic,  Prev: IInt Intrinsic,  Up: Other Intrinsics
  1441.  
  1442. IIOr Intrinsic
  1443. ..............
  1444.  
  1445.    This intrinsic is not yet implemented.  The name is, however,
  1446. reserved as an intrinsic.  Use `EXTERNAL IIOr' to use this name for an
  1447. external procedure.
  1448.  
  1449. 
  1450. File: g77.info,  Node: IIQint Intrinsic,  Next: IIQNnt Intrinsic,  Prev: IIOr Intrinsic,  Up: Other Intrinsics
  1451.  
  1452. IIQint Intrinsic
  1453. ................
  1454.  
  1455.    This intrinsic is not yet implemented.  The name is, however,
  1456. reserved as an intrinsic.  Use `EXTERNAL IIQint' to use this name for an
  1457. external procedure.
  1458.  
  1459. 
  1460. File: g77.info,  Node: IIQNnt Intrinsic,  Next: IIShftC Intrinsic,  Prev: IIQint Intrinsic,  Up: Other Intrinsics
  1461.  
  1462. IIQNnt Intrinsic
  1463. ................
  1464.  
  1465.    This intrinsic is not yet implemented.  The name is, however,
  1466. reserved as an intrinsic.  Use `EXTERNAL IIQNnt' to use this name for an
  1467. external procedure.
  1468.  
  1469. 
  1470. File: g77.info,  Node: IIShftC Intrinsic,  Next: IISign Intrinsic,  Prev: IIQNnt Intrinsic,  Up: Other Intrinsics
  1471.  
  1472. IIShftC Intrinsic
  1473. .................
  1474.  
  1475.    This intrinsic is not yet implemented.  The name is, however,
  1476. reserved as an intrinsic.  Use `EXTERNAL IIShftC' to use this name for
  1477. an external procedure.
  1478.  
  1479. 
  1480. File: g77.info,  Node: IISign Intrinsic,  Next: IMax0 Intrinsic,  Prev: IIShftC Intrinsic,  Up: Other Intrinsics
  1481.  
  1482. IISign Intrinsic
  1483. ................
  1484.  
  1485.    This intrinsic is not yet implemented.  The name is, however,
  1486. reserved as an intrinsic.  Use `EXTERNAL IISign' to use this name for an
  1487. external procedure.
  1488.  
  1489. 
  1490. File: g77.info,  Node: IMax0 Intrinsic,  Next: IMax1 Intrinsic,  Prev: IISign Intrinsic,  Up: Other Intrinsics
  1491.  
  1492. IMax0 Intrinsic
  1493. ...............
  1494.  
  1495.    This intrinsic is not yet implemented.  The name is, however,
  1496. reserved as an intrinsic.  Use `EXTERNAL IMax0' to use this name for an
  1497. external procedure.
  1498.  
  1499. 
  1500. File: g77.info,  Node: IMax1 Intrinsic,  Next: IMin0 Intrinsic,  Prev: IMax0 Intrinsic,  Up: Other Intrinsics
  1501.  
  1502. IMax1 Intrinsic
  1503. ...............
  1504.  
  1505.    This intrinsic is not yet implemented.  The name is, however,
  1506. reserved as an intrinsic.  Use `EXTERNAL IMax1' to use this name for an
  1507. external procedure.
  1508.  
  1509. 
  1510. File: g77.info,  Node: IMin0 Intrinsic,  Next: IMin1 Intrinsic,  Prev: IMax1 Intrinsic,  Up: Other Intrinsics
  1511.  
  1512. IMin0 Intrinsic
  1513. ...............
  1514.  
  1515.    This intrinsic is not yet implemented.  The name is, however,
  1516. reserved as an intrinsic.  Use `EXTERNAL IMin0' to use this name for an
  1517. external procedure.
  1518.  
  1519. 
  1520. File: g77.info,  Node: IMin1 Intrinsic,  Next: IMod Intrinsic,  Prev: IMin0 Intrinsic,  Up: Other Intrinsics
  1521.  
  1522. IMin1 Intrinsic
  1523. ...............
  1524.  
  1525.    This intrinsic is not yet implemented.  The name is, however,
  1526. reserved as an intrinsic.  Use `EXTERNAL IMin1' to use this name for an
  1527. external procedure.
  1528.  
  1529. 
  1530. File: g77.info,  Node: IMod Intrinsic,  Next: INInt Intrinsic,  Prev: IMin1 Intrinsic,  Up: Other Intrinsics
  1531.  
  1532. IMod Intrinsic
  1533. ..............
  1534.  
  1535.    This intrinsic is not yet implemented.  The name is, however,
  1536. reserved as an intrinsic.  Use `EXTERNAL IMod' to use this name for an
  1537. external procedure.
  1538.  
  1539. 
  1540. File: g77.info,  Node: INInt Intrinsic,  Next: INot Intrinsic,  Prev: IMod Intrinsic,  Up: Other Intrinsics
  1541.  
  1542. INInt Intrinsic
  1543. ...............
  1544.  
  1545.    This intrinsic is not yet implemented.  The name is, however,
  1546. reserved as an intrinsic.  Use `EXTERNAL INInt' to use this name for an
  1547. external procedure.
  1548.  
  1549. 
  1550. File: g77.info,  Node: INot Intrinsic,  Next: IZExt Intrinsic,  Prev: INInt Intrinsic,  Up: Other Intrinsics
  1551.  
  1552. INot Intrinsic
  1553. ..............
  1554.  
  1555.    This intrinsic is not yet implemented.  The name is, however,
  1556. reserved as an intrinsic.  Use `EXTERNAL INot' to use this name for an
  1557. external procedure.
  1558.  
  1559. 
  1560. File: g77.info,  Node: IZExt Intrinsic,  Next: JIAbs Intrinsic,  Prev: INot Intrinsic,  Up: Other Intrinsics
  1561.  
  1562. IZExt Intrinsic
  1563. ...............
  1564.  
  1565.    This intrinsic is not yet implemented.  The name is, however,
  1566. reserved as an intrinsic.  Use `EXTERNAL IZExt' to use this name for an
  1567. external procedure.
  1568.  
  1569. 
  1570. File: g77.info,  Node: JIAbs Intrinsic,  Next: JIAnd Intrinsic,  Prev: IZExt Intrinsic,  Up: Other Intrinsics
  1571.  
  1572. JIAbs Intrinsic
  1573. ...............
  1574.  
  1575.    This intrinsic is not yet implemented.  The name is, however,
  1576. reserved as an intrinsic.  Use `EXTERNAL JIAbs' to use this name for an
  1577. external procedure.
  1578.  
  1579. 
  1580. File: g77.info,  Node: JIAnd Intrinsic,  Next: JIBClr Intrinsic,  Prev: JIAbs Intrinsic,  Up: Other Intrinsics
  1581.  
  1582. JIAnd Intrinsic
  1583. ...............
  1584.  
  1585.    This intrinsic is not yet implemented.  The name is, however,
  1586. reserved as an intrinsic.  Use `EXTERNAL JIAnd' to use this name for an
  1587. external procedure.
  1588.  
  1589. 
  1590. File: g77.info,  Node: JIBClr Intrinsic,  Next: JIBits Intrinsic,  Prev: JIAnd Intrinsic,  Up: Other Intrinsics
  1591.  
  1592. JIBClr Intrinsic
  1593. ................
  1594.  
  1595.    This intrinsic is not yet implemented.  The name is, however,
  1596. reserved as an intrinsic.  Use `EXTERNAL JIBClr' to use this name for an
  1597. external procedure.
  1598.  
  1599. 
  1600. File: g77.info,  Node: JIBits Intrinsic,  Next: JIBSet Intrinsic,  Prev: JIBClr Intrinsic,  Up: Other Intrinsics
  1601.  
  1602. JIBits Intrinsic
  1603. ................
  1604.  
  1605.    This intrinsic is not yet implemented.  The name is, however,
  1606. reserved as an intrinsic.  Use `EXTERNAL JIBits' to use this name for an
  1607. external procedure.
  1608.  
  1609.