1 @c This file is automatically derived from intdoc.c, intdoc.in,
2 @c ansify.c, intrin.def, and intrin.h. Edit those files instead.
5 * Abort Intrinsic:: Abort the program.
8 * Abs Intrinsic:: Absolute value.
11 * Access Intrinsic:: Check file accessibility.
14 * AChar Intrinsic:: ASCII character from code.
17 * ACos Intrinsic:: Arc cosine.
20 * ACosD Intrinsic:: (Reserved for future use.)
23 * AdjustL Intrinsic:: (Reserved for future use.)
24 * AdjustR Intrinsic:: (Reserved for future use.)
27 * AImag Intrinsic:: Convert/extract imaginary part of complex.
30 * AIMax0 Intrinsic:: (Reserved for future use.)
31 * AIMin0 Intrinsic:: (Reserved for future use.)
34 * AInt Intrinsic:: Truncate to whole number.
37 * AJMax0 Intrinsic:: (Reserved for future use.)
38 * AJMin0 Intrinsic:: (Reserved for future use.)
41 * Alarm Intrinsic:: Execute a routine after a given delay.
44 * All Intrinsic:: (Reserved for future use.)
45 * Allocated Intrinsic:: (Reserved for future use.)
48 * ALog Intrinsic:: Natural logarithm (archaic).
49 * ALog10 Intrinsic:: Natural logarithm (archaic).
50 * AMax0 Intrinsic:: Maximum value (archaic).
51 * AMax1 Intrinsic:: Maximum value (archaic).
52 * AMin0 Intrinsic:: Minimum value (archaic).
53 * AMin1 Intrinsic:: Minimum value (archaic).
54 * AMod Intrinsic:: Remainder (archaic).
57 * And Intrinsic:: Boolean AND.
60 * ANInt Intrinsic:: Round to nearest whole number.
63 * Any Intrinsic:: (Reserved for future use.)
66 * ASin Intrinsic:: Arc sine.
69 * ASinD Intrinsic:: (Reserved for future use.)
72 * Associated Intrinsic:: (Reserved for future use.)
75 * ATan Intrinsic:: Arc tangent.
76 * ATan2 Intrinsic:: Arc tangent.
79 * ATan2D Intrinsic:: (Reserved for future use.)
80 * ATanD Intrinsic:: (Reserved for future use.)
83 * BesJ0 Intrinsic:: Bessel function.
84 * BesJ1 Intrinsic:: Bessel function.
85 * BesJN Intrinsic:: Bessel function.
86 * BesY0 Intrinsic:: Bessel function.
87 * BesY1 Intrinsic:: Bessel function.
88 * BesYN Intrinsic:: Bessel function.
91 * BITest Intrinsic:: (Reserved for future use.)
94 * Bit_Size Intrinsic:: Number of bits in argument's type.
97 * BJTest Intrinsic:: (Reserved for future use.)
100 * BTest Intrinsic:: Test bit.
103 * CAbs Intrinsic:: Absolute value (archaic).
104 * CCos Intrinsic:: Cosine (archaic).
107 * CDAbs Intrinsic:: Absolute value (archaic).
108 * CDCos Intrinsic:: Cosine (archaic).
109 * CDExp Intrinsic:: Exponential (archaic).
110 * CDLog Intrinsic:: Natural logarithm (archaic).
111 * CDSin Intrinsic:: Sine (archaic).
112 * CDSqRt Intrinsic:: Square root (archaic).
115 * Ceiling Intrinsic:: (Reserved for future use.)
118 * CExp Intrinsic:: Exponential (archaic).
119 * Char Intrinsic:: Character from code.
122 * ChDir Intrinsic (subroutine):: Change directory.
125 * ChDir Intrinsic (function):: Change directory.
128 * ChMod Intrinsic (subroutine):: Change file modes.
131 * ChMod Intrinsic (function):: Change file modes.
134 * CLog Intrinsic:: Natural logarithm (archaic).
135 * Cmplx Intrinsic:: Construct @code{COMPLEX(KIND=1)} value.
138 * Complex Intrinsic:: Build complex value from real and
142 * Conjg Intrinsic:: Complex conjugate.
143 * Cos Intrinsic:: Cosine.
146 * CosD Intrinsic:: (Reserved for future use.)
149 * CosH Intrinsic:: Hyperbolic cosine.
152 * Count Intrinsic:: (Reserved for future use.)
153 * CPU_Time Intrinsic:: Get current CPU time.
154 * CShift Intrinsic:: (Reserved for future use.)
157 * CSin Intrinsic:: Sine (archaic).
158 * CSqRt Intrinsic:: Square root (archaic).
161 * CTime Intrinsic (subroutine):: Convert time to Day Mon dd hh:mm:ss yyyy.
162 * CTime Intrinsic (function):: Convert time to Day Mon dd hh:mm:ss yyyy.
165 * DAbs Intrinsic:: Absolute value (archaic).
166 * DACos Intrinsic:: Arc cosine (archaic).
169 * DACosD Intrinsic:: (Reserved for future use.)
172 * DASin Intrinsic:: Arc sine (archaic).
175 * DASinD Intrinsic:: (Reserved for future use.)
178 * DATan Intrinsic:: Arc tangent (archaic).
179 * DATan2 Intrinsic:: Arc tangent (archaic).
182 * DATan2D Intrinsic:: (Reserved for future use.)
183 * DATanD Intrinsic:: (Reserved for future use.)
184 * Date Intrinsic:: Get current date as dd-Mon-yy.
187 * Date_and_Time Intrinsic:: Get the current date and time.
190 * DbesJ0 Intrinsic:: Bessel function (archaic).
191 * DbesJ1 Intrinsic:: Bessel function (archaic).
192 * DbesJN Intrinsic:: Bessel function (archaic).
193 * DbesY0 Intrinsic:: Bessel function (archaic).
194 * DbesY1 Intrinsic:: Bessel function (archaic).
195 * DbesYN Intrinsic:: Bessel function (archaic).
198 * Dble Intrinsic:: Convert to double precision.
201 * DbleQ Intrinsic:: (Reserved for future use.)
204 * DCmplx Intrinsic:: Construct @code{COMPLEX(KIND=2)} value.
205 * DConjg Intrinsic:: Complex conjugate (archaic).
208 * DCos Intrinsic:: Cosine (archaic).
211 * DCosD Intrinsic:: (Reserved for future use.)
214 * DCosH Intrinsic:: Hyperbolic cosine (archaic).
215 * DDiM Intrinsic:: Difference magnitude (archaic).
218 * DErF Intrinsic:: Error function (archaic).
219 * DErFC Intrinsic:: Complementary error function (archaic).
222 * DExp Intrinsic:: Exponential (archaic).
225 * DFloat Intrinsic:: Conversion (archaic).
228 * DFlotI Intrinsic:: (Reserved for future use.)
229 * DFlotJ Intrinsic:: (Reserved for future use.)
232 * Digits Intrinsic:: (Reserved for future use.)
235 * DiM Intrinsic:: Difference magnitude (non-negative subtract).
238 * DImag Intrinsic:: Convert/extract imaginary part of complex (archaic).
241 * DInt Intrinsic:: Truncate to whole number (archaic).
242 * DLog Intrinsic:: Natural logarithm (archaic).
243 * DLog10 Intrinsic:: Natural logarithm (archaic).
244 * DMax1 Intrinsic:: Maximum value (archaic).
245 * DMin1 Intrinsic:: Minimum value (archaic).
246 * DMod Intrinsic:: Remainder (archaic).
247 * DNInt Intrinsic:: Round to nearest whole number (archaic).
250 * Dot_Product Intrinsic:: (Reserved for future use.)
253 * DProd Intrinsic:: Double-precision product.
256 * DReal Intrinsic:: Convert value to type @code{REAL(KIND=2)}.
259 * DSign Intrinsic:: Apply sign to magnitude (archaic).
260 * DSin Intrinsic:: Sine (archaic).
263 * DSinD Intrinsic:: (Reserved for future use.)
266 * DSinH Intrinsic:: Hyperbolic sine (archaic).
267 * DSqRt Intrinsic:: Square root (archaic).
268 * DTan Intrinsic:: Tangent (archaic).
271 * DTanD Intrinsic:: (Reserved for future use.)
274 * DTanH Intrinsic:: Hyperbolic tangent (archaic).
277 * Dtime Intrinsic (subroutine):: Get elapsed time since last time.
280 * Dtime Intrinsic (function):: Get elapsed time since last time.
283 * EOShift Intrinsic:: (Reserved for future use.)
284 * Epsilon Intrinsic:: (Reserved for future use.)
287 * ErF Intrinsic:: Error function.
288 * ErFC Intrinsic:: Complementary error function.
289 * ETime Intrinsic (subroutine):: Get elapsed time for process.
290 * ETime Intrinsic (function):: Get elapsed time for process.
291 * Exit Intrinsic:: Terminate the program.
294 * Exp Intrinsic:: Exponential.
297 * Exponent Intrinsic:: (Reserved for future use.)
300 * Fdate Intrinsic (subroutine):: Get current time as Day Mon dd hh:mm:ss yyyy.
301 * Fdate Intrinsic (function):: Get current time as Day Mon dd hh:mm:ss yyyy.
302 * FGet Intrinsic (subroutine):: Read a character from unit 5 stream-wise.
305 * FGet Intrinsic (function):: Read a character from unit 5 stream-wise.
308 * FGetC Intrinsic (subroutine):: Read a character stream-wise.
311 * FGetC Intrinsic (function):: Read a character stream-wise.
314 * Float Intrinsic:: Conversion (archaic).
317 * FloatI Intrinsic:: (Reserved for future use.)
318 * FloatJ Intrinsic:: (Reserved for future use.)
321 * Floor Intrinsic:: (Reserved for future use.)
324 * Flush Intrinsic:: Flush buffered output.
325 * FNum Intrinsic:: Get file descriptor from Fortran unit number.
326 * FPut Intrinsic (subroutine):: Write a character to unit 6 stream-wise.
329 * FPut Intrinsic (function):: Write a character to unit 6 stream-wise.
332 * FPutC Intrinsic (subroutine):: Write a character stream-wise.
335 * FPutC Intrinsic (function):: Write a character stream-wise.
338 * Fraction Intrinsic:: (Reserved for future use.)
341 * FSeek Intrinsic:: Position file (low-level).
342 * FStat Intrinsic (subroutine):: Get file information.
343 * FStat Intrinsic (function):: Get file information.
344 * FTell Intrinsic (subroutine):: Get file position (low-level).
345 * FTell Intrinsic (function):: Get file position (low-level).
346 * GError Intrinsic:: Get error message for last error.
347 * GetArg Intrinsic:: Obtain command-line argument.
348 * GetCWD Intrinsic (subroutine):: Get current working directory.
349 * GetCWD Intrinsic (function):: Get current working directory.
350 * GetEnv Intrinsic:: Get environment variable.
351 * GetGId Intrinsic:: Get process group id.
352 * GetLog Intrinsic:: Get login name.
353 * GetPId Intrinsic:: Get process id.
354 * GetUId Intrinsic:: Get process user id.
355 * GMTime Intrinsic:: Convert time to GMT time info.
356 * HostNm Intrinsic (subroutine):: Get host name.
357 * HostNm Intrinsic (function):: Get host name.
360 * Huge Intrinsic:: (Reserved for future use.)
363 * IAbs Intrinsic:: Absolute value (archaic).
366 * IAChar Intrinsic:: ASCII code for character.
369 * IAnd Intrinsic:: Boolean AND.
372 * IArgC Intrinsic:: Obtain count of command-line arguments.
375 * IBClr Intrinsic:: Clear a bit.
376 * IBits Intrinsic:: Extract a bit subfield of a variable.
377 * IBSet Intrinsic:: Set a bit.
380 * IChar Intrinsic:: Code for character.
383 * IDate Intrinsic (UNIX):: Get local time info.
386 * IDate Intrinsic (VXT):: Get local time info (VAX/VMS).
389 * IDiM Intrinsic:: Difference magnitude (archaic).
390 * IDInt Intrinsic:: Convert to @code{INTEGER} value truncated
391 to whole number (archaic).
392 * IDNInt Intrinsic:: Convert to @code{INTEGER} value rounded
393 to nearest whole number (archaic).
396 * IEOr Intrinsic:: Boolean XOR.
399 * IErrNo Intrinsic:: Get error number for last error.
402 * IFix Intrinsic:: Conversion (archaic).
405 * IIAbs Intrinsic:: (Reserved for future use.)
406 * IIAnd Intrinsic:: (Reserved for future use.)
407 * IIBClr Intrinsic:: (Reserved for future use.)
408 * IIBits Intrinsic:: (Reserved for future use.)
409 * IIBSet Intrinsic:: (Reserved for future use.)
410 * IIDiM Intrinsic:: (Reserved for future use.)
411 * IIDInt Intrinsic:: (Reserved for future use.)
412 * IIDNnt Intrinsic:: (Reserved for future use.)
413 * IIEOr Intrinsic:: (Reserved for future use.)
414 * IIFix Intrinsic:: (Reserved for future use.)
415 * IInt Intrinsic:: (Reserved for future use.)
416 * IIOr Intrinsic:: (Reserved for future use.)
417 * IIQint Intrinsic:: (Reserved for future use.)
418 * IIQNnt Intrinsic:: (Reserved for future use.)
419 * IIShftC Intrinsic:: (Reserved for future use.)
420 * IISign Intrinsic:: (Reserved for future use.)
423 * Imag Intrinsic:: Extract imaginary part of complex.
426 * ImagPart Intrinsic:: Extract imaginary part of complex.
429 * IMax0 Intrinsic:: (Reserved for future use.)
430 * IMax1 Intrinsic:: (Reserved for future use.)
431 * IMin0 Intrinsic:: (Reserved for future use.)
432 * IMin1 Intrinsic:: (Reserved for future use.)
433 * IMod Intrinsic:: (Reserved for future use.)
436 * Index Intrinsic:: Locate a CHARACTER substring.
439 * INInt Intrinsic:: (Reserved for future use.)
440 * INot Intrinsic:: (Reserved for future use.)
443 * Int Intrinsic:: Convert to @code{INTEGER} value truncated
447 * Int2 Intrinsic:: Convert to @code{INTEGER(KIND=6)} value
448 truncated to whole number.
449 * Int8 Intrinsic:: Convert to @code{INTEGER(KIND=2)} value
450 truncated to whole number.
453 * IOr Intrinsic:: Boolean OR.
456 * IRand Intrinsic:: Random number.
457 * IsaTty Intrinsic:: Is unit connected to a terminal?
460 * IShft Intrinsic:: Logical bit shift.
461 * IShftC Intrinsic:: Circular bit shift.
464 * ISign Intrinsic:: Apply sign to magnitude (archaic).
467 * ITime Intrinsic:: Get local time of day.
470 * IZExt Intrinsic:: (Reserved for future use.)
471 * JIAbs Intrinsic:: (Reserved for future use.)
472 * JIAnd Intrinsic:: (Reserved for future use.)
473 * JIBClr Intrinsic:: (Reserved for future use.)
474 * JIBits Intrinsic:: (Reserved for future use.)
475 * JIBSet Intrinsic:: (Reserved for future use.)
476 * JIDiM Intrinsic:: (Reserved for future use.)
477 * JIDInt Intrinsic:: (Reserved for future use.)
478 * JIDNnt Intrinsic:: (Reserved for future use.)
479 * JIEOr Intrinsic:: (Reserved for future use.)
480 * JIFix Intrinsic:: (Reserved for future use.)
481 * JInt Intrinsic:: (Reserved for future use.)
482 * JIOr Intrinsic:: (Reserved for future use.)
483 * JIQint Intrinsic:: (Reserved for future use.)
484 * JIQNnt Intrinsic:: (Reserved for future use.)
485 * JIShft Intrinsic:: (Reserved for future use.)
486 * JIShftC Intrinsic:: (Reserved for future use.)
487 * JISign Intrinsic:: (Reserved for future use.)
488 * JMax0 Intrinsic:: (Reserved for future use.)
489 * JMax1 Intrinsic:: (Reserved for future use.)
490 * JMin0 Intrinsic:: (Reserved for future use.)
491 * JMin1 Intrinsic:: (Reserved for future use.)
492 * JMod Intrinsic:: (Reserved for future use.)
493 * JNInt Intrinsic:: (Reserved for future use.)
494 * JNot Intrinsic:: (Reserved for future use.)
495 * JZExt Intrinsic:: (Reserved for future use.)
498 * Kill Intrinsic (subroutine):: Signal a process.
501 * Kill Intrinsic (function):: Signal a process.
504 * Kind Intrinsic:: (Reserved for future use.)
505 * LBound Intrinsic:: (Reserved for future use.)
508 * Len Intrinsic:: Length of character entity.
511 * Len_Trim Intrinsic:: Get last non-blank character in string.
514 * LGe Intrinsic:: Lexically greater than or equal.
515 * LGt Intrinsic:: Lexically greater than.
518 * Link Intrinsic (subroutine):: Make hard link in file system.
521 * Link Intrinsic (function):: Make hard link in file system.
524 * LLe Intrinsic:: Lexically less than or equal.
525 * LLt Intrinsic:: Lexically less than.
528 * LnBlnk Intrinsic:: Get last non-blank character in string.
529 * Loc Intrinsic:: Address of entity in core.
532 * Log Intrinsic:: Natural logarithm.
533 * Log10 Intrinsic:: Natural logarithm.
536 * Logical Intrinsic:: (Reserved for future use.)
539 * Long Intrinsic:: Conversion to @code{INTEGER(KIND=1)} (archaic).
542 * LShift Intrinsic:: Left-shift bits.
545 * LStat Intrinsic (subroutine):: Get file information.
546 * LStat Intrinsic (function):: Get file information.
547 * LTime Intrinsic:: Convert time to local time info.
550 * MatMul Intrinsic:: (Reserved for future use.)
553 * Max Intrinsic:: Maximum value.
554 * Max0 Intrinsic:: Maximum value (archaic).
555 * Max1 Intrinsic:: Maximum value (archaic).
558 * MaxExponent Intrinsic:: (Reserved for future use.)
559 * MaxLoc Intrinsic:: (Reserved for future use.)
560 * MaxVal Intrinsic:: (Reserved for future use.)
563 * MClock Intrinsic:: Get number of clock ticks for process.
564 * MClock8 Intrinsic:: Get number of clock ticks for process.
567 * Merge Intrinsic:: (Reserved for future use.)
570 * Min Intrinsic:: Minimum value.
571 * Min0 Intrinsic:: Minimum value (archaic).
572 * Min1 Intrinsic:: Minimum value (archaic).
575 * MinExponent Intrinsic:: (Reserved for future use.)
576 * MinLoc Intrinsic:: (Reserved for future use.)
577 * MinVal Intrinsic:: (Reserved for future use.)
580 * Mod Intrinsic:: Remainder.
583 * Modulo Intrinsic:: (Reserved for future use.)
586 * MvBits Intrinsic:: Moving a bit field.
589 * Nearest Intrinsic:: (Reserved for future use.)
592 * NInt Intrinsic:: Convert to @code{INTEGER} value rounded
593 to nearest whole number.
596 * Not Intrinsic:: Boolean NOT.
599 * Or Intrinsic:: Boolean OR.
602 * Pack Intrinsic:: (Reserved for future use.)
605 * PError Intrinsic:: Print error message for last error.
608 * Precision Intrinsic:: (Reserved for future use.)
609 * Present Intrinsic:: (Reserved for future use.)
610 * Product Intrinsic:: (Reserved for future use.)
613 * QAbs Intrinsic:: (Reserved for future use.)
614 * QACos Intrinsic:: (Reserved for future use.)
615 * QACosD Intrinsic:: (Reserved for future use.)
616 * QASin Intrinsic:: (Reserved for future use.)
617 * QASinD Intrinsic:: (Reserved for future use.)
618 * QATan Intrinsic:: (Reserved for future use.)
619 * QATan2 Intrinsic:: (Reserved for future use.)
620 * QATan2D Intrinsic:: (Reserved for future use.)
621 * QATanD Intrinsic:: (Reserved for future use.)
622 * QCos Intrinsic:: (Reserved for future use.)
623 * QCosD Intrinsic:: (Reserved for future use.)
624 * QCosH Intrinsic:: (Reserved for future use.)
625 * QDiM Intrinsic:: (Reserved for future use.)
626 * QExp Intrinsic:: (Reserved for future use.)
627 * QExt Intrinsic:: (Reserved for future use.)
628 * QExtD Intrinsic:: (Reserved for future use.)
629 * QFloat Intrinsic:: (Reserved for future use.)
630 * QInt Intrinsic:: (Reserved for future use.)
631 * QLog Intrinsic:: (Reserved for future use.)
632 * QLog10 Intrinsic:: (Reserved for future use.)
633 * QMax1 Intrinsic:: (Reserved for future use.)
634 * QMin1 Intrinsic:: (Reserved for future use.)
635 * QMod Intrinsic:: (Reserved for future use.)
636 * QNInt Intrinsic:: (Reserved for future use.)
637 * QSin Intrinsic:: (Reserved for future use.)
638 * QSinD Intrinsic:: (Reserved for future use.)
639 * QSinH Intrinsic:: (Reserved for future use.)
640 * QSqRt Intrinsic:: (Reserved for future use.)
641 * QTan Intrinsic:: (Reserved for future use.)
642 * QTanD Intrinsic:: (Reserved for future use.)
643 * QTanH Intrinsic:: (Reserved for future use.)
646 * Radix Intrinsic:: (Reserved for future use.)
649 * Rand Intrinsic:: Random number.
652 * Random_Number Intrinsic:: (Reserved for future use.)
653 * Random_Seed Intrinsic:: (Reserved for future use.)
654 * Range Intrinsic:: (Reserved for future use.)
657 * Real Intrinsic:: Convert value to type @code{REAL(KIND=1)}.
660 * RealPart Intrinsic:: Extract real part of complex.
663 * Rename Intrinsic (subroutine):: Rename file.
666 * Rename Intrinsic (function):: Rename file.
669 * Repeat Intrinsic:: (Reserved for future use.)
670 * Reshape Intrinsic:: (Reserved for future use.)
671 * RRSpacing Intrinsic:: (Reserved for future use.)
674 * RShift Intrinsic:: Right-shift bits.
677 * Scale Intrinsic:: (Reserved for future use.)
678 * Scan Intrinsic:: (Reserved for future use.)
681 * Secnds Intrinsic:: Get local time offset since midnight.
684 * Second Intrinsic (function):: Get CPU time for process in seconds.
685 * Second Intrinsic (subroutine):: Get CPU time for process
689 * Selected_Int_Kind Intrinsic:: (Reserved for future use.)
690 * Selected_Real_Kind Intrinsic:: (Reserved for future use.)
691 * Set_Exponent Intrinsic:: (Reserved for future use.)
692 * Shape Intrinsic:: (Reserved for future use.)
695 * Short Intrinsic:: Convert to @code{INTEGER(KIND=6)} value
696 truncated to whole number.
699 * Sign Intrinsic:: Apply sign to magnitude.
702 * Signal Intrinsic (subroutine):: Muck with signal handling.
705 * Signal Intrinsic (function):: Muck with signal handling.
708 * Sin Intrinsic:: Sine.
711 * SinD Intrinsic:: (Reserved for future use.)
714 * SinH Intrinsic:: Hyperbolic sine.
717 * Sleep Intrinsic:: Sleep for a specified time.
720 * Sngl Intrinsic:: Convert (archaic).
723 * SnglQ Intrinsic:: (Reserved for future use.)
726 * Spacing Intrinsic:: (Reserved for future use.)
727 * Spread Intrinsic:: (Reserved for future use.)
730 * SqRt Intrinsic:: Square root.
733 * SRand Intrinsic:: Random seed.
734 * Stat Intrinsic (subroutine):: Get file information.
735 * Stat Intrinsic (function):: Get file information.
738 * Sum Intrinsic:: (Reserved for future use.)
741 * SymLnk Intrinsic (subroutine):: Make symbolic link in file system.
744 * SymLnk Intrinsic (function):: Make symbolic link in file system.
747 * System Intrinsic (subroutine):: Invoke shell (system) command.
750 * System Intrinsic (function):: Invoke shell (system) command.
753 * System_Clock Intrinsic:: Get current system clock value.
756 * Tan Intrinsic:: Tangent.
759 * TanD Intrinsic:: (Reserved for future use.)
762 * TanH Intrinsic:: Hyperbolic tangent.
765 * Time Intrinsic (UNIX):: Get current time as time value.
768 * Time Intrinsic (VXT):: Get the time as a character value.
771 * Time8 Intrinsic:: Get current time as time value.
774 * Tiny Intrinsic:: (Reserved for future use.)
775 * Transfer Intrinsic:: (Reserved for future use.)
776 * Transpose Intrinsic:: (Reserved for future use.)
777 * Trim Intrinsic:: (Reserved for future use.)
780 * TtyNam Intrinsic (subroutine):: Get name of terminal device for unit.
781 * TtyNam Intrinsic (function):: Get name of terminal device for unit.
784 * UBound Intrinsic:: (Reserved for future use.)
787 * UMask Intrinsic (subroutine):: Set file creation permissions mask.
790 * UMask Intrinsic (function):: Set file creation permissions mask.
793 * Unlink Intrinsic (subroutine):: Unlink file.
796 * Unlink Intrinsic (function):: Unlink file.
799 * Unpack Intrinsic:: (Reserved for future use.)
800 * Verify Intrinsic:: (Reserved for future use.)
803 * XOr Intrinsic:: Boolean XOR.
804 * ZAbs Intrinsic:: Absolute value (archaic).
805 * ZCos Intrinsic:: Cosine (archaic).
806 * ZExp Intrinsic:: Exponential (archaic).
809 * ZExt Intrinsic:: (Reserved for future use.)
812 * ZLog Intrinsic:: Natural logarithm (archaic).
813 * ZSin Intrinsic:: Sine (archaic).
814 * ZSqRt Intrinsic:: Square root (archaic).
819 @node Abort Intrinsic
820 @subsubsection Abort Intrinsic
821 @cindex Abort intrinsic
822 @cindex intrinsics, Abort
830 Intrinsic groups: @code{unix}.
835 Prints a message and potentially causes a core dump via @code{abort(3)}.
840 @subsubsection Abs Intrinsic
841 @cindex Abs intrinsic
842 @cindex intrinsics, Abs
850 Abs: @code{INTEGER} or @code{REAL} function.
851 The exact type depends on that of argument @var{A}---if @var{A} is
852 @code{COMPLEX}, this function's type is @code{REAL}
853 with the same @samp{KIND=} value as the type of @var{A}.
854 Otherwise, this function's type is the same as that of @var{A}.
857 @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
860 Intrinsic groups: (standard FORTRAN 77).
865 Returns the absolute value of @var{A}.
867 If @var{A} is type @code{COMPLEX}, the absolute
868 value is computed as:
871 SQRT(REALPART(@var{A})**2, IMAGPART(@var{A})**2)
875 Otherwise, it is computed by negating the @var{A} if
876 it is negative, or returning @var{A}.
878 @xref{Sign Intrinsic}, for how to explicitly
879 compute the positive or negative form of the absolute
880 value of an expression.
884 @node Access Intrinsic
885 @subsubsection Access Intrinsic
886 @cindex Access intrinsic
887 @cindex intrinsics, Access
891 Access(@var{Name}, @var{Mode})
895 Access: @code{INTEGER(KIND=1)} function.
898 @var{Name}: @code{CHARACTER}; scalar; INTENT(IN).
901 @var{Mode}: @code{CHARACTER}; scalar; INTENT(IN).
904 Intrinsic groups: @code{unix}.
909 Checks file @var{Name} for accessibility in the mode specified by @var{Mode} and
910 returns 0 if the file is accessible in that mode, otherwise an error
911 code if the file is inaccessible or @var{Mode} is invalid.
912 See @code{access(2)}.
913 A null character (@samp{CHAR(0)}) marks the end of
914 the name in @var{Name}---otherwise,
915 trailing blanks in @var{Name} are ignored.
916 @var{Mode} may be a concatenation of any of the following characters:
934 @node AChar Intrinsic
935 @subsubsection AChar Intrinsic
936 @cindex AChar intrinsic
937 @cindex intrinsics, AChar
945 AChar: @code{CHARACTER*1} function.
948 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
951 Intrinsic groups: @code{f2c}, @code{f90}.
956 Returns the ASCII character corresponding to the
957 code specified by @var{I}.
959 @xref{IAChar Intrinsic}, for the inverse of this function.
961 @xref{Char Intrinsic}, for the function corresponding
962 to the system's native character set.
967 @subsubsection ACos Intrinsic
968 @cindex ACos intrinsic
969 @cindex intrinsics, ACos
977 ACos: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
980 @var{X}: @code{REAL}; scalar; INTENT(IN).
983 Intrinsic groups: (standard FORTRAN 77).
988 Returns the arc-cosine (inverse cosine) of @var{X}
991 @xref{Cos Intrinsic}, for the inverse of this function.
995 @node ACosD Intrinsic
996 @subsubsection ACosD Intrinsic
997 @cindex ACosD intrinsic
998 @cindex intrinsics, ACosD
1000 This intrinsic is not yet implemented.
1001 The name is, however, reserved as an intrinsic.
1002 Use @samp{EXTERNAL ACosD} to use this name for an
1007 @node AdjustL Intrinsic
1008 @subsubsection AdjustL Intrinsic
1009 @cindex AdjustL intrinsic
1010 @cindex intrinsics, AdjustL
1012 This intrinsic is not yet implemented.
1013 The name is, however, reserved as an intrinsic.
1014 Use @samp{EXTERNAL AdjustL} to use this name for an
1017 @node AdjustR Intrinsic
1018 @subsubsection AdjustR Intrinsic
1019 @cindex AdjustR intrinsic
1020 @cindex intrinsics, AdjustR
1022 This intrinsic is not yet implemented.
1023 The name is, however, reserved as an intrinsic.
1024 Use @samp{EXTERNAL AdjustR} to use this name for an
1029 @node AImag Intrinsic
1030 @subsubsection AImag Intrinsic
1031 @cindex AImag intrinsic
1032 @cindex intrinsics, AImag
1040 AImag: @code{REAL} function.
1041 This intrinsic is valid when argument @var{Z} is
1042 @code{COMPLEX(KIND=1)}.
1043 When @var{Z} is any other @code{COMPLEX} type,
1044 this intrinsic is valid only when used as the argument to
1045 @code{REAL()}, as explained below.
1048 @var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
1051 Intrinsic groups: (standard FORTRAN 77).
1056 Returns the (possibly converted) imaginary part of @var{Z}.
1058 Use of @code{AIMAG()} with an argument of a type
1059 other than @code{COMPLEX(KIND=1)} is restricted to the following case:
1066 This expression converts the imaginary part of Z to
1067 @code{REAL(KIND=1)}.
1069 @xref{REAL() and AIMAG() of Complex}, for more information.
1073 @node AIMax0 Intrinsic
1074 @subsubsection AIMax0 Intrinsic
1075 @cindex AIMax0 intrinsic
1076 @cindex intrinsics, AIMax0
1078 This intrinsic is not yet implemented.
1079 The name is, however, reserved as an intrinsic.
1080 Use @samp{EXTERNAL AIMax0} to use this name for an
1083 @node AIMin0 Intrinsic
1084 @subsubsection AIMin0 Intrinsic
1085 @cindex AIMin0 intrinsic
1086 @cindex intrinsics, AIMin0
1088 This intrinsic is not yet implemented.
1089 The name is, however, reserved as an intrinsic.
1090 Use @samp{EXTERNAL AIMin0} to use this name for an
1095 @node AInt Intrinsic
1096 @subsubsection AInt Intrinsic
1097 @cindex AInt intrinsic
1098 @cindex intrinsics, AInt
1106 AInt: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{A}.
1109 @var{A}: @code{REAL}; scalar; INTENT(IN).
1112 Intrinsic groups: (standard FORTRAN 77).
1117 Returns @var{A} with the fractional portion of its
1118 magnitude truncated and its sign preserved.
1119 (Also called ``truncation towards zero''.)
1121 @xref{ANInt Intrinsic}, for how to round to nearest
1124 @xref{Int Intrinsic}, for how to truncate and then convert
1125 number to @code{INTEGER}.
1129 @node AJMax0 Intrinsic
1130 @subsubsection AJMax0 Intrinsic
1131 @cindex AJMax0 intrinsic
1132 @cindex intrinsics, AJMax0
1134 This intrinsic is not yet implemented.
1135 The name is, however, reserved as an intrinsic.
1136 Use @samp{EXTERNAL AJMax0} to use this name for an
1139 @node AJMin0 Intrinsic
1140 @subsubsection AJMin0 Intrinsic
1141 @cindex AJMin0 intrinsic
1142 @cindex intrinsics, AJMin0
1144 This intrinsic is not yet implemented.
1145 The name is, however, reserved as an intrinsic.
1146 Use @samp{EXTERNAL AJMin0} to use this name for an
1151 @node Alarm Intrinsic
1152 @subsubsection Alarm Intrinsic
1153 @cindex Alarm intrinsic
1154 @cindex intrinsics, Alarm
1158 CALL Alarm(@var{Seconds}, @var{Handler}, @var{Status})
1162 @var{Seconds}: @code{INTEGER}; scalar; INTENT(IN).
1165 @var{Handler}: Signal handler (@code{INTEGER FUNCTION} or @code{SUBROUTINE})
1166 or dummy/global @code{INTEGER(KIND=1)} scalar.
1169 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
1172 Intrinsic groups: @code{unix}.
1177 Causes external subroutine @var{Handler} to be executed after a delay of
1178 @var{Seconds} seconds by using @code{alarm(1)} to set up a signal and
1179 @code{signal(2)} to catch it.
1180 If @var{Status} is supplied, it will be
1181 returned with the number of seconds remaining until any previously
1182 scheduled alarm was due to be delivered, or zero if there was no
1183 previously scheduled alarm.
1184 @xref{Signal Intrinsic (subroutine)}.
1189 @subsubsection All Intrinsic
1190 @cindex All intrinsic
1191 @cindex intrinsics, All
1193 This intrinsic is not yet implemented.
1194 The name is, however, reserved as an intrinsic.
1195 Use @samp{EXTERNAL All} to use this name for an
1198 @node Allocated Intrinsic
1199 @subsubsection Allocated Intrinsic
1200 @cindex Allocated intrinsic
1201 @cindex intrinsics, Allocated
1203 This intrinsic is not yet implemented.
1204 The name is, however, reserved as an intrinsic.
1205 Use @samp{EXTERNAL Allocated} to use this name for an
1210 @node ALog Intrinsic
1211 @subsubsection ALog Intrinsic
1212 @cindex ALog intrinsic
1213 @cindex intrinsics, ALog
1221 ALog: @code{REAL(KIND=1)} function.
1224 @var{X}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
1227 Intrinsic groups: (standard FORTRAN 77).
1232 Archaic form of @code{LOG()} that is specific
1233 to one type for @var{X}.
1234 @xref{Log Intrinsic}.
1236 @node ALog10 Intrinsic
1237 @subsubsection ALog10 Intrinsic
1238 @cindex ALog10 intrinsic
1239 @cindex intrinsics, ALog10
1247 ALog10: @code{REAL(KIND=1)} function.
1250 @var{X}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
1253 Intrinsic groups: (standard FORTRAN 77).
1258 Archaic form of @code{LOG10()} that is specific
1259 to one type for @var{X}.
1260 @xref{Log10 Intrinsic}.
1262 @node AMax0 Intrinsic
1263 @subsubsection AMax0 Intrinsic
1264 @cindex AMax0 intrinsic
1265 @cindex intrinsics, AMax0
1269 AMax0(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
1273 AMax0: @code{REAL(KIND=1)} function.
1276 @var{A}: @code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
1279 Intrinsic groups: (standard FORTRAN 77).
1284 Archaic form of @code{MAX()} that is specific
1285 to one type for @var{A} and a different return type.
1286 @xref{Max Intrinsic}.
1288 @node AMax1 Intrinsic
1289 @subsubsection AMax1 Intrinsic
1290 @cindex AMax1 intrinsic
1291 @cindex intrinsics, AMax1
1295 AMax1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
1299 AMax1: @code{REAL(KIND=1)} function.
1302 @var{A}: @code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
1305 Intrinsic groups: (standard FORTRAN 77).
1310 Archaic form of @code{MAX()} that is specific
1311 to one type for @var{A}.
1312 @xref{Max Intrinsic}.
1314 @node AMin0 Intrinsic
1315 @subsubsection AMin0 Intrinsic
1316 @cindex AMin0 intrinsic
1317 @cindex intrinsics, AMin0
1321 AMin0(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
1325 AMin0: @code{REAL(KIND=1)} function.
1328 @var{A}: @code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
1331 Intrinsic groups: (standard FORTRAN 77).
1336 Archaic form of @code{MIN()} that is specific
1337 to one type for @var{A} and a different return type.
1338 @xref{Min Intrinsic}.
1340 @node AMin1 Intrinsic
1341 @subsubsection AMin1 Intrinsic
1342 @cindex AMin1 intrinsic
1343 @cindex intrinsics, AMin1
1347 AMin1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
1351 AMin1: @code{REAL(KIND=1)} function.
1354 @var{A}: @code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
1357 Intrinsic groups: (standard FORTRAN 77).
1362 Archaic form of @code{MIN()} that is specific
1363 to one type for @var{A}.
1364 @xref{Min Intrinsic}.
1366 @node AMod Intrinsic
1367 @subsubsection AMod Intrinsic
1368 @cindex AMod intrinsic
1369 @cindex intrinsics, AMod
1373 AMod(@var{A}, @var{P})
1377 AMod: @code{REAL(KIND=1)} function.
1380 @var{A}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
1383 @var{P}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
1386 Intrinsic groups: (standard FORTRAN 77).
1391 Archaic form of @code{MOD()} that is specific
1392 to one type for @var{A}.
1393 @xref{Mod Intrinsic}.
1398 @subsubsection And Intrinsic
1399 @cindex And intrinsic
1400 @cindex intrinsics, And
1404 And(@var{I}, @var{J})
1408 And: @code{INTEGER} or @code{LOGICAL} function, the exact type being the result of cross-promoting the
1409 types of all the arguments.
1412 @var{I}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
1415 @var{J}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
1418 Intrinsic groups: @code{f2c}.
1423 Returns value resulting from boolean AND of
1424 pair of bits in each of @var{I} and @var{J}.
1428 @node ANInt Intrinsic
1429 @subsubsection ANInt Intrinsic
1430 @cindex ANInt intrinsic
1431 @cindex intrinsics, ANInt
1439 ANInt: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{A}.
1442 @var{A}: @code{REAL}; scalar; INTENT(IN).
1445 Intrinsic groups: (standard FORTRAN 77).
1450 Returns @var{A} with the fractional portion of its
1451 magnitude eliminated by rounding to the nearest whole
1452 number and with its sign preserved.
1454 A fractional portion exactly equal to
1455 @samp{.5} is rounded to the whole number that
1456 is larger in magnitude.
1457 (Also called ``Fortran round''.)
1459 @xref{AInt Intrinsic}, for how to truncate to
1462 @xref{NInt Intrinsic}, for how to round and then convert
1463 number to @code{INTEGER}.
1468 @subsubsection Any Intrinsic
1469 @cindex Any intrinsic
1470 @cindex intrinsics, Any
1472 This intrinsic is not yet implemented.
1473 The name is, however, reserved as an intrinsic.
1474 Use @samp{EXTERNAL Any} to use this name for an
1479 @node ASin Intrinsic
1480 @subsubsection ASin Intrinsic
1481 @cindex ASin intrinsic
1482 @cindex intrinsics, ASin
1490 ASin: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1493 @var{X}: @code{REAL}; scalar; INTENT(IN).
1496 Intrinsic groups: (standard FORTRAN 77).
1501 Returns the arc-sine (inverse sine) of @var{X}
1504 @xref{Sin Intrinsic}, for the inverse of this function.
1508 @node ASinD Intrinsic
1509 @subsubsection ASinD Intrinsic
1510 @cindex ASinD intrinsic
1511 @cindex intrinsics, ASinD
1513 This intrinsic is not yet implemented.
1514 The name is, however, reserved as an intrinsic.
1515 Use @samp{EXTERNAL ASinD} to use this name for an
1520 @node Associated Intrinsic
1521 @subsubsection Associated Intrinsic
1522 @cindex Associated intrinsic
1523 @cindex intrinsics, Associated
1525 This intrinsic is not yet implemented.
1526 The name is, however, reserved as an intrinsic.
1527 Use @samp{EXTERNAL Associated} to use this name for an
1532 @node ATan Intrinsic
1533 @subsubsection ATan Intrinsic
1534 @cindex ATan intrinsic
1535 @cindex intrinsics, ATan
1543 ATan: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1546 @var{X}: @code{REAL}; scalar; INTENT(IN).
1549 Intrinsic groups: (standard FORTRAN 77).
1554 Returns the arc-tangent (inverse tangent) of @var{X}
1557 @xref{Tan Intrinsic}, for the inverse of this function.
1559 @node ATan2 Intrinsic
1560 @subsubsection ATan2 Intrinsic
1561 @cindex ATan2 intrinsic
1562 @cindex intrinsics, ATan2
1566 ATan2(@var{Y}, @var{X})
1570 ATan2: @code{REAL} function, the exact type being the result of cross-promoting the
1571 types of all the arguments.
1574 @var{Y}: @code{REAL}; scalar; INTENT(IN).
1577 @var{X}: @code{REAL}; scalar; INTENT(IN).
1580 Intrinsic groups: (standard FORTRAN 77).
1585 Returns the arc-tangent (inverse tangent) of the complex
1586 number (@var{Y}, @var{X}) in radians.
1588 @xref{Tan Intrinsic}, for the inverse of this function.
1592 @node ATan2D Intrinsic
1593 @subsubsection ATan2D Intrinsic
1594 @cindex ATan2D intrinsic
1595 @cindex intrinsics, ATan2D
1597 This intrinsic is not yet implemented.
1598 The name is, however, reserved as an intrinsic.
1599 Use @samp{EXTERNAL ATan2D} to use this name for an
1602 @node ATanD Intrinsic
1603 @subsubsection ATanD Intrinsic
1604 @cindex ATanD intrinsic
1605 @cindex intrinsics, ATanD
1607 This intrinsic is not yet implemented.
1608 The name is, however, reserved as an intrinsic.
1609 Use @samp{EXTERNAL ATanD} to use this name for an
1614 @node BesJ0 Intrinsic
1615 @subsubsection BesJ0 Intrinsic
1616 @cindex BesJ0 intrinsic
1617 @cindex intrinsics, BesJ0
1625 BesJ0: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1628 @var{X}: @code{REAL}; scalar; INTENT(IN).
1631 Intrinsic groups: @code{unix}.
1636 Calculates the Bessel function of the first kind of order 0 of @var{X}.
1637 See @code{bessel(3m)}, on whose implementation the function depends.
1638 @node BesJ1 Intrinsic
1639 @subsubsection BesJ1 Intrinsic
1640 @cindex BesJ1 intrinsic
1641 @cindex intrinsics, BesJ1
1649 BesJ1: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1652 @var{X}: @code{REAL}; scalar; INTENT(IN).
1655 Intrinsic groups: @code{unix}.
1660 Calculates the Bessel function of the first kind of order 1 of @var{X}.
1661 See @code{bessel(3m)}, on whose implementation the function depends.
1662 @node BesJN Intrinsic
1663 @subsubsection BesJN Intrinsic
1664 @cindex BesJN intrinsic
1665 @cindex intrinsics, BesJN
1669 BesJN(@var{N}, @var{X})
1673 BesJN: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1676 @var{N}: @code{INTEGER}; scalar; INTENT(IN).
1679 @var{X}: @code{REAL}; scalar; INTENT(IN).
1682 Intrinsic groups: @code{unix}.
1687 Calculates the Bessel function of the first kind of order @var{N} of @var{X}.
1688 See @code{bessel(3m)}, on whose implementation the function depends.
1689 @node BesY0 Intrinsic
1690 @subsubsection BesY0 Intrinsic
1691 @cindex BesY0 intrinsic
1692 @cindex intrinsics, BesY0
1700 BesY0: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1703 @var{X}: @code{REAL}; scalar; INTENT(IN).
1706 Intrinsic groups: @code{unix}.
1711 Calculates the Bessel function of the second kind of order 0 of @var{X}.
1712 See @code{bessel(3m)}, on whose implementation the function depends.
1713 @node BesY1 Intrinsic
1714 @subsubsection BesY1 Intrinsic
1715 @cindex BesY1 intrinsic
1716 @cindex intrinsics, BesY1
1724 BesY1: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1727 @var{X}: @code{REAL}; scalar; INTENT(IN).
1730 Intrinsic groups: @code{unix}.
1735 Calculates the Bessel function of the second kind of order 1 of @var{X}.
1736 See @code{bessel(3m)}, on whose implementation the function depends.
1737 @node BesYN Intrinsic
1738 @subsubsection BesYN Intrinsic
1739 @cindex BesYN intrinsic
1740 @cindex intrinsics, BesYN
1744 BesYN(@var{N}, @var{X})
1748 BesYN: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1751 @var{N}: @code{INTEGER}; scalar; INTENT(IN).
1754 @var{X}: @code{REAL}; scalar; INTENT(IN).
1757 Intrinsic groups: @code{unix}.
1762 Calculates the Bessel function of the second kind of order @var{N} of @var{X}.
1763 See @code{bessel(3m)}, on whose implementation the function depends.
1766 @node BITest Intrinsic
1767 @subsubsection BITest Intrinsic
1768 @cindex BITest intrinsic
1769 @cindex intrinsics, BITest
1771 This intrinsic is not yet implemented.
1772 The name is, however, reserved as an intrinsic.
1773 Use @samp{EXTERNAL BITest} to use this name for an
1778 @node Bit_Size Intrinsic
1779 @subsubsection Bit_Size Intrinsic
1780 @cindex Bit_Size intrinsic
1781 @cindex intrinsics, Bit_Size
1789 Bit_Size: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
1792 @var{I}: @code{INTEGER}; scalar.
1795 Intrinsic groups: @code{f90}.
1800 Returns the number of bits (integer precision plus sign bit)
1801 represented by the type for @var{I}.
1803 @xref{BTest Intrinsic}, for how to test the value of a
1804 bit in a variable or array.
1806 @xref{IBSet Intrinsic}, for how to set a bit in a variable to 1.
1808 @xref{IBClr Intrinsic}, for how to set a bit in a variable to 0.
1813 @node BJTest Intrinsic
1814 @subsubsection BJTest Intrinsic
1815 @cindex BJTest intrinsic
1816 @cindex intrinsics, BJTest
1818 This intrinsic is not yet implemented.
1819 The name is, however, reserved as an intrinsic.
1820 Use @samp{EXTERNAL BJTest} to use this name for an
1825 @node BTest Intrinsic
1826 @subsubsection BTest Intrinsic
1827 @cindex BTest intrinsic
1828 @cindex intrinsics, BTest
1832 BTest(@var{I}, @var{Pos})
1836 BTest: @code{LOGICAL(KIND=1)} function.
1839 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
1842 @var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
1845 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
1850 Returns @code{.TRUE.} if bit @var{Pos} in @var{I} is
1851 1, @code{.FALSE.} otherwise.
1853 (Bit 0 is the low-order (rightmost) bit, adding the value
1863 to the number if set to 1;
1864 bit 1 is the next-higher-order bit, adding
1885 @xref{Bit_Size Intrinsic}, for how to obtain the number of bits
1887 The leftmost bit of @var{I} is @samp{BIT_SIZE(@var{I}-1)}.
1891 @node CAbs Intrinsic
1892 @subsubsection CAbs Intrinsic
1893 @cindex CAbs intrinsic
1894 @cindex intrinsics, CAbs
1902 CAbs: @code{REAL(KIND=1)} function.
1905 @var{A}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
1908 Intrinsic groups: (standard FORTRAN 77).
1913 Archaic form of @code{ABS()} that is specific
1914 to one type for @var{A}.
1915 @xref{Abs Intrinsic}.
1917 @node CCos Intrinsic
1918 @subsubsection CCos Intrinsic
1919 @cindex CCos intrinsic
1920 @cindex intrinsics, CCos
1928 CCos: @code{COMPLEX(KIND=1)} function.
1931 @var{X}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
1934 Intrinsic groups: (standard FORTRAN 77).
1939 Archaic form of @code{COS()} that is specific
1940 to one type for @var{X}.
1941 @xref{Cos Intrinsic}.
1945 @node CDAbs Intrinsic
1946 @subsubsection CDAbs Intrinsic
1947 @cindex CDAbs intrinsic
1948 @cindex intrinsics, CDAbs
1956 CDAbs: @code{REAL(KIND=2)} function.
1959 @var{A}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
1962 Intrinsic groups: @code{f2c}, @code{vxt}.
1967 Archaic form of @code{ABS()} that is specific
1968 to one type for @var{A}.
1969 @xref{Abs Intrinsic}.
1971 @node CDCos Intrinsic
1972 @subsubsection CDCos Intrinsic
1973 @cindex CDCos intrinsic
1974 @cindex intrinsics, CDCos
1982 CDCos: @code{COMPLEX(KIND=2)} function.
1985 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
1988 Intrinsic groups: @code{f2c}, @code{vxt}.
1993 Archaic form of @code{COS()} that is specific
1994 to one type for @var{X}.
1995 @xref{Cos Intrinsic}.
1997 @node CDExp Intrinsic
1998 @subsubsection CDExp Intrinsic
1999 @cindex CDExp intrinsic
2000 @cindex intrinsics, CDExp
2008 CDExp: @code{COMPLEX(KIND=2)} function.
2011 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
2014 Intrinsic groups: @code{f2c}, @code{vxt}.
2019 Archaic form of @code{EXP()} that is specific
2020 to one type for @var{X}.
2021 @xref{Exp Intrinsic}.
2023 @node CDLog Intrinsic
2024 @subsubsection CDLog Intrinsic
2025 @cindex CDLog intrinsic
2026 @cindex intrinsics, CDLog
2034 CDLog: @code{COMPLEX(KIND=2)} function.
2037 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
2040 Intrinsic groups: @code{f2c}, @code{vxt}.
2045 Archaic form of @code{LOG()} that is specific
2046 to one type for @var{X}.
2047 @xref{Log Intrinsic}.
2049 @node CDSin Intrinsic
2050 @subsubsection CDSin Intrinsic
2051 @cindex CDSin intrinsic
2052 @cindex intrinsics, CDSin
2060 CDSin: @code{COMPLEX(KIND=2)} function.
2063 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
2066 Intrinsic groups: @code{f2c}, @code{vxt}.
2071 Archaic form of @code{SIN()} that is specific
2072 to one type for @var{X}.
2073 @xref{Sin Intrinsic}.
2075 @node CDSqRt Intrinsic
2076 @subsubsection CDSqRt Intrinsic
2077 @cindex CDSqRt intrinsic
2078 @cindex intrinsics, CDSqRt
2086 CDSqRt: @code{COMPLEX(KIND=2)} function.
2089 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
2092 Intrinsic groups: @code{f2c}, @code{vxt}.
2097 Archaic form of @code{SQRT()} that is specific
2098 to one type for @var{X}.
2099 @xref{SqRt Intrinsic}.
2103 @node Ceiling Intrinsic
2104 @subsubsection Ceiling Intrinsic
2105 @cindex Ceiling intrinsic
2106 @cindex intrinsics, Ceiling
2108 This intrinsic is not yet implemented.
2109 The name is, however, reserved as an intrinsic.
2110 Use @samp{EXTERNAL Ceiling} to use this name for an
2115 @node CExp Intrinsic
2116 @subsubsection CExp Intrinsic
2117 @cindex CExp intrinsic
2118 @cindex intrinsics, CExp
2126 CExp: @code{COMPLEX(KIND=1)} function.
2129 @var{X}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
2132 Intrinsic groups: (standard FORTRAN 77).
2137 Archaic form of @code{EXP()} that is specific
2138 to one type for @var{X}.
2139 @xref{Exp Intrinsic}.
2141 @node Char Intrinsic
2142 @subsubsection Char Intrinsic
2143 @cindex Char intrinsic
2144 @cindex intrinsics, Char
2152 Char: @code{CHARACTER*1} function.
2155 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
2158 Intrinsic groups: (standard FORTRAN 77).
2163 Returns the character corresponding to the
2164 code specified by @var{I}, using the system's
2165 native character set.
2167 Because the system's native character set is used,
2168 the correspondence between character and their codes
2169 is not necessarily the same between GNU Fortran
2172 Note that no intrinsic exists to convert a numerical
2173 value to a printable character string.
2174 For example, there is no intrinsic that, given
2175 an @code{INTEGER} or @code{REAL} argument with the
2176 value @samp{154}, returns the @code{CHARACTER}
2177 result @samp{'154'}.
2179 Instead, you can use internal-file I/O to do this kind
2187 WRITE (STRING, '(I10)'), VALUE
2192 The above program, when run, prints:
2198 @xref{IChar Intrinsic}, for the inverse of the @code{CHAR} function.
2200 @xref{AChar Intrinsic}, for the function corresponding
2201 to the ASCII character set.
2205 @node ChDir Intrinsic (subroutine)
2206 @subsubsection ChDir Intrinsic (subroutine)
2207 @cindex ChDir intrinsic
2208 @cindex intrinsics, ChDir
2212 CALL ChDir(@var{Dir}, @var{Status})
2216 @var{Dir}: @code{CHARACTER}; scalar; INTENT(IN).
2219 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
2222 Intrinsic groups: @code{unix}.
2227 Sets the current working directory to be @var{Dir}.
2228 If the @var{Status} argument is supplied, it contains 0
2229 on success or a non-zero error code otherwise upon return.
2230 See @code{chdir(3)}.
2232 @emph{Caution:} Using this routine during I/O to a unit connected with a
2233 non-absolute file name can cause subsequent I/O on such a unit to fail
2234 because the I/O library might reopen files by name.
2236 Some non-GNU implementations of Fortran provide this intrinsic as
2237 only a function, not as a subroutine, or do not support the
2238 (optional) @var{Status} argument.
2240 For information on other intrinsics with the same name:
2241 @xref{ChDir Intrinsic (function)}.
2245 @node ChDir Intrinsic (function)
2246 @subsubsection ChDir Intrinsic (function)
2247 @cindex ChDir intrinsic
2248 @cindex intrinsics, ChDir
2256 ChDir: @code{INTEGER(KIND=1)} function.
2259 @var{Dir}: @code{CHARACTER}; scalar; INTENT(IN).
2262 Intrinsic groups: @code{badu77}.
2267 Sets the current working directory to be @var{Dir}.
2268 Returns 0 on success or a non-zero error code.
2269 See @code{chdir(3)}.
2271 @emph{Caution:} Using this routine during I/O to a unit connected with a
2272 non-absolute file name can cause subsequent I/O on such a unit to fail
2273 because the I/O library might reopen files by name.
2275 Due to the side effects performed by this intrinsic, the function
2276 form is not recommended.
2278 For information on other intrinsics with the same name:
2279 @xref{ChDir Intrinsic (subroutine)}.
2283 @node ChMod Intrinsic (subroutine)
2284 @subsubsection ChMod Intrinsic (subroutine)
2285 @cindex ChMod intrinsic
2286 @cindex intrinsics, ChMod
2290 CALL ChMod(@var{Name}, @var{Mode}, @var{Status})
2294 @var{Name}: @code{CHARACTER}; scalar; INTENT(IN).
2297 @var{Mode}: @code{CHARACTER}; scalar; INTENT(IN).
2300 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
2303 Intrinsic groups: @code{unix}.
2308 Changes the access mode of file @var{Name} according to the
2309 specification @var{Mode}, which is given in the format of
2311 A null character (@samp{CHAR(0)}) marks the end of
2312 the name in @var{Name}---otherwise,
2313 trailing blanks in @var{Name} are ignored.
2314 Currently, @var{Name} must not contain the single quote
2317 If the @var{Status} argument is supplied, it contains
2318 0 on success or a non-zero error code upon return.
2320 Note that this currently works
2321 by actually invoking @code{/bin/chmod} (or the @code{chmod} found when
2322 the library was configured) and so might fail in some circumstances and
2323 will, anyway, be slow.
2325 Some non-GNU implementations of Fortran provide this intrinsic as
2326 only a function, not as a subroutine, or do not support the
2327 (optional) @var{Status} argument.
2329 For information on other intrinsics with the same name:
2330 @xref{ChMod Intrinsic (function)}.
2334 @node ChMod Intrinsic (function)
2335 @subsubsection ChMod Intrinsic (function)
2336 @cindex ChMod intrinsic
2337 @cindex intrinsics, ChMod
2341 ChMod(@var{Name}, @var{Mode})
2345 ChMod: @code{INTEGER(KIND=1)} function.
2348 @var{Name}: @code{CHARACTER}; scalar; INTENT(IN).
2351 @var{Mode}: @code{CHARACTER}; scalar; INTENT(IN).
2354 Intrinsic groups: @code{badu77}.
2359 Changes the access mode of file @var{Name} according to the
2360 specification @var{Mode}, which is given in the format of
2362 A null character (@samp{CHAR(0)}) marks the end of
2363 the name in @var{Name}---otherwise,
2364 trailing blanks in @var{Name} are ignored.
2365 Currently, @var{Name} must not contain the single quote
2368 Returns 0 on success or a non-zero error code otherwise.
2370 Note that this currently works
2371 by actually invoking @code{/bin/chmod} (or the @code{chmod} found when
2372 the library was configured) and so might fail in some circumstances and
2373 will, anyway, be slow.
2375 Due to the side effects performed by this intrinsic, the function
2376 form is not recommended.
2378 For information on other intrinsics with the same name:
2379 @xref{ChMod Intrinsic (subroutine)}.
2383 @node CLog Intrinsic
2384 @subsubsection CLog Intrinsic
2385 @cindex CLog intrinsic
2386 @cindex intrinsics, CLog
2394 CLog: @code{COMPLEX(KIND=1)} function.
2397 @var{X}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
2400 Intrinsic groups: (standard FORTRAN 77).
2405 Archaic form of @code{LOG()} that is specific
2406 to one type for @var{X}.
2407 @xref{Log Intrinsic}.
2409 @node Cmplx Intrinsic
2410 @subsubsection Cmplx Intrinsic
2411 @cindex Cmplx intrinsic
2412 @cindex intrinsics, Cmplx
2416 Cmplx(@var{X}, @var{Y})
2420 Cmplx: @code{COMPLEX(KIND=1)} function.
2423 @var{X}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
2426 @var{Y}: @code{INTEGER} or @code{REAL}; OPTIONAL (must be omitted if @var{X} is @code{COMPLEX}); scalar; INTENT(IN).
2429 Intrinsic groups: (standard FORTRAN 77).
2434 If @var{X} is not type @code{COMPLEX},
2435 constructs a value of type @code{COMPLEX(KIND=1)} from the
2436 real and imaginary values specified by @var{X} and
2437 @var{Y}, respectively.
2438 If @var{Y} is omitted, @samp{0.} is assumed.
2440 If @var{X} is type @code{COMPLEX},
2441 converts it to type @code{COMPLEX(KIND=1)}.
2443 @xref{Complex Intrinsic}, for information on easily constructing
2444 a @code{COMPLEX} value of arbitrary precision from @code{REAL}
2449 @node Complex Intrinsic
2450 @subsubsection Complex Intrinsic
2451 @cindex Complex intrinsic
2452 @cindex intrinsics, Complex
2456 Complex(@var{Real}, @var{Imag})
2460 Complex: @code{COMPLEX} function, the exact type being the result of cross-promoting the
2461 types of all the arguments.
2464 @var{Real}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
2467 @var{Imag}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
2470 Intrinsic groups: @code{gnu}.
2475 Returns a @code{COMPLEX} value that has @samp{Real} and @samp{Imag} as its
2476 real and imaginary parts, respectively.
2478 If @var{Real} and @var{Imag} are the same type, and that type is not
2479 @code{INTEGER}, no data conversion is performed, and the type of
2480 the resulting value has the same kind value as the types
2481 of @var{Real} and @var{Imag}.
2483 If @var{Real} and @var{Imag} are not the same type, the usual type-promotion
2484 rules are applied to both, converting either or both to the
2485 appropriate @code{REAL} type.
2486 The type of the resulting value has the same kind value as the
2487 type to which both @var{Real} and @var{Imag} were converted, in this case.
2489 If @var{Real} and @var{Imag} are both @code{INTEGER}, they are both converted
2490 to @code{REAL(KIND=1)}, and the result of the @code{COMPLEX()}
2491 invocation is type @code{COMPLEX(KIND=1)}.
2493 @emph{Note:} The way to do this in standard Fortran 90
2494 is too hairy to describe here, but it is important to
2495 note that @samp{CMPLX(D1,D2)} returns a @code{COMPLEX(KIND=1)}
2496 result even if @samp{D1} and @samp{D2} are type @code{REAL(KIND=2)}.
2497 Hence the availability of @code{COMPLEX()} in GNU Fortran.
2501 @node Conjg Intrinsic
2502 @subsubsection Conjg Intrinsic
2503 @cindex Conjg intrinsic
2504 @cindex intrinsics, Conjg
2512 Conjg: @code{COMPLEX} function, the @samp{KIND=} value of the type being that of argument @var{Z}.
2515 @var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
2518 Intrinsic groups: (standard FORTRAN 77).
2523 Returns the complex conjugate:
2526 COMPLEX(REALPART(@var{Z}), -IMAGPART(@var{Z}))
2530 @subsubsection Cos Intrinsic
2531 @cindex Cos intrinsic
2532 @cindex intrinsics, Cos
2540 Cos: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
2543 @var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
2546 Intrinsic groups: (standard FORTRAN 77).
2551 Returns the cosine of @var{X}, an angle measured
2554 @xref{ACos Intrinsic}, for the inverse of this function.
2558 @node CosD Intrinsic
2559 @subsubsection CosD Intrinsic
2560 @cindex CosD intrinsic
2561 @cindex intrinsics, CosD
2563 This intrinsic is not yet implemented.
2564 The name is, however, reserved as an intrinsic.
2565 Use @samp{EXTERNAL CosD} to use this name for an
2570 @node CosH Intrinsic
2571 @subsubsection CosH Intrinsic
2572 @cindex CosH intrinsic
2573 @cindex intrinsics, CosH
2581 CosH: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
2584 @var{X}: @code{REAL}; scalar; INTENT(IN).
2587 Intrinsic groups: (standard FORTRAN 77).
2592 Returns the hyperbolic cosine of @var{X}.
2596 @node Count Intrinsic
2597 @subsubsection Count Intrinsic
2598 @cindex Count intrinsic
2599 @cindex intrinsics, Count
2601 This intrinsic is not yet implemented.
2602 The name is, however, reserved as an intrinsic.
2603 Use @samp{EXTERNAL Count} to use this name for an
2606 @node CPU_Time Intrinsic
2607 @subsubsection CPU_Time Intrinsic
2608 @cindex CPU_Time intrinsic
2609 @cindex intrinsics, CPU_Time
2613 CALL CPU_Time(@var{Seconds})
2617 @var{Seconds}: @code{REAL}; scalar; INTENT(OUT).
2620 Intrinsic groups: @code{f90}.
2625 Returns in @var{Seconds} the current value of the system time.
2626 This implementation of the Fortran 95 intrinsic is just an alias for
2627 @code{second} @xref{Second Intrinsic (subroutine)}.
2629 @node CShift Intrinsic
2630 @subsubsection CShift Intrinsic
2631 @cindex CShift intrinsic
2632 @cindex intrinsics, CShift
2634 This intrinsic is not yet implemented.
2635 The name is, however, reserved as an intrinsic.
2636 Use @samp{EXTERNAL CShift} to use this name for an
2641 @node CSin Intrinsic
2642 @subsubsection CSin Intrinsic
2643 @cindex CSin intrinsic
2644 @cindex intrinsics, CSin
2652 CSin: @code{COMPLEX(KIND=1)} function.
2655 @var{X}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
2658 Intrinsic groups: (standard FORTRAN 77).
2663 Archaic form of @code{SIN()} that is specific
2664 to one type for @var{X}.
2665 @xref{Sin Intrinsic}.
2667 @node CSqRt Intrinsic
2668 @subsubsection CSqRt Intrinsic
2669 @cindex CSqRt intrinsic
2670 @cindex intrinsics, CSqRt
2678 CSqRt: @code{COMPLEX(KIND=1)} function.
2681 @var{X}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
2684 Intrinsic groups: (standard FORTRAN 77).
2689 Archaic form of @code{SQRT()} that is specific
2690 to one type for @var{X}.
2691 @xref{SqRt Intrinsic}.
2695 @node CTime Intrinsic (subroutine)
2696 @subsubsection CTime Intrinsic (subroutine)
2697 @cindex CTime intrinsic
2698 @cindex intrinsics, CTime
2702 CALL CTime(@var{Result}, @var{STime})
2706 @var{Result}: @code{CHARACTER}; scalar; INTENT(OUT).
2709 @var{STime}: @code{INTEGER}; scalar; INTENT(IN).
2712 Intrinsic groups: @code{unix}.
2717 Converts @var{STime}, a system time value, such as returned by
2718 @code{TIME8()}, to a string of the form @samp{Sat Aug 19 18:13:14 1995},
2719 and returns that string in @var{Result}.
2721 @xref{Time8 Intrinsic}.
2723 Some non-GNU implementations of Fortran provide this intrinsic as
2724 only a function, not as a subroutine.
2726 For information on other intrinsics with the same name:
2727 @xref{CTime Intrinsic (function)}.
2729 @node CTime Intrinsic (function)
2730 @subsubsection CTime Intrinsic (function)
2731 @cindex CTime intrinsic
2732 @cindex intrinsics, CTime
2740 CTime: @code{CHARACTER*(*)} function.
2743 @var{STime}: @code{INTEGER}; scalar; INTENT(IN).
2746 Intrinsic groups: @code{unix}.
2751 Converts @var{STime}, a system time value, such as returned by
2752 @code{TIME8()}, to a string of the form @samp{Sat Aug 19 18:13:14 1995},
2753 and returns that string as the function value.
2755 @xref{Time8 Intrinsic}.
2757 For information on other intrinsics with the same name:
2758 @xref{CTime Intrinsic (subroutine)}.
2762 @node DAbs Intrinsic
2763 @subsubsection DAbs Intrinsic
2764 @cindex DAbs intrinsic
2765 @cindex intrinsics, DAbs
2773 DAbs: @code{REAL(KIND=2)} function.
2776 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2779 Intrinsic groups: (standard FORTRAN 77).
2784 Archaic form of @code{ABS()} that is specific
2785 to one type for @var{A}.
2786 @xref{Abs Intrinsic}.
2788 @node DACos Intrinsic
2789 @subsubsection DACos Intrinsic
2790 @cindex DACos intrinsic
2791 @cindex intrinsics, DACos
2799 DACos: @code{REAL(KIND=2)} function.
2802 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2805 Intrinsic groups: (standard FORTRAN 77).
2810 Archaic form of @code{ACOS()} that is specific
2811 to one type for @var{X}.
2812 @xref{ACos Intrinsic}.
2816 @node DACosD Intrinsic
2817 @subsubsection DACosD Intrinsic
2818 @cindex DACosD intrinsic
2819 @cindex intrinsics, DACosD
2821 This intrinsic is not yet implemented.
2822 The name is, however, reserved as an intrinsic.
2823 Use @samp{EXTERNAL DACosD} to use this name for an
2828 @node DASin Intrinsic
2829 @subsubsection DASin Intrinsic
2830 @cindex DASin intrinsic
2831 @cindex intrinsics, DASin
2839 DASin: @code{REAL(KIND=2)} function.
2842 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2845 Intrinsic groups: (standard FORTRAN 77).
2850 Archaic form of @code{ASIN()} that is specific
2851 to one type for @var{X}.
2852 @xref{ASin Intrinsic}.
2856 @node DASinD Intrinsic
2857 @subsubsection DASinD Intrinsic
2858 @cindex DASinD intrinsic
2859 @cindex intrinsics, DASinD
2861 This intrinsic is not yet implemented.
2862 The name is, however, reserved as an intrinsic.
2863 Use @samp{EXTERNAL DASinD} to use this name for an
2868 @node DATan Intrinsic
2869 @subsubsection DATan Intrinsic
2870 @cindex DATan intrinsic
2871 @cindex intrinsics, DATan
2879 DATan: @code{REAL(KIND=2)} function.
2882 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2885 Intrinsic groups: (standard FORTRAN 77).
2890 Archaic form of @code{ATAN()} that is specific
2891 to one type for @var{X}.
2892 @xref{ATan Intrinsic}.
2894 @node DATan2 Intrinsic
2895 @subsubsection DATan2 Intrinsic
2896 @cindex DATan2 intrinsic
2897 @cindex intrinsics, DATan2
2901 DATan2(@var{Y}, @var{X})
2905 DATan2: @code{REAL(KIND=2)} function.
2908 @var{Y}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2911 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2914 Intrinsic groups: (standard FORTRAN 77).
2919 Archaic form of @code{ATAN2()} that is specific
2920 to one type for @var{Y} and @var{X}.
2921 @xref{ATan2 Intrinsic}.
2925 @node DATan2D Intrinsic
2926 @subsubsection DATan2D Intrinsic
2927 @cindex DATan2D intrinsic
2928 @cindex intrinsics, DATan2D
2930 This intrinsic is not yet implemented.
2931 The name is, however, reserved as an intrinsic.
2932 Use @samp{EXTERNAL DATan2D} to use this name for an
2935 @node DATanD Intrinsic
2936 @subsubsection DATanD Intrinsic
2937 @cindex DATanD intrinsic
2938 @cindex intrinsics, DATanD
2940 This intrinsic is not yet implemented.
2941 The name is, however, reserved as an intrinsic.
2942 Use @samp{EXTERNAL DATanD} to use this name for an
2945 @node Date Intrinsic
2946 @subsubsection Date Intrinsic
2947 @cindex Date intrinsic
2948 @cindex intrinsics, Date
2952 CALL Date(@var{Date})
2956 @var{Date}: @code{CHARACTER}; scalar; INTENT(OUT).
2959 Intrinsic groups: @code{vxt}.
2964 Returns @var{Date} in the form @samp{@var{dd}-@var{mmm}-@var{yy}},
2965 representing the numeric day of the month @var{dd}, a three-character
2966 abbreviation of the month name @var{mmm} and the last two digits of
2967 the year @var{yy}, e.g.@: @samp{25-Nov-96}.
2969 This intrinsic is not recommended, due to the year 2000 approaching.
2970 @xref{CTime Intrinsic (subroutine)}, for information on obtaining more digits
2971 for the current (or any) date.
2975 @node Date_and_Time Intrinsic
2976 @subsubsection Date_and_Time Intrinsic
2977 @cindex Date_and_Time intrinsic
2978 @cindex intrinsics, Date_and_Time
2982 CALL Date_and_Time(@var{Date}, @var{Time}, @var{Zone}, @var{Values})
2986 @var{Date}: @code{CHARACTER}; scalar; INTENT(OUT).
2989 @var{Time}: @code{CHARACTER}; OPTIONAL; scalar; INTENT(OUT).
2992 @var{Zone}: @code{CHARACTER}; OPTIONAL; scalar; INTENT(OUT).
2995 @var{Values}: @code{INTEGER(KIND=1)}; OPTIONAL; DIMENSION(8); INTENT(OUT).
2998 Intrinsic groups: @code{f90}.
3006 The date in the form @var{ccyymmdd}: century, year, month and day;
3008 The time in the form @samp{@var{hhmmss.ss}}: hours, minutes, seconds
3011 The difference between local time and UTC (GMT) in the form @var{Shhmm}:
3012 sign, hours and minutes, e.g.@: @samp{-0500} (winter in New York);
3014 The year, month of the year, day of the month, time difference in
3015 minutes from UTC, hour of the day, minutes of the hour and milliseconds
3016 of the second in successive values of the array.
3019 On systems where a millisecond timer isn't available, the millisecond
3020 value is returned as zero.
3024 @node DbesJ0 Intrinsic
3025 @subsubsection DbesJ0 Intrinsic
3026 @cindex DbesJ0 intrinsic
3027 @cindex intrinsics, DbesJ0
3035 DbesJ0: @code{REAL(KIND=2)} function.
3038 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3041 Intrinsic groups: @code{unix}.
3046 Archaic form of @code{BESJ0()} that is specific
3047 to one type for @var{X}.
3048 @xref{BesJ0 Intrinsic}.
3050 @node DbesJ1 Intrinsic
3051 @subsubsection DbesJ1 Intrinsic
3052 @cindex DbesJ1 intrinsic
3053 @cindex intrinsics, DbesJ1
3061 DbesJ1: @code{REAL(KIND=2)} function.
3064 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3067 Intrinsic groups: @code{unix}.
3072 Archaic form of @code{BESJ1()} that is specific
3073 to one type for @var{X}.
3074 @xref{BesJ1 Intrinsic}.
3076 @node DbesJN Intrinsic
3077 @subsubsection DbesJN Intrinsic
3078 @cindex DbesJN intrinsic
3079 @cindex intrinsics, DbesJN
3083 DbesJN(@var{N}, @var{X})
3087 DbesJN: @code{REAL(KIND=2)} function.
3090 @var{N}: @code{INTEGER}; scalar; INTENT(IN).
3093 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3096 Intrinsic groups: @code{unix}.
3101 Archaic form of @code{BESJN()} that is specific
3102 to one type for @var{X}.
3103 @xref{BesJN Intrinsic}.
3105 @node DbesY0 Intrinsic
3106 @subsubsection DbesY0 Intrinsic
3107 @cindex DbesY0 intrinsic
3108 @cindex intrinsics, DbesY0
3116 DbesY0: @code{REAL(KIND=2)} function.
3119 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3122 Intrinsic groups: @code{unix}.
3127 Archaic form of @code{BESY0()} that is specific
3128 to one type for @var{X}.
3129 @xref{BesY0 Intrinsic}.
3131 @node DbesY1 Intrinsic
3132 @subsubsection DbesY1 Intrinsic
3133 @cindex DbesY1 intrinsic
3134 @cindex intrinsics, DbesY1
3142 DbesY1: @code{REAL(KIND=2)} function.
3145 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3148 Intrinsic groups: @code{unix}.
3153 Archaic form of @code{BESY1()} that is specific
3154 to one type for @var{X}.
3155 @xref{BesY1 Intrinsic}.
3157 @node DbesYN Intrinsic
3158 @subsubsection DbesYN Intrinsic
3159 @cindex DbesYN intrinsic
3160 @cindex intrinsics, DbesYN
3164 DbesYN(@var{N}, @var{X})
3168 DbesYN: @code{REAL(KIND=2)} function.
3171 @var{N}: @code{INTEGER}; scalar; INTENT(IN).
3174 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3177 Intrinsic groups: @code{unix}.
3182 Archaic form of @code{BESYN()} that is specific
3183 to one type for @var{X}.
3184 @xref{BesYN Intrinsic}.
3188 @node Dble Intrinsic
3189 @subsubsection Dble Intrinsic
3190 @cindex Dble intrinsic
3191 @cindex intrinsics, Dble
3199 Dble: @code{REAL(KIND=2)} function.
3202 @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
3205 Intrinsic groups: (standard FORTRAN 77).
3210 Returns @var{A} converted to double precision
3211 (@code{REAL(KIND=2)}).
3212 If @var{A} is @code{COMPLEX}, the real part of
3213 @var{A} is used for the conversion
3214 and the imaginary part disregarded.
3216 @xref{Sngl Intrinsic}, for the function that converts
3217 to single precision.
3219 @xref{Int Intrinsic}, for the function that converts
3222 @xref{Complex Intrinsic}, for the function that converts
3227 @node DbleQ Intrinsic
3228 @subsubsection DbleQ Intrinsic
3229 @cindex DbleQ intrinsic
3230 @cindex intrinsics, DbleQ
3232 This intrinsic is not yet implemented.
3233 The name is, however, reserved as an intrinsic.
3234 Use @samp{EXTERNAL DbleQ} to use this name for an
3239 @node DCmplx Intrinsic
3240 @subsubsection DCmplx Intrinsic
3241 @cindex DCmplx intrinsic
3242 @cindex intrinsics, DCmplx
3246 DCmplx(@var{X}, @var{Y})
3250 DCmplx: @code{COMPLEX(KIND=2)} function.
3253 @var{X}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
3256 @var{Y}: @code{INTEGER} or @code{REAL}; OPTIONAL (must be omitted if @var{X} is @code{COMPLEX}); scalar; INTENT(IN).
3259 Intrinsic groups: @code{f2c}, @code{vxt}.
3264 If @var{X} is not type @code{COMPLEX},
3265 constructs a value of type @code{COMPLEX(KIND=2)} from the
3266 real and imaginary values specified by @var{X} and
3267 @var{Y}, respectively.
3268 If @var{Y} is omitted, @samp{0D0} is assumed.
3270 If @var{X} is type @code{COMPLEX},
3271 converts it to type @code{COMPLEX(KIND=2)}.
3273 Although this intrinsic is not standard Fortran,
3274 it is a popular extension offered by many compilers
3275 that support @code{DOUBLE COMPLEX}, since it offers
3276 the easiest way to convert to @code{DOUBLE COMPLEX}
3277 without using Fortran 90 features (such as the @samp{KIND=}
3278 argument to the @code{CMPLX()} intrinsic).
3280 (@samp{CMPLX(0D0, 0D0)} returns a single-precision
3281 @code{COMPLEX} result, as required by standard FORTRAN 77.
3282 That's why so many compilers provide @code{DCMPLX()}, since
3283 @samp{DCMPLX(0D0, 0D0)} returns a @code{DOUBLE COMPLEX}
3285 Still, @code{DCMPLX()} converts even @code{REAL*16} arguments
3286 to their @code{REAL*8} equivalents in most dialects of
3287 Fortran, so neither it nor @code{CMPLX()} allow easy
3288 construction of arbitrary-precision values without
3289 potentially forcing a conversion involving extending or
3291 GNU Fortran provides such an intrinsic, called @code{COMPLEX()}.)
3293 @xref{Complex Intrinsic}, for information on easily constructing
3294 a @code{COMPLEX} value of arbitrary precision from @code{REAL}
3297 @node DConjg Intrinsic
3298 @subsubsection DConjg Intrinsic
3299 @cindex DConjg intrinsic
3300 @cindex intrinsics, DConjg
3308 DConjg: @code{COMPLEX(KIND=2)} function.
3311 @var{Z}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
3314 Intrinsic groups: @code{f2c}, @code{vxt}.
3319 Archaic form of @code{CONJG()} that is specific
3320 to one type for @var{Z}.
3321 @xref{Conjg Intrinsic}.
3325 @node DCos Intrinsic
3326 @subsubsection DCos Intrinsic
3327 @cindex DCos intrinsic
3328 @cindex intrinsics, DCos
3336 DCos: @code{REAL(KIND=2)} function.
3339 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3342 Intrinsic groups: (standard FORTRAN 77).
3347 Archaic form of @code{COS()} that is specific
3348 to one type for @var{X}.
3349 @xref{Cos Intrinsic}.
3353 @node DCosD Intrinsic
3354 @subsubsection DCosD Intrinsic
3355 @cindex DCosD intrinsic
3356 @cindex intrinsics, DCosD
3358 This intrinsic is not yet implemented.
3359 The name is, however, reserved as an intrinsic.
3360 Use @samp{EXTERNAL DCosD} to use this name for an
3365 @node DCosH Intrinsic
3366 @subsubsection DCosH Intrinsic
3367 @cindex DCosH intrinsic
3368 @cindex intrinsics, DCosH
3376 DCosH: @code{REAL(KIND=2)} function.
3379 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3382 Intrinsic groups: (standard FORTRAN 77).
3387 Archaic form of @code{COSH()} that is specific
3388 to one type for @var{X}.
3389 @xref{CosH Intrinsic}.
3391 @node DDiM Intrinsic
3392 @subsubsection DDiM Intrinsic
3393 @cindex DDiM intrinsic
3394 @cindex intrinsics, DDiM
3398 DDiM(@var{X}, @var{Y})
3402 DDiM: @code{REAL(KIND=2)} function.
3405 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3408 @var{Y}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3411 Intrinsic groups: (standard FORTRAN 77).
3416 Archaic form of @code{DIM()} that is specific
3417 to one type for @var{X} and @var{Y}.
3418 @xref{DiM Intrinsic}.
3422 @node DErF Intrinsic
3423 @subsubsection DErF Intrinsic
3424 @cindex DErF intrinsic
3425 @cindex intrinsics, DErF
3433 DErF: @code{REAL(KIND=2)} function.
3436 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3439 Intrinsic groups: @code{unix}.
3444 Archaic form of @code{ERF()} that is specific
3445 to one type for @var{X}.
3446 @xref{ErF Intrinsic}.
3448 @node DErFC Intrinsic
3449 @subsubsection DErFC Intrinsic
3450 @cindex DErFC intrinsic
3451 @cindex intrinsics, DErFC
3459 DErFC: @code{REAL(KIND=2)} function.
3462 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3465 Intrinsic groups: @code{unix}.
3470 Archaic form of @code{ERFC()} that is specific
3471 to one type for @var{X}.
3472 @xref{ErFC Intrinsic}.
3476 @node DExp Intrinsic
3477 @subsubsection DExp Intrinsic
3478 @cindex DExp intrinsic
3479 @cindex intrinsics, DExp
3487 DExp: @code{REAL(KIND=2)} function.
3490 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3493 Intrinsic groups: (standard FORTRAN 77).
3498 Archaic form of @code{EXP()} that is specific
3499 to one type for @var{X}.
3500 @xref{Exp Intrinsic}.
3504 @node DFloat Intrinsic
3505 @subsubsection DFloat Intrinsic
3506 @cindex DFloat intrinsic
3507 @cindex intrinsics, DFloat
3515 DFloat: @code{REAL(KIND=2)} function.
3518 @var{A}: @code{INTEGER}; scalar; INTENT(IN).
3521 Intrinsic groups: @code{f2c}, @code{vxt}.
3526 Archaic form of @code{REAL()} that is specific
3527 to one type for @var{A}.
3528 @xref{Real Intrinsic}.
3532 @node DFlotI Intrinsic
3533 @subsubsection DFlotI Intrinsic
3534 @cindex DFlotI intrinsic
3535 @cindex intrinsics, DFlotI
3537 This intrinsic is not yet implemented.
3538 The name is, however, reserved as an intrinsic.
3539 Use @samp{EXTERNAL DFlotI} to use this name for an
3542 @node DFlotJ Intrinsic
3543 @subsubsection DFlotJ Intrinsic
3544 @cindex DFlotJ intrinsic
3545 @cindex intrinsics, DFlotJ
3547 This intrinsic is not yet implemented.
3548 The name is, however, reserved as an intrinsic.
3549 Use @samp{EXTERNAL DFlotJ} to use this name for an
3554 @node Digits Intrinsic
3555 @subsubsection Digits Intrinsic
3556 @cindex Digits intrinsic
3557 @cindex intrinsics, Digits
3559 This intrinsic is not yet implemented.
3560 The name is, however, reserved as an intrinsic.
3561 Use @samp{EXTERNAL Digits} to use this name for an
3567 @subsubsection DiM Intrinsic
3568 @cindex DiM intrinsic
3569 @cindex intrinsics, DiM
3573 DiM(@var{X}, @var{Y})
3577 DiM: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
3578 types of all the arguments.
3581 @var{X}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
3584 @var{Y}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
3587 Intrinsic groups: (standard FORTRAN 77).
3592 Returns @samp{@var{X}-@var{Y}} if @var{X} is greater than
3593 @var{Y}; otherwise returns zero.
3597 @node DImag Intrinsic
3598 @subsubsection DImag Intrinsic
3599 @cindex DImag intrinsic
3600 @cindex intrinsics, DImag
3608 DImag: @code{REAL(KIND=2)} function.
3611 @var{Z}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
3614 Intrinsic groups: @code{f2c}, @code{vxt}.
3619 Archaic form of @code{AIMAG()} that is specific
3620 to one type for @var{Z}.
3621 @xref{AImag Intrinsic}.
3625 @node DInt Intrinsic
3626 @subsubsection DInt Intrinsic
3627 @cindex DInt intrinsic
3628 @cindex intrinsics, DInt
3636 DInt: @code{REAL(KIND=2)} function.
3639 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3642 Intrinsic groups: (standard FORTRAN 77).
3647 Archaic form of @code{AINT()} that is specific
3648 to one type for @var{A}.
3649 @xref{AInt Intrinsic}.
3651 @node DLog Intrinsic
3652 @subsubsection DLog Intrinsic
3653 @cindex DLog intrinsic
3654 @cindex intrinsics, DLog
3662 DLog: @code{REAL(KIND=2)} function.
3665 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3668 Intrinsic groups: (standard FORTRAN 77).
3673 Archaic form of @code{LOG()} that is specific
3674 to one type for @var{X}.
3675 @xref{Log Intrinsic}.
3677 @node DLog10 Intrinsic
3678 @subsubsection DLog10 Intrinsic
3679 @cindex DLog10 intrinsic
3680 @cindex intrinsics, DLog10
3688 DLog10: @code{REAL(KIND=2)} function.
3691 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3694 Intrinsic groups: (standard FORTRAN 77).
3699 Archaic form of @code{LOG10()} that is specific
3700 to one type for @var{X}.
3701 @xref{Log10 Intrinsic}.
3703 @node DMax1 Intrinsic
3704 @subsubsection DMax1 Intrinsic
3705 @cindex DMax1 intrinsic
3706 @cindex intrinsics, DMax1
3710 DMax1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
3714 DMax1: @code{REAL(KIND=2)} function.
3717 @var{A}: @code{REAL(KIND=2)}; at least two such arguments must be provided; scalar; INTENT(IN).
3720 Intrinsic groups: (standard FORTRAN 77).
3725 Archaic form of @code{MAX()} that is specific
3726 to one type for @var{A}.
3727 @xref{Max Intrinsic}.
3729 @node DMin1 Intrinsic
3730 @subsubsection DMin1 Intrinsic
3731 @cindex DMin1 intrinsic
3732 @cindex intrinsics, DMin1
3736 DMin1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
3740 DMin1: @code{REAL(KIND=2)} function.
3743 @var{A}: @code{REAL(KIND=2)}; at least two such arguments must be provided; scalar; INTENT(IN).
3746 Intrinsic groups: (standard FORTRAN 77).
3751 Archaic form of @code{MIN()} that is specific
3752 to one type for @var{A}.
3753 @xref{Min Intrinsic}.
3755 @node DMod Intrinsic
3756 @subsubsection DMod Intrinsic
3757 @cindex DMod intrinsic
3758 @cindex intrinsics, DMod
3762 DMod(@var{A}, @var{P})
3766 DMod: @code{REAL(KIND=2)} function.
3769 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3772 @var{P}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3775 Intrinsic groups: (standard FORTRAN 77).
3780 Archaic form of @code{MOD()} that is specific
3781 to one type for @var{A}.
3782 @xref{Mod Intrinsic}.
3784 @node DNInt Intrinsic
3785 @subsubsection DNInt Intrinsic
3786 @cindex DNInt intrinsic
3787 @cindex intrinsics, DNInt
3795 DNInt: @code{REAL(KIND=2)} function.
3798 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3801 Intrinsic groups: (standard FORTRAN 77).
3806 Archaic form of @code{ANINT()} that is specific
3807 to one type for @var{A}.
3808 @xref{ANInt Intrinsic}.
3812 @node Dot_Product Intrinsic
3813 @subsubsection Dot_Product Intrinsic
3814 @cindex Dot_Product intrinsic
3815 @cindex intrinsics, Dot_Product
3817 This intrinsic is not yet implemented.
3818 The name is, however, reserved as an intrinsic.
3819 Use @samp{EXTERNAL Dot_Product} to use this name for an
3824 @node DProd Intrinsic
3825 @subsubsection DProd Intrinsic
3826 @cindex DProd intrinsic
3827 @cindex intrinsics, DProd
3831 DProd(@var{X}, @var{Y})
3835 DProd: @code{REAL(KIND=2)} function.
3838 @var{X}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
3841 @var{Y}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
3844 Intrinsic groups: (standard FORTRAN 77).
3849 Returns @samp{DBLE(@var{X})*DBLE(@var{Y})}.
3853 @node DReal Intrinsic
3854 @subsubsection DReal Intrinsic
3855 @cindex DReal intrinsic
3856 @cindex intrinsics, DReal
3864 DReal: @code{REAL(KIND=2)} function.
3867 @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
3870 Intrinsic groups: @code{vxt}.
3875 Converts @var{A} to @code{REAL(KIND=2)}.
3877 If @var{A} is type @code{COMPLEX}, its real part
3878 is converted (if necessary) to @code{REAL(KIND=2)},
3879 and its imaginary part is disregarded.
3881 Although this intrinsic is not standard Fortran,
3882 it is a popular extension offered by many compilers
3883 that support @code{DOUBLE COMPLEX}, since it offers
3884 the easiest way to extract the real part of a @code{DOUBLE COMPLEX}
3885 value without using the Fortran 90 @code{REAL()} intrinsic
3886 in a way that produces a return value inconsistent with
3887 the way many FORTRAN 77 compilers handle @code{REAL()} of
3888 a @code{DOUBLE COMPLEX} value.
3890 @xref{RealPart Intrinsic}, for information on a GNU Fortran
3891 intrinsic that avoids these areas of confusion.
3893 @xref{Dble Intrinsic}, for information on the standard FORTRAN 77
3894 replacement for @code{DREAL()}.
3896 @xref{REAL() and AIMAG() of Complex}, for more information on
3901 @node DSign Intrinsic
3902 @subsubsection DSign Intrinsic
3903 @cindex DSign intrinsic
3904 @cindex intrinsics, DSign
3908 DSign(@var{A}, @var{B})
3912 DSign: @code{REAL(KIND=2)} function.
3915 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3918 @var{B}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3921 Intrinsic groups: (standard FORTRAN 77).
3926 Archaic form of @code{SIGN()} that is specific
3927 to one type for @var{A} and @var{B}.
3928 @xref{Sign Intrinsic}.
3930 @node DSin Intrinsic
3931 @subsubsection DSin Intrinsic
3932 @cindex DSin intrinsic
3933 @cindex intrinsics, DSin
3941 DSin: @code{REAL(KIND=2)} function.
3944 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3947 Intrinsic groups: (standard FORTRAN 77).
3952 Archaic form of @code{SIN()} that is specific
3953 to one type for @var{X}.
3954 @xref{Sin Intrinsic}.
3958 @node DSinD Intrinsic
3959 @subsubsection DSinD Intrinsic
3960 @cindex DSinD intrinsic
3961 @cindex intrinsics, DSinD
3963 This intrinsic is not yet implemented.
3964 The name is, however, reserved as an intrinsic.
3965 Use @samp{EXTERNAL DSinD} to use this name for an
3970 @node DSinH Intrinsic
3971 @subsubsection DSinH Intrinsic
3972 @cindex DSinH intrinsic
3973 @cindex intrinsics, DSinH
3981 DSinH: @code{REAL(KIND=2)} function.
3984 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3987 Intrinsic groups: (standard FORTRAN 77).
3992 Archaic form of @code{SINH()} that is specific
3993 to one type for @var{X}.
3994 @xref{SinH Intrinsic}.
3996 @node DSqRt Intrinsic
3997 @subsubsection DSqRt Intrinsic
3998 @cindex DSqRt intrinsic
3999 @cindex intrinsics, DSqRt
4007 DSqRt: @code{REAL(KIND=2)} function.
4010 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
4013 Intrinsic groups: (standard FORTRAN 77).
4018 Archaic form of @code{SQRT()} that is specific
4019 to one type for @var{X}.
4020 @xref{SqRt Intrinsic}.
4022 @node DTan Intrinsic
4023 @subsubsection DTan Intrinsic
4024 @cindex DTan intrinsic
4025 @cindex intrinsics, DTan
4033 DTan: @code{REAL(KIND=2)} function.
4036 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
4039 Intrinsic groups: (standard FORTRAN 77).
4044 Archaic form of @code{TAN()} that is specific
4045 to one type for @var{X}.
4046 @xref{Tan Intrinsic}.
4050 @node DTanD Intrinsic
4051 @subsubsection DTanD Intrinsic
4052 @cindex DTanD intrinsic
4053 @cindex intrinsics, DTanD
4055 This intrinsic is not yet implemented.
4056 The name is, however, reserved as an intrinsic.
4057 Use @samp{EXTERNAL DTanD} to use this name for an
4062 @node DTanH Intrinsic
4063 @subsubsection DTanH Intrinsic
4064 @cindex DTanH intrinsic
4065 @cindex intrinsics, DTanH
4073 DTanH: @code{REAL(KIND=2)} function.
4076 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
4079 Intrinsic groups: (standard FORTRAN 77).
4084 Archaic form of @code{TANH()} that is specific
4085 to one type for @var{X}.
4086 @xref{TanH Intrinsic}.
4090 @node Dtime Intrinsic (subroutine)
4091 @subsubsection Dtime Intrinsic (subroutine)
4092 @cindex Dtime intrinsic
4093 @cindex intrinsics, Dtime
4097 CALL Dtime(@var{Result}, @var{TArray})
4101 @var{Result}: @code{REAL(KIND=1)}; scalar; INTENT(OUT).
4104 @var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
4107 Intrinsic groups: @code{unix}.
4112 Initially, return the number of seconds of runtime
4113 since the start of the process's execution
4115 and the user and system components of this in @samp{@var{TArray}(1)}
4116 and @samp{@var{TArray}(2)} respectively.
4117 The value of @var{Result} is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
4119 Subsequent invocations of @samp{DTIME()} set values based on accumulations
4120 since the previous invocation.
4122 Some non-GNU implementations of Fortran provide this intrinsic as
4123 only a function, not as a subroutine.
4125 For information on other intrinsics with the same name:
4126 @xref{Dtime Intrinsic (function)}.
4130 @node Dtime Intrinsic (function)
4131 @subsubsection Dtime Intrinsic (function)
4132 @cindex Dtime intrinsic
4133 @cindex intrinsics, Dtime
4141 Dtime: @code{REAL(KIND=1)} function.
4144 @var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
4147 Intrinsic groups: @code{badu77}.
4152 Initially, return the number of seconds of runtime
4153 since the start of the process's execution
4154 as the function value,
4155 and the user and system components of this in @samp{@var{TArray}(1)}
4156 and @samp{@var{TArray}(2)} respectively.
4157 The functions' value is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
4159 Subsequent invocations of @samp{DTIME()} return values accumulated since the
4160 previous invocation.
4162 Due to the side effects performed by this intrinsic, the function
4163 form is not recommended.
4165 For information on other intrinsics with the same name:
4166 @xref{Dtime Intrinsic (subroutine)}.
4170 @node EOShift Intrinsic
4171 @subsubsection EOShift Intrinsic
4172 @cindex EOShift intrinsic
4173 @cindex intrinsics, EOShift
4175 This intrinsic is not yet implemented.
4176 The name is, however, reserved as an intrinsic.
4177 Use @samp{EXTERNAL EOShift} to use this name for an
4180 @node Epsilon Intrinsic
4181 @subsubsection Epsilon Intrinsic
4182 @cindex Epsilon intrinsic
4183 @cindex intrinsics, Epsilon
4185 This intrinsic is not yet implemented.
4186 The name is, however, reserved as an intrinsic.
4187 Use @samp{EXTERNAL Epsilon} to use this name for an
4193 @subsubsection ErF Intrinsic
4194 @cindex ErF intrinsic
4195 @cindex intrinsics, ErF
4203 ErF: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
4206 @var{X}: @code{REAL}; scalar; INTENT(IN).
4209 Intrinsic groups: @code{unix}.
4214 Returns the error function of @var{X}.
4215 See @code{erf(3m)}, which provides the implementation.
4217 @node ErFC Intrinsic
4218 @subsubsection ErFC Intrinsic
4219 @cindex ErFC intrinsic
4220 @cindex intrinsics, ErFC
4228 ErFC: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
4231 @var{X}: @code{REAL}; scalar; INTENT(IN).
4234 Intrinsic groups: @code{unix}.
4239 Returns the complementary error function of @var{X}:
4240 @samp{ERFC(R) = 1 - ERF(R)} (except that the result might be more
4241 accurate than explicitly evaluating that formulae would give).
4242 See @code{erfc(3m)}, which provides the implementation.
4244 @node ETime Intrinsic (subroutine)
4245 @subsubsection ETime Intrinsic (subroutine)
4246 @cindex ETime intrinsic
4247 @cindex intrinsics, ETime
4251 CALL ETime(@var{Result}, @var{TArray})
4255 @var{Result}: @code{REAL(KIND=1)}; scalar; INTENT(OUT).
4258 @var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
4261 Intrinsic groups: @code{unix}.
4266 Return the number of seconds of runtime
4267 since the start of the process's execution
4269 and the user and system components of this in @samp{@var{TArray}(1)}
4270 and @samp{@var{TArray}(2)} respectively.
4271 The value of @var{Result} is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
4273 Some non-GNU implementations of Fortran provide this intrinsic as
4274 only a function, not as a subroutine.
4276 For information on other intrinsics with the same name:
4277 @xref{ETime Intrinsic (function)}.
4279 @node ETime Intrinsic (function)
4280 @subsubsection ETime Intrinsic (function)
4281 @cindex ETime intrinsic
4282 @cindex intrinsics, ETime
4290 ETime: @code{REAL(KIND=1)} function.
4293 @var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
4296 Intrinsic groups: @code{unix}.
4301 Return the number of seconds of runtime
4302 since the start of the process's execution
4303 as the function value,
4304 and the user and system components of this in @samp{@var{TArray}(1)}
4305 and @samp{@var{TArray}(2)} respectively.
4306 The functions' value is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
4308 For information on other intrinsics with the same name:
4309 @xref{ETime Intrinsic (subroutine)}.
4311 @node Exit Intrinsic
4312 @subsubsection Exit Intrinsic
4313 @cindex Exit intrinsic
4314 @cindex intrinsics, Exit
4318 CALL Exit(@var{Status})
4322 @var{Status}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN).
4325 Intrinsic groups: @code{unix}.
4330 Exit the program with status @var{Status} after closing open Fortran
4331 I/O units and otherwise behaving as @code{exit(2)}.
4332 If @var{Status} is omitted the canonical `success' value
4333 will be returned to the system.
4338 @subsubsection Exp Intrinsic
4339 @cindex Exp intrinsic
4340 @cindex intrinsics, Exp
4348 Exp: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
4351 @var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
4354 Intrinsic groups: (standard FORTRAN 77).
4359 Returns @samp{@var{e}**@var{X}}, where
4360 @var{e} is approximately 2.7182818.
4362 @xref{Log Intrinsic}, for the inverse of this function.
4366 @node Exponent Intrinsic
4367 @subsubsection Exponent Intrinsic
4368 @cindex Exponent intrinsic
4369 @cindex intrinsics, Exponent
4371 This intrinsic is not yet implemented.
4372 The name is, however, reserved as an intrinsic.
4373 Use @samp{EXTERNAL Exponent} to use this name for an
4378 @node Fdate Intrinsic (subroutine)
4379 @subsubsection Fdate Intrinsic (subroutine)
4380 @cindex Fdate intrinsic
4381 @cindex intrinsics, Fdate
4385 CALL Fdate(@var{Date})
4389 @var{Date}: @code{CHARACTER}; scalar; INTENT(OUT).
4392 Intrinsic groups: @code{unix}.
4397 Returns the current date (using the same format as @code{CTIME()})
4403 CALL CTIME(@var{Date}, TIME8())
4406 @xref{CTime Intrinsic (subroutine)}.
4408 Some non-GNU implementations of Fortran provide this intrinsic as
4409 only a function, not as a subroutine.
4411 For information on other intrinsics with the same name:
4412 @xref{Fdate Intrinsic (function)}.
4414 @node Fdate Intrinsic (function)
4415 @subsubsection Fdate Intrinsic (function)
4416 @cindex Fdate intrinsic
4417 @cindex intrinsics, Fdate
4425 Fdate: @code{CHARACTER*(*)} function.
4428 Intrinsic groups: @code{unix}.
4433 Returns the current date (using the same format as @code{CTIME()}).
4441 @xref{CTime Intrinsic (function)}.
4443 For information on other intrinsics with the same name:
4444 @xref{Fdate Intrinsic (subroutine)}.
4446 @node FGet Intrinsic (subroutine)
4447 @subsubsection FGet Intrinsic (subroutine)
4448 @cindex FGet intrinsic
4449 @cindex intrinsics, FGet
4453 CALL FGet(@var{C}, @var{Status})
4457 @var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
4460 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
4463 Intrinsic groups: @code{unix}.
4468 Reads a single character into @var{C} in stream mode from unit 5
4469 (by-passing normal formatted output) using @code{getc(3)}.
4471 @var{Status} 0 on success, @minus{}1 on end-of-file, and the error code
4472 from @code{ferror(3)} otherwise.
4474 Stream I/O should not be mixed with normal record-oriented (formatted or
4475 unformatted) I/O on the same unit; the results are unpredictable.
4477 For information on other intrinsics with the same name:
4478 @xref{FGet Intrinsic (function)}.
4482 @node FGet Intrinsic (function)
4483 @subsubsection FGet Intrinsic (function)
4484 @cindex FGet intrinsic
4485 @cindex intrinsics, FGet
4493 FGet: @code{INTEGER(KIND=1)} function.
4496 @var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
4499 Intrinsic groups: @code{badu77}.
4504 Reads a single character into @var{C} in stream mode from unit 5
4505 (by-passing normal formatted input) using @code{getc(3)}.
4507 success, @minus{}1 on end-of-file, and the error code from
4508 @code{ferror(3)} otherwise.
4510 Stream I/O should not be mixed with normal record-oriented (formatted or
4511 unformatted) I/O on the same unit; the results are unpredictable.
4513 For information on other intrinsics with the same name:
4514 @xref{FGet Intrinsic (subroutine)}.
4518 @node FGetC Intrinsic (subroutine)
4519 @subsubsection FGetC Intrinsic (subroutine)
4520 @cindex FGetC intrinsic
4521 @cindex intrinsics, FGetC
4525 CALL FGetC(@var{Unit}, @var{C}, @var{Status})
4529 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4532 @var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
4535 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
4538 Intrinsic groups: @code{unix}.
4543 Reads a single character into @var{C} in stream mode from unit @var{Unit}
4544 (by-passing normal formatted output) using @code{getc(3)}.
4546 @var{Status} 0 on success, @minus{}1 on end-of-file, and the error code from
4547 @code{ferror(3)} otherwise.
4549 Stream I/O should not be mixed with normal record-oriented (formatted or
4550 unformatted) I/O on the same unit; the results are unpredictable.
4552 For information on other intrinsics with the same name:
4553 @xref{FGetC Intrinsic (function)}.
4557 @node FGetC Intrinsic (function)
4558 @subsubsection FGetC Intrinsic (function)
4559 @cindex FGetC intrinsic
4560 @cindex intrinsics, FGetC
4564 FGetC(@var{Unit}, @var{C})
4568 FGetC: @code{INTEGER(KIND=1)} function.
4571 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4574 @var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
4577 Intrinsic groups: @code{badu77}.
4582 Reads a single character into @var{C} in stream mode from unit @var{Unit}
4583 (by-passing normal formatted output) using @code{getc(3)}.
4585 success, @minus{}1 on end-of-file, and the error code from
4586 @code{ferror(3)} otherwise.
4588 Stream I/O should not be mixed with normal record-oriented (formatted or
4589 unformatted) I/O on the same unit; the results are unpredictable.
4591 For information on other intrinsics with the same name:
4592 @xref{FGetC Intrinsic (subroutine)}.
4596 @node Float Intrinsic
4597 @subsubsection Float Intrinsic
4598 @cindex Float intrinsic
4599 @cindex intrinsics, Float
4607 Float: @code{REAL(KIND=1)} function.
4610 @var{A}: @code{INTEGER}; scalar; INTENT(IN).
4613 Intrinsic groups: (standard FORTRAN 77).
4618 Archaic form of @code{REAL()} that is specific
4619 to one type for @var{A}.
4620 @xref{Real Intrinsic}.
4624 @node FloatI Intrinsic
4625 @subsubsection FloatI Intrinsic
4626 @cindex FloatI intrinsic
4627 @cindex intrinsics, FloatI
4629 This intrinsic is not yet implemented.
4630 The name is, however, reserved as an intrinsic.
4631 Use @samp{EXTERNAL FloatI} to use this name for an
4634 @node FloatJ Intrinsic
4635 @subsubsection FloatJ Intrinsic
4636 @cindex FloatJ intrinsic
4637 @cindex intrinsics, FloatJ
4639 This intrinsic is not yet implemented.
4640 The name is, however, reserved as an intrinsic.
4641 Use @samp{EXTERNAL FloatJ} to use this name for an
4646 @node Floor Intrinsic
4647 @subsubsection Floor Intrinsic
4648 @cindex Floor intrinsic
4649 @cindex intrinsics, Floor
4651 This intrinsic is not yet implemented.
4652 The name is, however, reserved as an intrinsic.
4653 Use @samp{EXTERNAL Floor} to use this name for an
4658 @node Flush Intrinsic
4659 @subsubsection Flush Intrinsic
4660 @cindex Flush intrinsic
4661 @cindex intrinsics, Flush
4665 CALL Flush(@var{Unit})
4669 @var{Unit}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN).
4672 Intrinsic groups: @code{unix}.
4677 Flushes Fortran unit(s) currently open for output.
4678 Without the optional argument, all such units are flushed,
4679 otherwise just the unit specified by @var{Unit}.
4681 Some non-GNU implementations of Fortran provide this intrinsic
4682 as a library procedure that might or might not support the
4683 (optional) @var{Unit} argument.
4685 @node FNum Intrinsic
4686 @subsubsection FNum Intrinsic
4687 @cindex FNum intrinsic
4688 @cindex intrinsics, FNum
4696 FNum: @code{INTEGER(KIND=1)} function.
4699 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4702 Intrinsic groups: @code{unix}.
4707 Returns the Unix file descriptor number corresponding to the open
4708 Fortran I/O unit @var{Unit}.
4709 This could be passed to an interface to C I/O routines.
4711 @node FPut Intrinsic (subroutine)
4712 @subsubsection FPut Intrinsic (subroutine)
4713 @cindex FPut intrinsic
4714 @cindex intrinsics, FPut
4718 CALL FPut(@var{C}, @var{Status})
4722 @var{C}: @code{CHARACTER}; scalar; INTENT(IN).
4725 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
4728 Intrinsic groups: @code{unix}.
4733 Writes the single character @var{C} in stream mode to unit 6
4734 (by-passing normal formatted output) using @code{putc(3)}.
4736 @var{Status} 0 on success, the error code from @code{ferror(3)} otherwise.
4738 Stream I/O should not be mixed with normal record-oriented (formatted or
4739 unformatted) I/O on the same unit; the results are unpredictable.
4741 For information on other intrinsics with the same name:
4742 @xref{FPut Intrinsic (function)}.
4746 @node FPut Intrinsic (function)
4747 @subsubsection FPut Intrinsic (function)
4748 @cindex FPut intrinsic
4749 @cindex intrinsics, FPut
4757 FPut: @code{INTEGER(KIND=1)} function.
4760 @var{C}: @code{CHARACTER}; scalar; INTENT(IN).
4763 Intrinsic groups: @code{badu77}.
4768 Writes the single character @var{C} in stream mode to unit 6
4769 (by-passing normal formatted output) using @code{getc(3)}.
4771 success, the error code from @code{ferror(3)} otherwise.
4773 Stream I/O should not be mixed with normal record-oriented (formatted or
4774 unformatted) I/O on the same unit; the results are unpredictable.
4776 For information on other intrinsics with the same name:
4777 @xref{FPut Intrinsic (subroutine)}.
4781 @node FPutC Intrinsic (subroutine)
4782 @subsubsection FPutC Intrinsic (subroutine)
4783 @cindex FPutC intrinsic
4784 @cindex intrinsics, FPutC
4788 CALL FPutC(@var{Unit}, @var{C}, @var{Status})
4792 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4795 @var{C}: @code{CHARACTER}; scalar; INTENT(IN).
4798 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
4801 Intrinsic groups: @code{unix}.
4806 Writes the single character @var{Unit} in stream mode to unit 6
4807 (by-passing normal formatted output) using @code{putc(3)}.
4809 @var{C} 0 on success, the error code from @code{ferror(3)} otherwise.
4811 Stream I/O should not be mixed with normal record-oriented (formatted or
4812 unformatted) I/O on the same unit; the results are unpredictable.
4814 For information on other intrinsics with the same name:
4815 @xref{FPutC Intrinsic (function)}.
4819 @node FPutC Intrinsic (function)
4820 @subsubsection FPutC Intrinsic (function)
4821 @cindex FPutC intrinsic
4822 @cindex intrinsics, FPutC
4826 FPutC(@var{Unit}, @var{C})
4830 FPutC: @code{INTEGER(KIND=1)} function.
4833 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4836 @var{C}: @code{CHARACTER}; scalar; INTENT(IN).
4839 Intrinsic groups: @code{badu77}.
4844 Writes the single character @var{C} in stream mode to unit @var{Unit}
4845 (by-passing normal formatted output) using @code{putc(3)}.
4847 success, the error code from @code{ferror(3)} otherwise.
4849 Stream I/O should not be mixed with normal record-oriented (formatted or
4850 unformatted) I/O on the same unit; the results are unpredictable.
4852 For information on other intrinsics with the same name:
4853 @xref{FPutC Intrinsic (subroutine)}.
4857 @node Fraction Intrinsic
4858 @subsubsection Fraction Intrinsic
4859 @cindex Fraction intrinsic
4860 @cindex intrinsics, Fraction
4862 This intrinsic is not yet implemented.
4863 The name is, however, reserved as an intrinsic.
4864 Use @samp{EXTERNAL Fraction} to use this name for an
4869 @node FSeek Intrinsic
4870 @subsubsection FSeek Intrinsic
4871 @cindex FSeek intrinsic
4872 @cindex intrinsics, FSeek
4876 CALL FSeek(@var{Unit}, @var{Offset}, @var{Whence}, @var{ErrLab})
4880 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4883 @var{Offset}: @code{INTEGER}; scalar; INTENT(IN).
4886 @var{Whence}: @code{INTEGER}; scalar; INTENT(IN).
4889 @var{ErrLab}: @samp{*@var{label}}, where @var{label} is the label
4890 of an executable statement; OPTIONAL.
4893 Intrinsic groups: @code{unix}.
4898 Attempts to move Fortran unit @var{Unit} to the specified
4899 @var{Offset}: absolute offset if @var{Whence}=0; relative to the
4900 current offset if @var{Whence}=1; relative to the end of the file if
4902 It branches to label @var{ErrLab} if @var{Unit} is
4903 not open or if the call otherwise fails.
4905 @node FStat Intrinsic (subroutine)
4906 @subsubsection FStat Intrinsic (subroutine)
4907 @cindex FStat intrinsic
4908 @cindex intrinsics, FStat
4912 CALL FStat(@var{Unit}, @var{SArray}, @var{Status})
4916 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4919 @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
4922 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
4925 Intrinsic groups: @code{unix}.
4930 Obtains data about the file open on Fortran I/O unit @var{Unit} and
4931 places them in the array @var{SArray}.
4932 The values in this array are
4933 extracted from the @code{stat} structure as returned by
4934 @code{fstat(2)} q.v., as follows:
4944 ID of device containing directory entry for file
4947 Device id (if relevant)
4965 Last modification time
4968 Last file status change time
4971 Preferred I/O block size
4974 Number of blocks allocated
4977 Not all these elements are relevant on all systems.
4978 If an element is not relevant, it is returned as 0.
4980 If the @var{Status} argument is supplied, it contains
4981 0 on success or a non-zero error code upon return.
4983 Some non-GNU implementations of Fortran provide this intrinsic as
4984 only a function, not as a subroutine, or do not support the
4985 (optional) @var{Status} argument.
4987 For information on other intrinsics with the same name:
4988 @xref{FStat Intrinsic (function)}.
4990 @node FStat Intrinsic (function)
4991 @subsubsection FStat Intrinsic (function)
4992 @cindex FStat intrinsic
4993 @cindex intrinsics, FStat
4997 FStat(@var{Unit}, @var{SArray})
5001 FStat: @code{INTEGER(KIND=1)} function.
5004 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
5007 @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
5010 Intrinsic groups: @code{unix}.
5015 Obtains data about the file open on Fortran I/O unit @var{Unit} and
5016 places them in the array @var{SArray}.
5017 The values in this array are
5018 extracted from the @code{stat} structure as returned by
5019 @code{fstat(2)} q.v., as follows:
5029 ID of device containing directory entry for file
5032 Device id (if relevant)
5050 Last modification time
5053 Last file status change time
5056 Preferred I/O block size
5059 Number of blocks allocated
5062 Not all these elements are relevant on all systems.
5063 If an element is not relevant, it is returned as 0.
5065 Returns 0 on success or a non-zero error code.
5067 For information on other intrinsics with the same name:
5068 @xref{FStat Intrinsic (subroutine)}.
5070 @node FTell Intrinsic (subroutine)
5071 @subsubsection FTell Intrinsic (subroutine)
5072 @cindex FTell intrinsic
5073 @cindex intrinsics, FTell
5077 CALL FTell(@var{Unit}, @var{Offset})
5081 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
5084 @var{Offset}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
5087 Intrinsic groups: @code{unix}.
5092 Sets @var{Offset} to the current offset of Fortran unit @var{Unit}
5093 (or to @minus{}1 if @var{Unit} is not open).
5095 Some non-GNU implementations of Fortran provide this intrinsic as
5096 only a function, not as a subroutine.
5098 For information on other intrinsics with the same name:
5099 @xref{FTell Intrinsic (function)}.
5101 @node FTell Intrinsic (function)
5102 @subsubsection FTell Intrinsic (function)
5103 @cindex FTell intrinsic
5104 @cindex intrinsics, FTell
5112 FTell: @code{INTEGER(KIND=1)} function.
5115 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
5118 Intrinsic groups: @code{unix}.
5123 Returns the current offset of Fortran unit @var{Unit}
5124 (or @minus{}1 if @var{Unit} is not open).
5126 For information on other intrinsics with the same name:
5127 @xref{FTell Intrinsic (subroutine)}.
5129 @node GError Intrinsic
5130 @subsubsection GError Intrinsic
5131 @cindex GError intrinsic
5132 @cindex intrinsics, GError
5136 CALL GError(@var{Message})
5140 @var{Message}: @code{CHARACTER}; scalar; INTENT(OUT).
5143 Intrinsic groups: @code{unix}.
5148 Returns the system error message corresponding to the last system
5149 error (C @code{errno}).
5151 @node GetArg Intrinsic
5152 @subsubsection GetArg Intrinsic
5153 @cindex GetArg intrinsic
5154 @cindex intrinsics, GetArg
5158 CALL GetArg(@var{Pos}, @var{Value})
5162 @var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
5165 @var{Value}: @code{CHARACTER}; scalar; INTENT(OUT).
5168 Intrinsic groups: @code{unix}.
5173 Sets @var{Value} to the @var{Pos}-th command-line argument (or to all
5174 blanks if there are fewer than @var{Value} command-line arguments);
5175 @code{CALL GETARG(0, @var{value})} sets @var{value} to the name of the
5176 program (on systems that support this feature).
5178 @xref{IArgC Intrinsic}, for information on how to get the number
5181 @node GetCWD Intrinsic (subroutine)
5182 @subsubsection GetCWD Intrinsic (subroutine)
5183 @cindex GetCWD intrinsic
5184 @cindex intrinsics, GetCWD
5188 CALL GetCWD(@var{Name}, @var{Status})
5192 @var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
5195 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
5198 Intrinsic groups: @code{unix}.
5203 Places the current working directory in @var{Name}.
5204 If the @var{Status} argument is supplied, it contains 0
5205 success or a non-zero error code upon return
5206 (@code{ENOSYS} if the system does not provide @code{getcwd(3)}
5207 or @code{getwd(3)}).
5209 Some non-GNU implementations of Fortran provide this intrinsic as
5210 only a function, not as a subroutine, or do not support the
5211 (optional) @var{Status} argument.
5213 For information on other intrinsics with the same name:
5214 @xref{GetCWD Intrinsic (function)}.
5216 @node GetCWD Intrinsic (function)
5217 @subsubsection GetCWD Intrinsic (function)
5218 @cindex GetCWD intrinsic
5219 @cindex intrinsics, GetCWD
5227 GetCWD: @code{INTEGER(KIND=1)} function.
5230 @var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
5233 Intrinsic groups: @code{unix}.
5238 Places the current working directory in @var{Name}.
5240 success, otherwise a non-zero error code
5241 (@code{ENOSYS} if the system does not provide @code{getcwd(3)}
5242 or @code{getwd(3)}).
5244 For information on other intrinsics with the same name:
5245 @xref{GetCWD Intrinsic (subroutine)}.
5247 @node GetEnv Intrinsic
5248 @subsubsection GetEnv Intrinsic
5249 @cindex GetEnv intrinsic
5250 @cindex intrinsics, GetEnv
5254 CALL GetEnv(@var{Name}, @var{Value})
5258 @var{Name}: @code{CHARACTER}; scalar; INTENT(IN).
5261 @var{Value}: @code{CHARACTER}; scalar; INTENT(OUT).
5264 Intrinsic groups: @code{unix}.
5269 Sets @var{Value} to the value of environment variable given by the
5270 value of @var{Name} (@code{$name} in shell terms) or to blanks if
5271 @code{$name} has not been set.
5272 A null character (@samp{CHAR(0)}) marks the end of
5273 the name in @var{Name}---otherwise,
5274 trailing blanks in @var{Name} are ignored.
5276 @node GetGId Intrinsic
5277 @subsubsection GetGId Intrinsic
5278 @cindex GetGId intrinsic
5279 @cindex intrinsics, GetGId
5287 GetGId: @code{INTEGER(KIND=1)} function.
5290 Intrinsic groups: @code{unix}.
5295 Returns the group id for the current process.
5297 @node GetLog Intrinsic
5298 @subsubsection GetLog Intrinsic
5299 @cindex GetLog intrinsic
5300 @cindex intrinsics, GetLog
5304 CALL GetLog(@var{Login})
5308 @var{Login}: @code{CHARACTER}; scalar; INTENT(OUT).
5311 Intrinsic groups: @code{unix}.
5316 Returns the login name for the process in @var{Login}.
5318 @emph{Caution:} On some systems, the @code{getlogin(3)}
5319 function, which this intrinsic calls at run time,
5320 is either not implemented or returns a null pointer.
5321 In the latter case, this intrinsic returns blanks
5324 @node GetPId Intrinsic
5325 @subsubsection GetPId Intrinsic
5326 @cindex GetPId intrinsic
5327 @cindex intrinsics, GetPId
5335 GetPId: @code{INTEGER(KIND=1)} function.
5338 Intrinsic groups: @code{unix}.
5343 Returns the process id for the current process.
5345 @node GetUId Intrinsic
5346 @subsubsection GetUId Intrinsic
5347 @cindex GetUId intrinsic
5348 @cindex intrinsics, GetUId
5356 GetUId: @code{INTEGER(KIND=1)} function.
5359 Intrinsic groups: @code{unix}.
5364 Returns the user id for the current process.
5366 @node GMTime Intrinsic
5367 @subsubsection GMTime Intrinsic
5368 @cindex GMTime intrinsic
5369 @cindex intrinsics, GMTime
5373 CALL GMTime(@var{STime}, @var{TArray})
5377 @var{STime}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
5380 @var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(9); INTENT(OUT).
5383 Intrinsic groups: @code{unix}.
5388 Given a system time value @var{STime}, fills @var{TArray} with values
5389 extracted from it appropriate to the GMT time zone using
5392 The array elements are as follows:
5396 Seconds after the minute, range 0--59 or 0--61 to allow for leap
5400 Minutes after the hour, range 0--59
5403 Hours past midnight, range 0--23
5406 Day of month, range 0--31
5409 Number of months since January, range 0--12
5415 Number of days since Sunday, range 0--6
5418 Days since January 1
5421 Daylight savings indicator: positive if daylight savings is in effect,
5422 zero if not, and negative if the information isn't available.
5425 @node HostNm Intrinsic (subroutine)
5426 @subsubsection HostNm Intrinsic (subroutine)
5427 @cindex HostNm intrinsic
5428 @cindex intrinsics, HostNm
5432 CALL HostNm(@var{Name}, @var{Status})
5436 @var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
5439 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
5442 Intrinsic groups: @code{unix}.
5447 Fills @var{Name} with the system's host name returned by
5448 @code{gethostname(2)}.
5449 If the @var{Status} argument is supplied, it contains
5450 0 on success or a non-zero error code upon return
5451 (@code{ENOSYS} if the system does not provide @code{gethostname(2)}).
5453 Some non-GNU implementations of Fortran provide this intrinsic as
5454 only a function, not as a subroutine, or do not support the
5455 (optional) @var{Status} argument.
5457 On some systems (specifically SCO) it might be necessary to link the
5458 ``socket'' library if you call this routine.
5459 Typically this means adding @samp{-lg2c -lsocket -lm}
5460 to the @code{g77} command line when linking the program.
5462 For information on other intrinsics with the same name:
5463 @xref{HostNm Intrinsic (function)}.
5465 @node HostNm Intrinsic (function)
5466 @subsubsection HostNm Intrinsic (function)
5467 @cindex HostNm intrinsic
5468 @cindex intrinsics, HostNm
5476 HostNm: @code{INTEGER(KIND=1)} function.
5479 @var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
5482 Intrinsic groups: @code{unix}.
5487 Fills @var{Name} with the system's host name returned by
5488 @code{gethostname(2)}, returning 0 on success or a non-zero error code
5489 (@code{ENOSYS} if the system does not provide @code{gethostname(2)}).
5491 On some systems (specifically SCO) it might be necessary to link the
5492 ``socket'' library if you call this routine.
5493 Typically this means adding @samp{-lg2c -lsocket -lm}
5494 to the @code{g77} command line when linking the program.
5496 For information on other intrinsics with the same name:
5497 @xref{HostNm Intrinsic (subroutine)}.
5501 @node Huge Intrinsic
5502 @subsubsection Huge Intrinsic
5503 @cindex Huge intrinsic
5504 @cindex intrinsics, Huge
5506 This intrinsic is not yet implemented.
5507 The name is, however, reserved as an intrinsic.
5508 Use @samp{EXTERNAL Huge} to use this name for an
5513 @node IAbs Intrinsic
5514 @subsubsection IAbs Intrinsic
5515 @cindex IAbs intrinsic
5516 @cindex intrinsics, IAbs
5524 IAbs: @code{INTEGER(KIND=1)} function.
5527 @var{A}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
5530 Intrinsic groups: (standard FORTRAN 77).
5535 Archaic form of @code{ABS()} that is specific
5536 to one type for @var{A}.
5537 @xref{Abs Intrinsic}.
5541 @node IAChar Intrinsic
5542 @subsubsection IAChar Intrinsic
5543 @cindex IAChar intrinsic
5544 @cindex intrinsics, IAChar
5552 IAChar: @code{INTEGER(KIND=1)} function.
5555 @var{C}: @code{CHARACTER}; scalar; INTENT(IN).
5558 Intrinsic groups: @code{f2c}, @code{f90}.
5563 Returns the code for the ASCII character in the
5564 first character position of @var{C}.
5566 @xref{AChar Intrinsic}, for the inverse of this function.
5568 @xref{IChar Intrinsic}, for the function corresponding
5569 to the system's native character set.
5573 @node IAnd Intrinsic
5574 @subsubsection IAnd Intrinsic
5575 @cindex IAnd intrinsic
5576 @cindex intrinsics, IAnd
5580 IAnd(@var{I}, @var{J})
5584 IAnd: @code{INTEGER} function, the exact type being the result of cross-promoting the
5585 types of all the arguments.
5588 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
5591 @var{J}: @code{INTEGER}; scalar; INTENT(IN).
5594 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
5599 Returns value resulting from boolean AND of
5600 pair of bits in each of @var{I} and @var{J}.
5604 @node IArgC Intrinsic
5605 @subsubsection IArgC Intrinsic
5606 @cindex IArgC intrinsic
5607 @cindex intrinsics, IArgC
5615 IArgC: @code{INTEGER(KIND=1)} function.
5618 Intrinsic groups: @code{unix}.
5623 Returns the number of command-line arguments.
5625 This count does not include the specification of the program
5630 @node IBClr Intrinsic
5631 @subsubsection IBClr Intrinsic
5632 @cindex IBClr intrinsic
5633 @cindex intrinsics, IBClr
5637 IBClr(@var{I}, @var{Pos})
5641 IBClr: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
5644 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
5647 @var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
5650 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
5655 Returns the value of @var{I} with bit @var{Pos} cleared (set to
5657 @xref{BTest Intrinsic} for information on bit positions.
5659 @node IBits Intrinsic
5660 @subsubsection IBits Intrinsic
5661 @cindex IBits intrinsic
5662 @cindex intrinsics, IBits
5666 IBits(@var{I}, @var{Pos}, @var{Len})
5670 IBits: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
5673 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
5676 @var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
5679 @var{Len}: @code{INTEGER}; scalar; INTENT(IN).
5682 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
5687 Extracts a subfield of length @var{Len} from @var{I}, starting from
5688 bit position @var{Pos} and extending left for @var{Len} bits.
5689 The result is right-justified and the remaining bits are zeroed.
5691 of @samp{@var{Pos}+@var{Len}} must be less than or equal to the value
5692 @samp{BIT_SIZE(@var{I})}.
5693 @xref{Bit_Size Intrinsic}.
5695 @node IBSet Intrinsic
5696 @subsubsection IBSet Intrinsic
5697 @cindex IBSet intrinsic
5698 @cindex intrinsics, IBSet
5702 IBSet(@var{I}, @var{Pos})
5706 IBSet: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
5709 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
5712 @var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
5715 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
5720 Returns the value of @var{I} with bit @var{Pos} set (to one).
5721 @xref{BTest Intrinsic} for information on bit positions.
5725 @node IChar Intrinsic
5726 @subsubsection IChar Intrinsic
5727 @cindex IChar intrinsic
5728 @cindex intrinsics, IChar
5736 IChar: @code{INTEGER(KIND=1)} function.
5739 @var{C}: @code{CHARACTER}; scalar; INTENT(IN).
5742 Intrinsic groups: (standard FORTRAN 77).
5747 Returns the code for the character in the
5748 first character position of @var{C}.
5750 Because the system's native character set is used,
5751 the correspondence between character and their codes
5752 is not necessarily the same between GNU Fortran
5755 Note that no intrinsic exists to convert a printable
5756 character string to a numerical value.
5757 For example, there is no intrinsic that, given
5758 the @code{CHARACTER} value @samp{'154'}, returns an
5759 @code{INTEGER} or @code{REAL} value with the value @samp{154}.
5761 Instead, you can use internal-file I/O to do this kind
5769 READ (STRING, '(I10)'), VALUE
5774 The above program, when run, prints:
5780 @xref{Char Intrinsic}, for the inverse of the @code{ICHAR} function.
5782 @xref{IAChar Intrinsic}, for the function corresponding
5783 to the ASCII character set.
5787 @node IDate Intrinsic (UNIX)
5788 @subsubsection IDate Intrinsic (UNIX)
5789 @cindex IDate intrinsic
5790 @cindex intrinsics, IDate
5794 CALL IDate(@var{TArray})
5798 @var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(3); INTENT(OUT).
5801 Intrinsic groups: @code{unix}.
5806 Fills @var{TArray} with the numerical values at the current local time
5807 of day, month (in the range 1--12), and year in elements 1, 2, and 3,
5809 The year has four significant digits.
5811 For information on other intrinsics with the same name:
5812 @xref{IDate Intrinsic (VXT)}.
5816 @node IDate Intrinsic (VXT)
5817 @subsubsection IDate Intrinsic (VXT)
5818 @cindex IDate intrinsic
5819 @cindex intrinsics, IDate
5823 CALL IDate(@var{M}, @var{D}, @var{Y})
5827 @var{M}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
5830 @var{D}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
5833 @var{Y}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
5836 Intrinsic groups: @code{vxt}.
5841 Returns the numerical values of the current local time.
5842 The month (in the range 1--12) is returned in @var{M},
5843 the day (in the range 1--7) in @var{D},
5844 and the year in @var{Y} (in the range 0--99).
5846 This intrinsic is not recommended, due to the year 2000 approaching.
5848 For information on other intrinsics with the same name:
5849 @xref{IDate Intrinsic (UNIX)}.
5853 @node IDiM Intrinsic
5854 @subsubsection IDiM Intrinsic
5855 @cindex IDiM intrinsic
5856 @cindex intrinsics, IDiM
5860 IDiM(@var{X}, @var{Y})
5864 IDiM: @code{INTEGER(KIND=1)} function.
5867 @var{X}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
5870 @var{Y}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
5873 Intrinsic groups: (standard FORTRAN 77).
5878 Archaic form of @code{DIM()} that is specific
5879 to one type for @var{X} and @var{Y}.
5880 @xref{DiM Intrinsic}.
5882 @node IDInt Intrinsic
5883 @subsubsection IDInt Intrinsic
5884 @cindex IDInt intrinsic
5885 @cindex intrinsics, IDInt
5893 IDInt: @code{INTEGER(KIND=1)} function.
5896 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
5899 Intrinsic groups: (standard FORTRAN 77).
5904 Archaic form of @code{INT()} that is specific
5905 to one type for @var{A}.
5906 @xref{Int Intrinsic}.
5908 @node IDNInt Intrinsic
5909 @subsubsection IDNInt Intrinsic
5910 @cindex IDNInt intrinsic
5911 @cindex intrinsics, IDNInt
5919 IDNInt: @code{INTEGER(KIND=1)} function.
5922 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
5925 Intrinsic groups: (standard FORTRAN 77).
5930 Archaic form of @code{NINT()} that is specific
5931 to one type for @var{A}.
5932 @xref{NInt Intrinsic}.
5936 @node IEOr Intrinsic
5937 @subsubsection IEOr Intrinsic
5938 @cindex IEOr intrinsic
5939 @cindex intrinsics, IEOr
5943 IEOr(@var{I}, @var{J})
5947 IEOr: @code{INTEGER} function, the exact type being the result of cross-promoting the
5948 types of all the arguments.
5951 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
5954 @var{J}: @code{INTEGER}; scalar; INTENT(IN).
5957 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
5962 Returns value resulting from boolean exclusive-OR of
5963 pair of bits in each of @var{I} and @var{J}.
5967 @node IErrNo Intrinsic
5968 @subsubsection IErrNo Intrinsic
5969 @cindex IErrNo intrinsic
5970 @cindex intrinsics, IErrNo
5978 IErrNo: @code{INTEGER(KIND=1)} function.
5981 Intrinsic groups: @code{unix}.
5986 Returns the last system error number (corresponding to the C
5991 @node IFix Intrinsic
5992 @subsubsection IFix Intrinsic
5993 @cindex IFix intrinsic
5994 @cindex intrinsics, IFix
6002 IFix: @code{INTEGER(KIND=1)} function.
6005 @var{A}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
6008 Intrinsic groups: (standard FORTRAN 77).
6013 Archaic form of @code{INT()} that is specific
6014 to one type for @var{A}.
6015 @xref{Int Intrinsic}.
6019 @node IIAbs Intrinsic
6020 @subsubsection IIAbs Intrinsic
6021 @cindex IIAbs intrinsic
6022 @cindex intrinsics, IIAbs
6024 This intrinsic is not yet implemented.
6025 The name is, however, reserved as an intrinsic.
6026 Use @samp{EXTERNAL IIAbs} to use this name for an
6029 @node IIAnd Intrinsic
6030 @subsubsection IIAnd Intrinsic
6031 @cindex IIAnd intrinsic
6032 @cindex intrinsics, IIAnd
6034 This intrinsic is not yet implemented.
6035 The name is, however, reserved as an intrinsic.
6036 Use @samp{EXTERNAL IIAnd} to use this name for an
6039 @node IIBClr Intrinsic
6040 @subsubsection IIBClr Intrinsic
6041 @cindex IIBClr intrinsic
6042 @cindex intrinsics, IIBClr
6044 This intrinsic is not yet implemented.
6045 The name is, however, reserved as an intrinsic.
6046 Use @samp{EXTERNAL IIBClr} to use this name for an
6049 @node IIBits Intrinsic
6050 @subsubsection IIBits Intrinsic
6051 @cindex IIBits intrinsic
6052 @cindex intrinsics, IIBits
6054 This intrinsic is not yet implemented.
6055 The name is, however, reserved as an intrinsic.
6056 Use @samp{EXTERNAL IIBits} to use this name for an
6059 @node IIBSet Intrinsic
6060 @subsubsection IIBSet Intrinsic
6061 @cindex IIBSet intrinsic
6062 @cindex intrinsics, IIBSet
6064 This intrinsic is not yet implemented.
6065 The name is, however, reserved as an intrinsic.
6066 Use @samp{EXTERNAL IIBSet} to use this name for an
6069 @node IIDiM Intrinsic
6070 @subsubsection IIDiM Intrinsic
6071 @cindex IIDiM intrinsic
6072 @cindex intrinsics, IIDiM
6074 This intrinsic is not yet implemented.
6075 The name is, however, reserved as an intrinsic.
6076 Use @samp{EXTERNAL IIDiM} to use this name for an
6079 @node IIDInt Intrinsic
6080 @subsubsection IIDInt Intrinsic
6081 @cindex IIDInt intrinsic
6082 @cindex intrinsics, IIDInt
6084 This intrinsic is not yet implemented.
6085 The name is, however, reserved as an intrinsic.
6086 Use @samp{EXTERNAL IIDInt} to use this name for an
6089 @node IIDNnt Intrinsic
6090 @subsubsection IIDNnt Intrinsic
6091 @cindex IIDNnt intrinsic
6092 @cindex intrinsics, IIDNnt
6094 This intrinsic is not yet implemented.
6095 The name is, however, reserved as an intrinsic.
6096 Use @samp{EXTERNAL IIDNnt} to use this name for an
6099 @node IIEOr Intrinsic
6100 @subsubsection IIEOr Intrinsic
6101 @cindex IIEOr intrinsic
6102 @cindex intrinsics, IIEOr
6104 This intrinsic is not yet implemented.
6105 The name is, however, reserved as an intrinsic.
6106 Use @samp{EXTERNAL IIEOr} to use this name for an
6109 @node IIFix Intrinsic
6110 @subsubsection IIFix Intrinsic
6111 @cindex IIFix intrinsic
6112 @cindex intrinsics, IIFix
6114 This intrinsic is not yet implemented.
6115 The name is, however, reserved as an intrinsic.
6116 Use @samp{EXTERNAL IIFix} to use this name for an
6119 @node IInt Intrinsic
6120 @subsubsection IInt Intrinsic
6121 @cindex IInt intrinsic
6122 @cindex intrinsics, IInt
6124 This intrinsic is not yet implemented.
6125 The name is, however, reserved as an intrinsic.
6126 Use @samp{EXTERNAL IInt} to use this name for an
6129 @node IIOr Intrinsic
6130 @subsubsection IIOr Intrinsic
6131 @cindex IIOr intrinsic
6132 @cindex intrinsics, IIOr
6134 This intrinsic is not yet implemented.
6135 The name is, however, reserved as an intrinsic.
6136 Use @samp{EXTERNAL IIOr} to use this name for an
6139 @node IIQint Intrinsic
6140 @subsubsection IIQint Intrinsic
6141 @cindex IIQint intrinsic
6142 @cindex intrinsics, IIQint
6144 This intrinsic is not yet implemented.
6145 The name is, however, reserved as an intrinsic.
6146 Use @samp{EXTERNAL IIQint} to use this name for an
6149 @node IIQNnt Intrinsic
6150 @subsubsection IIQNnt Intrinsic
6151 @cindex IIQNnt intrinsic
6152 @cindex intrinsics, IIQNnt
6154 This intrinsic is not yet implemented.
6155 The name is, however, reserved as an intrinsic.
6156 Use @samp{EXTERNAL IIQNnt} to use this name for an
6159 @node IIShftC Intrinsic
6160 @subsubsection IIShftC Intrinsic
6161 @cindex IIShftC intrinsic
6162 @cindex intrinsics, IIShftC
6164 This intrinsic is not yet implemented.
6165 The name is, however, reserved as an intrinsic.
6166 Use @samp{EXTERNAL IIShftC} to use this name for an
6169 @node IISign Intrinsic
6170 @subsubsection IISign Intrinsic
6171 @cindex IISign intrinsic
6172 @cindex intrinsics, IISign
6174 This intrinsic is not yet implemented.
6175 The name is, however, reserved as an intrinsic.
6176 Use @samp{EXTERNAL IISign} to use this name for an
6181 @node Imag Intrinsic
6182 @subsubsection Imag Intrinsic
6183 @cindex Imag intrinsic
6184 @cindex intrinsics, Imag
6192 Imag: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{Z}.
6195 @var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
6198 Intrinsic groups: @code{f2c}.
6203 The imaginary part of @var{Z} is returned, without conversion.
6205 @emph{Note:} The way to do this in standard Fortran 90
6206 is @samp{AIMAG(@var{Z})}.
6207 However, when, for example, @var{Z} is @code{DOUBLE COMPLEX},
6208 @samp{AIMAG(@var{Z})} means something different for some compilers
6209 that are not true Fortran 90 compilers but offer some
6210 extensions standardized by Fortran 90 (such as the
6211 @code{DOUBLE COMPLEX} type, also known as @code{COMPLEX(KIND=2)}).
6213 The advantage of @code{IMAG()} is that, while not necessarily
6214 more or less portable than @code{AIMAG()}, it is more likely to
6215 cause a compiler that doesn't support it to produce a diagnostic
6216 than generate incorrect code.
6218 @xref{REAL() and AIMAG() of Complex}, for more information.
6222 @node ImagPart Intrinsic
6223 @subsubsection ImagPart Intrinsic
6224 @cindex ImagPart intrinsic
6225 @cindex intrinsics, ImagPart
6233 ImagPart: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{Z}.
6236 @var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
6239 Intrinsic groups: @code{gnu}.
6244 The imaginary part of @var{Z} is returned, without conversion.
6246 @emph{Note:} The way to do this in standard Fortran 90
6247 is @samp{AIMAG(@var{Z})}.
6248 However, when, for example, @var{Z} is @code{DOUBLE COMPLEX},
6249 @samp{AIMAG(@var{Z})} means something different for some compilers
6250 that are not true Fortran 90 compilers but offer some
6251 extensions standardized by Fortran 90 (such as the
6252 @code{DOUBLE COMPLEX} type, also known as @code{COMPLEX(KIND=2)}).
6254 The advantage of @code{IMAGPART()} is that, while not necessarily
6255 more or less portable than @code{AIMAG()}, it is more likely to
6256 cause a compiler that doesn't support it to produce a diagnostic
6257 than generate incorrect code.
6259 @xref{REAL() and AIMAG() of Complex}, for more information.
6263 @node IMax0 Intrinsic
6264 @subsubsection IMax0 Intrinsic
6265 @cindex IMax0 intrinsic
6266 @cindex intrinsics, IMax0
6268 This intrinsic is not yet implemented.
6269 The name is, however, reserved as an intrinsic.
6270 Use @samp{EXTERNAL IMax0} to use this name for an
6273 @node IMax1 Intrinsic
6274 @subsubsection IMax1 Intrinsic
6275 @cindex IMax1 intrinsic
6276 @cindex intrinsics, IMax1
6278 This intrinsic is not yet implemented.
6279 The name is, however, reserved as an intrinsic.
6280 Use @samp{EXTERNAL IMax1} to use this name for an
6283 @node IMin0 Intrinsic
6284 @subsubsection IMin0 Intrinsic
6285 @cindex IMin0 intrinsic
6286 @cindex intrinsics, IMin0
6288 This intrinsic is not yet implemented.
6289 The name is, however, reserved as an intrinsic.
6290 Use @samp{EXTERNAL IMin0} to use this name for an
6293 @node IMin1 Intrinsic
6294 @subsubsection IMin1 Intrinsic
6295 @cindex IMin1 intrinsic
6296 @cindex intrinsics, IMin1
6298 This intrinsic is not yet implemented.
6299 The name is, however, reserved as an intrinsic.
6300 Use @samp{EXTERNAL IMin1} to use this name for an
6303 @node IMod Intrinsic
6304 @subsubsection IMod Intrinsic
6305 @cindex IMod intrinsic
6306 @cindex intrinsics, IMod
6308 This intrinsic is not yet implemented.
6309 The name is, however, reserved as an intrinsic.
6310 Use @samp{EXTERNAL IMod} to use this name for an
6315 @node Index Intrinsic
6316 @subsubsection Index Intrinsic
6317 @cindex Index intrinsic
6318 @cindex intrinsics, Index
6322 Index(@var{String}, @var{Substring})
6326 Index: @code{INTEGER(KIND=1)} function.
6329 @var{String}: @code{CHARACTER}; scalar; INTENT(IN).
6332 @var{Substring}: @code{CHARACTER}; scalar; INTENT(IN).
6335 Intrinsic groups: (standard FORTRAN 77).
6340 Returns the position of the start of the first occurrence of string
6341 @var{Substring} as a substring in @var{String}, counting from one.
6342 If @var{Substring} doesn't occur in @var{String}, zero is returned.
6346 @node INInt Intrinsic
6347 @subsubsection INInt Intrinsic
6348 @cindex INInt intrinsic
6349 @cindex intrinsics, INInt
6351 This intrinsic is not yet implemented.
6352 The name is, however, reserved as an intrinsic.
6353 Use @samp{EXTERNAL INInt} to use this name for an
6356 @node INot Intrinsic
6357 @subsubsection INot Intrinsic
6358 @cindex INot intrinsic
6359 @cindex intrinsics, INot
6361 This intrinsic is not yet implemented.
6362 The name is, however, reserved as an intrinsic.
6363 Use @samp{EXTERNAL INot} to use this name for an
6369 @subsubsection Int Intrinsic
6370 @cindex Int intrinsic
6371 @cindex intrinsics, Int
6379 Int: @code{INTEGER(KIND=1)} function.
6382 @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
6385 Intrinsic groups: (standard FORTRAN 77).
6390 Returns @var{A} with the fractional portion of its
6391 magnitude truncated and its sign preserved, converted
6392 to type @code{INTEGER(KIND=1)}.
6394 If @var{A} is type @code{COMPLEX}, its real part is
6395 truncated and converted, and its imaginary part is disregarded.
6397 @xref{NInt Intrinsic}, for how to convert, rounded to nearest
6400 @xref{AInt Intrinsic}, for how to truncate to whole number
6405 @node Int2 Intrinsic
6406 @subsubsection Int2 Intrinsic
6407 @cindex Int2 intrinsic
6408 @cindex intrinsics, Int2
6416 Int2: @code{INTEGER(KIND=6)} function.
6419 @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
6422 Intrinsic groups: @code{gnu}.
6427 Returns @var{A} with the fractional portion of its
6428 magnitude truncated and its sign preserved, converted
6429 to type @code{INTEGER(KIND=6)}.
6431 If @var{A} is type @code{COMPLEX}, its real part
6432 is truncated and converted, and its imaginary part is disgregarded.
6434 @xref{Int Intrinsic}.
6436 The precise meaning of this intrinsic might change
6437 in a future version of the GNU Fortran language,
6438 as more is learned about how it is used.
6440 @node Int8 Intrinsic
6441 @subsubsection Int8 Intrinsic
6442 @cindex Int8 intrinsic
6443 @cindex intrinsics, Int8
6451 Int8: @code{INTEGER(KIND=2)} function.
6454 @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
6457 Intrinsic groups: @code{gnu}.
6462 Returns @var{A} with the fractional portion of its
6463 magnitude truncated and its sign preserved, converted
6464 to type @code{INTEGER(KIND=2)}.
6466 If @var{A} is type @code{COMPLEX}, its real part
6467 is truncated and converted, and its imaginary part is disgregarded.
6469 @xref{Int Intrinsic}.
6471 The precise meaning of this intrinsic might change
6472 in a future version of the GNU Fortran language,
6473 as more is learned about how it is used.
6478 @subsubsection IOr Intrinsic
6479 @cindex IOr intrinsic
6480 @cindex intrinsics, IOr
6484 IOr(@var{I}, @var{J})
6488 IOr: @code{INTEGER} function, the exact type being the result of cross-promoting the
6489 types of all the arguments.
6492 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
6495 @var{J}: @code{INTEGER}; scalar; INTENT(IN).
6498 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
6503 Returns value resulting from boolean OR of
6504 pair of bits in each of @var{I} and @var{J}.
6508 @node IRand Intrinsic
6509 @subsubsection IRand Intrinsic
6510 @cindex IRand intrinsic
6511 @cindex intrinsics, IRand
6519 IRand: @code{INTEGER(KIND=1)} function.
6522 @var{Flag}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN).
6525 Intrinsic groups: @code{unix}.
6530 Returns a uniform quasi-random number up to a system-dependent limit.
6531 If @var{Flag} is 0, the next number in sequence is returned; if
6532 @var{Flag} is 1, the generator is restarted by calling the UNIX function
6533 @samp{srand(0)}; if @var{Flag} has any other value,
6534 it is used as a new seed with @code{srand()}.
6536 @xref{SRand Intrinsic}.
6538 @emph{Note:} As typically implemented (by the routine of the same
6539 name in the C library), this random number generator is a very poor
6540 one, though the BSD and GNU libraries provide a much better
6541 implementation than the `traditional' one.
6542 On a different system you almost certainly want to use something better.
6544 @node IsaTty Intrinsic
6545 @subsubsection IsaTty Intrinsic
6546 @cindex IsaTty intrinsic
6547 @cindex intrinsics, IsaTty
6555 IsaTty: @code{LOGICAL(KIND=1)} function.
6558 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
6561 Intrinsic groups: @code{unix}.
6566 Returns @code{.TRUE.} if and only if the Fortran I/O unit
6567 specified by @var{Unit} is connected
6568 to a terminal device.
6569 See @code{isatty(3)}.
6573 @node IShft Intrinsic
6574 @subsubsection IShft Intrinsic
6575 @cindex IShft intrinsic
6576 @cindex intrinsics, IShft
6580 IShft(@var{I}, @var{Shift})
6584 IShft: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
6587 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
6590 @var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
6593 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
6598 All bits representing @var{I} are shifted @var{Shift} places.
6599 @samp{@var{Shift}.GT.0} indicates a left shift, @samp{@var{Shift}.EQ.0}
6600 indicates no shift and @samp{@var{Shift}.LT.0} indicates a right shift.
6601 If the absolute value of the shift count is greater than
6602 @samp{BIT_SIZE(@var{I})}, the result is undefined.
6603 Bits shifted out from the left end or the right end are lost.
6604 Zeros are shifted in from the opposite end.
6606 @xref{IShftC Intrinsic}, for the circular-shift equivalent.
6608 @node IShftC Intrinsic
6609 @subsubsection IShftC Intrinsic
6610 @cindex IShftC intrinsic
6611 @cindex intrinsics, IShftC
6615 IShftC(@var{I}, @var{Shift}, @var{Size})
6619 IShftC: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
6622 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
6625 @var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
6628 @var{Size}: @code{INTEGER}; scalar; INTENT(IN).
6631 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
6636 The rightmost @var{Size} bits of the argument @var{I}
6637 are shifted circularly @var{Shift}
6638 places, i.e.@: the bits shifted out of one end are shifted into
6641 The unshifted bits of the result are the same as
6642 the unshifted bits of @var{I}.
6643 The absolute value of the argument @var{Shift}
6644 must be less than or equal to @var{Size}.
6645 The value of @var{Size} must be greater than or equal to one and less than
6646 or equal to @samp{BIT_SIZE(@var{I})}.
6648 @xref{IShft Intrinsic}, for the logical shift equivalent.
6652 @node ISign Intrinsic
6653 @subsubsection ISign Intrinsic
6654 @cindex ISign intrinsic
6655 @cindex intrinsics, ISign
6659 ISign(@var{A}, @var{B})
6663 ISign: @code{INTEGER(KIND=1)} function.
6666 @var{A}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
6669 @var{B}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
6672 Intrinsic groups: (standard FORTRAN 77).
6677 Archaic form of @code{SIGN()} that is specific
6678 to one type for @var{A} and @var{B}.
6679 @xref{Sign Intrinsic}.
6683 @node ITime Intrinsic
6684 @subsubsection ITime Intrinsic
6685 @cindex ITime intrinsic
6686 @cindex intrinsics, ITime
6690 CALL ITime(@var{TArray})
6694 @var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(3); INTENT(OUT).
6697 Intrinsic groups: @code{unix}.
6702 Returns the current local time hour, minutes, and seconds in elements
6703 1, 2, and 3 of @var{TArray}, respectively.
6707 @node IZExt Intrinsic
6708 @subsubsection IZExt Intrinsic
6709 @cindex IZExt intrinsic
6710 @cindex intrinsics, IZExt
6712 This intrinsic is not yet implemented.
6713 The name is, however, reserved as an intrinsic.
6714 Use @samp{EXTERNAL IZExt} to use this name for an
6717 @node JIAbs Intrinsic
6718 @subsubsection JIAbs Intrinsic
6719 @cindex JIAbs intrinsic
6720 @cindex intrinsics, JIAbs
6722 This intrinsic is not yet implemented.
6723 The name is, however, reserved as an intrinsic.
6724 Use @samp{EXTERNAL JIAbs} to use this name for an
6727 @node JIAnd Intrinsic
6728 @subsubsection JIAnd Intrinsic
6729 @cindex JIAnd intrinsic
6730 @cindex intrinsics, JIAnd
6732 This intrinsic is not yet implemented.
6733 The name is, however, reserved as an intrinsic.
6734 Use @samp{EXTERNAL JIAnd} to use this name for an
6737 @node JIBClr Intrinsic
6738 @subsubsection JIBClr Intrinsic
6739 @cindex JIBClr intrinsic
6740 @cindex intrinsics, JIBClr
6742 This intrinsic is not yet implemented.
6743 The name is, however, reserved as an intrinsic.
6744 Use @samp{EXTERNAL JIBClr} to use this name for an
6747 @node JIBits Intrinsic
6748 @subsubsection JIBits Intrinsic
6749 @cindex JIBits intrinsic
6750 @cindex intrinsics, JIBits
6752 This intrinsic is not yet implemented.
6753 The name is, however, reserved as an intrinsic.
6754 Use @samp{EXTERNAL JIBits} to use this name for an
6757 @node JIBSet Intrinsic
6758 @subsubsection JIBSet Intrinsic
6759 @cindex JIBSet intrinsic
6760 @cindex intrinsics, JIBSet
6762 This intrinsic is not yet implemented.
6763 The name is, however, reserved as an intrinsic.
6764 Use @samp{EXTERNAL JIBSet} to use this name for an
6767 @node JIDiM Intrinsic
6768 @subsubsection JIDiM Intrinsic
6769 @cindex JIDiM intrinsic
6770 @cindex intrinsics, JIDiM
6772 This intrinsic is not yet implemented.
6773 The name is, however, reserved as an intrinsic.
6774 Use @samp{EXTERNAL JIDiM} to use this name for an
6777 @node JIDInt Intrinsic
6778 @subsubsection JIDInt Intrinsic
6779 @cindex JIDInt intrinsic
6780 @cindex intrinsics, JIDInt
6782 This intrinsic is not yet implemented.
6783 The name is, however, reserved as an intrinsic.
6784 Use @samp{EXTERNAL JIDInt} to use this name for an
6787 @node JIDNnt Intrinsic
6788 @subsubsection JIDNnt Intrinsic
6789 @cindex JIDNnt intrinsic
6790 @cindex intrinsics, JIDNnt
6792 This intrinsic is not yet implemented.
6793 The name is, however, reserved as an intrinsic.
6794 Use @samp{EXTERNAL JIDNnt} to use this name for an
6797 @node JIEOr Intrinsic
6798 @subsubsection JIEOr Intrinsic
6799 @cindex JIEOr intrinsic
6800 @cindex intrinsics, JIEOr
6802 This intrinsic is not yet implemented.
6803 The name is, however, reserved as an intrinsic.
6804 Use @samp{EXTERNAL JIEOr} to use this name for an
6807 @node JIFix Intrinsic
6808 @subsubsection JIFix Intrinsic
6809 @cindex JIFix intrinsic
6810 @cindex intrinsics, JIFix
6812 This intrinsic is not yet implemented.
6813 The name is, however, reserved as an intrinsic.
6814 Use @samp{EXTERNAL JIFix} to use this name for an
6817 @node JInt Intrinsic
6818 @subsubsection JInt Intrinsic
6819 @cindex JInt intrinsic
6820 @cindex intrinsics, JInt
6822 This intrinsic is not yet implemented.
6823 The name is, however, reserved as an intrinsic.
6824 Use @samp{EXTERNAL JInt} to use this name for an
6827 @node JIOr Intrinsic
6828 @subsubsection JIOr Intrinsic
6829 @cindex JIOr intrinsic
6830 @cindex intrinsics, JIOr
6832 This intrinsic is not yet implemented.
6833 The name is, however, reserved as an intrinsic.
6834 Use @samp{EXTERNAL JIOr} to use this name for an
6837 @node JIQint Intrinsic
6838 @subsubsection JIQint Intrinsic
6839 @cindex JIQint intrinsic
6840 @cindex intrinsics, JIQint
6842 This intrinsic is not yet implemented.
6843 The name is, however, reserved as an intrinsic.
6844 Use @samp{EXTERNAL JIQint} to use this name for an
6847 @node JIQNnt Intrinsic
6848 @subsubsection JIQNnt Intrinsic
6849 @cindex JIQNnt intrinsic
6850 @cindex intrinsics, JIQNnt
6852 This intrinsic is not yet implemented.
6853 The name is, however, reserved as an intrinsic.
6854 Use @samp{EXTERNAL JIQNnt} to use this name for an
6857 @node JIShft Intrinsic
6858 @subsubsection JIShft Intrinsic
6859 @cindex JIShft intrinsic
6860 @cindex intrinsics, JIShft
6862 This intrinsic is not yet implemented.
6863 The name is, however, reserved as an intrinsic.
6864 Use @samp{EXTERNAL JIShft} to use this name for an
6867 @node JIShftC Intrinsic
6868 @subsubsection JIShftC Intrinsic
6869 @cindex JIShftC intrinsic
6870 @cindex intrinsics, JIShftC
6872 This intrinsic is not yet implemented.
6873 The name is, however, reserved as an intrinsic.
6874 Use @samp{EXTERNAL JIShftC} to use this name for an
6877 @node JISign Intrinsic
6878 @subsubsection JISign Intrinsic
6879 @cindex JISign intrinsic
6880 @cindex intrinsics, JISign
6882 This intrinsic is not yet implemented.
6883 The name is, however, reserved as an intrinsic.
6884 Use @samp{EXTERNAL JISign} to use this name for an
6887 @node JMax0 Intrinsic
6888 @subsubsection JMax0 Intrinsic
6889 @cindex JMax0 intrinsic
6890 @cindex intrinsics, JMax0
6892 This intrinsic is not yet implemented.
6893 The name is, however, reserved as an intrinsic.
6894 Use @samp{EXTERNAL JMax0} to use this name for an
6897 @node JMax1 Intrinsic
6898 @subsubsection JMax1 Intrinsic
6899 @cindex JMax1 intrinsic
6900 @cindex intrinsics, JMax1
6902 This intrinsic is not yet implemented.
6903 The name is, however, reserved as an intrinsic.
6904 Use @samp{EXTERNAL JMax1} to use this name for an
6907 @node JMin0 Intrinsic
6908 @subsubsection JMin0 Intrinsic
6909 @cindex JMin0 intrinsic
6910 @cindex intrinsics, JMin0
6912 This intrinsic is not yet implemented.
6913 The name is, however, reserved as an intrinsic.
6914 Use @samp{EXTERNAL JMin0} to use this name for an
6917 @node JMin1 Intrinsic
6918 @subsubsection JMin1 Intrinsic
6919 @cindex JMin1 intrinsic
6920 @cindex intrinsics, JMin1
6922 This intrinsic is not yet implemented.
6923 The name is, however, reserved as an intrinsic.
6924 Use @samp{EXTERNAL JMin1} to use this name for an
6927 @node JMod Intrinsic
6928 @subsubsection JMod Intrinsic
6929 @cindex JMod intrinsic
6930 @cindex intrinsics, JMod
6932 This intrinsic is not yet implemented.
6933 The name is, however, reserved as an intrinsic.
6934 Use @samp{EXTERNAL JMod} to use this name for an
6937 @node JNInt Intrinsic
6938 @subsubsection JNInt Intrinsic
6939 @cindex JNInt intrinsic
6940 @cindex intrinsics, JNInt
6942 This intrinsic is not yet implemented.
6943 The name is, however, reserved as an intrinsic.
6944 Use @samp{EXTERNAL JNInt} to use this name for an
6947 @node JNot Intrinsic
6948 @subsubsection JNot Intrinsic
6949 @cindex JNot intrinsic
6950 @cindex intrinsics, JNot
6952 This intrinsic is not yet implemented.
6953 The name is, however, reserved as an intrinsic.
6954 Use @samp{EXTERNAL JNot} to use this name for an
6957 @node JZExt Intrinsic
6958 @subsubsection JZExt Intrinsic
6959 @cindex JZExt intrinsic
6960 @cindex intrinsics, JZExt
6962 This intrinsic is not yet implemented.
6963 The name is, however, reserved as an intrinsic.
6964 Use @samp{EXTERNAL JZExt} to use this name for an
6969 @node Kill Intrinsic (subroutine)
6970 @subsubsection Kill Intrinsic (subroutine)
6971 @cindex Kill intrinsic
6972 @cindex intrinsics, Kill
6976 CALL Kill(@var{Pid}, @var{Signal}, @var{Status})
6980 @var{Pid}: @code{INTEGER}; scalar; INTENT(IN).
6983 @var{Signal}: @code{INTEGER}; scalar; INTENT(IN).
6986 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
6989 Intrinsic groups: @code{unix}.
6994 Sends the signal specified by @var{Signal} to the process @var{Pid}.
6995 If the @var{Status} argument is supplied, it contains
6996 0 on success or a non-zero error code upon return.
6999 Some non-GNU implementations of Fortran provide this intrinsic as
7000 only a function, not as a subroutine, or do not support the
7001 (optional) @var{Status} argument.
7003 For information on other intrinsics with the same name:
7004 @xref{Kill Intrinsic (function)}.
7008 @node Kill Intrinsic (function)
7009 @subsubsection Kill Intrinsic (function)
7010 @cindex Kill intrinsic
7011 @cindex intrinsics, Kill
7015 Kill(@var{Pid}, @var{Signal})
7019 Kill: @code{INTEGER(KIND=1)} function.
7022 @var{Pid}: @code{INTEGER}; scalar; INTENT(IN).
7025 @var{Signal}: @code{INTEGER}; scalar; INTENT(IN).
7028 Intrinsic groups: @code{badu77}.
7033 Sends the signal specified by @var{Signal} to the process @var{Pid}.
7034 Returns 0 on success or a non-zero error code.
7037 Due to the side effects performed by this intrinsic, the function
7038 form is not recommended.
7040 For information on other intrinsics with the same name:
7041 @xref{Kill Intrinsic (subroutine)}.
7045 @node Kind Intrinsic
7046 @subsubsection Kind Intrinsic
7047 @cindex Kind intrinsic
7048 @cindex intrinsics, Kind
7050 This intrinsic is not yet implemented.
7051 The name is, however, reserved as an intrinsic.
7052 Use @samp{EXTERNAL Kind} to use this name for an
7055 @node LBound Intrinsic
7056 @subsubsection LBound Intrinsic
7057 @cindex LBound intrinsic
7058 @cindex intrinsics, LBound
7060 This intrinsic is not yet implemented.
7061 The name is, however, reserved as an intrinsic.
7062 Use @samp{EXTERNAL LBound} to use this name for an
7068 @subsubsection Len Intrinsic
7069 @cindex Len intrinsic
7070 @cindex intrinsics, Len
7078 Len: @code{INTEGER(KIND=1)} function.
7081 @var{String}: @code{CHARACTER}; scalar.
7084 Intrinsic groups: (standard FORTRAN 77).
7089 Returns the length of @var{String}.
7091 If @var{String} is an array, the length of an element
7092 of @var{String} is returned.
7094 Note that @var{String} need not be defined when this
7095 intrinsic is invoked, since only the length, not
7096 the content, of @var{String} is needed.
7098 @xref{Bit_Size Intrinsic}, for the function that determines
7099 the size of its argument in bits.
7103 @node Len_Trim Intrinsic
7104 @subsubsection Len_Trim Intrinsic
7105 @cindex Len_Trim intrinsic
7106 @cindex intrinsics, Len_Trim
7110 Len_Trim(@var{String})
7114 Len_Trim: @code{INTEGER(KIND=1)} function.
7117 @var{String}: @code{CHARACTER}; scalar; INTENT(IN).
7120 Intrinsic groups: @code{f90}.
7125 Returns the index of the last non-blank character in @var{String}.
7126 @code{LNBLNK} and @code{LEN_TRIM} are equivalent.
7131 @subsubsection LGe Intrinsic
7132 @cindex LGe intrinsic
7133 @cindex intrinsics, LGe
7137 LGe(@var{String_A}, @var{String_B})
7141 LGe: @code{LOGICAL(KIND=1)} function.
7144 @var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
7147 @var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
7150 Intrinsic groups: (standard FORTRAN 77).
7155 Returns @samp{.TRUE.} if @samp{@var{String_A}.GE.@var{String_B}},
7156 @samp{.FALSE.} otherwise.
7157 @var{String_A} and @var{String_B} are interpreted as containing
7158 ASCII character codes.
7159 If either value contains a character not in the ASCII
7160 character set, the result is processor dependent.
7162 If the @var{String_A} and @var{String_B} are not the same length,
7163 the shorter is compared as if spaces were appended to
7164 it to form a value that has the same length as the longer.
7166 The lexical comparison intrinsics @code{LGe}, @code{LGt},
7167 @code{LLe}, and @code{LLt} differ from the corresponding
7168 intrinsic operators @code{.GE.}, @code{.GT.},
7169 @code{.LE.}, @code{.LT.}.
7170 Because the ASCII collating sequence is assumed,
7171 the following expressions always return @samp{.TRUE.}:
7179 The following related expressions do @emph{not} always
7180 return @samp{.TRUE.}, as they are not necessarily evaluated
7181 assuming the arguments use ASCII encoding:
7189 The same difference exists
7190 between @code{LGt} and @code{.GT.};
7191 between @code{LLe} and @code{.LE.}; and
7192 between @code{LLt} and @code{.LT.}.
7195 @subsubsection LGt Intrinsic
7196 @cindex LGt intrinsic
7197 @cindex intrinsics, LGt
7201 LGt(@var{String_A}, @var{String_B})
7205 LGt: @code{LOGICAL(KIND=1)} function.
7208 @var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
7211 @var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
7214 Intrinsic groups: (standard FORTRAN 77).
7219 Returns @samp{.TRUE.} if @samp{@var{String_A}.GT.@var{String_B}},
7220 @samp{.FALSE.} otherwise.
7221 @var{String_A} and @var{String_B} are interpreted as containing
7222 ASCII character codes.
7223 If either value contains a character not in the ASCII
7224 character set, the result is processor dependent.
7226 If the @var{String_A} and @var{String_B} are not the same length,
7227 the shorter is compared as if spaces were appended to
7228 it to form a value that has the same length as the longer.
7230 @xref{LGe Intrinsic}, for information on the distinction
7231 between the @code{LGT} intrinsic and the @code{.GT.}
7236 @node Link Intrinsic (subroutine)
7237 @subsubsection Link Intrinsic (subroutine)
7238 @cindex Link intrinsic
7239 @cindex intrinsics, Link
7243 CALL Link(@var{Path1}, @var{Path2}, @var{Status})
7247 @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
7250 @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
7253 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
7256 Intrinsic groups: @code{unix}.
7261 Makes a (hard) link from file @var{Path1} to @var{Path2}.
7262 A null character (@samp{CHAR(0)}) marks the end of
7263 the names in @var{Path1} and @var{Path2}---otherwise,
7264 trailing blanks in @var{Path1} and @var{Path2} are ignored.
7265 If the @var{Status} argument is supplied, it contains
7266 0 on success or a non-zero error code upon return.
7269 Some non-GNU implementations of Fortran provide this intrinsic as
7270 only a function, not as a subroutine, or do not support the
7271 (optional) @var{Status} argument.
7273 For information on other intrinsics with the same name:
7274 @xref{Link Intrinsic (function)}.
7278 @node Link Intrinsic (function)
7279 @subsubsection Link Intrinsic (function)
7280 @cindex Link intrinsic
7281 @cindex intrinsics, Link
7285 Link(@var{Path1}, @var{Path2})
7289 Link: @code{INTEGER(KIND=1)} function.
7292 @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
7295 @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
7298 Intrinsic groups: @code{badu77}.
7303 Makes a (hard) link from file @var{Path1} to @var{Path2}.
7304 A null character (@samp{CHAR(0)}) marks the end of
7305 the names in @var{Path1} and @var{Path2}---otherwise,
7306 trailing blanks in @var{Path1} and @var{Path2} are ignored.
7307 Returns 0 on success or a non-zero error code.
7310 Due to the side effects performed by this intrinsic, the function
7311 form is not recommended.
7313 For information on other intrinsics with the same name:
7314 @xref{Link Intrinsic (subroutine)}.
7319 @subsubsection LLe Intrinsic
7320 @cindex LLe intrinsic
7321 @cindex intrinsics, LLe
7325 LLe(@var{String_A}, @var{String_B})
7329 LLe: @code{LOGICAL(KIND=1)} function.
7332 @var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
7335 @var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
7338 Intrinsic groups: (standard FORTRAN 77).
7343 Returns @samp{.TRUE.} if @samp{@var{String_A}.LE.@var{String_B}},
7344 @samp{.FALSE.} otherwise.
7345 @var{String_A} and @var{String_B} are interpreted as containing
7346 ASCII character codes.
7347 If either value contains a character not in the ASCII
7348 character set, the result is processor dependent.
7350 If the @var{String_A} and @var{String_B} are not the same length,
7351 the shorter is compared as if spaces were appended to
7352 it to form a value that has the same length as the longer.
7354 @xref{LGe Intrinsic}, for information on the distinction
7355 between the @code{LLE} intrinsic and the @code{.LE.}
7359 @subsubsection LLt Intrinsic
7360 @cindex LLt intrinsic
7361 @cindex intrinsics, LLt
7365 LLt(@var{String_A}, @var{String_B})
7369 LLt: @code{LOGICAL(KIND=1)} function.
7372 @var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
7375 @var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
7378 Intrinsic groups: (standard FORTRAN 77).
7383 Returns @samp{.TRUE.} if @samp{@var{String_A}.LT.@var{String_B}},
7384 @samp{.FALSE.} otherwise.
7385 @var{String_A} and @var{String_B} are interpreted as containing
7386 ASCII character codes.
7387 If either value contains a character not in the ASCII
7388 character set, the result is processor dependent.
7390 If the @var{String_A} and @var{String_B} are not the same length,
7391 the shorter is compared as if spaces were appended to
7392 it to form a value that has the same length as the longer.
7394 @xref{LGe Intrinsic}, for information on the distinction
7395 between the @code{LLT} intrinsic and the @code{.LT.}
7400 @node LnBlnk Intrinsic
7401 @subsubsection LnBlnk Intrinsic
7402 @cindex LnBlnk intrinsic
7403 @cindex intrinsics, LnBlnk
7407 LnBlnk(@var{String})
7411 LnBlnk: @code{INTEGER(KIND=1)} function.
7414 @var{String}: @code{CHARACTER}; scalar; INTENT(IN).
7417 Intrinsic groups: @code{unix}.
7422 Returns the index of the last non-blank character in @var{String}.
7423 @code{LNBLNK} and @code{LEN_TRIM} are equivalent.
7426 @subsubsection Loc Intrinsic
7427 @cindex Loc intrinsic
7428 @cindex intrinsics, Loc
7436 Loc: @code{INTEGER(KIND=7)} function.
7439 @var{Entity}: Any type; cannot be a constant or expression.
7442 Intrinsic groups: @code{unix}.
7447 The @code{LOC()} intrinsic works the
7448 same way as the @code{%LOC()} construct.
7449 @xref{%LOC(),,The @code{%LOC()} Construct}, for
7455 @subsubsection Log Intrinsic
7456 @cindex Log intrinsic
7457 @cindex intrinsics, Log
7465 Log: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
7468 @var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
7471 Intrinsic groups: (standard FORTRAN 77).
7476 Returns the natural logarithm of @var{X}, which must
7477 be greater than zero or, if type @code{COMPLEX}, must not
7480 @xref{Exp Intrinsic}, for the inverse of this function.
7482 @xref{Log10 Intrinsic}, for the base-10 logarithm function.
7484 @node Log10 Intrinsic
7485 @subsubsection Log10 Intrinsic
7486 @cindex Log10 intrinsic
7487 @cindex intrinsics, Log10
7495 Log10: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
7498 @var{X}: @code{REAL}; scalar; INTENT(IN).
7501 Intrinsic groups: (standard FORTRAN 77).
7506 Returns the natural logarithm of @var{X}, which must
7507 be greater than zero or, if type @code{COMPLEX}, must not
7510 The inverse of this function is @samp{10. ** LOG10(@var{X})}.
7512 @xref{Log Intrinsic}, for the natural logarithm function.
7516 @node Logical Intrinsic
7517 @subsubsection Logical Intrinsic
7518 @cindex Logical intrinsic
7519 @cindex intrinsics, Logical
7521 This intrinsic is not yet implemented.
7522 The name is, however, reserved as an intrinsic.
7523 Use @samp{EXTERNAL Logical} to use this name for an
7528 @node Long Intrinsic
7529 @subsubsection Long Intrinsic
7530 @cindex Long intrinsic
7531 @cindex intrinsics, Long
7539 Long: @code{INTEGER(KIND=1)} function.
7542 @var{A}: @code{INTEGER(KIND=6)}; scalar; INTENT(IN).
7545 Intrinsic groups: @code{unix}.
7550 Archaic form of @code{INT()} that is specific
7551 to one type for @var{A}.
7552 @xref{Int Intrinsic}.
7554 The precise meaning of this intrinsic might change
7555 in a future version of the GNU Fortran language,
7556 as more is learned about how it is used.
7560 @node LShift Intrinsic
7561 @subsubsection LShift Intrinsic
7562 @cindex LShift intrinsic
7563 @cindex intrinsics, LShift
7567 LShift(@var{I}, @var{Shift})
7571 LShift: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
7574 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
7577 @var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
7580 Intrinsic groups: @code{f2c}.
7585 Returns @var{I} shifted to the left
7588 Although similar to the expression
7589 @samp{@var{I}*(2**@var{Shift})}, there
7590 are important differences.
7591 For example, the sign of the result is
7592 not necessarily the same as the sign of
7595 Currently this intrinsic is defined assuming
7596 the underlying representation of @var{I}
7597 is as a two's-complement integer.
7598 It is unclear at this point whether that
7599 definition will apply when a different
7600 representation is involved.
7602 @xref{LShift Intrinsic}, for the inverse of this function.
7604 @xref{IShft Intrinsic}, for information
7605 on a more widely available left-shifting
7606 intrinsic that is also more precisely defined.
7610 @node LStat Intrinsic (subroutine)
7611 @subsubsection LStat Intrinsic (subroutine)
7612 @cindex LStat intrinsic
7613 @cindex intrinsics, LStat
7617 CALL LStat(@var{File}, @var{SArray}, @var{Status})
7621 @var{File}: @code{CHARACTER}; scalar; INTENT(IN).
7624 @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
7627 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
7630 Intrinsic groups: @code{unix}.
7635 Obtains data about the given file @var{File} and places them in the array
7637 A null character (@samp{CHAR(0)}) marks the end of
7638 the name in @var{File}---otherwise,
7639 trailing blanks in @var{File} are ignored.
7640 If @var{File} is a symbolic link it returns data on the
7641 link itself, so the routine is available only on systems that support
7643 The values in this array are extracted from the
7644 @code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
7654 ID of device containing directory entry for file
7657 Device id (if relevant)
7675 Last modification time
7678 Last file status change time
7681 Preferred I/O block size
7684 Number of blocks allocated
7687 Not all these elements are relevant on all systems.
7688 If an element is not relevant, it is returned as 0.
7690 If the @var{Status} argument is supplied, it contains
7691 0 on success or a non-zero error code upon return
7692 (@code{ENOSYS} if the system does not provide @code{lstat(2)}).
7694 Some non-GNU implementations of Fortran provide this intrinsic as
7695 only a function, not as a subroutine, or do not support the
7696 (optional) @var{Status} argument.
7698 For information on other intrinsics with the same name:
7699 @xref{LStat Intrinsic (function)}.
7701 @node LStat Intrinsic (function)
7702 @subsubsection LStat Intrinsic (function)
7703 @cindex LStat intrinsic
7704 @cindex intrinsics, LStat
7708 LStat(@var{File}, @var{SArray})
7712 LStat: @code{INTEGER(KIND=1)} function.
7715 @var{File}: @code{CHARACTER}; scalar; INTENT(IN).
7718 @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
7721 Intrinsic groups: @code{unix}.
7726 Obtains data about the given file @var{File} and places them in the array
7728 A null character (@samp{CHAR(0)}) marks the end of
7729 the name in @var{File}---otherwise,
7730 trailing blanks in @var{File} are ignored.
7731 If @var{File} is a symbolic link it returns data on the
7732 link itself, so the routine is available only on systems that support
7734 The values in this array are extracted from the
7735 @code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
7745 ID of device containing directory entry for file
7748 Device id (if relevant)
7766 Last modification time
7769 Last file status change time
7772 Preferred I/O block size
7775 Number of blocks allocated
7778 Not all these elements are relevant on all systems.
7779 If an element is not relevant, it is returned as 0.
7781 Returns 0 on success or a non-zero error code
7782 (@code{ENOSYS} if the system does not provide @code{lstat(2)}).
7784 For information on other intrinsics with the same name:
7785 @xref{LStat Intrinsic (subroutine)}.
7787 @node LTime Intrinsic
7788 @subsubsection LTime Intrinsic
7789 @cindex LTime intrinsic
7790 @cindex intrinsics, LTime
7794 CALL LTime(@var{STime}, @var{TArray})
7798 @var{STime}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
7801 @var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(9); INTENT(OUT).
7804 Intrinsic groups: @code{unix}.
7809 Given a system time value @var{STime}, fills @var{TArray} with values
7810 extracted from it appropriate to the GMT time zone using
7811 @code{localtime(3)}.
7813 The array elements are as follows:
7817 Seconds after the minute, range 0--59 or 0--61 to allow for leap
7821 Minutes after the hour, range 0--59
7824 Hours past midnight, range 0--23
7827 Day of month, range 0--31
7830 Number of months since January, range 0--12
7836 Number of days since Sunday, range 0--6
7839 Days since January 1
7842 Daylight savings indicator: positive if daylight savings is in effect,
7843 zero if not, and negative if the information isn't available.
7848 @node MatMul Intrinsic
7849 @subsubsection MatMul Intrinsic
7850 @cindex MatMul intrinsic
7851 @cindex intrinsics, MatMul
7853 This intrinsic is not yet implemented.
7854 The name is, however, reserved as an intrinsic.
7855 Use @samp{EXTERNAL MatMul} to use this name for an
7861 @subsubsection Max Intrinsic
7862 @cindex Max intrinsic
7863 @cindex intrinsics, Max
7867 Max(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
7871 Max: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
7872 types of all the arguments.
7875 @var{A}: @code{INTEGER} or @code{REAL}; at least two such arguments must be provided; scalar; INTENT(IN).
7878 Intrinsic groups: (standard FORTRAN 77).
7883 Returns the argument with the largest value.
7885 @xref{Min Intrinsic}, for the opposite function.
7887 @node Max0 Intrinsic
7888 @subsubsection Max0 Intrinsic
7889 @cindex Max0 intrinsic
7890 @cindex intrinsics, Max0
7894 Max0(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
7898 Max0: @code{INTEGER(KIND=1)} function.
7901 @var{A}: @code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
7904 Intrinsic groups: (standard FORTRAN 77).
7909 Archaic form of @code{MAX()} that is specific
7910 to one type for @var{A}.
7911 @xref{Max Intrinsic}.
7913 @node Max1 Intrinsic
7914 @subsubsection Max1 Intrinsic
7915 @cindex Max1 intrinsic
7916 @cindex intrinsics, Max1
7920 Max1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
7924 Max1: @code{INTEGER(KIND=1)} function.
7927 @var{A}: @code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
7930 Intrinsic groups: (standard FORTRAN 77).
7935 Archaic form of @code{MAX()} that is specific
7936 to one type for @var{A} and a different return type.
7937 @xref{Max Intrinsic}.
7941 @node MaxExponent Intrinsic
7942 @subsubsection MaxExponent Intrinsic
7943 @cindex MaxExponent intrinsic
7944 @cindex intrinsics, MaxExponent
7946 This intrinsic is not yet implemented.
7947 The name is, however, reserved as an intrinsic.
7948 Use @samp{EXTERNAL MaxExponent} to use this name for an
7951 @node MaxLoc Intrinsic
7952 @subsubsection MaxLoc Intrinsic
7953 @cindex MaxLoc intrinsic
7954 @cindex intrinsics, MaxLoc
7956 This intrinsic is not yet implemented.
7957 The name is, however, reserved as an intrinsic.
7958 Use @samp{EXTERNAL MaxLoc} to use this name for an
7961 @node MaxVal Intrinsic
7962 @subsubsection MaxVal Intrinsic
7963 @cindex MaxVal intrinsic
7964 @cindex intrinsics, MaxVal
7966 This intrinsic is not yet implemented.
7967 The name is, however, reserved as an intrinsic.
7968 Use @samp{EXTERNAL MaxVal} to use this name for an
7973 @node MClock Intrinsic
7974 @subsubsection MClock Intrinsic
7975 @cindex MClock intrinsic
7976 @cindex intrinsics, MClock
7984 MClock: @code{INTEGER(KIND=1)} function.
7987 Intrinsic groups: @code{unix}.
7992 Returns the number of clock ticks since the start of the process.
7993 Supported on systems with @code{clock(3)} (q.v.).
7995 This intrinsic is not fully portable, such as to systems
7996 with 32-bit @code{INTEGER} types but supporting times
7998 @xref{MClock8 Intrinsic}, for information on a
7999 similar intrinsic that might be portable to more
8000 GNU Fortran implementations, though to fewer
8003 If the system does not support @code{clock(3)},
8006 @node MClock8 Intrinsic
8007 @subsubsection MClock8 Intrinsic
8008 @cindex MClock8 intrinsic
8009 @cindex intrinsics, MClock8
8017 MClock8: @code{INTEGER(KIND=2)} function.
8020 Intrinsic groups: @code{unix}.
8025 Returns the number of clock ticks since the start of the process.
8026 Supported on systems with @code{clock(3)} (q.v.).
8028 No Fortran implementations other than GNU Fortran are
8029 known to support this intrinsic at the time of this
8031 @xref{MClock Intrinsic}, for information on a
8032 similar intrinsic that might be portable to more Fortran
8033 compilers, though to fewer GNU Fortran implementations.
8035 If the system does not support @code{clock(3)},
8040 @node Merge Intrinsic
8041 @subsubsection Merge Intrinsic
8042 @cindex Merge intrinsic
8043 @cindex intrinsics, Merge
8045 This intrinsic is not yet implemented.
8046 The name is, however, reserved as an intrinsic.
8047 Use @samp{EXTERNAL Merge} to use this name for an
8053 @subsubsection Min Intrinsic
8054 @cindex Min intrinsic
8055 @cindex intrinsics, Min
8059 Min(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
8063 Min: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
8064 types of all the arguments.
8067 @var{A}: @code{INTEGER} or @code{REAL}; at least two such arguments must be provided; scalar; INTENT(IN).
8070 Intrinsic groups: (standard FORTRAN 77).
8075 Returns the argument with the smallest value.
8077 @xref{Max Intrinsic}, for the opposite function.
8079 @node Min0 Intrinsic
8080 @subsubsection Min0 Intrinsic
8081 @cindex Min0 intrinsic
8082 @cindex intrinsics, Min0
8086 Min0(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
8090 Min0: @code{INTEGER(KIND=1)} function.
8093 @var{A}: @code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
8096 Intrinsic groups: (standard FORTRAN 77).
8101 Archaic form of @code{MIN()} that is specific
8102 to one type for @var{A}.
8103 @xref{Min Intrinsic}.
8105 @node Min1 Intrinsic
8106 @subsubsection Min1 Intrinsic
8107 @cindex Min1 intrinsic
8108 @cindex intrinsics, Min1
8112 Min1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
8116 Min1: @code{INTEGER(KIND=1)} function.
8119 @var{A}: @code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
8122 Intrinsic groups: (standard FORTRAN 77).
8127 Archaic form of @code{MIN()} that is specific
8128 to one type for @var{A} and a different return type.
8129 @xref{Min Intrinsic}.
8133 @node MinExponent Intrinsic
8134 @subsubsection MinExponent Intrinsic
8135 @cindex MinExponent intrinsic
8136 @cindex intrinsics, MinExponent
8138 This intrinsic is not yet implemented.
8139 The name is, however, reserved as an intrinsic.
8140 Use @samp{EXTERNAL MinExponent} to use this name for an
8143 @node MinLoc Intrinsic
8144 @subsubsection MinLoc Intrinsic
8145 @cindex MinLoc intrinsic
8146 @cindex intrinsics, MinLoc
8148 This intrinsic is not yet implemented.
8149 The name is, however, reserved as an intrinsic.
8150 Use @samp{EXTERNAL MinLoc} to use this name for an
8153 @node MinVal Intrinsic
8154 @subsubsection MinVal Intrinsic
8155 @cindex MinVal intrinsic
8156 @cindex intrinsics, MinVal
8158 This intrinsic is not yet implemented.
8159 The name is, however, reserved as an intrinsic.
8160 Use @samp{EXTERNAL MinVal} to use this name for an
8166 @subsubsection Mod Intrinsic
8167 @cindex Mod intrinsic
8168 @cindex intrinsics, Mod
8172 Mod(@var{A}, @var{P})
8176 Mod: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
8177 types of all the arguments.
8180 @var{A}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
8183 @var{P}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
8186 Intrinsic groups: (standard FORTRAN 77).
8191 Returns remainder calculated as:
8194 @var{A} - (INT(@var{A} / @var{P}) * @var{P})
8197 @var{P} must not be zero.
8201 @node Modulo Intrinsic
8202 @subsubsection Modulo Intrinsic
8203 @cindex Modulo intrinsic
8204 @cindex intrinsics, Modulo
8206 This intrinsic is not yet implemented.
8207 The name is, however, reserved as an intrinsic.
8208 Use @samp{EXTERNAL Modulo} to use this name for an
8213 @node MvBits Intrinsic
8214 @subsubsection MvBits Intrinsic
8215 @cindex MvBits intrinsic
8216 @cindex intrinsics, MvBits
8220 CALL MvBits(@var{From}, @var{FromPos}, @var{Len}, @var{TO}, @var{ToPos})
8224 @var{From}: @code{INTEGER}; scalar; INTENT(IN).
8227 @var{FromPos}: @code{INTEGER}; scalar; INTENT(IN).
8230 @var{Len}: @code{INTEGER}; scalar; INTENT(IN).
8233 @var{TO}: @code{INTEGER} with same @samp{KIND=} value as for @var{From}; scalar; INTENT(INOUT).
8236 @var{ToPos}: @code{INTEGER}; scalar; INTENT(IN).
8239 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
8244 Moves @var{Len} bits from positions @var{FromPos} through
8245 @samp{@var{FromPos}+@var{Len}-1} of @var{From} to positions @var{ToPos} through
8246 @samp{@var{FromPos}+@var{Len}-1} of @var{TO}. The portion of argument
8247 @var{TO} not affected by the movement of bits is unchanged. Arguments
8248 @var{From} and @var{TO} are permitted to be the same numeric storage
8249 unit. The values of @samp{@var{FromPos}+@var{Len}} and
8250 @samp{@var{ToPos}+@var{Len}} must be less than or equal to
8251 @samp{BIT_SIZE(@var{From})}.
8255 @node Nearest Intrinsic
8256 @subsubsection Nearest Intrinsic
8257 @cindex Nearest intrinsic
8258 @cindex intrinsics, Nearest
8260 This intrinsic is not yet implemented.
8261 The name is, however, reserved as an intrinsic.
8262 Use @samp{EXTERNAL Nearest} to use this name for an
8267 @node NInt Intrinsic
8268 @subsubsection NInt Intrinsic
8269 @cindex NInt intrinsic
8270 @cindex intrinsics, NInt
8278 NInt: @code{INTEGER(KIND=1)} function.
8281 @var{A}: @code{REAL}; scalar; INTENT(IN).
8284 Intrinsic groups: (standard FORTRAN 77).
8289 Returns @var{A} with the fractional portion of its
8290 magnitude eliminated by rounding to the nearest whole
8291 number and with its sign preserved, converted
8292 to type @code{INTEGER(KIND=1)}.
8294 If @var{A} is type @code{COMPLEX}, its real part is
8295 rounded and converted.
8297 A fractional portion exactly equal to
8298 @samp{.5} is rounded to the whole number that
8299 is larger in magnitude.
8300 (Also called ``Fortran round''.)
8302 @xref{Int Intrinsic}, for how to convert, truncate to
8305 @xref{ANInt Intrinsic}, for how to round to nearest whole number
8311 @subsubsection Not Intrinsic
8312 @cindex Not intrinsic
8313 @cindex intrinsics, Not
8321 Not: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
8324 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
8327 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
8332 Returns value resulting from boolean NOT of each bit
8338 @subsubsection Or Intrinsic
8339 @cindex Or intrinsic
8340 @cindex intrinsics, Or
8344 Or(@var{I}, @var{J})
8348 Or: @code{INTEGER} or @code{LOGICAL} function, the exact type being the result of cross-promoting the
8349 types of all the arguments.
8352 @var{I}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
8355 @var{J}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
8358 Intrinsic groups: @code{f2c}.
8363 Returns value resulting from boolean OR of
8364 pair of bits in each of @var{I} and @var{J}.
8368 @node Pack Intrinsic
8369 @subsubsection Pack Intrinsic
8370 @cindex Pack intrinsic
8371 @cindex intrinsics, Pack
8373 This intrinsic is not yet implemented.
8374 The name is, however, reserved as an intrinsic.
8375 Use @samp{EXTERNAL Pack} to use this name for an
8380 @node PError Intrinsic
8381 @subsubsection PError Intrinsic
8382 @cindex PError intrinsic
8383 @cindex intrinsics, PError
8387 CALL PError(@var{String})
8391 @var{String}: @code{CHARACTER}; scalar; INTENT(IN).
8394 Intrinsic groups: @code{unix}.
8399 Prints (on the C @code{stderr} stream) a newline-terminated error
8400 message corresponding to the last system error.
8401 This is prefixed by @var{String}, a colon and a space.
8402 See @code{perror(3)}.
8406 @node Precision Intrinsic
8407 @subsubsection Precision Intrinsic
8408 @cindex Precision intrinsic
8409 @cindex intrinsics, Precision
8411 This intrinsic is not yet implemented.
8412 The name is, however, reserved as an intrinsic.
8413 Use @samp{EXTERNAL Precision} to use this name for an
8416 @node Present Intrinsic
8417 @subsubsection Present Intrinsic
8418 @cindex Present intrinsic
8419 @cindex intrinsics, Present
8421 This intrinsic is not yet implemented.
8422 The name is, however, reserved as an intrinsic.
8423 Use @samp{EXTERNAL Present} to use this name for an
8426 @node Product Intrinsic
8427 @subsubsection Product Intrinsic
8428 @cindex Product intrinsic
8429 @cindex intrinsics, Product
8431 This intrinsic is not yet implemented.
8432 The name is, however, reserved as an intrinsic.
8433 Use @samp{EXTERNAL Product} to use this name for an
8438 @node QAbs Intrinsic
8439 @subsubsection QAbs Intrinsic
8440 @cindex QAbs intrinsic
8441 @cindex intrinsics, QAbs
8443 This intrinsic is not yet implemented.
8444 The name is, however, reserved as an intrinsic.
8445 Use @samp{EXTERNAL QAbs} to use this name for an
8448 @node QACos Intrinsic
8449 @subsubsection QACos Intrinsic
8450 @cindex QACos intrinsic
8451 @cindex intrinsics, QACos
8453 This intrinsic is not yet implemented.
8454 The name is, however, reserved as an intrinsic.
8455 Use @samp{EXTERNAL QACos} to use this name for an
8458 @node QACosD Intrinsic
8459 @subsubsection QACosD Intrinsic
8460 @cindex QACosD intrinsic
8461 @cindex intrinsics, QACosD
8463 This intrinsic is not yet implemented.
8464 The name is, however, reserved as an intrinsic.
8465 Use @samp{EXTERNAL QACosD} to use this name for an
8468 @node QASin Intrinsic
8469 @subsubsection QASin Intrinsic
8470 @cindex QASin intrinsic
8471 @cindex intrinsics, QASin
8473 This intrinsic is not yet implemented.
8474 The name is, however, reserved as an intrinsic.
8475 Use @samp{EXTERNAL QASin} to use this name for an
8478 @node QASinD Intrinsic
8479 @subsubsection QASinD Intrinsic
8480 @cindex QASinD intrinsic
8481 @cindex intrinsics, QASinD
8483 This intrinsic is not yet implemented.
8484 The name is, however, reserved as an intrinsic.
8485 Use @samp{EXTERNAL QASinD} to use this name for an
8488 @node QATan Intrinsic
8489 @subsubsection QATan Intrinsic
8490 @cindex QATan intrinsic
8491 @cindex intrinsics, QATan
8493 This intrinsic is not yet implemented.
8494 The name is, however, reserved as an intrinsic.
8495 Use @samp{EXTERNAL QATan} to use this name for an
8498 @node QATan2 Intrinsic
8499 @subsubsection QATan2 Intrinsic
8500 @cindex QATan2 intrinsic
8501 @cindex intrinsics, QATan2
8503 This intrinsic is not yet implemented.
8504 The name is, however, reserved as an intrinsic.
8505 Use @samp{EXTERNAL QATan2} to use this name for an
8508 @node QATan2D Intrinsic
8509 @subsubsection QATan2D Intrinsic
8510 @cindex QATan2D intrinsic
8511 @cindex intrinsics, QATan2D
8513 This intrinsic is not yet implemented.
8514 The name is, however, reserved as an intrinsic.
8515 Use @samp{EXTERNAL QATan2D} to use this name for an
8518 @node QATanD Intrinsic
8519 @subsubsection QATanD Intrinsic
8520 @cindex QATanD intrinsic
8521 @cindex intrinsics, QATanD
8523 This intrinsic is not yet implemented.
8524 The name is, however, reserved as an intrinsic.
8525 Use @samp{EXTERNAL QATanD} to use this name for an
8528 @node QCos Intrinsic
8529 @subsubsection QCos Intrinsic
8530 @cindex QCos intrinsic
8531 @cindex intrinsics, QCos
8533 This intrinsic is not yet implemented.
8534 The name is, however, reserved as an intrinsic.
8535 Use @samp{EXTERNAL QCos} to use this name for an
8538 @node QCosD Intrinsic
8539 @subsubsection QCosD Intrinsic
8540 @cindex QCosD intrinsic
8541 @cindex intrinsics, QCosD
8543 This intrinsic is not yet implemented.
8544 The name is, however, reserved as an intrinsic.
8545 Use @samp{EXTERNAL QCosD} to use this name for an
8548 @node QCosH Intrinsic
8549 @subsubsection QCosH Intrinsic
8550 @cindex QCosH intrinsic
8551 @cindex intrinsics, QCosH
8553 This intrinsic is not yet implemented.
8554 The name is, however, reserved as an intrinsic.
8555 Use @samp{EXTERNAL QCosH} to use this name for an
8558 @node QDiM Intrinsic
8559 @subsubsection QDiM Intrinsic
8560 @cindex QDiM intrinsic
8561 @cindex intrinsics, QDiM
8563 This intrinsic is not yet implemented.
8564 The name is, however, reserved as an intrinsic.
8565 Use @samp{EXTERNAL QDiM} to use this name for an
8568 @node QExp Intrinsic
8569 @subsubsection QExp Intrinsic
8570 @cindex QExp intrinsic
8571 @cindex intrinsics, QExp
8573 This intrinsic is not yet implemented.
8574 The name is, however, reserved as an intrinsic.
8575 Use @samp{EXTERNAL QExp} to use this name for an
8578 @node QExt Intrinsic
8579 @subsubsection QExt Intrinsic
8580 @cindex QExt intrinsic
8581 @cindex intrinsics, QExt
8583 This intrinsic is not yet implemented.
8584 The name is, however, reserved as an intrinsic.
8585 Use @samp{EXTERNAL QExt} to use this name for an
8588 @node QExtD Intrinsic
8589 @subsubsection QExtD Intrinsic
8590 @cindex QExtD intrinsic
8591 @cindex intrinsics, QExtD
8593 This intrinsic is not yet implemented.
8594 The name is, however, reserved as an intrinsic.
8595 Use @samp{EXTERNAL QExtD} to use this name for an
8598 @node QFloat Intrinsic
8599 @subsubsection QFloat Intrinsic
8600 @cindex QFloat intrinsic
8601 @cindex intrinsics, QFloat
8603 This intrinsic is not yet implemented.
8604 The name is, however, reserved as an intrinsic.
8605 Use @samp{EXTERNAL QFloat} to use this name for an
8608 @node QInt Intrinsic
8609 @subsubsection QInt Intrinsic
8610 @cindex QInt intrinsic
8611 @cindex intrinsics, QInt
8613 This intrinsic is not yet implemented.
8614 The name is, however, reserved as an intrinsic.
8615 Use @samp{EXTERNAL QInt} to use this name for an
8618 @node QLog Intrinsic
8619 @subsubsection QLog Intrinsic
8620 @cindex QLog intrinsic
8621 @cindex intrinsics, QLog
8623 This intrinsic is not yet implemented.
8624 The name is, however, reserved as an intrinsic.
8625 Use @samp{EXTERNAL QLog} to use this name for an
8628 @node QLog10 Intrinsic
8629 @subsubsection QLog10 Intrinsic
8630 @cindex QLog10 intrinsic
8631 @cindex intrinsics, QLog10
8633 This intrinsic is not yet implemented.
8634 The name is, however, reserved as an intrinsic.
8635 Use @samp{EXTERNAL QLog10} to use this name for an
8638 @node QMax1 Intrinsic
8639 @subsubsection QMax1 Intrinsic
8640 @cindex QMax1 intrinsic
8641 @cindex intrinsics, QMax1
8643 This intrinsic is not yet implemented.
8644 The name is, however, reserved as an intrinsic.
8645 Use @samp{EXTERNAL QMax1} to use this name for an
8648 @node QMin1 Intrinsic
8649 @subsubsection QMin1 Intrinsic
8650 @cindex QMin1 intrinsic
8651 @cindex intrinsics, QMin1
8653 This intrinsic is not yet implemented.
8654 The name is, however, reserved as an intrinsic.
8655 Use @samp{EXTERNAL QMin1} to use this name for an
8658 @node QMod Intrinsic
8659 @subsubsection QMod Intrinsic
8660 @cindex QMod intrinsic
8661 @cindex intrinsics, QMod
8663 This intrinsic is not yet implemented.
8664 The name is, however, reserved as an intrinsic.
8665 Use @samp{EXTERNAL QMod} to use this name for an
8668 @node QNInt Intrinsic
8669 @subsubsection QNInt Intrinsic
8670 @cindex QNInt intrinsic
8671 @cindex intrinsics, QNInt
8673 This intrinsic is not yet implemented.
8674 The name is, however, reserved as an intrinsic.
8675 Use @samp{EXTERNAL QNInt} to use this name for an
8678 @node QSin Intrinsic
8679 @subsubsection QSin Intrinsic
8680 @cindex QSin intrinsic
8681 @cindex intrinsics, QSin
8683 This intrinsic is not yet implemented.
8684 The name is, however, reserved as an intrinsic.
8685 Use @samp{EXTERNAL QSin} to use this name for an
8688 @node QSinD Intrinsic
8689 @subsubsection QSinD Intrinsic
8690 @cindex QSinD intrinsic
8691 @cindex intrinsics, QSinD
8693 This intrinsic is not yet implemented.
8694 The name is, however, reserved as an intrinsic.
8695 Use @samp{EXTERNAL QSinD} to use this name for an
8698 @node QSinH Intrinsic
8699 @subsubsection QSinH Intrinsic
8700 @cindex QSinH intrinsic
8701 @cindex intrinsics, QSinH
8703 This intrinsic is not yet implemented.
8704 The name is, however, reserved as an intrinsic.
8705 Use @samp{EXTERNAL QSinH} to use this name for an
8708 @node QSqRt Intrinsic
8709 @subsubsection QSqRt Intrinsic
8710 @cindex QSqRt intrinsic
8711 @cindex intrinsics, QSqRt
8713 This intrinsic is not yet implemented.
8714 The name is, however, reserved as an intrinsic.
8715 Use @samp{EXTERNAL QSqRt} to use this name for an
8718 @node QTan Intrinsic
8719 @subsubsection QTan Intrinsic
8720 @cindex QTan intrinsic
8721 @cindex intrinsics, QTan
8723 This intrinsic is not yet implemented.
8724 The name is, however, reserved as an intrinsic.
8725 Use @samp{EXTERNAL QTan} to use this name for an
8728 @node QTanD Intrinsic
8729 @subsubsection QTanD Intrinsic
8730 @cindex QTanD intrinsic
8731 @cindex intrinsics, QTanD
8733 This intrinsic is not yet implemented.
8734 The name is, however, reserved as an intrinsic.
8735 Use @samp{EXTERNAL QTanD} to use this name for an
8738 @node QTanH Intrinsic
8739 @subsubsection QTanH Intrinsic
8740 @cindex QTanH intrinsic
8741 @cindex intrinsics, QTanH
8743 This intrinsic is not yet implemented.
8744 The name is, however, reserved as an intrinsic.
8745 Use @samp{EXTERNAL QTanH} to use this name for an
8750 @node Radix Intrinsic
8751 @subsubsection Radix Intrinsic
8752 @cindex Radix intrinsic
8753 @cindex intrinsics, Radix
8755 This intrinsic is not yet implemented.
8756 The name is, however, reserved as an intrinsic.
8757 Use @samp{EXTERNAL Radix} to use this name for an
8762 @node Rand Intrinsic
8763 @subsubsection Rand Intrinsic
8764 @cindex Rand intrinsic
8765 @cindex intrinsics, Rand
8773 Rand: @code{REAL(KIND=1)} function.
8776 @var{Flag}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN).
8779 Intrinsic groups: @code{unix}.
8784 Returns a uniform quasi-random number between 0 and 1.
8785 If @var{Flag} is 0, the next number in sequence is returned; if
8786 @var{Flag} is 1, the generator is restarted by calling @samp{srand(0)};
8787 if @var{Flag} has any other value, it is used as a new seed with
8790 @xref{SRand Intrinsic}.
8792 @emph{Note:} As typically implemented (by the routine of the same
8793 name in the C library), this random number generator is a very poor
8794 one, though the BSD and GNU libraries provide a much better
8795 implementation than the `traditional' one.
8796 On a different system you
8797 almost certainly want to use something better.
8801 @node Random_Number Intrinsic
8802 @subsubsection Random_Number Intrinsic
8803 @cindex Random_Number intrinsic
8804 @cindex intrinsics, Random_Number
8806 This intrinsic is not yet implemented.
8807 The name is, however, reserved as an intrinsic.
8808 Use @samp{EXTERNAL Random_Number} to use this name for an
8811 @node Random_Seed Intrinsic
8812 @subsubsection Random_Seed Intrinsic
8813 @cindex Random_Seed intrinsic
8814 @cindex intrinsics, Random_Seed
8816 This intrinsic is not yet implemented.
8817 The name is, however, reserved as an intrinsic.
8818 Use @samp{EXTERNAL Random_Seed} to use this name for an
8821 @node Range Intrinsic
8822 @subsubsection Range Intrinsic
8823 @cindex Range intrinsic
8824 @cindex intrinsics, Range
8826 This intrinsic is not yet implemented.
8827 The name is, however, reserved as an intrinsic.
8828 Use @samp{EXTERNAL Range} to use this name for an
8833 @node Real Intrinsic
8834 @subsubsection Real Intrinsic
8835 @cindex Real intrinsic
8836 @cindex intrinsics, Real
8844 Real: @code{REAL} function.
8845 The exact type is @samp{REAL(KIND=1)} when argument @var{A} is
8846 any type other than @code{COMPLEX}, or when it is @code{COMPLEX(KIND=1)}.
8847 When @var{A} is any @code{COMPLEX} type other than @code{COMPLEX(KIND=1)},
8848 this intrinsic is valid only when used as the argument to
8849 @code{REAL()}, as explained below.
8852 @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
8855 Intrinsic groups: (standard FORTRAN 77).
8860 Converts @var{A} to @code{REAL(KIND=1)}.
8862 Use of @code{REAL()} with a @code{COMPLEX} argument
8863 (other than @code{COMPLEX(KIND=1)}) is restricted to the following case:
8870 This expression converts the real part of A to
8871 @code{REAL(KIND=1)}.
8873 @xref{RealPart Intrinsic}, for information on a GNU Fortran
8874 intrinsic that extracts the real part of an arbitrary
8875 @code{COMPLEX} value.
8877 @xref{REAL() and AIMAG() of Complex}, for more information.
8881 @node RealPart Intrinsic
8882 @subsubsection RealPart Intrinsic
8883 @cindex RealPart intrinsic
8884 @cindex intrinsics, RealPart
8892 RealPart: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{Z}.
8895 @var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
8898 Intrinsic groups: @code{gnu}.
8903 The real part of @var{Z} is returned, without conversion.
8905 @emph{Note:} The way to do this in standard Fortran 90
8906 is @samp{REAL(@var{Z})}.
8907 However, when, for example, @var{Z} is @code{COMPLEX(KIND=2)},
8908 @samp{REAL(@var{Z})} means something different for some compilers
8909 that are not true Fortran 90 compilers but offer some
8910 extensions standardized by Fortran 90 (such as the
8911 @code{DOUBLE COMPLEX} type, also known as @code{COMPLEX(KIND=2)}).
8913 The advantage of @code{REALPART()} is that, while not necessarily
8914 more or less portable than @code{REAL()}, it is more likely to
8915 cause a compiler that doesn't support it to produce a diagnostic
8916 than generate incorrect code.
8918 @xref{REAL() and AIMAG() of Complex}, for more information.
8922 @node Rename Intrinsic (subroutine)
8923 @subsubsection Rename Intrinsic (subroutine)
8924 @cindex Rename intrinsic
8925 @cindex intrinsics, Rename
8929 CALL Rename(@var{Path1}, @var{Path2}, @var{Status})
8933 @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
8936 @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
8939 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
8942 Intrinsic groups: @code{unix}.
8947 Renames the file @var{Path1} to @var{Path2}.
8948 A null character (@samp{CHAR(0)}) marks the end of
8949 the names in @var{Path1} and @var{Path2}---otherwise,
8950 trailing blanks in @var{Path1} and @var{Path2} are ignored.
8951 See @code{rename(2)}.
8952 If the @var{Status} argument is supplied, it contains
8953 0 on success or a non-zero error code upon return.
8955 Some non-GNU implementations of Fortran provide this intrinsic as
8956 only a function, not as a subroutine, or do not support the
8957 (optional) @var{Status} argument.
8959 For information on other intrinsics with the same name:
8960 @xref{Rename Intrinsic (function)}.
8964 @node Rename Intrinsic (function)
8965 @subsubsection Rename Intrinsic (function)
8966 @cindex Rename intrinsic
8967 @cindex intrinsics, Rename
8971 Rename(@var{Path1}, @var{Path2})
8975 Rename: @code{INTEGER(KIND=1)} function.
8978 @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
8981 @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
8984 Intrinsic groups: @code{badu77}.
8989 Renames the file @var{Path1} to @var{Path2}.
8990 A null character (@samp{CHAR(0)}) marks the end of
8991 the names in @var{Path1} and @var{Path2}---otherwise,
8992 trailing blanks in @var{Path1} and @var{Path2} are ignored.
8993 See @code{rename(2)}.
8994 Returns 0 on success or a non-zero error code.
8996 Due to the side effects performed by this intrinsic, the function
8997 form is not recommended.
8999 For information on other intrinsics with the same name:
9000 @xref{Rename Intrinsic (subroutine)}.
9004 @node Repeat Intrinsic
9005 @subsubsection Repeat Intrinsic
9006 @cindex Repeat intrinsic
9007 @cindex intrinsics, Repeat
9009 This intrinsic is not yet implemented.
9010 The name is, however, reserved as an intrinsic.
9011 Use @samp{EXTERNAL Repeat} to use this name for an
9014 @node Reshape Intrinsic
9015 @subsubsection Reshape Intrinsic
9016 @cindex Reshape intrinsic
9017 @cindex intrinsics, Reshape
9019 This intrinsic is not yet implemented.
9020 The name is, however, reserved as an intrinsic.
9021 Use @samp{EXTERNAL Reshape} to use this name for an
9024 @node RRSpacing Intrinsic
9025 @subsubsection RRSpacing Intrinsic
9026 @cindex RRSpacing intrinsic
9027 @cindex intrinsics, RRSpacing
9029 This intrinsic is not yet implemented.
9030 The name is, however, reserved as an intrinsic.
9031 Use @samp{EXTERNAL RRSpacing} to use this name for an
9036 @node RShift Intrinsic
9037 @subsubsection RShift Intrinsic
9038 @cindex RShift intrinsic
9039 @cindex intrinsics, RShift
9043 RShift(@var{I}, @var{Shift})
9047 RShift: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
9050 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
9053 @var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
9056 Intrinsic groups: @code{f2c}.
9061 Returns @var{I} shifted to the right
9064 Although similar to the expression
9065 @samp{@var{I}/(2**@var{Shift})}, there
9066 are important differences.
9067 For example, the sign of the result is
9070 Currently this intrinsic is defined assuming
9071 the underlying representation of @var{I}
9072 is as a two's-complement integer.
9073 It is unclear at this point whether that
9074 definition will apply when a different
9075 representation is involved.
9077 @xref{RShift Intrinsic}, for the inverse of this function.
9079 @xref{IShft Intrinsic}, for information
9080 on a more widely available right-shifting
9081 intrinsic that is also more precisely defined.
9085 @node Scale Intrinsic
9086 @subsubsection Scale Intrinsic
9087 @cindex Scale intrinsic
9088 @cindex intrinsics, Scale
9090 This intrinsic is not yet implemented.
9091 The name is, however, reserved as an intrinsic.
9092 Use @samp{EXTERNAL Scale} to use this name for an
9095 @node Scan Intrinsic
9096 @subsubsection Scan Intrinsic
9097 @cindex Scan intrinsic
9098 @cindex intrinsics, Scan
9100 This intrinsic is not yet implemented.
9101 The name is, however, reserved as an intrinsic.
9102 Use @samp{EXTERNAL Scan} to use this name for an
9107 @node Secnds Intrinsic
9108 @subsubsection Secnds Intrinsic
9109 @cindex Secnds intrinsic
9110 @cindex intrinsics, Secnds
9118 Secnds: @code{REAL(KIND=1)} function.
9121 @var{T}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
9124 Intrinsic groups: @code{vxt}.
9129 Returns the local time in seconds since midnight minus the value
9134 @node Second Intrinsic (function)
9135 @subsubsection Second Intrinsic (function)
9136 @cindex Second intrinsic
9137 @cindex intrinsics, Second
9145 Second: @code{REAL(KIND=1)} function.
9148 Intrinsic groups: @code{unix}.
9153 Returns the process's runtime in seconds---the same value as the
9154 UNIX function @code{etime} returns.
9156 For information on other intrinsics with the same name:
9157 @xref{Second Intrinsic (subroutine)}.
9159 @node Second Intrinsic (subroutine)
9160 @subsubsection Second Intrinsic (subroutine)
9161 @cindex Second intrinsic
9162 @cindex intrinsics, Second
9166 CALL Second(@var{Seconds})
9170 @var{Seconds}: @code{REAL}; scalar; INTENT(OUT).
9173 Intrinsic groups: @code{unix}.
9178 Returns the process's runtime in seconds in @var{Seconds}---the same value
9179 as the UNIX function @code{etime} returns.
9181 This routine is known from Cray Fortran. @xref{CPU_Time Intrinsic},
9182 for a standard equivalent.
9184 For information on other intrinsics with the same name:
9185 @xref{Second Intrinsic (function)}.
9189 @node Selected_Int_Kind Intrinsic
9190 @subsubsection Selected_Int_Kind Intrinsic
9191 @cindex Selected_Int_Kind intrinsic
9192 @cindex intrinsics, Selected_Int_Kind
9194 This intrinsic is not yet implemented.
9195 The name is, however, reserved as an intrinsic.
9196 Use @samp{EXTERNAL Selected_Int_Kind} to use this name for an
9199 @node Selected_Real_Kind Intrinsic
9200 @subsubsection Selected_Real_Kind Intrinsic
9201 @cindex Selected_Real_Kind intrinsic
9202 @cindex intrinsics, Selected_Real_Kind
9204 This intrinsic is not yet implemented.
9205 The name is, however, reserved as an intrinsic.
9206 Use @samp{EXTERNAL Selected_Real_Kind} to use this name for an
9209 @node Set_Exponent Intrinsic
9210 @subsubsection Set_Exponent Intrinsic
9211 @cindex Set_Exponent intrinsic
9212 @cindex intrinsics, Set_Exponent
9214 This intrinsic is not yet implemented.
9215 The name is, however, reserved as an intrinsic.
9216 Use @samp{EXTERNAL Set_Exponent} to use this name for an
9219 @node Shape Intrinsic
9220 @subsubsection Shape Intrinsic
9221 @cindex Shape intrinsic
9222 @cindex intrinsics, Shape
9224 This intrinsic is not yet implemented.
9225 The name is, however, reserved as an intrinsic.
9226 Use @samp{EXTERNAL Shape} to use this name for an
9231 @node Short Intrinsic
9232 @subsubsection Short Intrinsic
9233 @cindex Short intrinsic
9234 @cindex intrinsics, Short
9242 Short: @code{INTEGER(KIND=6)} function.
9245 @var{A}: @code{INTEGER}; scalar; INTENT(IN).
9248 Intrinsic groups: @code{unix}.
9253 Returns @var{A} with the fractional portion of its
9254 magnitude truncated and its sign preserved, converted
9255 to type @code{INTEGER(KIND=6)}.
9257 If @var{A} is type @code{COMPLEX}, its real part
9258 is truncated and converted, and its imaginary part is disgregarded.
9260 @xref{Int Intrinsic}.
9262 The precise meaning of this intrinsic might change
9263 in a future version of the GNU Fortran language,
9264 as more is learned about how it is used.
9268 @node Sign Intrinsic
9269 @subsubsection Sign Intrinsic
9270 @cindex Sign intrinsic
9271 @cindex intrinsics, Sign
9275 Sign(@var{A}, @var{B})
9279 Sign: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
9280 types of all the arguments.
9283 @var{A}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
9286 @var{B}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
9289 Intrinsic groups: (standard FORTRAN 77).
9294 Returns @samp{ABS(@var{A})*@var{s}}, where
9295 @var{s} is +1 if @samp{@var{B}.GE.0},
9298 @xref{Abs Intrinsic}, for the function that returns
9299 the magnitude of a value.
9303 @node Signal Intrinsic (subroutine)
9304 @subsubsection Signal Intrinsic (subroutine)
9305 @cindex Signal intrinsic
9306 @cindex intrinsics, Signal
9310 CALL Signal(@var{Number}, @var{Handler}, @var{Status})
9314 @var{Number}: @code{INTEGER}; scalar; INTENT(IN).
9317 @var{Handler}: Signal handler (@code{INTEGER FUNCTION} or @code{SUBROUTINE})
9318 or dummy/global @code{INTEGER(KIND=1)} scalar.
9321 @var{Status}: @code{INTEGER(KIND=7)}; OPTIONAL; scalar; INTENT(OUT).
9324 Intrinsic groups: @code{unix}.
9329 If @var{Handler} is a an @code{EXTERNAL} routine, arranges for it to be
9330 invoked with a single integer argument (of system-dependent length)
9331 when signal @var{Number} occurs.
9332 If @var{Handler} is an integer, it can be
9333 used to turn off handling of signal @var{Number} or revert to its default
9335 See @code{signal(2)}.
9337 Note that @var{Handler} will be called using C conventions,
9338 so the value of its argument in Fortran terms
9339 Fortran terms is obtained by applying @code{%LOC()} (or @var{LOC()}) to it.
9341 The value returned by @code{signal(2)} is written to @var{Status}, if
9342 that argument is supplied.
9343 Otherwise the return value is ignored.
9345 Some non-GNU implementations of Fortran provide this intrinsic as
9346 only a function, not as a subroutine, or do not support the
9347 (optional) @var{Status} argument.
9349 @emph{Warning:} Use of the @code{libf2c} run-time library function
9350 @samp{signal_} directly
9351 (such as via @samp{EXTERNAL SIGNAL})
9352 requires use of the @code{%VAL()} construct
9353 to pass an @code{INTEGER} value
9354 (such as @samp{SIG_IGN} or @samp{SIG_DFL})
9355 for the @var{Handler} argument.
9357 However, while @samp{CALL SIGNAL(@var{signum}, %VAL(SIG_IGN))}
9358 works when @samp{SIGNAL} is treated as an external procedure
9359 (and resolves, at link time, to @code{libf2c}'s @samp{signal_} routine),
9360 this construct is not valid when @samp{SIGNAL} is recognized
9361 as the intrinsic of that name.
9363 Therefore, for maximum portability and reliability,
9364 code such references to the @samp{SIGNAL} facility as follows:
9369 CALL SIGNAL(@var{signum}, SIG_IGN)
9372 @code{g77} will compile such a call correctly,
9373 while other compilers will generally either do so as well
9374 or reject the @samp{INTRINSIC SIGNAL} statement via a diagnostic,
9375 allowing you to take appropriate action.
9377 For information on other intrinsics with the same name:
9378 @xref{Signal Intrinsic (function)}.
9382 @node Signal Intrinsic (function)
9383 @subsubsection Signal Intrinsic (function)
9384 @cindex Signal intrinsic
9385 @cindex intrinsics, Signal
9389 Signal(@var{Number}, @var{Handler})
9393 Signal: @code{INTEGER(KIND=7)} function.
9396 @var{Number}: @code{INTEGER}; scalar; INTENT(IN).
9399 @var{Handler}: Signal handler (@code{INTEGER FUNCTION} or @code{SUBROUTINE})
9400 or dummy/global @code{INTEGER(KIND=1)} scalar.
9403 Intrinsic groups: @code{badu77}.
9408 If @var{Handler} is a an @code{EXTERNAL} routine, arranges for it to be
9409 invoked with a single integer argument (of system-dependent length)
9410 when signal @var{Number} occurs.
9411 If @var{Handler} is an integer, it can be
9412 used to turn off handling of signal @var{Number} or revert to its default
9414 See @code{signal(2)}.
9416 Note that @var{Handler} will be called using C conventions,
9417 so the value of its argument in Fortran terms
9418 is obtained by applying @code{%LOC()} (or @var{LOC()}) to it.
9420 The value returned by @code{signal(2)} is returned.
9422 Due to the side effects performed by this intrinsic, the function
9423 form is not recommended.
9425 @emph{Warning:} If the returned value is stored in
9426 an @code{INTEGER(KIND=1)} (default @code{INTEGER}) argument,
9427 truncation of the original return value occurs on some systems
9428 (such as Alphas, which have 64-bit pointers but 32-bit default integers),
9429 with no warning issued by @code{g77} under normal circumstances.
9431 Therefore, the following code fragment might silently fail on
9437 RTN = SIGNAL(@var{signum}, MYHNDL)
9439 ! Restore original handler:
9440 RTN = SIGNAL(@var{signum}, RTN)
9443 The reason for the failure is that @samp{RTN} might not hold
9444 all the information on the original handler for the signal,
9445 thus restoring an invalid handler.
9446 This bug could manifest itself as a spurious run-time failure
9447 at an arbitrary point later during the program's execution,
9450 @emph{Warning:} Use of the @code{libf2c} run-time library function
9451 @samp{signal_} directly
9452 (such as via @samp{EXTERNAL SIGNAL})
9453 requires use of the @code{%VAL()} construct
9454 to pass an @code{INTEGER} value
9455 (such as @samp{SIG_IGN} or @samp{SIG_DFL})
9456 for the @var{Handler} argument.
9458 However, while @samp{RTN = SIGNAL(@var{signum}, %VAL(SIG_IGN))}
9459 works when @samp{SIGNAL} is treated as an external procedure
9460 (and resolves, at link time, to @code{libf2c}'s @samp{signal_} routine),
9461 this construct is not valid when @samp{SIGNAL} is recognized
9462 as the intrinsic of that name.
9464 Therefore, for maximum portability and reliability,
9465 code such references to the @samp{SIGNAL} facility as follows:
9470 RTN = SIGNAL(@var{signum}, SIG_IGN)
9473 @code{g77} will compile such a call correctly,
9474 while other compilers will generally either do so as well
9475 or reject the @samp{INTRINSIC SIGNAL} statement via a diagnostic,
9476 allowing you to take appropriate action.
9478 For information on other intrinsics with the same name:
9479 @xref{Signal Intrinsic (subroutine)}.
9484 @subsubsection Sin Intrinsic
9485 @cindex Sin intrinsic
9486 @cindex intrinsics, Sin
9494 Sin: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
9497 @var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
9500 Intrinsic groups: (standard FORTRAN 77).
9505 Returns the sine of @var{X}, an angle measured
9508 @xref{ASin Intrinsic}, for the inverse of this function.
9512 @node SinD Intrinsic
9513 @subsubsection SinD Intrinsic
9514 @cindex SinD intrinsic
9515 @cindex intrinsics, SinD
9517 This intrinsic is not yet implemented.
9518 The name is, however, reserved as an intrinsic.
9519 Use @samp{EXTERNAL SinD} to use this name for an
9524 @node SinH Intrinsic
9525 @subsubsection SinH Intrinsic
9526 @cindex SinH intrinsic
9527 @cindex intrinsics, SinH
9535 SinH: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
9538 @var{X}: @code{REAL}; scalar; INTENT(IN).
9541 Intrinsic groups: (standard FORTRAN 77).
9546 Returns the hyperbolic sine of @var{X}.
9550 @node Sleep Intrinsic
9551 @subsubsection Sleep Intrinsic
9552 @cindex Sleep intrinsic
9553 @cindex intrinsics, Sleep
9557 CALL Sleep(@var{Seconds})
9561 @var{Seconds}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
9564 Intrinsic groups: @code{unix}.
9569 Causes the process to pause for @var{Seconds} seconds.
9570 See @code{sleep(2)}.
9574 @node Sngl Intrinsic
9575 @subsubsection Sngl Intrinsic
9576 @cindex Sngl intrinsic
9577 @cindex intrinsics, Sngl
9585 Sngl: @code{REAL(KIND=1)} function.
9588 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
9591 Intrinsic groups: (standard FORTRAN 77).
9596 Archaic form of @code{REAL()} that is specific
9597 to one type for @var{A}.
9598 @xref{Real Intrinsic}.
9602 @node SnglQ Intrinsic
9603 @subsubsection SnglQ Intrinsic
9604 @cindex SnglQ intrinsic
9605 @cindex intrinsics, SnglQ
9607 This intrinsic is not yet implemented.
9608 The name is, however, reserved as an intrinsic.
9609 Use @samp{EXTERNAL SnglQ} to use this name for an
9614 @node Spacing Intrinsic
9615 @subsubsection Spacing Intrinsic
9616 @cindex Spacing intrinsic
9617 @cindex intrinsics, Spacing
9619 This intrinsic is not yet implemented.
9620 The name is, however, reserved as an intrinsic.
9621 Use @samp{EXTERNAL Spacing} to use this name for an
9624 @node Spread Intrinsic
9625 @subsubsection Spread Intrinsic
9626 @cindex Spread intrinsic
9627 @cindex intrinsics, Spread
9629 This intrinsic is not yet implemented.
9630 The name is, however, reserved as an intrinsic.
9631 Use @samp{EXTERNAL Spread} to use this name for an
9636 @node SqRt Intrinsic
9637 @subsubsection SqRt Intrinsic
9638 @cindex SqRt intrinsic
9639 @cindex intrinsics, SqRt
9647 SqRt: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
9650 @var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
9653 Intrinsic groups: (standard FORTRAN 77).
9658 Returns the square root of @var{X}, which must
9661 To calculate and represent the square root of a negative
9662 number, complex arithmetic must be used.
9663 For example, @samp{SQRT(COMPLEX(@var{X}))}.
9665 The inverse of this function is @samp{SQRT(@var{X}) * SQRT(@var{X})}.
9669 @node SRand Intrinsic
9670 @subsubsection SRand Intrinsic
9671 @cindex SRand intrinsic
9672 @cindex intrinsics, SRand
9676 CALL SRand(@var{Seed})
9680 @var{Seed}: @code{INTEGER}; scalar; INTENT(IN).
9683 Intrinsic groups: @code{unix}.
9688 Reinitialises the generator with the seed in @var{Seed}.
9689 @xref{IRand Intrinsic}.
9690 @xref{Rand Intrinsic}.
9692 @node Stat Intrinsic (subroutine)
9693 @subsubsection Stat Intrinsic (subroutine)
9694 @cindex Stat intrinsic
9695 @cindex intrinsics, Stat
9699 CALL Stat(@var{File}, @var{SArray}, @var{Status})
9703 @var{File}: @code{CHARACTER}; scalar; INTENT(IN).
9706 @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
9709 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
9712 Intrinsic groups: @code{unix}.
9717 Obtains data about the given file @var{File} and places them in the array
9719 A null character (@samp{CHAR(0)}) marks the end of
9720 the name in @var{File}---otherwise,
9721 trailing blanks in @var{File} are ignored.
9722 The values in this array are extracted from the
9723 @code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
9733 ID of device containing directory entry for file
9736 Device id (if relevant)
9754 Last modification time
9757 Last file status change time
9760 Preferred I/O block size
9763 Number of blocks allocated
9766 Not all these elements are relevant on all systems.
9767 If an element is not relevant, it is returned as 0.
9769 If the @var{Status} argument is supplied, it contains
9770 0 on success or a non-zero error code upon return.
9772 Some non-GNU implementations of Fortran provide this intrinsic as
9773 only a function, not as a subroutine, or do not support the
9774 (optional) @var{Status} argument.
9776 For information on other intrinsics with the same name:
9777 @xref{Stat Intrinsic (function)}.
9779 @node Stat Intrinsic (function)
9780 @subsubsection Stat Intrinsic (function)
9781 @cindex Stat intrinsic
9782 @cindex intrinsics, Stat
9786 Stat(@var{File}, @var{SArray})
9790 Stat: @code{INTEGER(KIND=1)} function.
9793 @var{File}: @code{CHARACTER}; scalar; INTENT(IN).
9796 @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
9799 Intrinsic groups: @code{unix}.
9804 Obtains data about the given file @var{File} and places them in the array
9806 A null character (@samp{CHAR(0)}) marks the end of
9807 the name in @var{File}---otherwise,
9808 trailing blanks in @var{File} are ignored.
9809 The values in this array are extracted from the
9810 @code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
9820 ID of device containing directory entry for file
9823 Device id (if relevant)
9841 Last modification time
9844 Last file status change time
9847 Preferred I/O block size
9850 Number of blocks allocated
9853 Not all these elements are relevant on all systems.
9854 If an element is not relevant, it is returned as 0.
9856 Returns 0 on success or a non-zero error code.
9858 For information on other intrinsics with the same name:
9859 @xref{Stat Intrinsic (subroutine)}.
9864 @subsubsection Sum Intrinsic
9865 @cindex Sum intrinsic
9866 @cindex intrinsics, Sum
9868 This intrinsic is not yet implemented.
9869 The name is, however, reserved as an intrinsic.
9870 Use @samp{EXTERNAL Sum} to use this name for an
9875 @node SymLnk Intrinsic (subroutine)
9876 @subsubsection SymLnk Intrinsic (subroutine)
9877 @cindex SymLnk intrinsic
9878 @cindex intrinsics, SymLnk
9882 CALL SymLnk(@var{Path1}, @var{Path2}, @var{Status})
9886 @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
9889 @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
9892 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
9895 Intrinsic groups: @code{unix}.
9900 Makes a symbolic link from file @var{Path1} to @var{Path2}.
9901 A null character (@samp{CHAR(0)}) marks the end of
9902 the names in @var{Path1} and @var{Path2}---otherwise,
9903 trailing blanks in @var{Path1} and @var{Path2} are ignored.
9904 If the @var{Status} argument is supplied, it contains
9905 0 on success or a non-zero error code upon return
9906 (@code{ENOSYS} if the system does not provide @code{symlink(2)}).
9908 Some non-GNU implementations of Fortran provide this intrinsic as
9909 only a function, not as a subroutine, or do not support the
9910 (optional) @var{Status} argument.
9912 For information on other intrinsics with the same name:
9913 @xref{SymLnk Intrinsic (function)}.
9917 @node SymLnk Intrinsic (function)
9918 @subsubsection SymLnk Intrinsic (function)
9919 @cindex SymLnk intrinsic
9920 @cindex intrinsics, SymLnk
9924 SymLnk(@var{Path1}, @var{Path2})
9928 SymLnk: @code{INTEGER(KIND=1)} function.
9931 @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
9934 @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
9937 Intrinsic groups: @code{badu77}.
9942 Makes a symbolic link from file @var{Path1} to @var{Path2}.
9943 A null character (@samp{CHAR(0)}) marks the end of
9944 the names in @var{Path1} and @var{Path2}---otherwise,
9945 trailing blanks in @var{Path1} and @var{Path2} are ignored.
9946 Returns 0 on success or a non-zero error code
9947 (@code{ENOSYS} if the system does not provide @code{symlink(2)}).
9949 Due to the side effects performed by this intrinsic, the function
9950 form is not recommended.
9952 For information on other intrinsics with the same name:
9953 @xref{SymLnk Intrinsic (subroutine)}.
9957 @node System Intrinsic (subroutine)
9958 @subsubsection System Intrinsic (subroutine)
9959 @cindex System intrinsic
9960 @cindex intrinsics, System
9964 CALL System(@var{Command}, @var{Status})
9968 @var{Command}: @code{CHARACTER}; scalar; INTENT(IN).
9971 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
9974 Intrinsic groups: @code{unix}.
9979 Passes the command @var{Command} to a shell (see @code{system(3)}).
9980 If argument @var{Status} is present, it contains the value returned by
9981 @code{system(3)}, presumably 0 if the shell command succeeded.
9982 Note that which shell is used to invoke the command is system-dependent
9983 and environment-dependent.
9985 Some non-GNU implementations of Fortran provide this intrinsic as
9986 only a function, not as a subroutine, or do not support the
9987 (optional) @var{Status} argument.
9989 For information on other intrinsics with the same name:
9990 @xref{System Intrinsic (function)}.
9994 @node System Intrinsic (function)
9995 @subsubsection System Intrinsic (function)
9996 @cindex System intrinsic
9997 @cindex intrinsics, System
10001 System(@var{Command})
10005 System: @code{INTEGER(KIND=1)} function.
10008 @var{Command}: @code{CHARACTER}; scalar; INTENT(IN).
10011 Intrinsic groups: @code{badu77}.
10016 Passes the command @var{Command} to a shell (see @code{system(3)}).
10017 Returns the value returned by
10018 @code{system(3)}, presumably 0 if the shell command succeeded.
10019 Note that which shell is used to invoke the command is system-dependent
10020 and environment-dependent.
10022 Due to the side effects performed by this intrinsic, the function
10023 form is not recommended.
10024 However, the function form can be valid in cases where the
10025 actual side effects performed by the call are unimportant to
10028 For example, on a UNIX system, @samp{SAME = SYSTEM('cmp a b')}
10029 does not perform any side effects likely to be important to the
10030 program, so the programmer would not care if the actual system
10031 call (and invocation of @code{cmp}) was optimized away in a situation
10032 where the return value could be determined otherwise, or was not
10033 actually needed (@samp{SAME} not actually referenced after the
10034 sample assignment statement).
10036 For information on other intrinsics with the same name:
10037 @xref{System Intrinsic (subroutine)}.
10041 @node System_Clock Intrinsic
10042 @subsubsection System_Clock Intrinsic
10043 @cindex System_Clock intrinsic
10044 @cindex intrinsics, System_Clock
10048 CALL System_Clock(@var{Count}, @var{Rate}, @var{Max})
10052 @var{Count}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
10055 @var{Rate}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
10058 @var{Max}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
10061 Intrinsic groups: @code{f90}.
10066 Returns in @var{Count} the current value of the system clock; this is
10067 the value returned by the UNIX function @code{times(2)}
10068 in this implementation, but
10070 @var{Rate} is the number of clock ticks per second and
10071 @var{Max} is the maximum value this can take, which isn't very useful
10072 in this implementation since it's just the maximum C @code{unsigned
10077 @node Tan Intrinsic
10078 @subsubsection Tan Intrinsic
10079 @cindex Tan intrinsic
10080 @cindex intrinsics, Tan
10088 Tan: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
10091 @var{X}: @code{REAL}; scalar; INTENT(IN).
10094 Intrinsic groups: (standard FORTRAN 77).
10099 Returns the tangent of @var{X}, an angle measured
10102 @xref{ATan Intrinsic}, for the inverse of this function.
10106 @node TanD Intrinsic
10107 @subsubsection TanD Intrinsic
10108 @cindex TanD intrinsic
10109 @cindex intrinsics, TanD
10111 This intrinsic is not yet implemented.
10112 The name is, however, reserved as an intrinsic.
10113 Use @samp{EXTERNAL TanD} to use this name for an
10114 external procedure.
10118 @node TanH Intrinsic
10119 @subsubsection TanH Intrinsic
10120 @cindex TanH intrinsic
10121 @cindex intrinsics, TanH
10129 TanH: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
10132 @var{X}: @code{REAL}; scalar; INTENT(IN).
10135 Intrinsic groups: (standard FORTRAN 77).
10140 Returns the hyperbolic tangent of @var{X}.
10144 @node Time Intrinsic (UNIX)
10145 @subsubsection Time Intrinsic (UNIX)
10146 @cindex Time intrinsic
10147 @cindex intrinsics, Time
10155 Time: @code{INTEGER(KIND=1)} function.
10158 Intrinsic groups: @code{unix}.
10163 Returns the current time encoded as an integer
10164 (in the manner of the UNIX function @code{time(3)}).
10165 This value is suitable for passing to @code{CTIME},
10166 @code{GMTIME}, and @code{LTIME}.
10168 This intrinsic is not fully portable, such as to systems
10169 with 32-bit @code{INTEGER} types but supporting times
10170 wider than 32 bits.
10171 @xref{Time8 Intrinsic}, for information on a
10172 similar intrinsic that might be portable to more
10173 GNU Fortran implementations, though to fewer
10176 For information on other intrinsics with the same name:
10177 @xref{Time Intrinsic (VXT)}.
10181 @node Time Intrinsic (VXT)
10182 @subsubsection Time Intrinsic (VXT)
10183 @cindex Time intrinsic
10184 @cindex intrinsics, Time
10188 CALL Time(@var{Time})
10192 @var{Time}: @code{CHARACTER*8}; scalar; INTENT(OUT).
10195 Intrinsic groups: @code{vxt}.
10200 Returns in @var{Time} a character representation of the current time as
10201 obtained from @code{ctime(3)}.
10203 @xref{Fdate Intrinsic (subroutine)} for an equivalent routine.
10205 For information on other intrinsics with the same name:
10206 @xref{Time Intrinsic (UNIX)}.
10210 @node Time8 Intrinsic
10211 @subsubsection Time8 Intrinsic
10212 @cindex Time8 intrinsic
10213 @cindex intrinsics, Time8
10221 Time8: @code{INTEGER(KIND=2)} function.
10224 Intrinsic groups: @code{unix}.
10229 Returns the current time encoded as a long integer
10230 (in the manner of the UNIX function @code{time(3)}).
10231 This value is suitable for passing to @code{CTIME},
10232 @code{GMTIME}, and @code{LTIME}.
10234 No Fortran implementations other than GNU Fortran are
10235 known to support this intrinsic at the time of this
10237 @xref{Time Intrinsic (UNIX)}, for information on a
10238 similar intrinsic that might be portable to more Fortran
10239 compilers, though to fewer GNU Fortran implementations.
10243 @node Tiny Intrinsic
10244 @subsubsection Tiny Intrinsic
10245 @cindex Tiny intrinsic
10246 @cindex intrinsics, Tiny
10248 This intrinsic is not yet implemented.
10249 The name is, however, reserved as an intrinsic.
10250 Use @samp{EXTERNAL Tiny} to use this name for an
10251 external procedure.
10253 @node Transfer Intrinsic
10254 @subsubsection Transfer Intrinsic
10255 @cindex Transfer intrinsic
10256 @cindex intrinsics, Transfer
10258 This intrinsic is not yet implemented.
10259 The name is, however, reserved as an intrinsic.
10260 Use @samp{EXTERNAL Transfer} to use this name for an
10261 external procedure.
10263 @node Transpose Intrinsic
10264 @subsubsection Transpose Intrinsic
10265 @cindex Transpose intrinsic
10266 @cindex intrinsics, Transpose
10268 This intrinsic is not yet implemented.
10269 The name is, however, reserved as an intrinsic.
10270 Use @samp{EXTERNAL Transpose} to use this name for an
10271 external procedure.
10273 @node Trim Intrinsic
10274 @subsubsection Trim Intrinsic
10275 @cindex Trim intrinsic
10276 @cindex intrinsics, Trim
10278 This intrinsic is not yet implemented.
10279 The name is, however, reserved as an intrinsic.
10280 Use @samp{EXTERNAL Trim} to use this name for an
10281 external procedure.
10285 @node TtyNam Intrinsic (subroutine)
10286 @subsubsection TtyNam Intrinsic (subroutine)
10287 @cindex TtyNam intrinsic
10288 @cindex intrinsics, TtyNam
10292 CALL TtyNam(@var{Name}, @var{Unit})
10296 @var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
10299 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
10302 Intrinsic groups: @code{unix}.
10307 Sets @var{Name} to the name of the terminal device open on logical unit
10308 @var{Unit} or a blank string if @var{Unit} is not connected to a
10311 Some non-GNU implementations of Fortran provide this intrinsic as
10312 only a function, not as a subroutine.
10314 For information on other intrinsics with the same name:
10315 @xref{TtyNam Intrinsic (function)}.
10317 @node TtyNam Intrinsic (function)
10318 @subsubsection TtyNam Intrinsic (function)
10319 @cindex TtyNam intrinsic
10320 @cindex intrinsics, TtyNam
10328 TtyNam: @code{CHARACTER*(*)} function.
10331 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
10334 Intrinsic groups: @code{unix}.
10339 Returns the name of the terminal device open on logical unit
10340 @var{Unit} or a blank string if @var{Unit} is not connected to a
10343 For information on other intrinsics with the same name:
10344 @xref{TtyNam Intrinsic (subroutine)}.
10348 @node UBound Intrinsic
10349 @subsubsection UBound Intrinsic
10350 @cindex UBound intrinsic
10351 @cindex intrinsics, UBound
10353 This intrinsic is not yet implemented.
10354 The name is, however, reserved as an intrinsic.
10355 Use @samp{EXTERNAL UBound} to use this name for an
10356 external procedure.
10360 @node UMask Intrinsic (subroutine)
10361 @subsubsection UMask Intrinsic (subroutine)
10362 @cindex UMask intrinsic
10363 @cindex intrinsics, UMask
10367 CALL UMask(@var{Mask}, @var{Old})
10371 @var{Mask}: @code{INTEGER}; scalar; INTENT(IN).
10374 @var{Old}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
10377 Intrinsic groups: @code{unix}.
10382 Sets the file creation mask to @var{Mask} and returns the old value in
10383 argument @var{Old} if it is supplied.
10384 See @code{umask(2)}.
10386 Some non-GNU implementations of Fortran provide this intrinsic as
10387 only a function, not as a subroutine.
10389 For information on other intrinsics with the same name:
10390 @xref{UMask Intrinsic (function)}.
10393 @ifset familyBADU77
10394 @node UMask Intrinsic (function)
10395 @subsubsection UMask Intrinsic (function)
10396 @cindex UMask intrinsic
10397 @cindex intrinsics, UMask
10405 UMask: @code{INTEGER(KIND=1)} function.
10408 @var{Mask}: @code{INTEGER}; scalar; INTENT(IN).
10411 Intrinsic groups: @code{badu77}.
10416 Sets the file creation mask to @var{Mask} and returns the old value.
10417 See @code{umask(2)}.
10419 Due to the side effects performed by this intrinsic, the function
10420 form is not recommended.
10422 For information on other intrinsics with the same name:
10423 @xref{UMask Intrinsic (subroutine)}.
10427 @node Unlink Intrinsic (subroutine)
10428 @subsubsection Unlink Intrinsic (subroutine)
10429 @cindex Unlink intrinsic
10430 @cindex intrinsics, Unlink
10434 CALL Unlink(@var{File}, @var{Status})
10438 @var{File}: @code{CHARACTER}; scalar; INTENT(IN).
10441 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
10444 Intrinsic groups: @code{unix}.
10449 Unlink the file @var{File}.
10450 A null character (@samp{CHAR(0)}) marks the end of
10451 the name in @var{File}---otherwise,
10452 trailing blanks in @var{File} are ignored.
10453 If the @var{Status} argument is supplied, it contains
10454 0 on success or a non-zero error code upon return.
10455 See @code{unlink(2)}.
10457 Some non-GNU implementations of Fortran provide this intrinsic as
10458 only a function, not as a subroutine, or do not support the
10459 (optional) @var{Status} argument.
10461 For information on other intrinsics with the same name:
10462 @xref{Unlink Intrinsic (function)}.
10465 @ifset familyBADU77
10466 @node Unlink Intrinsic (function)
10467 @subsubsection Unlink Intrinsic (function)
10468 @cindex Unlink intrinsic
10469 @cindex intrinsics, Unlink
10477 Unlink: @code{INTEGER(KIND=1)} function.
10480 @var{File}: @code{CHARACTER}; scalar; INTENT(IN).
10483 Intrinsic groups: @code{badu77}.
10488 Unlink the file @var{File}.
10489 A null character (@samp{CHAR(0)}) marks the end of
10490 the name in @var{File}---otherwise,
10491 trailing blanks in @var{File} are ignored.
10492 Returns 0 on success or a non-zero error code.
10493 See @code{unlink(2)}.
10495 Due to the side effects performed by this intrinsic, the function
10496 form is not recommended.
10498 For information on other intrinsics with the same name:
10499 @xref{Unlink Intrinsic (subroutine)}.
10503 @node Unpack Intrinsic
10504 @subsubsection Unpack Intrinsic
10505 @cindex Unpack intrinsic
10506 @cindex intrinsics, Unpack
10508 This intrinsic is not yet implemented.
10509 The name is, however, reserved as an intrinsic.
10510 Use @samp{EXTERNAL Unpack} to use this name for an
10511 external procedure.
10513 @node Verify Intrinsic
10514 @subsubsection Verify Intrinsic
10515 @cindex Verify intrinsic
10516 @cindex intrinsics, Verify
10518 This intrinsic is not yet implemented.
10519 The name is, however, reserved as an intrinsic.
10520 Use @samp{EXTERNAL Verify} to use this name for an
10521 external procedure.
10525 @node XOr Intrinsic
10526 @subsubsection XOr Intrinsic
10527 @cindex XOr intrinsic
10528 @cindex intrinsics, XOr
10532 XOr(@var{I}, @var{J})
10536 XOr: @code{INTEGER} or @code{LOGICAL} function, the exact type being the result of cross-promoting the
10537 types of all the arguments.
10540 @var{I}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
10543 @var{J}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
10546 Intrinsic groups: @code{f2c}.
10551 Returns value resulting from boolean exclusive-OR of
10552 pair of bits in each of @var{I} and @var{J}.
10554 @node ZAbs Intrinsic
10555 @subsubsection ZAbs Intrinsic
10556 @cindex ZAbs intrinsic
10557 @cindex intrinsics, ZAbs
10565 ZAbs: @code{REAL(KIND=2)} function.
10568 @var{A}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10571 Intrinsic groups: @code{f2c}.
10576 Archaic form of @code{ABS()} that is specific
10577 to one type for @var{A}.
10578 @xref{Abs Intrinsic}.
10580 @node ZCos Intrinsic
10581 @subsubsection ZCos Intrinsic
10582 @cindex ZCos intrinsic
10583 @cindex intrinsics, ZCos
10591 ZCos: @code{COMPLEX(KIND=2)} function.
10594 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10597 Intrinsic groups: @code{f2c}.
10602 Archaic form of @code{COS()} that is specific
10603 to one type for @var{X}.
10604 @xref{Cos Intrinsic}.
10606 @node ZExp Intrinsic
10607 @subsubsection ZExp Intrinsic
10608 @cindex ZExp intrinsic
10609 @cindex intrinsics, ZExp
10617 ZExp: @code{COMPLEX(KIND=2)} function.
10620 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10623 Intrinsic groups: @code{f2c}.
10628 Archaic form of @code{EXP()} that is specific
10629 to one type for @var{X}.
10630 @xref{Exp Intrinsic}.
10634 @node ZExt Intrinsic
10635 @subsubsection ZExt Intrinsic
10636 @cindex ZExt intrinsic
10637 @cindex intrinsics, ZExt
10639 This intrinsic is not yet implemented.
10640 The name is, however, reserved as an intrinsic.
10641 Use @samp{EXTERNAL ZExt} to use this name for an
10642 external procedure.
10646 @node ZLog Intrinsic
10647 @subsubsection ZLog Intrinsic
10648 @cindex ZLog intrinsic
10649 @cindex intrinsics, ZLog
10657 ZLog: @code{COMPLEX(KIND=2)} function.
10660 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10663 Intrinsic groups: @code{f2c}.
10668 Archaic form of @code{LOG()} that is specific
10669 to one type for @var{X}.
10670 @xref{Log Intrinsic}.
10672 @node ZSin Intrinsic
10673 @subsubsection ZSin Intrinsic
10674 @cindex ZSin intrinsic
10675 @cindex intrinsics, ZSin
10683 ZSin: @code{COMPLEX(KIND=2)} function.
10686 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10689 Intrinsic groups: @code{f2c}.
10694 Archaic form of @code{SIN()} that is specific
10695 to one type for @var{X}.
10696 @xref{Sin Intrinsic}.
10698 @node ZSqRt Intrinsic
10699 @subsubsection ZSqRt Intrinsic
10700 @cindex ZSqRt intrinsic
10701 @cindex intrinsics, ZSqRt
10709 ZSqRt: @code{COMPLEX(KIND=2)} function.
10712 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10715 Intrinsic groups: @code{f2c}.
10720 Archaic form of @code{SQRT()} that is specific
10721 to one type for @var{X}.
10722 @xref{SqRt Intrinsic}.