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:: Common 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:: Common 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:: Common 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 @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} not wider than the default kind; 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} not wider than the default kind; 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 nonzero 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 nonzero 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 nonzero 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 nonzero 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 @cindex wraparound, timings
2630 @cindex limits, timings
2631 On some systems, the underlying timings are represented
2632 using types with sufficiently small limits that overflows
2633 (wraparounds) are possible, such as 32-bit types.
2634 Therefore, the values returned by this intrinsic
2635 might be, or become, negative,
2636 or numerically less than previous values,
2637 during a single run of the compiled program.
2639 @node CShift Intrinsic
2640 @subsubsection CShift Intrinsic
2641 @cindex CShift intrinsic
2642 @cindex intrinsics, CShift
2644 This intrinsic is not yet implemented.
2645 The name is, however, reserved as an intrinsic.
2646 Use @samp{EXTERNAL CShift} to use this name for an
2651 @node CSin Intrinsic
2652 @subsubsection CSin Intrinsic
2653 @cindex CSin intrinsic
2654 @cindex intrinsics, CSin
2662 CSin: @code{COMPLEX(KIND=1)} function.
2665 @var{X}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
2668 Intrinsic groups: (standard FORTRAN 77).
2673 Archaic form of @code{SIN()} that is specific
2674 to one type for @var{X}.
2675 @xref{Sin Intrinsic}.
2677 @node CSqRt Intrinsic
2678 @subsubsection CSqRt Intrinsic
2679 @cindex CSqRt intrinsic
2680 @cindex intrinsics, CSqRt
2688 CSqRt: @code{COMPLEX(KIND=1)} function.
2691 @var{X}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
2694 Intrinsic groups: (standard FORTRAN 77).
2699 Archaic form of @code{SQRT()} that is specific
2700 to one type for @var{X}.
2701 @xref{SqRt Intrinsic}.
2705 @node CTime Intrinsic (subroutine)
2706 @subsubsection CTime Intrinsic (subroutine)
2707 @cindex CTime intrinsic
2708 @cindex intrinsics, CTime
2712 CALL CTime(@var{STime}, @var{Result})
2716 @var{STime}: @code{INTEGER}; scalar; INTENT(IN).
2719 @var{Result}: @code{CHARACTER}; scalar; INTENT(OUT).
2722 Intrinsic groups: @code{unix}.
2727 Converts @var{STime}, a system time value, such as returned by
2728 @code{TIME8()}, to a string of the form @samp{Sat Aug 19 18:13:14 1995},
2729 and returns that string in @var{Result}.
2731 @xref{Time8 Intrinsic}.
2733 Some non-GNU implementations of Fortran provide this intrinsic as
2734 only a function, not as a subroutine.
2736 For information on other intrinsics with the same name:
2737 @xref{CTime Intrinsic (function)}.
2739 @node CTime Intrinsic (function)
2740 @subsubsection CTime Intrinsic (function)
2741 @cindex CTime intrinsic
2742 @cindex intrinsics, CTime
2750 CTime: @code{CHARACTER*(*)} function.
2753 @var{STime}: @code{INTEGER}; scalar; INTENT(IN).
2756 Intrinsic groups: @code{unix}.
2761 Converts @var{STime}, a system time value, such as returned by
2762 @code{TIME8()}, to a string of the form @samp{Sat Aug 19 18:13:14 1995},
2763 and returns that string as the function value.
2765 @xref{Time8 Intrinsic}.
2767 For information on other intrinsics with the same name:
2768 @xref{CTime Intrinsic (subroutine)}.
2772 @node DAbs Intrinsic
2773 @subsubsection DAbs Intrinsic
2774 @cindex DAbs intrinsic
2775 @cindex intrinsics, DAbs
2783 DAbs: @code{REAL(KIND=2)} function.
2786 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2789 Intrinsic groups: (standard FORTRAN 77).
2794 Archaic form of @code{ABS()} that is specific
2795 to one type for @var{A}.
2796 @xref{Abs Intrinsic}.
2798 @node DACos Intrinsic
2799 @subsubsection DACos Intrinsic
2800 @cindex DACos intrinsic
2801 @cindex intrinsics, DACos
2809 DACos: @code{REAL(KIND=2)} function.
2812 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2815 Intrinsic groups: (standard FORTRAN 77).
2820 Archaic form of @code{ACOS()} that is specific
2821 to one type for @var{X}.
2822 @xref{ACos Intrinsic}.
2826 @node DACosD Intrinsic
2827 @subsubsection DACosD Intrinsic
2828 @cindex DACosD intrinsic
2829 @cindex intrinsics, DACosD
2831 This intrinsic is not yet implemented.
2832 The name is, however, reserved as an intrinsic.
2833 Use @samp{EXTERNAL DACosD} to use this name for an
2838 @node DASin Intrinsic
2839 @subsubsection DASin Intrinsic
2840 @cindex DASin intrinsic
2841 @cindex intrinsics, DASin
2849 DASin: @code{REAL(KIND=2)} function.
2852 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2855 Intrinsic groups: (standard FORTRAN 77).
2860 Archaic form of @code{ASIN()} that is specific
2861 to one type for @var{X}.
2862 @xref{ASin Intrinsic}.
2866 @node DASinD Intrinsic
2867 @subsubsection DASinD Intrinsic
2868 @cindex DASinD intrinsic
2869 @cindex intrinsics, DASinD
2871 This intrinsic is not yet implemented.
2872 The name is, however, reserved as an intrinsic.
2873 Use @samp{EXTERNAL DASinD} to use this name for an
2878 @node DATan Intrinsic
2879 @subsubsection DATan Intrinsic
2880 @cindex DATan intrinsic
2881 @cindex intrinsics, DATan
2889 DATan: @code{REAL(KIND=2)} function.
2892 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2895 Intrinsic groups: (standard FORTRAN 77).
2900 Archaic form of @code{ATAN()} that is specific
2901 to one type for @var{X}.
2902 @xref{ATan Intrinsic}.
2904 @node DATan2 Intrinsic
2905 @subsubsection DATan2 Intrinsic
2906 @cindex DATan2 intrinsic
2907 @cindex intrinsics, DATan2
2911 DATan2(@var{Y}, @var{X})
2915 DATan2: @code{REAL(KIND=2)} function.
2918 @var{Y}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2921 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2924 Intrinsic groups: (standard FORTRAN 77).
2929 Archaic form of @code{ATAN2()} that is specific
2930 to one type for @var{Y} and @var{X}.
2931 @xref{ATan2 Intrinsic}.
2935 @node DATan2D Intrinsic
2936 @subsubsection DATan2D Intrinsic
2937 @cindex DATan2D intrinsic
2938 @cindex intrinsics, DATan2D
2940 This intrinsic is not yet implemented.
2941 The name is, however, reserved as an intrinsic.
2942 Use @samp{EXTERNAL DATan2D} to use this name for an
2945 @node DATanD Intrinsic
2946 @subsubsection DATanD Intrinsic
2947 @cindex DATanD intrinsic
2948 @cindex intrinsics, DATanD
2950 This intrinsic is not yet implemented.
2951 The name is, however, reserved as an intrinsic.
2952 Use @samp{EXTERNAL DATanD} to use this name for an
2955 @node Date Intrinsic
2956 @subsubsection Date Intrinsic
2957 @cindex Date intrinsic
2958 @cindex intrinsics, Date
2962 CALL Date(@var{Date})
2966 @var{Date}: @code{CHARACTER}; scalar; INTENT(OUT).
2969 Intrinsic groups: @code{vxt}.
2974 Returns @var{Date} in the form @samp{@var{dd}-@var{mmm}-@var{yy}},
2975 representing the numeric day of the month @var{dd}, a three-character
2976 abbreviation of the month name @var{mmm} and the last two digits of
2977 the year @var{yy}, e.g.@: @samp{25-Nov-96}.
2979 @cindex Y2K compliance
2980 @cindex Year 2000 compliance
2981 This intrinsic is not recommended, due to the year 2000 approaching.
2982 Therefore, programs making use of this intrinsic
2983 might not be Year 2000 (Y2K) compliant.
2984 @xref{CTime Intrinsic (subroutine)}, for information on obtaining more digits
2985 for the current (or any) date.
2989 @node Date_and_Time Intrinsic
2990 @subsubsection Date_and_Time Intrinsic
2991 @cindex Date_and_Time intrinsic
2992 @cindex intrinsics, Date_and_Time
2996 CALL Date_and_Time(@var{Date}, @var{Time}, @var{Zone}, @var{Values})
3000 @var{Date}: @code{CHARACTER}; scalar; INTENT(OUT).
3003 @var{Time}: @code{CHARACTER}; OPTIONAL; scalar; INTENT(OUT).
3006 @var{Zone}: @code{CHARACTER}; OPTIONAL; scalar; INTENT(OUT).
3009 @var{Values}: @code{INTEGER(KIND=1)}; OPTIONAL; DIMENSION(8); INTENT(OUT).
3012 Intrinsic groups: @code{f90}.
3020 The date in the form @var{ccyymmdd}: century, year, month and day;
3022 The time in the form @samp{@var{hhmmss.ss}}: hours, minutes, seconds
3025 The difference between local time and UTC (GMT) in the form @var{Shhmm}:
3026 sign, hours and minutes, e.g.@: @samp{-0500} (winter in New York);
3028 The year, month of the year, day of the month, time difference in
3029 minutes from UTC, hour of the day, minutes of the hour, seconds
3030 of the minute, and milliseconds
3031 of the second in successive values of the array.
3034 @cindex Y10K compliance
3035 @cindex Year 10000 compliance
3036 @cindex wraparound, Y10K
3037 @cindex limits, Y10K
3038 Programs making use of this intrinsic
3039 might not be Year 10000 (Y10K) compliant.
3040 For example, the date might appear,
3041 to such programs, to wrap around
3042 (change from a larger value to a smaller one)
3043 as of the Year 10000.
3045 On systems where a millisecond timer isn't available, the millisecond
3046 value is returned as zero.
3050 @node DbesJ0 Intrinsic
3051 @subsubsection DbesJ0 Intrinsic
3052 @cindex DbesJ0 intrinsic
3053 @cindex intrinsics, DbesJ0
3061 DbesJ0: @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{BESJ0()} that is specific
3073 to one type for @var{X}.
3074 @xref{BesJ0 Intrinsic}.
3076 @node DbesJ1 Intrinsic
3077 @subsubsection DbesJ1 Intrinsic
3078 @cindex DbesJ1 intrinsic
3079 @cindex intrinsics, DbesJ1
3087 DbesJ1: @code{REAL(KIND=2)} function.
3090 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3093 Intrinsic groups: @code{unix}.
3098 Archaic form of @code{BESJ1()} that is specific
3099 to one type for @var{X}.
3100 @xref{BesJ1 Intrinsic}.
3102 @node DbesJN Intrinsic
3103 @subsubsection DbesJN Intrinsic
3104 @cindex DbesJN intrinsic
3105 @cindex intrinsics, DbesJN
3109 DbesJN(@var{N}, @var{X})
3113 DbesJN: @code{REAL(KIND=2)} function.
3116 @var{N}: @code{INTEGER} not wider than the default kind; scalar; INTENT(IN).
3119 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3122 Intrinsic groups: @code{unix}.
3127 Archaic form of @code{BESJN()} that is specific
3128 to one type for @var{X}.
3129 @xref{BesJN Intrinsic}.
3131 @node DbesY0 Intrinsic
3132 @subsubsection DbesY0 Intrinsic
3133 @cindex DbesY0 intrinsic
3134 @cindex intrinsics, DbesY0
3142 DbesY0: @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{BESY0()} that is specific
3154 to one type for @var{X}.
3155 @xref{BesY0 Intrinsic}.
3157 @node DbesY1 Intrinsic
3158 @subsubsection DbesY1 Intrinsic
3159 @cindex DbesY1 intrinsic
3160 @cindex intrinsics, DbesY1
3168 DbesY1: @code{REAL(KIND=2)} function.
3171 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3174 Intrinsic groups: @code{unix}.
3179 Archaic form of @code{BESY1()} that is specific
3180 to one type for @var{X}.
3181 @xref{BesY1 Intrinsic}.
3183 @node DbesYN Intrinsic
3184 @subsubsection DbesYN Intrinsic
3185 @cindex DbesYN intrinsic
3186 @cindex intrinsics, DbesYN
3190 DbesYN(@var{N}, @var{X})
3194 DbesYN: @code{REAL(KIND=2)} function.
3197 @var{N}: @code{INTEGER} not wider than the default kind; scalar; INTENT(IN).
3200 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3203 Intrinsic groups: @code{unix}.
3208 Archaic form of @code{BESYN()} that is specific
3209 to one type for @var{X}.
3210 @xref{BesYN Intrinsic}.
3214 @node Dble Intrinsic
3215 @subsubsection Dble Intrinsic
3216 @cindex Dble intrinsic
3217 @cindex intrinsics, Dble
3225 Dble: @code{REAL(KIND=2)} function.
3228 @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
3231 Intrinsic groups: (standard FORTRAN 77).
3236 Returns @var{A} converted to double precision
3237 (@code{REAL(KIND=2)}).
3238 If @var{A} is @code{COMPLEX}, the real part of
3239 @var{A} is used for the conversion
3240 and the imaginary part disregarded.
3242 @xref{Sngl Intrinsic}, for the function that converts
3243 to single precision.
3245 @xref{Int Intrinsic}, for the function that converts
3248 @xref{Complex Intrinsic}, for the function that converts
3253 @node DbleQ Intrinsic
3254 @subsubsection DbleQ Intrinsic
3255 @cindex DbleQ intrinsic
3256 @cindex intrinsics, DbleQ
3258 This intrinsic is not yet implemented.
3259 The name is, however, reserved as an intrinsic.
3260 Use @samp{EXTERNAL DbleQ} to use this name for an
3265 @node DCmplx Intrinsic
3266 @subsubsection DCmplx Intrinsic
3267 @cindex DCmplx intrinsic
3268 @cindex intrinsics, DCmplx
3272 DCmplx(@var{X}, @var{Y})
3276 DCmplx: @code{COMPLEX(KIND=2)} function.
3279 @var{X}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
3282 @var{Y}: @code{INTEGER} or @code{REAL}; OPTIONAL (must be omitted if @var{X} is @code{COMPLEX}); scalar; INTENT(IN).
3285 Intrinsic groups: @code{f2c}, @code{vxt}.
3290 If @var{X} is not type @code{COMPLEX},
3291 constructs a value of type @code{COMPLEX(KIND=2)} from the
3292 real and imaginary values specified by @var{X} and
3293 @var{Y}, respectively.
3294 If @var{Y} is omitted, @samp{0D0} is assumed.
3296 If @var{X} is type @code{COMPLEX},
3297 converts it to type @code{COMPLEX(KIND=2)}.
3299 Although this intrinsic is not standard Fortran,
3300 it is a popular extension offered by many compilers
3301 that support @code{DOUBLE COMPLEX}, since it offers
3302 the easiest way to convert to @code{DOUBLE COMPLEX}
3303 without using Fortran 90 features (such as the @samp{KIND=}
3304 argument to the @code{CMPLX()} intrinsic).
3306 (@samp{CMPLX(0D0, 0D0)} returns a single-precision
3307 @code{COMPLEX} result, as required by standard FORTRAN 77.
3308 That's why so many compilers provide @code{DCMPLX()}, since
3309 @samp{DCMPLX(0D0, 0D0)} returns a @code{DOUBLE COMPLEX}
3311 Still, @code{DCMPLX()} converts even @code{REAL*16} arguments
3312 to their @code{REAL*8} equivalents in most dialects of
3313 Fortran, so neither it nor @code{CMPLX()} allow easy
3314 construction of arbitrary-precision values without
3315 potentially forcing a conversion involving extending or
3317 GNU Fortran provides such an intrinsic, called @code{COMPLEX()}.)
3319 @xref{Complex Intrinsic}, for information on easily constructing
3320 a @code{COMPLEX} value of arbitrary precision from @code{REAL}
3323 @node DConjg Intrinsic
3324 @subsubsection DConjg Intrinsic
3325 @cindex DConjg intrinsic
3326 @cindex intrinsics, DConjg
3334 DConjg: @code{COMPLEX(KIND=2)} function.
3337 @var{Z}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
3340 Intrinsic groups: @code{f2c}, @code{vxt}.
3345 Archaic form of @code{CONJG()} that is specific
3346 to one type for @var{Z}.
3347 @xref{Conjg Intrinsic}.
3351 @node DCos Intrinsic
3352 @subsubsection DCos Intrinsic
3353 @cindex DCos intrinsic
3354 @cindex intrinsics, DCos
3362 DCos: @code{REAL(KIND=2)} function.
3365 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3368 Intrinsic groups: (standard FORTRAN 77).
3373 Archaic form of @code{COS()} that is specific
3374 to one type for @var{X}.
3375 @xref{Cos Intrinsic}.
3379 @node DCosD Intrinsic
3380 @subsubsection DCosD Intrinsic
3381 @cindex DCosD intrinsic
3382 @cindex intrinsics, DCosD
3384 This intrinsic is not yet implemented.
3385 The name is, however, reserved as an intrinsic.
3386 Use @samp{EXTERNAL DCosD} to use this name for an
3391 @node DCosH Intrinsic
3392 @subsubsection DCosH Intrinsic
3393 @cindex DCosH intrinsic
3394 @cindex intrinsics, DCosH
3402 DCosH: @code{REAL(KIND=2)} function.
3405 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3408 Intrinsic groups: (standard FORTRAN 77).
3413 Archaic form of @code{COSH()} that is specific
3414 to one type for @var{X}.
3415 @xref{CosH Intrinsic}.
3417 @node DDiM Intrinsic
3418 @subsubsection DDiM Intrinsic
3419 @cindex DDiM intrinsic
3420 @cindex intrinsics, DDiM
3424 DDiM(@var{X}, @var{Y})
3428 DDiM: @code{REAL(KIND=2)} function.
3431 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3434 @var{Y}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3437 Intrinsic groups: (standard FORTRAN 77).
3442 Archaic form of @code{DIM()} that is specific
3443 to one type for @var{X} and @var{Y}.
3444 @xref{DiM Intrinsic}.
3448 @node DErF Intrinsic
3449 @subsubsection DErF Intrinsic
3450 @cindex DErF intrinsic
3451 @cindex intrinsics, DErF
3459 DErF: @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{ERF()} that is specific
3471 to one type for @var{X}.
3472 @xref{ErF Intrinsic}.
3474 @node DErFC Intrinsic
3475 @subsubsection DErFC Intrinsic
3476 @cindex DErFC intrinsic
3477 @cindex intrinsics, DErFC
3485 DErFC: @code{REAL(KIND=2)} function.
3488 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3491 Intrinsic groups: @code{unix}.
3496 Archaic form of @code{ERFC()} that is specific
3497 to one type for @var{X}.
3498 @xref{ErFC Intrinsic}.
3502 @node DExp Intrinsic
3503 @subsubsection DExp Intrinsic
3504 @cindex DExp intrinsic
3505 @cindex intrinsics, DExp
3513 DExp: @code{REAL(KIND=2)} function.
3516 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3519 Intrinsic groups: (standard FORTRAN 77).
3524 Archaic form of @code{EXP()} that is specific
3525 to one type for @var{X}.
3526 @xref{Exp Intrinsic}.
3530 @node DFloat Intrinsic
3531 @subsubsection DFloat Intrinsic
3532 @cindex DFloat intrinsic
3533 @cindex intrinsics, DFloat
3541 DFloat: @code{REAL(KIND=2)} function.
3544 @var{A}: @code{INTEGER}; scalar; INTENT(IN).
3547 Intrinsic groups: @code{f2c}, @code{vxt}.
3552 Archaic form of @code{REAL()} that is specific
3553 to one type for @var{A}.
3554 @xref{Real Intrinsic}.
3558 @node DFlotI Intrinsic
3559 @subsubsection DFlotI Intrinsic
3560 @cindex DFlotI intrinsic
3561 @cindex intrinsics, DFlotI
3563 This intrinsic is not yet implemented.
3564 The name is, however, reserved as an intrinsic.
3565 Use @samp{EXTERNAL DFlotI} to use this name for an
3568 @node DFlotJ Intrinsic
3569 @subsubsection DFlotJ Intrinsic
3570 @cindex DFlotJ intrinsic
3571 @cindex intrinsics, DFlotJ
3573 This intrinsic is not yet implemented.
3574 The name is, however, reserved as an intrinsic.
3575 Use @samp{EXTERNAL DFlotJ} to use this name for an
3580 @node Digits Intrinsic
3581 @subsubsection Digits Intrinsic
3582 @cindex Digits intrinsic
3583 @cindex intrinsics, Digits
3585 This intrinsic is not yet implemented.
3586 The name is, however, reserved as an intrinsic.
3587 Use @samp{EXTERNAL Digits} to use this name for an
3593 @subsubsection DiM Intrinsic
3594 @cindex DiM intrinsic
3595 @cindex intrinsics, DiM
3599 DiM(@var{X}, @var{Y})
3603 DiM: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
3604 types of all the arguments.
3607 @var{X}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
3610 @var{Y}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
3613 Intrinsic groups: (standard FORTRAN 77).
3618 Returns @samp{@var{X}-@var{Y}} if @var{X} is greater than
3619 @var{Y}; otherwise returns zero.
3623 @node DImag Intrinsic
3624 @subsubsection DImag Intrinsic
3625 @cindex DImag intrinsic
3626 @cindex intrinsics, DImag
3634 DImag: @code{REAL(KIND=2)} function.
3637 @var{Z}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
3640 Intrinsic groups: @code{f2c}, @code{vxt}.
3645 Archaic form of @code{AIMAG()} that is specific
3646 to one type for @var{Z}.
3647 @xref{AImag Intrinsic}.
3651 @node DInt Intrinsic
3652 @subsubsection DInt Intrinsic
3653 @cindex DInt intrinsic
3654 @cindex intrinsics, DInt
3662 DInt: @code{REAL(KIND=2)} function.
3665 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3668 Intrinsic groups: (standard FORTRAN 77).
3673 Archaic form of @code{AINT()} that is specific
3674 to one type for @var{A}.
3675 @xref{AInt Intrinsic}.
3677 @node DLog Intrinsic
3678 @subsubsection DLog Intrinsic
3679 @cindex DLog intrinsic
3680 @cindex intrinsics, DLog
3688 DLog: @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{LOG()} that is specific
3700 to one type for @var{X}.
3701 @xref{Log Intrinsic}.
3703 @node DLog10 Intrinsic
3704 @subsubsection DLog10 Intrinsic
3705 @cindex DLog10 intrinsic
3706 @cindex intrinsics, DLog10
3714 DLog10: @code{REAL(KIND=2)} function.
3717 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3720 Intrinsic groups: (standard FORTRAN 77).
3725 Archaic form of @code{LOG10()} that is specific
3726 to one type for @var{X}.
3727 @xref{Log10 Intrinsic}.
3729 @node DMax1 Intrinsic
3730 @subsubsection DMax1 Intrinsic
3731 @cindex DMax1 intrinsic
3732 @cindex intrinsics, DMax1
3736 DMax1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
3740 DMax1: @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{MAX()} that is specific
3752 to one type for @var{A}.
3753 @xref{Max Intrinsic}.
3755 @node DMin1 Intrinsic
3756 @subsubsection DMin1 Intrinsic
3757 @cindex DMin1 intrinsic
3758 @cindex intrinsics, DMin1
3762 DMin1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
3766 DMin1: @code{REAL(KIND=2)} function.
3769 @var{A}: @code{REAL(KIND=2)}; at least two such arguments must be provided; scalar; INTENT(IN).
3772 Intrinsic groups: (standard FORTRAN 77).
3777 Archaic form of @code{MIN()} that is specific
3778 to one type for @var{A}.
3779 @xref{Min Intrinsic}.
3781 @node DMod Intrinsic
3782 @subsubsection DMod Intrinsic
3783 @cindex DMod intrinsic
3784 @cindex intrinsics, DMod
3788 DMod(@var{A}, @var{P})
3792 DMod: @code{REAL(KIND=2)} function.
3795 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3798 @var{P}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3801 Intrinsic groups: (standard FORTRAN 77).
3806 Archaic form of @code{MOD()} that is specific
3807 to one type for @var{A}.
3808 @xref{Mod Intrinsic}.
3810 @node DNInt Intrinsic
3811 @subsubsection DNInt Intrinsic
3812 @cindex DNInt intrinsic
3813 @cindex intrinsics, DNInt
3821 DNInt: @code{REAL(KIND=2)} function.
3824 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3827 Intrinsic groups: (standard FORTRAN 77).
3832 Archaic form of @code{ANINT()} that is specific
3833 to one type for @var{A}.
3834 @xref{ANInt Intrinsic}.
3838 @node Dot_Product Intrinsic
3839 @subsubsection Dot_Product Intrinsic
3840 @cindex Dot_Product intrinsic
3841 @cindex intrinsics, Dot_Product
3843 This intrinsic is not yet implemented.
3844 The name is, however, reserved as an intrinsic.
3845 Use @samp{EXTERNAL Dot_Product} to use this name for an
3850 @node DProd Intrinsic
3851 @subsubsection DProd Intrinsic
3852 @cindex DProd intrinsic
3853 @cindex intrinsics, DProd
3857 DProd(@var{X}, @var{Y})
3861 DProd: @code{REAL(KIND=2)} function.
3864 @var{X}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
3867 @var{Y}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
3870 Intrinsic groups: (standard FORTRAN 77).
3875 Returns @samp{DBLE(@var{X})*DBLE(@var{Y})}.
3879 @node DReal Intrinsic
3880 @subsubsection DReal Intrinsic
3881 @cindex DReal intrinsic
3882 @cindex intrinsics, DReal
3890 DReal: @code{REAL(KIND=2)} function.
3893 @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
3896 Intrinsic groups: @code{vxt}.
3901 Converts @var{A} to @code{REAL(KIND=2)}.
3903 If @var{A} is type @code{COMPLEX}, its real part
3904 is converted (if necessary) to @code{REAL(KIND=2)},
3905 and its imaginary part is disregarded.
3907 Although this intrinsic is not standard Fortran,
3908 it is a popular extension offered by many compilers
3909 that support @code{DOUBLE COMPLEX}, since it offers
3910 the easiest way to extract the real part of a @code{DOUBLE COMPLEX}
3911 value without using the Fortran 90 @code{REAL()} intrinsic
3912 in a way that produces a return value inconsistent with
3913 the way many FORTRAN 77 compilers handle @code{REAL()} of
3914 a @code{DOUBLE COMPLEX} value.
3916 @xref{RealPart Intrinsic}, for information on a GNU Fortran
3917 intrinsic that avoids these areas of confusion.
3919 @xref{Dble Intrinsic}, for information on the standard FORTRAN 77
3920 replacement for @code{DREAL()}.
3922 @xref{REAL() and AIMAG() of Complex}, for more information on
3927 @node DSign Intrinsic
3928 @subsubsection DSign Intrinsic
3929 @cindex DSign intrinsic
3930 @cindex intrinsics, DSign
3934 DSign(@var{A}, @var{B})
3938 DSign: @code{REAL(KIND=2)} function.
3941 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3944 @var{B}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3947 Intrinsic groups: (standard FORTRAN 77).
3952 Archaic form of @code{SIGN()} that is specific
3953 to one type for @var{A} and @var{B}.
3954 @xref{Sign Intrinsic}.
3956 @node DSin Intrinsic
3957 @subsubsection DSin Intrinsic
3958 @cindex DSin intrinsic
3959 @cindex intrinsics, DSin
3967 DSin: @code{REAL(KIND=2)} function.
3970 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3973 Intrinsic groups: (standard FORTRAN 77).
3978 Archaic form of @code{SIN()} that is specific
3979 to one type for @var{X}.
3980 @xref{Sin Intrinsic}.
3984 @node DSinD Intrinsic
3985 @subsubsection DSinD Intrinsic
3986 @cindex DSinD intrinsic
3987 @cindex intrinsics, DSinD
3989 This intrinsic is not yet implemented.
3990 The name is, however, reserved as an intrinsic.
3991 Use @samp{EXTERNAL DSinD} to use this name for an
3996 @node DSinH Intrinsic
3997 @subsubsection DSinH Intrinsic
3998 @cindex DSinH intrinsic
3999 @cindex intrinsics, DSinH
4007 DSinH: @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{SINH()} that is specific
4019 to one type for @var{X}.
4020 @xref{SinH Intrinsic}.
4022 @node DSqRt Intrinsic
4023 @subsubsection DSqRt Intrinsic
4024 @cindex DSqRt intrinsic
4025 @cindex intrinsics, DSqRt
4033 DSqRt: @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{SQRT()} that is specific
4045 to one type for @var{X}.
4046 @xref{SqRt Intrinsic}.
4048 @node DTan Intrinsic
4049 @subsubsection DTan Intrinsic
4050 @cindex DTan intrinsic
4051 @cindex intrinsics, DTan
4059 DTan: @code{REAL(KIND=2)} function.
4062 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
4065 Intrinsic groups: (standard FORTRAN 77).
4070 Archaic form of @code{TAN()} that is specific
4071 to one type for @var{X}.
4072 @xref{Tan Intrinsic}.
4076 @node DTanD Intrinsic
4077 @subsubsection DTanD Intrinsic
4078 @cindex DTanD intrinsic
4079 @cindex intrinsics, DTanD
4081 This intrinsic is not yet implemented.
4082 The name is, however, reserved as an intrinsic.
4083 Use @samp{EXTERNAL DTanD} to use this name for an
4088 @node DTanH Intrinsic
4089 @subsubsection DTanH Intrinsic
4090 @cindex DTanH intrinsic
4091 @cindex intrinsics, DTanH
4099 DTanH: @code{REAL(KIND=2)} function.
4102 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
4105 Intrinsic groups: (standard FORTRAN 77).
4110 Archaic form of @code{TANH()} that is specific
4111 to one type for @var{X}.
4112 @xref{TanH Intrinsic}.
4116 @node DTime Intrinsic (subroutine)
4117 @subsubsection DTime Intrinsic (subroutine)
4118 @cindex DTime intrinsic
4119 @cindex intrinsics, DTime
4123 CALL DTime(@var{TArray}, @var{Result})
4127 @var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
4130 @var{Result}: @code{REAL(KIND=1)}; scalar; INTENT(OUT).
4133 Intrinsic groups: @code{unix}.
4138 Initially, return the number of seconds of runtime
4139 since the start of the process's execution
4141 and the user and system components of this in @samp{@var{TArray}(1)}
4142 and @samp{@var{TArray}(2)} respectively.
4143 The value of @var{Result} is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
4145 Subsequent invocations of @samp{DTIME()} set values based on accumulations
4146 since the previous invocation.
4148 @cindex wraparound, timings
4149 @cindex limits, timings
4150 On some systems, the underlying timings are represented
4151 using types with sufficiently small limits that overflows
4152 (wraparounds) are possible, such as 32-bit types.
4153 Therefore, the values returned by this intrinsic
4154 might be, or become, negative,
4155 or numerically less than previous values,
4156 during a single run of the compiled program.
4158 Some non-GNU implementations of Fortran provide this intrinsic as
4159 only a function, not as a subroutine.
4161 For information on other intrinsics with the same name:
4162 @xref{DTime Intrinsic (function)}.
4166 @node DTime Intrinsic (function)
4167 @subsubsection DTime Intrinsic (function)
4168 @cindex DTime intrinsic
4169 @cindex intrinsics, DTime
4177 DTime: @code{REAL(KIND=1)} function.
4180 @var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
4183 Intrinsic groups: @code{badu77}.
4188 Initially, return the number of seconds of runtime
4189 since the start of the process's execution
4190 as the function value,
4191 and the user and system components of this in @samp{@var{TArray}(1)}
4192 and @samp{@var{TArray}(2)} respectively.
4193 The functions' value is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
4195 Subsequent invocations of @samp{DTIME()} return values accumulated since the
4196 previous invocation.
4198 @cindex wraparound, timings
4199 @cindex limits, timings
4200 On some systems, the underlying timings are represented
4201 using types with sufficiently small limits that overflows
4202 (wraparounds) are possible, such as 32-bit types.
4203 Therefore, the values returned by this intrinsic
4204 might be, or become, negative,
4205 or numerically less than previous values,
4206 during a single run of the compiled program.
4208 Due to the side effects performed by this intrinsic, the function
4209 form is not recommended.
4211 For information on other intrinsics with the same name:
4212 @xref{DTime Intrinsic (subroutine)}.
4216 @node EOShift Intrinsic
4217 @subsubsection EOShift Intrinsic
4218 @cindex EOShift intrinsic
4219 @cindex intrinsics, EOShift
4221 This intrinsic is not yet implemented.
4222 The name is, however, reserved as an intrinsic.
4223 Use @samp{EXTERNAL EOShift} to use this name for an
4226 @node Epsilon Intrinsic
4227 @subsubsection Epsilon Intrinsic
4228 @cindex Epsilon intrinsic
4229 @cindex intrinsics, Epsilon
4231 This intrinsic is not yet implemented.
4232 The name is, however, reserved as an intrinsic.
4233 Use @samp{EXTERNAL Epsilon} to use this name for an
4239 @subsubsection ErF Intrinsic
4240 @cindex ErF intrinsic
4241 @cindex intrinsics, ErF
4249 ErF: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
4252 @var{X}: @code{REAL}; scalar; INTENT(IN).
4255 Intrinsic groups: @code{unix}.
4260 Returns the error function of @var{X}.
4261 See @code{erf(3m)}, which provides the implementation.
4263 @node ErFC Intrinsic
4264 @subsubsection ErFC Intrinsic
4265 @cindex ErFC intrinsic
4266 @cindex intrinsics, ErFC
4274 ErFC: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
4277 @var{X}: @code{REAL}; scalar; INTENT(IN).
4280 Intrinsic groups: @code{unix}.
4285 Returns the complementary error function of @var{X}:
4286 @samp{ERFC(R) = 1 - ERF(R)} (except that the result might be more
4287 accurate than explicitly evaluating that formulae would give).
4288 See @code{erfc(3m)}, which provides the implementation.
4290 @node ETime Intrinsic (subroutine)
4291 @subsubsection ETime Intrinsic (subroutine)
4292 @cindex ETime intrinsic
4293 @cindex intrinsics, ETime
4297 CALL ETime(@var{TArray}, @var{Result})
4301 @var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
4304 @var{Result}: @code{REAL(KIND=1)}; scalar; INTENT(OUT).
4307 Intrinsic groups: @code{unix}.
4312 Return the number of seconds of runtime
4313 since the start of the process's execution
4315 and the user and system components of this in @samp{@var{TArray}(1)}
4316 and @samp{@var{TArray}(2)} respectively.
4317 The value of @var{Result} is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
4319 @cindex wraparound, timings
4320 @cindex limits, timings
4321 On some systems, the underlying timings are represented
4322 using types with sufficiently small limits that overflows
4323 (wraparounds) are possible, such as 32-bit types.
4324 Therefore, the values returned by this intrinsic
4325 might be, or become, negative,
4326 or numerically less than previous values,
4327 during a single run of the compiled program.
4329 Some non-GNU implementations of Fortran provide this intrinsic as
4330 only a function, not as a subroutine.
4332 For information on other intrinsics with the same name:
4333 @xref{ETime Intrinsic (function)}.
4335 @node ETime Intrinsic (function)
4336 @subsubsection ETime Intrinsic (function)
4337 @cindex ETime intrinsic
4338 @cindex intrinsics, ETime
4346 ETime: @code{REAL(KIND=1)} function.
4349 @var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
4352 Intrinsic groups: @code{unix}.
4357 Return the number of seconds of runtime
4358 since the start of the process's execution
4359 as the function value,
4360 and the user and system components of this in @samp{@var{TArray}(1)}
4361 and @samp{@var{TArray}(2)} respectively.
4362 The functions' value is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
4364 @cindex wraparound, timings
4365 @cindex limits, timings
4366 On some systems, the underlying timings are represented
4367 using types with sufficiently small limits that overflows
4368 (wraparounds) are possible, such as 32-bit types.
4369 Therefore, the values returned by this intrinsic
4370 might be, or become, negative,
4371 or numerically less than previous values,
4372 during a single run of the compiled program.
4374 For information on other intrinsics with the same name:
4375 @xref{ETime Intrinsic (subroutine)}.
4377 @node Exit Intrinsic
4378 @subsubsection Exit Intrinsic
4379 @cindex Exit intrinsic
4380 @cindex intrinsics, Exit
4384 CALL Exit(@var{Status})
4388 @var{Status}: @code{INTEGER} not wider than the default kind; OPTIONAL; scalar; INTENT(IN).
4391 Intrinsic groups: @code{unix}.
4396 Exit the program with status @var{Status} after closing open Fortran
4397 I/O units and otherwise behaving as @code{exit(2)}.
4398 If @var{Status} is omitted the canonical `success' value
4399 will be returned to the system.
4404 @subsubsection Exp Intrinsic
4405 @cindex Exp intrinsic
4406 @cindex intrinsics, Exp
4414 Exp: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
4417 @var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
4420 Intrinsic groups: (standard FORTRAN 77).
4425 Returns @samp{@var{e}**@var{X}}, where
4426 @var{e} is approximately 2.7182818.
4428 @xref{Log Intrinsic}, for the inverse of this function.
4432 @node Exponent Intrinsic
4433 @subsubsection Exponent Intrinsic
4434 @cindex Exponent intrinsic
4435 @cindex intrinsics, Exponent
4437 This intrinsic is not yet implemented.
4438 The name is, however, reserved as an intrinsic.
4439 Use @samp{EXTERNAL Exponent} to use this name for an
4444 @node FDate Intrinsic (subroutine)
4445 @subsubsection FDate Intrinsic (subroutine)
4446 @cindex FDate intrinsic
4447 @cindex intrinsics, FDate
4451 CALL FDate(@var{Date})
4455 @var{Date}: @code{CHARACTER}; scalar; INTENT(OUT).
4458 Intrinsic groups: @code{unix}.
4463 Returns the current date (using the same format as @code{CTIME()})
4469 CALL CTIME(@var{Date}, TIME8())
4472 @cindex Y10K compliance
4473 @cindex Year 10000 compliance
4474 @cindex wraparound, Y10K
4475 @cindex limits, Y10K
4476 Programs making use of this intrinsic
4477 might not be Year 10000 (Y10K) compliant.
4478 For example, the date might appear,
4479 to such programs, to wrap around
4480 (change from a larger value to a smaller one)
4481 as of the Year 10000.
4483 @xref{CTime Intrinsic (subroutine)}.
4485 Some non-GNU implementations of Fortran provide this intrinsic as
4486 only a function, not as a subroutine.
4488 For information on other intrinsics with the same name:
4489 @xref{FDate Intrinsic (function)}.
4491 @node FDate Intrinsic (function)
4492 @subsubsection FDate Intrinsic (function)
4493 @cindex FDate intrinsic
4494 @cindex intrinsics, FDate
4502 FDate: @code{CHARACTER*(*)} function.
4505 Intrinsic groups: @code{unix}.
4510 Returns the current date (using the same format as @code{CTIME()}).
4518 @cindex Y10K compliance
4519 @cindex Year 10000 compliance
4520 @cindex wraparound, Y10K
4521 @cindex limits, Y10K
4522 Programs making use of this intrinsic
4523 might not be Year 10000 (Y10K) compliant.
4524 For example, the date might appear,
4525 to such programs, to wrap around
4526 (change from a larger value to a smaller one)
4527 as of the Year 10000.
4529 @xref{CTime Intrinsic (function)}.
4531 For information on other intrinsics with the same name:
4532 @xref{FDate Intrinsic (subroutine)}.
4534 @node FGet Intrinsic (subroutine)
4535 @subsubsection FGet Intrinsic (subroutine)
4536 @cindex FGet intrinsic
4537 @cindex intrinsics, FGet
4541 CALL FGet(@var{C}, @var{Status})
4545 @var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
4548 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
4551 Intrinsic groups: @code{unix}.
4556 Reads a single character into @var{C} in stream mode from unit 5
4557 (by-passing normal formatted output) using @code{getc(3)}.
4559 @var{Status} 0 on success, @minus{}1 on end-of-file, and the error code
4560 from @code{ferror(3)} otherwise.
4562 Stream I/O should not be mixed with normal record-oriented (formatted or
4563 unformatted) I/O on the same unit; the results are unpredictable.
4565 For information on other intrinsics with the same name:
4566 @xref{FGet Intrinsic (function)}.
4570 @node FGet Intrinsic (function)
4571 @subsubsection FGet Intrinsic (function)
4572 @cindex FGet intrinsic
4573 @cindex intrinsics, FGet
4581 FGet: @code{INTEGER(KIND=1)} function.
4584 @var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
4587 Intrinsic groups: @code{badu77}.
4592 Reads a single character into @var{C} in stream mode from unit 5
4593 (by-passing normal formatted input) using @code{getc(3)}.
4595 success, @minus{}1 on end-of-file, and the error code from
4596 @code{ferror(3)} otherwise.
4598 Stream I/O should not be mixed with normal record-oriented (formatted or
4599 unformatted) I/O on the same unit; the results are unpredictable.
4601 For information on other intrinsics with the same name:
4602 @xref{FGet Intrinsic (subroutine)}.
4606 @node FGetC Intrinsic (subroutine)
4607 @subsubsection FGetC Intrinsic (subroutine)
4608 @cindex FGetC intrinsic
4609 @cindex intrinsics, FGetC
4613 CALL FGetC(@var{Unit}, @var{C}, @var{Status})
4617 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4620 @var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
4623 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
4626 Intrinsic groups: @code{unix}.
4631 Reads a single character into @var{C} in stream mode from unit @var{Unit}
4632 (by-passing normal formatted output) using @code{getc(3)}.
4634 @var{Status} 0 on success, @minus{}1 on end-of-file, and the error code from
4635 @code{ferror(3)} otherwise.
4637 Stream I/O should not be mixed with normal record-oriented (formatted or
4638 unformatted) I/O on the same unit; the results are unpredictable.
4640 For information on other intrinsics with the same name:
4641 @xref{FGetC Intrinsic (function)}.
4645 @node FGetC Intrinsic (function)
4646 @subsubsection FGetC Intrinsic (function)
4647 @cindex FGetC intrinsic
4648 @cindex intrinsics, FGetC
4652 FGetC(@var{Unit}, @var{C})
4656 FGetC: @code{INTEGER(KIND=1)} function.
4659 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4662 @var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
4665 Intrinsic groups: @code{badu77}.
4670 Reads a single character into @var{C} in stream mode from unit @var{Unit}
4671 (by-passing normal formatted output) using @code{getc(3)}.
4673 success, @minus{}1 on end-of-file, and the error code from
4674 @code{ferror(3)} otherwise.
4676 Stream I/O should not be mixed with normal record-oriented (formatted or
4677 unformatted) I/O on the same unit; the results are unpredictable.
4679 For information on other intrinsics with the same name:
4680 @xref{FGetC Intrinsic (subroutine)}.
4684 @node Float Intrinsic
4685 @subsubsection Float Intrinsic
4686 @cindex Float intrinsic
4687 @cindex intrinsics, Float
4695 Float: @code{REAL(KIND=1)} function.
4698 @var{A}: @code{INTEGER}; scalar; INTENT(IN).
4701 Intrinsic groups: (standard FORTRAN 77).
4706 Archaic form of @code{REAL()} that is specific
4707 to one type for @var{A}.
4708 @xref{Real Intrinsic}.
4712 @node FloatI Intrinsic
4713 @subsubsection FloatI Intrinsic
4714 @cindex FloatI intrinsic
4715 @cindex intrinsics, FloatI
4717 This intrinsic is not yet implemented.
4718 The name is, however, reserved as an intrinsic.
4719 Use @samp{EXTERNAL FloatI} to use this name for an
4722 @node FloatJ Intrinsic
4723 @subsubsection FloatJ Intrinsic
4724 @cindex FloatJ intrinsic
4725 @cindex intrinsics, FloatJ
4727 This intrinsic is not yet implemented.
4728 The name is, however, reserved as an intrinsic.
4729 Use @samp{EXTERNAL FloatJ} to use this name for an
4734 @node Floor Intrinsic
4735 @subsubsection Floor Intrinsic
4736 @cindex Floor intrinsic
4737 @cindex intrinsics, Floor
4739 This intrinsic is not yet implemented.
4740 The name is, however, reserved as an intrinsic.
4741 Use @samp{EXTERNAL Floor} to use this name for an
4746 @node Flush Intrinsic
4747 @subsubsection Flush Intrinsic
4748 @cindex Flush intrinsic
4749 @cindex intrinsics, Flush
4753 CALL Flush(@var{Unit})
4757 @var{Unit}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN).
4760 Intrinsic groups: @code{unix}.
4765 Flushes Fortran unit(s) currently open for output.
4766 Without the optional argument, all such units are flushed,
4767 otherwise just the unit specified by @var{Unit}.
4769 Some non-GNU implementations of Fortran provide this intrinsic
4770 as a library procedure that might or might not support the
4771 (optional) @var{Unit} argument.
4773 @node FNum Intrinsic
4774 @subsubsection FNum Intrinsic
4775 @cindex FNum intrinsic
4776 @cindex intrinsics, FNum
4784 FNum: @code{INTEGER(KIND=1)} function.
4787 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4790 Intrinsic groups: @code{unix}.
4795 Returns the Unix file descriptor number corresponding to the open
4796 Fortran I/O unit @var{Unit}.
4797 This could be passed to an interface to C I/O routines.
4799 @node FPut Intrinsic (subroutine)
4800 @subsubsection FPut Intrinsic (subroutine)
4801 @cindex FPut intrinsic
4802 @cindex intrinsics, FPut
4806 CALL FPut(@var{C}, @var{Status})
4810 @var{C}: @code{CHARACTER}; scalar; INTENT(IN).
4813 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
4816 Intrinsic groups: @code{unix}.
4821 Writes the single character @var{C} in stream mode to unit 6
4822 (by-passing normal formatted output) using @code{putc(3)}.
4824 @var{Status} 0 on success, the error code from @code{ferror(3)} otherwise.
4826 Stream I/O should not be mixed with normal record-oriented (formatted or
4827 unformatted) I/O on the same unit; the results are unpredictable.
4829 For information on other intrinsics with the same name:
4830 @xref{FPut Intrinsic (function)}.
4834 @node FPut Intrinsic (function)
4835 @subsubsection FPut Intrinsic (function)
4836 @cindex FPut intrinsic
4837 @cindex intrinsics, FPut
4845 FPut: @code{INTEGER(KIND=1)} function.
4848 @var{C}: @code{CHARACTER}; scalar; INTENT(IN).
4851 Intrinsic groups: @code{badu77}.
4856 Writes the single character @var{C} in stream mode to unit 6
4857 (by-passing normal formatted output) using @code{getc(3)}.
4859 success, the error code from @code{ferror(3)} otherwise.
4861 Stream I/O should not be mixed with normal record-oriented (formatted or
4862 unformatted) I/O on the same unit; the results are unpredictable.
4864 For information on other intrinsics with the same name:
4865 @xref{FPut Intrinsic (subroutine)}.
4869 @node FPutC Intrinsic (subroutine)
4870 @subsubsection FPutC Intrinsic (subroutine)
4871 @cindex FPutC intrinsic
4872 @cindex intrinsics, FPutC
4876 CALL FPutC(@var{Unit}, @var{C}, @var{Status})
4880 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4883 @var{C}: @code{CHARACTER}; scalar; INTENT(IN).
4886 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
4889 Intrinsic groups: @code{unix}.
4894 Writes the single character @var{Unit} in stream mode to unit 6
4895 (by-passing normal formatted output) using @code{putc(3)}.
4897 @var{C} 0 on success, the error code from @code{ferror(3)} otherwise.
4899 Stream I/O should not be mixed with normal record-oriented (formatted or
4900 unformatted) I/O on the same unit; the results are unpredictable.
4902 For information on other intrinsics with the same name:
4903 @xref{FPutC Intrinsic (function)}.
4907 @node FPutC Intrinsic (function)
4908 @subsubsection FPutC Intrinsic (function)
4909 @cindex FPutC intrinsic
4910 @cindex intrinsics, FPutC
4914 FPutC(@var{Unit}, @var{C})
4918 FPutC: @code{INTEGER(KIND=1)} function.
4921 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4924 @var{C}: @code{CHARACTER}; scalar; INTENT(IN).
4927 Intrinsic groups: @code{badu77}.
4932 Writes the single character @var{C} in stream mode to unit @var{Unit}
4933 (by-passing normal formatted output) using @code{putc(3)}.
4935 success, the error code from @code{ferror(3)} otherwise.
4937 Stream I/O should not be mixed with normal record-oriented (formatted or
4938 unformatted) I/O on the same unit; the results are unpredictable.
4940 For information on other intrinsics with the same name:
4941 @xref{FPutC Intrinsic (subroutine)}.
4945 @node Fraction Intrinsic
4946 @subsubsection Fraction Intrinsic
4947 @cindex Fraction intrinsic
4948 @cindex intrinsics, Fraction
4950 This intrinsic is not yet implemented.
4951 The name is, however, reserved as an intrinsic.
4952 Use @samp{EXTERNAL Fraction} to use this name for an
4957 @node FSeek Intrinsic
4958 @subsubsection FSeek Intrinsic
4959 @cindex FSeek intrinsic
4960 @cindex intrinsics, FSeek
4964 CALL FSeek(@var{Unit}, @var{Offset}, @var{Whence}, @var{ErrLab})
4968 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4971 @var{Offset}: @code{INTEGER}; scalar; INTENT(IN).
4974 @var{Whence}: @code{INTEGER}; scalar; INTENT(IN).
4977 @var{ErrLab}: @samp{*@var{label}}, where @var{label} is the label
4978 of an executable statement; OPTIONAL.
4981 Intrinsic groups: @code{unix}.
4986 Attempts to move Fortran unit @var{Unit} to the specified
4987 @var{Offset}: absolute offset if @var{Whence}=0; relative to the
4988 current offset if @var{Whence}=1; relative to the end of the file if
4990 It branches to label @var{ErrLab} if @var{Unit} is
4991 not open or if the call otherwise fails.
4993 @node FStat Intrinsic (subroutine)
4994 @subsubsection FStat Intrinsic (subroutine)
4995 @cindex FStat intrinsic
4996 @cindex intrinsics, FStat
5000 CALL FStat(@var{Unit}, @var{SArray}, @var{Status})
5004 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
5007 @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
5010 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
5013 Intrinsic groups: @code{unix}.
5018 Obtains data about the file open on Fortran I/O unit @var{Unit} and
5019 places them in the array @var{SArray}.
5020 The values in this array are
5021 extracted from the @code{stat} structure as returned by
5022 @code{fstat(2)} q.v., as follows:
5044 ID of device containing directory entry for file
5045 (0 if not available)
5054 Last modification time
5057 Last file status change time
5060 Preferred I/O block size (-1 if not available)
5063 Number of blocks allocated (-1 if not available)
5066 Not all these elements are relevant on all systems.
5067 If an element is not relevant, it is returned as 0.
5069 If the @var{Status} argument is supplied, it contains
5070 0 on success or a nonzero error code upon return.
5072 Some non-GNU implementations of Fortran provide this intrinsic as
5073 only a function, not as a subroutine, or do not support the
5074 (optional) @var{Status} argument.
5076 For information on other intrinsics with the same name:
5077 @xref{FStat Intrinsic (function)}.
5079 @node FStat Intrinsic (function)
5080 @subsubsection FStat Intrinsic (function)
5081 @cindex FStat intrinsic
5082 @cindex intrinsics, FStat
5086 FStat(@var{Unit}, @var{SArray})
5090 FStat: @code{INTEGER(KIND=1)} function.
5093 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
5096 @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
5099 Intrinsic groups: @code{unix}.
5104 Obtains data about the file open on Fortran I/O unit @var{Unit} and
5105 places them in the array @var{SArray}.
5106 The values in this array are
5107 extracted from the @code{stat} structure as returned by
5108 @code{fstat(2)} q.v., as follows:
5130 ID of device containing directory entry for file
5131 (0 if not available)
5140 Last modification time
5143 Last file status change time
5146 Preferred I/O block size (-1 if not available)
5149 Number of blocks allocated (-1 if not available)
5152 Not all these elements are relevant on all systems.
5153 If an element is not relevant, it is returned as 0.
5155 Returns 0 on success or a nonzero error code.
5157 For information on other intrinsics with the same name:
5158 @xref{FStat Intrinsic (subroutine)}.
5160 @node FTell Intrinsic (subroutine)
5161 @subsubsection FTell Intrinsic (subroutine)
5162 @cindex FTell intrinsic
5163 @cindex intrinsics, FTell
5167 CALL FTell(@var{Unit}, @var{Offset})
5171 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
5174 @var{Offset}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
5177 Intrinsic groups: @code{unix}.
5182 Sets @var{Offset} to the current offset of Fortran unit @var{Unit}
5183 (or to @minus{}1 if @var{Unit} is not open).
5185 Some non-GNU implementations of Fortran provide this intrinsic as
5186 only a function, not as a subroutine.
5188 For information on other intrinsics with the same name:
5189 @xref{FTell Intrinsic (function)}.
5191 @node FTell Intrinsic (function)
5192 @subsubsection FTell Intrinsic (function)
5193 @cindex FTell intrinsic
5194 @cindex intrinsics, FTell
5202 FTell: @code{INTEGER(KIND=1)} function.
5205 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
5208 Intrinsic groups: @code{unix}.
5213 Returns the current offset of Fortran unit @var{Unit}
5214 (or @minus{}1 if @var{Unit} is not open).
5216 For information on other intrinsics with the same name:
5217 @xref{FTell Intrinsic (subroutine)}.
5219 @node GError Intrinsic
5220 @subsubsection GError Intrinsic
5221 @cindex GError intrinsic
5222 @cindex intrinsics, GError
5226 CALL GError(@var{Message})
5230 @var{Message}: @code{CHARACTER}; scalar; INTENT(OUT).
5233 Intrinsic groups: @code{unix}.
5238 Returns the system error message corresponding to the last system
5239 error (C @code{errno}).
5241 @node GetArg Intrinsic
5242 @subsubsection GetArg Intrinsic
5243 @cindex GetArg intrinsic
5244 @cindex intrinsics, GetArg
5248 CALL GetArg(@var{Pos}, @var{Value})
5252 @var{Pos}: @code{INTEGER} not wider than the default kind; scalar; INTENT(IN).
5255 @var{Value}: @code{CHARACTER}; scalar; INTENT(OUT).
5258 Intrinsic groups: @code{unix}.
5263 Sets @var{Value} to the @var{Pos}-th command-line argument (or to all
5264 blanks if there are fewer than @var{Value} command-line arguments);
5265 @code{CALL GETARG(0, @var{value})} sets @var{value} to the name of the
5266 program (on systems that support this feature).
5268 @xref{IArgC Intrinsic}, for information on how to get the number
5271 @node GetCWD Intrinsic (subroutine)
5272 @subsubsection GetCWD Intrinsic (subroutine)
5273 @cindex GetCWD intrinsic
5274 @cindex intrinsics, GetCWD
5278 CALL GetCWD(@var{Name}, @var{Status})
5282 @var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
5285 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
5288 Intrinsic groups: @code{unix}.
5293 Places the current working directory in @var{Name}.
5294 If the @var{Status} argument is supplied, it contains 0
5295 success or a nonzero error code upon return
5296 (@code{ENOSYS} if the system does not provide @code{getcwd(3)}
5297 or @code{getwd(3)}).
5299 Some non-GNU implementations of Fortran provide this intrinsic as
5300 only a function, not as a subroutine, or do not support the
5301 (optional) @var{Status} argument.
5303 For information on other intrinsics with the same name:
5304 @xref{GetCWD Intrinsic (function)}.
5306 @node GetCWD Intrinsic (function)
5307 @subsubsection GetCWD Intrinsic (function)
5308 @cindex GetCWD intrinsic
5309 @cindex intrinsics, GetCWD
5317 GetCWD: @code{INTEGER(KIND=1)} function.
5320 @var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
5323 Intrinsic groups: @code{unix}.
5328 Places the current working directory in @var{Name}.
5330 success, otherwise a nonzero error code
5331 (@code{ENOSYS} if the system does not provide @code{getcwd(3)}
5332 or @code{getwd(3)}).
5334 For information on other intrinsics with the same name:
5335 @xref{GetCWD Intrinsic (subroutine)}.
5337 @node GetEnv Intrinsic
5338 @subsubsection GetEnv Intrinsic
5339 @cindex GetEnv intrinsic
5340 @cindex intrinsics, GetEnv
5344 CALL GetEnv(@var{Name}, @var{Value})
5348 @var{Name}: @code{CHARACTER}; scalar; INTENT(IN).
5351 @var{Value}: @code{CHARACTER}; scalar; INTENT(OUT).
5354 Intrinsic groups: @code{unix}.
5359 Sets @var{Value} to the value of environment variable given by the
5360 value of @var{Name} (@code{$name} in shell terms) or to blanks if
5361 @code{$name} has not been set.
5362 A null character (@samp{CHAR(0)}) marks the end of
5363 the name in @var{Name}---otherwise,
5364 trailing blanks in @var{Name} are ignored.
5366 @node GetGId Intrinsic
5367 @subsubsection GetGId Intrinsic
5368 @cindex GetGId intrinsic
5369 @cindex intrinsics, GetGId
5377 GetGId: @code{INTEGER(KIND=1)} function.
5380 Intrinsic groups: @code{unix}.
5385 Returns the group id for the current process.
5387 @node GetLog Intrinsic
5388 @subsubsection GetLog Intrinsic
5389 @cindex GetLog intrinsic
5390 @cindex intrinsics, GetLog
5394 CALL GetLog(@var{Login})
5398 @var{Login}: @code{CHARACTER}; scalar; INTENT(OUT).
5401 Intrinsic groups: @code{unix}.
5406 Returns the login name for the process in @var{Login}.
5408 @emph{Caution:} On some systems, the @code{getlogin(3)}
5409 function, which this intrinsic calls at run time,
5410 is either not implemented or returns a null pointer.
5411 In the latter case, this intrinsic returns blanks
5414 @node GetPId Intrinsic
5415 @subsubsection GetPId Intrinsic
5416 @cindex GetPId intrinsic
5417 @cindex intrinsics, GetPId
5425 GetPId: @code{INTEGER(KIND=1)} function.
5428 Intrinsic groups: @code{unix}.
5433 Returns the process id for the current process.
5435 @node GetUId Intrinsic
5436 @subsubsection GetUId Intrinsic
5437 @cindex GetUId intrinsic
5438 @cindex intrinsics, GetUId
5446 GetUId: @code{INTEGER(KIND=1)} function.
5449 Intrinsic groups: @code{unix}.
5454 Returns the user id for the current process.
5456 @node GMTime Intrinsic
5457 @subsubsection GMTime Intrinsic
5458 @cindex GMTime intrinsic
5459 @cindex intrinsics, GMTime
5463 CALL GMTime(@var{STime}, @var{TArray})
5467 @var{STime}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
5470 @var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(9); INTENT(OUT).
5473 Intrinsic groups: @code{unix}.
5478 Given a system time value @var{STime}, fills @var{TArray} with values
5479 extracted from it appropriate to the GMT time zone using
5482 The array elements are as follows:
5486 Seconds after the minute, range 0--59 or 0--61 to allow for leap
5490 Minutes after the hour, range 0--59
5493 Hours past midnight, range 0--23
5496 Day of month, range 0--31
5499 Number of months since January, range 0--12
5505 Number of days since Sunday, range 0--6
5508 Days since January 1
5511 Daylight savings indicator: positive if daylight savings is in effect,
5512 zero if not, and negative if the information isn't available.
5515 @node HostNm Intrinsic (subroutine)
5516 @subsubsection HostNm Intrinsic (subroutine)
5517 @cindex HostNm intrinsic
5518 @cindex intrinsics, HostNm
5522 CALL HostNm(@var{Name}, @var{Status})
5526 @var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
5529 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
5532 Intrinsic groups: @code{unix}.
5537 Fills @var{Name} with the system's host name returned by
5538 @code{gethostname(2)}.
5539 If the @var{Status} argument is supplied, it contains
5540 0 on success or a nonzero error code upon return
5541 (@code{ENOSYS} if the system does not provide @code{gethostname(2)}).
5543 Some non-GNU implementations of Fortran provide this intrinsic as
5544 only a function, not as a subroutine, or do not support the
5545 (optional) @var{Status} argument.
5547 On some systems (specifically SCO) it might be necessary to link the
5548 ``socket'' library if you call this routine.
5549 Typically this means adding @samp{-lg2c -lsocket -lm}
5550 to the @code{g77} command line when linking the program.
5552 For information on other intrinsics with the same name:
5553 @xref{HostNm Intrinsic (function)}.
5555 @node HostNm Intrinsic (function)
5556 @subsubsection HostNm Intrinsic (function)
5557 @cindex HostNm intrinsic
5558 @cindex intrinsics, HostNm
5566 HostNm: @code{INTEGER(KIND=1)} function.
5569 @var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
5572 Intrinsic groups: @code{unix}.
5577 Fills @var{Name} with the system's host name returned by
5578 @code{gethostname(2)}, returning 0 on success or a nonzero error code
5579 (@code{ENOSYS} if the system does not provide @code{gethostname(2)}).
5581 On some systems (specifically SCO) it might be necessary to link the
5582 ``socket'' library if you call this routine.
5583 Typically this means adding @samp{-lg2c -lsocket -lm}
5584 to the @code{g77} command line when linking the program.
5586 For information on other intrinsics with the same name:
5587 @xref{HostNm Intrinsic (subroutine)}.
5591 @node Huge Intrinsic
5592 @subsubsection Huge Intrinsic
5593 @cindex Huge intrinsic
5594 @cindex intrinsics, Huge
5596 This intrinsic is not yet implemented.
5597 The name is, however, reserved as an intrinsic.
5598 Use @samp{EXTERNAL Huge} to use this name for an
5603 @node IAbs Intrinsic
5604 @subsubsection IAbs Intrinsic
5605 @cindex IAbs intrinsic
5606 @cindex intrinsics, IAbs
5614 IAbs: @code{INTEGER(KIND=1)} function.
5617 @var{A}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
5620 Intrinsic groups: (standard FORTRAN 77).
5625 Archaic form of @code{ABS()} that is specific
5626 to one type for @var{A}.
5627 @xref{Abs Intrinsic}.
5631 @node IAChar Intrinsic
5632 @subsubsection IAChar Intrinsic
5633 @cindex IAChar intrinsic
5634 @cindex intrinsics, IAChar
5642 IAChar: @code{INTEGER(KIND=1)} function.
5645 @var{C}: @code{CHARACTER}; scalar; INTENT(IN).
5648 Intrinsic groups: @code{f2c}, @code{f90}.
5653 Returns the code for the ASCII character in the
5654 first character position of @var{C}.
5656 @xref{AChar Intrinsic}, for the inverse of this function.
5658 @xref{IChar Intrinsic}, for the function corresponding
5659 to the system's native character set.
5663 @node IAnd Intrinsic
5664 @subsubsection IAnd Intrinsic
5665 @cindex IAnd intrinsic
5666 @cindex intrinsics, IAnd
5670 IAnd(@var{I}, @var{J})
5674 IAnd: @code{INTEGER} function, the exact type being the result of cross-promoting the
5675 types of all the arguments.
5678 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
5681 @var{J}: @code{INTEGER}; scalar; INTENT(IN).
5684 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
5689 Returns value resulting from boolean AND of
5690 pair of bits in each of @var{I} and @var{J}.
5694 @node IArgC Intrinsic
5695 @subsubsection IArgC Intrinsic
5696 @cindex IArgC intrinsic
5697 @cindex intrinsics, IArgC
5705 IArgC: @code{INTEGER(KIND=1)} function.
5708 Intrinsic groups: @code{unix}.
5713 Returns the number of command-line arguments.
5715 This count does not include the specification of the program
5720 @node IBClr Intrinsic
5721 @subsubsection IBClr Intrinsic
5722 @cindex IBClr intrinsic
5723 @cindex intrinsics, IBClr
5727 IBClr(@var{I}, @var{Pos})
5731 IBClr: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
5734 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
5737 @var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
5740 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
5745 Returns the value of @var{I} with bit @var{Pos} cleared (set to
5747 @xref{BTest Intrinsic}, for information on bit positions.
5749 @node IBits Intrinsic
5750 @subsubsection IBits Intrinsic
5751 @cindex IBits intrinsic
5752 @cindex intrinsics, IBits
5756 IBits(@var{I}, @var{Pos}, @var{Len})
5760 IBits: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
5763 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
5766 @var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
5769 @var{Len}: @code{INTEGER}; scalar; INTENT(IN).
5772 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
5777 Extracts a subfield of length @var{Len} from @var{I}, starting from
5778 bit position @var{Pos} and extending left for @var{Len} bits.
5779 The result is right-justified and the remaining bits are zeroed.
5781 of @samp{@var{Pos}+@var{Len}} must be less than or equal to the value
5782 @samp{BIT_SIZE(@var{I})}.
5783 @xref{Bit_Size Intrinsic}.
5785 @node IBSet Intrinsic
5786 @subsubsection IBSet Intrinsic
5787 @cindex IBSet intrinsic
5788 @cindex intrinsics, IBSet
5792 IBSet(@var{I}, @var{Pos})
5796 IBSet: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
5799 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
5802 @var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
5805 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
5810 Returns the value of @var{I} with bit @var{Pos} set (to one).
5811 @xref{BTest Intrinsic}, for information on bit positions.
5815 @node IChar Intrinsic
5816 @subsubsection IChar Intrinsic
5817 @cindex IChar intrinsic
5818 @cindex intrinsics, IChar
5826 IChar: @code{INTEGER(KIND=1)} function.
5829 @var{C}: @code{CHARACTER}; scalar; INTENT(IN).
5832 Intrinsic groups: (standard FORTRAN 77).
5837 Returns the code for the character in the
5838 first character position of @var{C}.
5840 Because the system's native character set is used,
5841 the correspondence between character and their codes
5842 is not necessarily the same between GNU Fortran
5845 Note that no intrinsic exists to convert a printable
5846 character string to a numerical value.
5847 For example, there is no intrinsic that, given
5848 the @code{CHARACTER} value @samp{'154'}, returns an
5849 @code{INTEGER} or @code{REAL} value with the value @samp{154}.
5851 Instead, you can use internal-file I/O to do this kind
5859 READ (STRING, '(I10)'), VALUE
5864 The above program, when run, prints:
5870 @xref{Char Intrinsic}, for the inverse of the @code{ICHAR} function.
5872 @xref{IAChar Intrinsic}, for the function corresponding
5873 to the ASCII character set.
5877 @node IDate Intrinsic (UNIX)
5878 @subsubsection IDate Intrinsic (UNIX)
5879 @cindex IDate intrinsic
5880 @cindex intrinsics, IDate
5884 CALL IDate(@var{TArray})
5888 @var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(3); INTENT(OUT).
5891 Intrinsic groups: @code{unix}.
5896 Fills @var{TArray} with the numerical values at the current local time.
5897 The day (in the range 1--31), month (in the range 1--12),
5898 and year appear in elements 1, 2, and 3 of @var{TArray}, respectively.
5899 The year has four significant digits.
5901 @cindex Y10K compliance
5902 @cindex Year 10000 compliance
5903 @cindex wraparound, Y10K
5904 @cindex limits, Y10K
5905 Programs making use of this intrinsic
5906 might not be Year 10000 (Y10K) compliant.
5907 For example, the date might appear,
5908 to such programs, to wrap around
5909 (change from a larger value to a smaller one)
5910 as of the Year 10000.
5912 For information on other intrinsics with the same name:
5913 @xref{IDate Intrinsic (VXT)}.
5917 @node IDate Intrinsic (VXT)
5918 @subsubsection IDate Intrinsic (VXT)
5919 @cindex IDate intrinsic
5920 @cindex intrinsics, IDate
5924 CALL IDate(@var{M}, @var{D}, @var{Y})
5928 @var{M}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
5931 @var{D}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
5934 @var{Y}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
5937 Intrinsic groups: @code{vxt}.
5942 Returns the numerical values of the current local time.
5943 The month (in the range 1--12) is returned in @var{M},
5944 the day (in the range 1--31) in @var{D},
5945 and the year in @var{Y} (in the range 0--99).
5947 @cindex Y2K compliance
5948 @cindex Year 2000 compliance
5949 @cindex wraparound, Y2K
5951 This intrinsic is not recommended, due to the fact that
5952 its return value for year wraps around century boundaries
5953 (change from a larger value to a smaller one).
5954 Therefore, programs making use of this intrinsic, for
5955 instance, might not be Year 2000 (Y2K) compliant.
5956 For example, the date might appear,
5957 to such programs, to wrap around
5958 as of the Year 2000.
5960 @xref{IDate Intrinsic (UNIX)}, for information on obtaining more digits
5961 for the current date.
5963 For information on other intrinsics with the same name:
5964 @xref{IDate Intrinsic (UNIX)}.
5968 @node IDiM Intrinsic
5969 @subsubsection IDiM Intrinsic
5970 @cindex IDiM intrinsic
5971 @cindex intrinsics, IDiM
5975 IDiM(@var{X}, @var{Y})
5979 IDiM: @code{INTEGER(KIND=1)} function.
5982 @var{X}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
5985 @var{Y}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
5988 Intrinsic groups: (standard FORTRAN 77).
5993 Archaic form of @code{DIM()} that is specific
5994 to one type for @var{X} and @var{Y}.
5995 @xref{DiM Intrinsic}.
5997 @node IDInt Intrinsic
5998 @subsubsection IDInt Intrinsic
5999 @cindex IDInt intrinsic
6000 @cindex intrinsics, IDInt
6008 IDInt: @code{INTEGER(KIND=1)} function.
6011 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
6014 Intrinsic groups: (standard FORTRAN 77).
6019 Archaic form of @code{INT()} that is specific
6020 to one type for @var{A}.
6021 @xref{Int Intrinsic}.
6023 @node IDNInt Intrinsic
6024 @subsubsection IDNInt Intrinsic
6025 @cindex IDNInt intrinsic
6026 @cindex intrinsics, IDNInt
6034 IDNInt: @code{INTEGER(KIND=1)} function.
6037 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
6040 Intrinsic groups: (standard FORTRAN 77).
6045 Archaic form of @code{NINT()} that is specific
6046 to one type for @var{A}.
6047 @xref{NInt Intrinsic}.
6051 @node IEOr Intrinsic
6052 @subsubsection IEOr Intrinsic
6053 @cindex IEOr intrinsic
6054 @cindex intrinsics, IEOr
6058 IEOr(@var{I}, @var{J})
6062 IEOr: @code{INTEGER} function, the exact type being the result of cross-promoting the
6063 types of all the arguments.
6066 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
6069 @var{J}: @code{INTEGER}; scalar; INTENT(IN).
6072 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
6077 Returns value resulting from boolean exclusive-OR of
6078 pair of bits in each of @var{I} and @var{J}.
6082 @node IErrNo Intrinsic
6083 @subsubsection IErrNo Intrinsic
6084 @cindex IErrNo intrinsic
6085 @cindex intrinsics, IErrNo
6093 IErrNo: @code{INTEGER(KIND=1)} function.
6096 Intrinsic groups: @code{unix}.
6101 Returns the last system error number (corresponding to the C
6106 @node IFix Intrinsic
6107 @subsubsection IFix Intrinsic
6108 @cindex IFix intrinsic
6109 @cindex intrinsics, IFix
6117 IFix: @code{INTEGER(KIND=1)} function.
6120 @var{A}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
6123 Intrinsic groups: (standard FORTRAN 77).
6128 Archaic form of @code{INT()} that is specific
6129 to one type for @var{A}.
6130 @xref{Int Intrinsic}.
6134 @node IIAbs Intrinsic
6135 @subsubsection IIAbs Intrinsic
6136 @cindex IIAbs intrinsic
6137 @cindex intrinsics, IIAbs
6139 This intrinsic is not yet implemented.
6140 The name is, however, reserved as an intrinsic.
6141 Use @samp{EXTERNAL IIAbs} to use this name for an
6144 @node IIAnd Intrinsic
6145 @subsubsection IIAnd Intrinsic
6146 @cindex IIAnd intrinsic
6147 @cindex intrinsics, IIAnd
6149 This intrinsic is not yet implemented.
6150 The name is, however, reserved as an intrinsic.
6151 Use @samp{EXTERNAL IIAnd} to use this name for an
6154 @node IIBClr Intrinsic
6155 @subsubsection IIBClr Intrinsic
6156 @cindex IIBClr intrinsic
6157 @cindex intrinsics, IIBClr
6159 This intrinsic is not yet implemented.
6160 The name is, however, reserved as an intrinsic.
6161 Use @samp{EXTERNAL IIBClr} to use this name for an
6164 @node IIBits Intrinsic
6165 @subsubsection IIBits Intrinsic
6166 @cindex IIBits intrinsic
6167 @cindex intrinsics, IIBits
6169 This intrinsic is not yet implemented.
6170 The name is, however, reserved as an intrinsic.
6171 Use @samp{EXTERNAL IIBits} to use this name for an
6174 @node IIBSet Intrinsic
6175 @subsubsection IIBSet Intrinsic
6176 @cindex IIBSet intrinsic
6177 @cindex intrinsics, IIBSet
6179 This intrinsic is not yet implemented.
6180 The name is, however, reserved as an intrinsic.
6181 Use @samp{EXTERNAL IIBSet} to use this name for an
6184 @node IIDiM Intrinsic
6185 @subsubsection IIDiM Intrinsic
6186 @cindex IIDiM intrinsic
6187 @cindex intrinsics, IIDiM
6189 This intrinsic is not yet implemented.
6190 The name is, however, reserved as an intrinsic.
6191 Use @samp{EXTERNAL IIDiM} to use this name for an
6194 @node IIDInt Intrinsic
6195 @subsubsection IIDInt Intrinsic
6196 @cindex IIDInt intrinsic
6197 @cindex intrinsics, IIDInt
6199 This intrinsic is not yet implemented.
6200 The name is, however, reserved as an intrinsic.
6201 Use @samp{EXTERNAL IIDInt} to use this name for an
6204 @node IIDNnt Intrinsic
6205 @subsubsection IIDNnt Intrinsic
6206 @cindex IIDNnt intrinsic
6207 @cindex intrinsics, IIDNnt
6209 This intrinsic is not yet implemented.
6210 The name is, however, reserved as an intrinsic.
6211 Use @samp{EXTERNAL IIDNnt} to use this name for an
6214 @node IIEOr Intrinsic
6215 @subsubsection IIEOr Intrinsic
6216 @cindex IIEOr intrinsic
6217 @cindex intrinsics, IIEOr
6219 This intrinsic is not yet implemented.
6220 The name is, however, reserved as an intrinsic.
6221 Use @samp{EXTERNAL IIEOr} to use this name for an
6224 @node IIFix Intrinsic
6225 @subsubsection IIFix Intrinsic
6226 @cindex IIFix intrinsic
6227 @cindex intrinsics, IIFix
6229 This intrinsic is not yet implemented.
6230 The name is, however, reserved as an intrinsic.
6231 Use @samp{EXTERNAL IIFix} to use this name for an
6234 @node IInt Intrinsic
6235 @subsubsection IInt Intrinsic
6236 @cindex IInt intrinsic
6237 @cindex intrinsics, IInt
6239 This intrinsic is not yet implemented.
6240 The name is, however, reserved as an intrinsic.
6241 Use @samp{EXTERNAL IInt} to use this name for an
6244 @node IIOr Intrinsic
6245 @subsubsection IIOr Intrinsic
6246 @cindex IIOr intrinsic
6247 @cindex intrinsics, IIOr
6249 This intrinsic is not yet implemented.
6250 The name is, however, reserved as an intrinsic.
6251 Use @samp{EXTERNAL IIOr} to use this name for an
6254 @node IIQint Intrinsic
6255 @subsubsection IIQint Intrinsic
6256 @cindex IIQint intrinsic
6257 @cindex intrinsics, IIQint
6259 This intrinsic is not yet implemented.
6260 The name is, however, reserved as an intrinsic.
6261 Use @samp{EXTERNAL IIQint} to use this name for an
6264 @node IIQNnt Intrinsic
6265 @subsubsection IIQNnt Intrinsic
6266 @cindex IIQNnt intrinsic
6267 @cindex intrinsics, IIQNnt
6269 This intrinsic is not yet implemented.
6270 The name is, however, reserved as an intrinsic.
6271 Use @samp{EXTERNAL IIQNnt} to use this name for an
6274 @node IIShftC Intrinsic
6275 @subsubsection IIShftC Intrinsic
6276 @cindex IIShftC intrinsic
6277 @cindex intrinsics, IIShftC
6279 This intrinsic is not yet implemented.
6280 The name is, however, reserved as an intrinsic.
6281 Use @samp{EXTERNAL IIShftC} to use this name for an
6284 @node IISign Intrinsic
6285 @subsubsection IISign Intrinsic
6286 @cindex IISign intrinsic
6287 @cindex intrinsics, IISign
6289 This intrinsic is not yet implemented.
6290 The name is, however, reserved as an intrinsic.
6291 Use @samp{EXTERNAL IISign} to use this name for an
6296 @node Imag Intrinsic
6297 @subsubsection Imag Intrinsic
6298 @cindex Imag intrinsic
6299 @cindex intrinsics, Imag
6307 Imag: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{Z}.
6310 @var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
6313 Intrinsic groups: @code{f2c}.
6318 The imaginary part of @var{Z} is returned, without conversion.
6320 @emph{Note:} The way to do this in standard Fortran 90
6321 is @samp{AIMAG(@var{Z})}.
6322 However, when, for example, @var{Z} is @code{DOUBLE COMPLEX},
6323 @samp{AIMAG(@var{Z})} means something different for some compilers
6324 that are not true Fortran 90 compilers but offer some
6325 extensions standardized by Fortran 90 (such as the
6326 @code{DOUBLE COMPLEX} type, also known as @code{COMPLEX(KIND=2)}).
6328 The advantage of @code{IMAG()} is that, while not necessarily
6329 more or less portable than @code{AIMAG()}, it is more likely to
6330 cause a compiler that doesn't support it to produce a diagnostic
6331 than generate incorrect code.
6333 @xref{REAL() and AIMAG() of Complex}, for more information.
6337 @node ImagPart Intrinsic
6338 @subsubsection ImagPart Intrinsic
6339 @cindex ImagPart intrinsic
6340 @cindex intrinsics, ImagPart
6348 ImagPart: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{Z}.
6351 @var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
6354 Intrinsic groups: @code{gnu}.
6359 The imaginary part of @var{Z} is returned, without conversion.
6361 @emph{Note:} The way to do this in standard Fortran 90
6362 is @samp{AIMAG(@var{Z})}.
6363 However, when, for example, @var{Z} is @code{DOUBLE COMPLEX},
6364 @samp{AIMAG(@var{Z})} means something different for some compilers
6365 that are not true Fortran 90 compilers but offer some
6366 extensions standardized by Fortran 90 (such as the
6367 @code{DOUBLE COMPLEX} type, also known as @code{COMPLEX(KIND=2)}).
6369 The advantage of @code{IMAGPART()} is that, while not necessarily
6370 more or less portable than @code{AIMAG()}, it is more likely to
6371 cause a compiler that doesn't support it to produce a diagnostic
6372 than generate incorrect code.
6374 @xref{REAL() and AIMAG() of Complex}, for more information.
6378 @node IMax0 Intrinsic
6379 @subsubsection IMax0 Intrinsic
6380 @cindex IMax0 intrinsic
6381 @cindex intrinsics, IMax0
6383 This intrinsic is not yet implemented.
6384 The name is, however, reserved as an intrinsic.
6385 Use @samp{EXTERNAL IMax0} to use this name for an
6388 @node IMax1 Intrinsic
6389 @subsubsection IMax1 Intrinsic
6390 @cindex IMax1 intrinsic
6391 @cindex intrinsics, IMax1
6393 This intrinsic is not yet implemented.
6394 The name is, however, reserved as an intrinsic.
6395 Use @samp{EXTERNAL IMax1} to use this name for an
6398 @node IMin0 Intrinsic
6399 @subsubsection IMin0 Intrinsic
6400 @cindex IMin0 intrinsic
6401 @cindex intrinsics, IMin0
6403 This intrinsic is not yet implemented.
6404 The name is, however, reserved as an intrinsic.
6405 Use @samp{EXTERNAL IMin0} to use this name for an
6408 @node IMin1 Intrinsic
6409 @subsubsection IMin1 Intrinsic
6410 @cindex IMin1 intrinsic
6411 @cindex intrinsics, IMin1
6413 This intrinsic is not yet implemented.
6414 The name is, however, reserved as an intrinsic.
6415 Use @samp{EXTERNAL IMin1} to use this name for an
6418 @node IMod Intrinsic
6419 @subsubsection IMod Intrinsic
6420 @cindex IMod intrinsic
6421 @cindex intrinsics, IMod
6423 This intrinsic is not yet implemented.
6424 The name is, however, reserved as an intrinsic.
6425 Use @samp{EXTERNAL IMod} to use this name for an
6430 @node Index Intrinsic
6431 @subsubsection Index Intrinsic
6432 @cindex Index intrinsic
6433 @cindex intrinsics, Index
6437 Index(@var{String}, @var{Substring})
6441 Index: @code{INTEGER(KIND=1)} function.
6444 @var{String}: @code{CHARACTER}; scalar; INTENT(IN).
6447 @var{Substring}: @code{CHARACTER}; scalar; INTENT(IN).
6450 Intrinsic groups: (standard FORTRAN 77).
6455 Returns the position of the start of the first occurrence of string
6456 @var{Substring} as a substring in @var{String}, counting from one.
6457 If @var{Substring} doesn't occur in @var{String}, zero is returned.
6461 @node INInt Intrinsic
6462 @subsubsection INInt Intrinsic
6463 @cindex INInt intrinsic
6464 @cindex intrinsics, INInt
6466 This intrinsic is not yet implemented.
6467 The name is, however, reserved as an intrinsic.
6468 Use @samp{EXTERNAL INInt} to use this name for an
6471 @node INot Intrinsic
6472 @subsubsection INot Intrinsic
6473 @cindex INot intrinsic
6474 @cindex intrinsics, INot
6476 This intrinsic is not yet implemented.
6477 The name is, however, reserved as an intrinsic.
6478 Use @samp{EXTERNAL INot} to use this name for an
6484 @subsubsection Int Intrinsic
6485 @cindex Int intrinsic
6486 @cindex intrinsics, Int
6494 Int: @code{INTEGER(KIND=1)} function.
6497 @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
6500 Intrinsic groups: (standard FORTRAN 77).
6505 Returns @var{A} with the fractional portion of its
6506 magnitude truncated and its sign preserved, converted
6507 to type @code{INTEGER(KIND=1)}.
6509 If @var{A} is type @code{COMPLEX}, its real part is
6510 truncated and converted, and its imaginary part is disregarded.
6512 @xref{NInt Intrinsic}, for how to convert, rounded to nearest
6515 @xref{AInt Intrinsic}, for how to truncate to whole number
6520 @node Int2 Intrinsic
6521 @subsubsection Int2 Intrinsic
6522 @cindex Int2 intrinsic
6523 @cindex intrinsics, Int2
6531 Int2: @code{INTEGER(KIND=6)} function.
6534 @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
6537 Intrinsic groups: @code{gnu}.
6542 Returns @var{A} with the fractional portion of its
6543 magnitude truncated and its sign preserved, converted
6544 to type @code{INTEGER(KIND=6)}.
6546 If @var{A} is type @code{COMPLEX}, its real part
6547 is truncated and converted, and its imaginary part is disregarded.
6549 @xref{Int Intrinsic}.
6551 The precise meaning of this intrinsic might change
6552 in a future version of the GNU Fortran language,
6553 as more is learned about how it is used.
6555 @node Int8 Intrinsic
6556 @subsubsection Int8 Intrinsic
6557 @cindex Int8 intrinsic
6558 @cindex intrinsics, Int8
6566 Int8: @code{INTEGER(KIND=2)} function.
6569 @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
6572 Intrinsic groups: @code{gnu}.
6577 Returns @var{A} with the fractional portion of its
6578 magnitude truncated and its sign preserved, converted
6579 to type @code{INTEGER(KIND=2)}.
6581 If @var{A} is type @code{COMPLEX}, its real part
6582 is truncated and converted, and its imaginary part is disregarded.
6584 @xref{Int Intrinsic}.
6586 The precise meaning of this intrinsic might change
6587 in a future version of the GNU Fortran language,
6588 as more is learned about how it is used.
6593 @subsubsection IOr Intrinsic
6594 @cindex IOr intrinsic
6595 @cindex intrinsics, IOr
6599 IOr(@var{I}, @var{J})
6603 IOr: @code{INTEGER} function, the exact type being the result of cross-promoting the
6604 types of all the arguments.
6607 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
6610 @var{J}: @code{INTEGER}; scalar; INTENT(IN).
6613 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
6618 Returns value resulting from boolean OR of
6619 pair of bits in each of @var{I} and @var{J}.
6623 @node IRand Intrinsic
6624 @subsubsection IRand Intrinsic
6625 @cindex IRand intrinsic
6626 @cindex intrinsics, IRand
6634 IRand: @code{INTEGER(KIND=1)} function.
6637 @var{Flag}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN).
6640 Intrinsic groups: @code{unix}.
6645 Returns a uniform quasi-random number up to a system-dependent limit.
6646 If @var{Flag} is 0, the next number in sequence is returned; if
6647 @var{Flag} is 1, the generator is restarted by calling the UNIX function
6648 @samp{srand(0)}; if @var{Flag} has any other value,
6649 it is used as a new seed with @code{srand()}.
6651 @xref{SRand Intrinsic}.
6653 @emph{Note:} As typically implemented (by the routine of the same
6654 name in the C library), this random number generator is a very poor
6655 one, though the BSD and GNU libraries provide a much better
6656 implementation than the `traditional' one.
6657 On a different system you almost certainly want to use something better.
6659 @node IsaTty Intrinsic
6660 @subsubsection IsaTty Intrinsic
6661 @cindex IsaTty intrinsic
6662 @cindex intrinsics, IsaTty
6670 IsaTty: @code{LOGICAL(KIND=1)} function.
6673 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
6676 Intrinsic groups: @code{unix}.
6681 Returns @code{.TRUE.} if and only if the Fortran I/O unit
6682 specified by @var{Unit} is connected
6683 to a terminal device.
6684 See @code{isatty(3)}.
6688 @node IShft Intrinsic
6689 @subsubsection IShft Intrinsic
6690 @cindex IShft intrinsic
6691 @cindex intrinsics, IShft
6695 IShft(@var{I}, @var{Shift})
6699 IShft: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
6702 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
6705 @var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
6708 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
6713 All bits representing @var{I} are shifted @var{Shift} places.
6714 @samp{@var{Shift}.GT.0} indicates a left shift, @samp{@var{Shift}.EQ.0}
6715 indicates no shift and @samp{@var{Shift}.LT.0} indicates a right shift.
6716 If the absolute value of the shift count is greater than
6717 @samp{BIT_SIZE(@var{I})}, the result is undefined.
6718 Bits shifted out from the left end or the right end are lost.
6719 Zeros are shifted in from the opposite end.
6721 @xref{IShftC Intrinsic}, for the circular-shift equivalent.
6723 @node IShftC Intrinsic
6724 @subsubsection IShftC Intrinsic
6725 @cindex IShftC intrinsic
6726 @cindex intrinsics, IShftC
6730 IShftC(@var{I}, @var{Shift}, @var{Size})
6734 IShftC: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
6737 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
6740 @var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
6743 @var{Size}: @code{INTEGER}; scalar; INTENT(IN).
6746 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
6751 The rightmost @var{Size} bits of the argument @var{I}
6752 are shifted circularly @var{Shift}
6753 places, i.e.@: the bits shifted out of one end are shifted into
6756 The unshifted bits of the result are the same as
6757 the unshifted bits of @var{I}.
6758 The absolute value of the argument @var{Shift}
6759 must be less than or equal to @var{Size}.
6760 The value of @var{Size} must be greater than or equal to one and less than
6761 or equal to @samp{BIT_SIZE(@var{I})}.
6763 @xref{IShft Intrinsic}, for the logical shift equivalent.
6767 @node ISign Intrinsic
6768 @subsubsection ISign Intrinsic
6769 @cindex ISign intrinsic
6770 @cindex intrinsics, ISign
6774 ISign(@var{A}, @var{B})
6778 ISign: @code{INTEGER(KIND=1)} function.
6781 @var{A}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
6784 @var{B}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
6787 Intrinsic groups: (standard FORTRAN 77).
6792 Archaic form of @code{SIGN()} that is specific
6793 to one type for @var{A} and @var{B}.
6794 @xref{Sign Intrinsic}.
6798 @node ITime Intrinsic
6799 @subsubsection ITime Intrinsic
6800 @cindex ITime intrinsic
6801 @cindex intrinsics, ITime
6805 CALL ITime(@var{TArray})
6809 @var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(3); INTENT(OUT).
6812 Intrinsic groups: @code{unix}.
6817 Returns the current local time hour, minutes, and seconds in elements
6818 1, 2, and 3 of @var{TArray}, respectively.
6822 @node IZExt Intrinsic
6823 @subsubsection IZExt Intrinsic
6824 @cindex IZExt intrinsic
6825 @cindex intrinsics, IZExt
6827 This intrinsic is not yet implemented.
6828 The name is, however, reserved as an intrinsic.
6829 Use @samp{EXTERNAL IZExt} to use this name for an
6832 @node JIAbs Intrinsic
6833 @subsubsection JIAbs Intrinsic
6834 @cindex JIAbs intrinsic
6835 @cindex intrinsics, JIAbs
6837 This intrinsic is not yet implemented.
6838 The name is, however, reserved as an intrinsic.
6839 Use @samp{EXTERNAL JIAbs} to use this name for an
6842 @node JIAnd Intrinsic
6843 @subsubsection JIAnd Intrinsic
6844 @cindex JIAnd intrinsic
6845 @cindex intrinsics, JIAnd
6847 This intrinsic is not yet implemented.
6848 The name is, however, reserved as an intrinsic.
6849 Use @samp{EXTERNAL JIAnd} to use this name for an
6852 @node JIBClr Intrinsic
6853 @subsubsection JIBClr Intrinsic
6854 @cindex JIBClr intrinsic
6855 @cindex intrinsics, JIBClr
6857 This intrinsic is not yet implemented.
6858 The name is, however, reserved as an intrinsic.
6859 Use @samp{EXTERNAL JIBClr} to use this name for an
6862 @node JIBits Intrinsic
6863 @subsubsection JIBits Intrinsic
6864 @cindex JIBits intrinsic
6865 @cindex intrinsics, JIBits
6867 This intrinsic is not yet implemented.
6868 The name is, however, reserved as an intrinsic.
6869 Use @samp{EXTERNAL JIBits} to use this name for an
6872 @node JIBSet Intrinsic
6873 @subsubsection JIBSet Intrinsic
6874 @cindex JIBSet intrinsic
6875 @cindex intrinsics, JIBSet
6877 This intrinsic is not yet implemented.
6878 The name is, however, reserved as an intrinsic.
6879 Use @samp{EXTERNAL JIBSet} to use this name for an
6882 @node JIDiM Intrinsic
6883 @subsubsection JIDiM Intrinsic
6884 @cindex JIDiM intrinsic
6885 @cindex intrinsics, JIDiM
6887 This intrinsic is not yet implemented.
6888 The name is, however, reserved as an intrinsic.
6889 Use @samp{EXTERNAL JIDiM} to use this name for an
6892 @node JIDInt Intrinsic
6893 @subsubsection JIDInt Intrinsic
6894 @cindex JIDInt intrinsic
6895 @cindex intrinsics, JIDInt
6897 This intrinsic is not yet implemented.
6898 The name is, however, reserved as an intrinsic.
6899 Use @samp{EXTERNAL JIDInt} to use this name for an
6902 @node JIDNnt Intrinsic
6903 @subsubsection JIDNnt Intrinsic
6904 @cindex JIDNnt intrinsic
6905 @cindex intrinsics, JIDNnt
6907 This intrinsic is not yet implemented.
6908 The name is, however, reserved as an intrinsic.
6909 Use @samp{EXTERNAL JIDNnt} to use this name for an
6912 @node JIEOr Intrinsic
6913 @subsubsection JIEOr Intrinsic
6914 @cindex JIEOr intrinsic
6915 @cindex intrinsics, JIEOr
6917 This intrinsic is not yet implemented.
6918 The name is, however, reserved as an intrinsic.
6919 Use @samp{EXTERNAL JIEOr} to use this name for an
6922 @node JIFix Intrinsic
6923 @subsubsection JIFix Intrinsic
6924 @cindex JIFix intrinsic
6925 @cindex intrinsics, JIFix
6927 This intrinsic is not yet implemented.
6928 The name is, however, reserved as an intrinsic.
6929 Use @samp{EXTERNAL JIFix} to use this name for an
6932 @node JInt Intrinsic
6933 @subsubsection JInt Intrinsic
6934 @cindex JInt intrinsic
6935 @cindex intrinsics, JInt
6937 This intrinsic is not yet implemented.
6938 The name is, however, reserved as an intrinsic.
6939 Use @samp{EXTERNAL JInt} to use this name for an
6942 @node JIOr Intrinsic
6943 @subsubsection JIOr Intrinsic
6944 @cindex JIOr intrinsic
6945 @cindex intrinsics, JIOr
6947 This intrinsic is not yet implemented.
6948 The name is, however, reserved as an intrinsic.
6949 Use @samp{EXTERNAL JIOr} to use this name for an
6952 @node JIQint Intrinsic
6953 @subsubsection JIQint Intrinsic
6954 @cindex JIQint intrinsic
6955 @cindex intrinsics, JIQint
6957 This intrinsic is not yet implemented.
6958 The name is, however, reserved as an intrinsic.
6959 Use @samp{EXTERNAL JIQint} to use this name for an
6962 @node JIQNnt Intrinsic
6963 @subsubsection JIQNnt Intrinsic
6964 @cindex JIQNnt intrinsic
6965 @cindex intrinsics, JIQNnt
6967 This intrinsic is not yet implemented.
6968 The name is, however, reserved as an intrinsic.
6969 Use @samp{EXTERNAL JIQNnt} to use this name for an
6972 @node JIShft Intrinsic
6973 @subsubsection JIShft Intrinsic
6974 @cindex JIShft intrinsic
6975 @cindex intrinsics, JIShft
6977 This intrinsic is not yet implemented.
6978 The name is, however, reserved as an intrinsic.
6979 Use @samp{EXTERNAL JIShft} to use this name for an
6982 @node JIShftC Intrinsic
6983 @subsubsection JIShftC Intrinsic
6984 @cindex JIShftC intrinsic
6985 @cindex intrinsics, JIShftC
6987 This intrinsic is not yet implemented.
6988 The name is, however, reserved as an intrinsic.
6989 Use @samp{EXTERNAL JIShftC} to use this name for an
6992 @node JISign Intrinsic
6993 @subsubsection JISign Intrinsic
6994 @cindex JISign intrinsic
6995 @cindex intrinsics, JISign
6997 This intrinsic is not yet implemented.
6998 The name is, however, reserved as an intrinsic.
6999 Use @samp{EXTERNAL JISign} to use this name for an
7002 @node JMax0 Intrinsic
7003 @subsubsection JMax0 Intrinsic
7004 @cindex JMax0 intrinsic
7005 @cindex intrinsics, JMax0
7007 This intrinsic is not yet implemented.
7008 The name is, however, reserved as an intrinsic.
7009 Use @samp{EXTERNAL JMax0} to use this name for an
7012 @node JMax1 Intrinsic
7013 @subsubsection JMax1 Intrinsic
7014 @cindex JMax1 intrinsic
7015 @cindex intrinsics, JMax1
7017 This intrinsic is not yet implemented.
7018 The name is, however, reserved as an intrinsic.
7019 Use @samp{EXTERNAL JMax1} to use this name for an
7022 @node JMin0 Intrinsic
7023 @subsubsection JMin0 Intrinsic
7024 @cindex JMin0 intrinsic
7025 @cindex intrinsics, JMin0
7027 This intrinsic is not yet implemented.
7028 The name is, however, reserved as an intrinsic.
7029 Use @samp{EXTERNAL JMin0} to use this name for an
7032 @node JMin1 Intrinsic
7033 @subsubsection JMin1 Intrinsic
7034 @cindex JMin1 intrinsic
7035 @cindex intrinsics, JMin1
7037 This intrinsic is not yet implemented.
7038 The name is, however, reserved as an intrinsic.
7039 Use @samp{EXTERNAL JMin1} to use this name for an
7042 @node JMod Intrinsic
7043 @subsubsection JMod Intrinsic
7044 @cindex JMod intrinsic
7045 @cindex intrinsics, JMod
7047 This intrinsic is not yet implemented.
7048 The name is, however, reserved as an intrinsic.
7049 Use @samp{EXTERNAL JMod} to use this name for an
7052 @node JNInt Intrinsic
7053 @subsubsection JNInt Intrinsic
7054 @cindex JNInt intrinsic
7055 @cindex intrinsics, JNInt
7057 This intrinsic is not yet implemented.
7058 The name is, however, reserved as an intrinsic.
7059 Use @samp{EXTERNAL JNInt} to use this name for an
7062 @node JNot Intrinsic
7063 @subsubsection JNot Intrinsic
7064 @cindex JNot intrinsic
7065 @cindex intrinsics, JNot
7067 This intrinsic is not yet implemented.
7068 The name is, however, reserved as an intrinsic.
7069 Use @samp{EXTERNAL JNot} to use this name for an
7072 @node JZExt Intrinsic
7073 @subsubsection JZExt Intrinsic
7074 @cindex JZExt intrinsic
7075 @cindex intrinsics, JZExt
7077 This intrinsic is not yet implemented.
7078 The name is, however, reserved as an intrinsic.
7079 Use @samp{EXTERNAL JZExt} to use this name for an
7084 @node Kill Intrinsic (subroutine)
7085 @subsubsection Kill Intrinsic (subroutine)
7086 @cindex Kill intrinsic
7087 @cindex intrinsics, Kill
7091 CALL Kill(@var{Pid}, @var{Signal}, @var{Status})
7095 @var{Pid}: @code{INTEGER}; scalar; INTENT(IN).
7098 @var{Signal}: @code{INTEGER}; scalar; INTENT(IN).
7101 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
7104 Intrinsic groups: @code{unix}.
7109 Sends the signal specified by @var{Signal} to the process @var{Pid}.
7110 If the @var{Status} argument is supplied, it contains
7111 0 on success or a nonzero error code upon return.
7114 Some non-GNU implementations of Fortran provide this intrinsic as
7115 only a function, not as a subroutine, or do not support the
7116 (optional) @var{Status} argument.
7118 For information on other intrinsics with the same name:
7119 @xref{Kill Intrinsic (function)}.
7123 @node Kill Intrinsic (function)
7124 @subsubsection Kill Intrinsic (function)
7125 @cindex Kill intrinsic
7126 @cindex intrinsics, Kill
7130 Kill(@var{Pid}, @var{Signal})
7134 Kill: @code{INTEGER(KIND=1)} function.
7137 @var{Pid}: @code{INTEGER}; scalar; INTENT(IN).
7140 @var{Signal}: @code{INTEGER}; scalar; INTENT(IN).
7143 Intrinsic groups: @code{badu77}.
7148 Sends the signal specified by @var{Signal} to the process @var{Pid}.
7149 Returns 0 on success or a nonzero error code.
7152 Due to the side effects performed by this intrinsic, the function
7153 form is not recommended.
7155 For information on other intrinsics with the same name:
7156 @xref{Kill Intrinsic (subroutine)}.
7160 @node Kind Intrinsic
7161 @subsubsection Kind Intrinsic
7162 @cindex Kind intrinsic
7163 @cindex intrinsics, Kind
7165 This intrinsic is not yet implemented.
7166 The name is, however, reserved as an intrinsic.
7167 Use @samp{EXTERNAL Kind} to use this name for an
7170 @node LBound Intrinsic
7171 @subsubsection LBound Intrinsic
7172 @cindex LBound intrinsic
7173 @cindex intrinsics, LBound
7175 This intrinsic is not yet implemented.
7176 The name is, however, reserved as an intrinsic.
7177 Use @samp{EXTERNAL LBound} to use this name for an
7183 @subsubsection Len Intrinsic
7184 @cindex Len intrinsic
7185 @cindex intrinsics, Len
7193 Len: @code{INTEGER(KIND=1)} function.
7196 @var{String}: @code{CHARACTER}; scalar.
7199 Intrinsic groups: (standard FORTRAN 77).
7204 Returns the length of @var{String}.
7206 If @var{String} is an array, the length of an element
7207 of @var{String} is returned.
7209 Note that @var{String} need not be defined when this
7210 intrinsic is invoked, since only the length, not
7211 the content, of @var{String} is needed.
7213 @xref{Bit_Size Intrinsic}, for the function that determines
7214 the size of its argument in bits.
7218 @node Len_Trim Intrinsic
7219 @subsubsection Len_Trim Intrinsic
7220 @cindex Len_Trim intrinsic
7221 @cindex intrinsics, Len_Trim
7225 Len_Trim(@var{String})
7229 Len_Trim: @code{INTEGER(KIND=1)} function.
7232 @var{String}: @code{CHARACTER}; scalar; INTENT(IN).
7235 Intrinsic groups: @code{f90}.
7240 Returns the index of the last non-blank character in @var{String}.
7241 @code{LNBLNK} and @code{LEN_TRIM} are equivalent.
7246 @subsubsection LGe Intrinsic
7247 @cindex LGe intrinsic
7248 @cindex intrinsics, LGe
7252 LGe(@var{String_A}, @var{String_B})
7256 LGe: @code{LOGICAL(KIND=1)} function.
7259 @var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
7262 @var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
7265 Intrinsic groups: (standard FORTRAN 77).
7270 Returns @samp{.TRUE.} if @samp{@var{String_A}.GE.@var{String_B}},
7271 @samp{.FALSE.} otherwise.
7272 @var{String_A} and @var{String_B} are interpreted as containing
7273 ASCII character codes.
7274 If either value contains a character not in the ASCII
7275 character set, the result is processor dependent.
7277 If the @var{String_A} and @var{String_B} are not the same length,
7278 the shorter is compared as if spaces were appended to
7279 it to form a value that has the same length as the longer.
7281 The lexical comparison intrinsics @code{LGe}, @code{LGt},
7282 @code{LLe}, and @code{LLt} differ from the corresponding
7283 intrinsic operators @code{.GE.}, @code{.GT.},
7284 @code{.LE.}, @code{.LT.}.
7285 Because the ASCII collating sequence is assumed,
7286 the following expressions always return @samp{.TRUE.}:
7294 The following related expressions do @emph{not} always
7295 return @samp{.TRUE.}, as they are not necessarily evaluated
7296 assuming the arguments use ASCII encoding:
7304 The same difference exists
7305 between @code{LGt} and @code{.GT.};
7306 between @code{LLe} and @code{.LE.}; and
7307 between @code{LLt} and @code{.LT.}.
7310 @subsubsection LGt Intrinsic
7311 @cindex LGt intrinsic
7312 @cindex intrinsics, LGt
7316 LGt(@var{String_A}, @var{String_B})
7320 LGt: @code{LOGICAL(KIND=1)} function.
7323 @var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
7326 @var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
7329 Intrinsic groups: (standard FORTRAN 77).
7334 Returns @samp{.TRUE.} if @samp{@var{String_A}.GT.@var{String_B}},
7335 @samp{.FALSE.} otherwise.
7336 @var{String_A} and @var{String_B} are interpreted as containing
7337 ASCII character codes.
7338 If either value contains a character not in the ASCII
7339 character set, the result is processor dependent.
7341 If the @var{String_A} and @var{String_B} are not the same length,
7342 the shorter is compared as if spaces were appended to
7343 it to form a value that has the same length as the longer.
7345 @xref{LGe Intrinsic}, for information on the distinction
7346 between the @code{LGT} intrinsic and the @code{.GT.}
7351 @node Link Intrinsic (subroutine)
7352 @subsubsection Link Intrinsic (subroutine)
7353 @cindex Link intrinsic
7354 @cindex intrinsics, Link
7358 CALL Link(@var{Path1}, @var{Path2}, @var{Status})
7362 @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
7365 @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
7368 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
7371 Intrinsic groups: @code{unix}.
7376 Makes a (hard) link from file @var{Path1} to @var{Path2}.
7377 A null character (@samp{CHAR(0)}) marks the end of
7378 the names in @var{Path1} and @var{Path2}---otherwise,
7379 trailing blanks in @var{Path1} and @var{Path2} are ignored.
7380 If the @var{Status} argument is supplied, it contains
7381 0 on success or a nonzero error code upon return.
7384 Some non-GNU implementations of Fortran provide this intrinsic as
7385 only a function, not as a subroutine, or do not support the
7386 (optional) @var{Status} argument.
7388 For information on other intrinsics with the same name:
7389 @xref{Link Intrinsic (function)}.
7393 @node Link Intrinsic (function)
7394 @subsubsection Link Intrinsic (function)
7395 @cindex Link intrinsic
7396 @cindex intrinsics, Link
7400 Link(@var{Path1}, @var{Path2})
7404 Link: @code{INTEGER(KIND=1)} function.
7407 @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
7410 @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
7413 Intrinsic groups: @code{badu77}.
7418 Makes a (hard) link from file @var{Path1} to @var{Path2}.
7419 A null character (@samp{CHAR(0)}) marks the end of
7420 the names in @var{Path1} and @var{Path2}---otherwise,
7421 trailing blanks in @var{Path1} and @var{Path2} are ignored.
7422 Returns 0 on success or a nonzero error code.
7425 Due to the side effects performed by this intrinsic, the function
7426 form is not recommended.
7428 For information on other intrinsics with the same name:
7429 @xref{Link Intrinsic (subroutine)}.
7434 @subsubsection LLe Intrinsic
7435 @cindex LLe intrinsic
7436 @cindex intrinsics, LLe
7440 LLe(@var{String_A}, @var{String_B})
7444 LLe: @code{LOGICAL(KIND=1)} function.
7447 @var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
7450 @var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
7453 Intrinsic groups: (standard FORTRAN 77).
7458 Returns @samp{.TRUE.} if @samp{@var{String_A}.LE.@var{String_B}},
7459 @samp{.FALSE.} otherwise.
7460 @var{String_A} and @var{String_B} are interpreted as containing
7461 ASCII character codes.
7462 If either value contains a character not in the ASCII
7463 character set, the result is processor dependent.
7465 If the @var{String_A} and @var{String_B} are not the same length,
7466 the shorter is compared as if spaces were appended to
7467 it to form a value that has the same length as the longer.
7469 @xref{LGe Intrinsic}, for information on the distinction
7470 between the @code{LLE} intrinsic and the @code{.LE.}
7474 @subsubsection LLt Intrinsic
7475 @cindex LLt intrinsic
7476 @cindex intrinsics, LLt
7480 LLt(@var{String_A}, @var{String_B})
7484 LLt: @code{LOGICAL(KIND=1)} function.
7487 @var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
7490 @var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
7493 Intrinsic groups: (standard FORTRAN 77).
7498 Returns @samp{.TRUE.} if @samp{@var{String_A}.LT.@var{String_B}},
7499 @samp{.FALSE.} otherwise.
7500 @var{String_A} and @var{String_B} are interpreted as containing
7501 ASCII character codes.
7502 If either value contains a character not in the ASCII
7503 character set, the result is processor dependent.
7505 If the @var{String_A} and @var{String_B} are not the same length,
7506 the shorter is compared as if spaces were appended to
7507 it to form a value that has the same length as the longer.
7509 @xref{LGe Intrinsic}, for information on the distinction
7510 between the @code{LLT} intrinsic and the @code{.LT.}
7515 @node LnBlnk Intrinsic
7516 @subsubsection LnBlnk Intrinsic
7517 @cindex LnBlnk intrinsic
7518 @cindex intrinsics, LnBlnk
7522 LnBlnk(@var{String})
7526 LnBlnk: @code{INTEGER(KIND=1)} function.
7529 @var{String}: @code{CHARACTER}; scalar; INTENT(IN).
7532 Intrinsic groups: @code{unix}.
7537 Returns the index of the last non-blank character in @var{String}.
7538 @code{LNBLNK} and @code{LEN_TRIM} are equivalent.
7541 @subsubsection Loc Intrinsic
7542 @cindex Loc intrinsic
7543 @cindex intrinsics, Loc
7551 Loc: @code{INTEGER(KIND=7)} function.
7554 @var{Entity}: Any type; cannot be a constant or expression.
7557 Intrinsic groups: @code{unix}.
7562 The @code{LOC()} intrinsic works the
7563 same way as the @code{%LOC()} construct.
7564 @xref{%LOC(),,The @code{%LOC()} Construct}, for
7570 @subsubsection Log Intrinsic
7571 @cindex Log intrinsic
7572 @cindex intrinsics, Log
7580 Log: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
7583 @var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
7586 Intrinsic groups: (standard FORTRAN 77).
7591 Returns the natural logarithm of @var{X}, which must
7592 be greater than zero or, if type @code{COMPLEX}, must not
7595 @xref{Exp Intrinsic}, for the inverse of this function.
7597 @xref{Log10 Intrinsic}, for the `common' (base-10) logarithm function.
7599 @node Log10 Intrinsic
7600 @subsubsection Log10 Intrinsic
7601 @cindex Log10 intrinsic
7602 @cindex intrinsics, Log10
7610 Log10: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
7613 @var{X}: @code{REAL}; scalar; INTENT(IN).
7616 Intrinsic groups: (standard FORTRAN 77).
7621 Returns the common logarithm (base 10) of @var{X}, which must
7622 be greater than zero.
7624 The inverse of this function is @samp{10. ** LOG10(@var{X})}.
7626 @xref{Log Intrinsic}, for the natural logarithm function.
7630 @node Logical Intrinsic
7631 @subsubsection Logical Intrinsic
7632 @cindex Logical intrinsic
7633 @cindex intrinsics, Logical
7635 This intrinsic is not yet implemented.
7636 The name is, however, reserved as an intrinsic.
7637 Use @samp{EXTERNAL Logical} to use this name for an
7642 @node Long Intrinsic
7643 @subsubsection Long Intrinsic
7644 @cindex Long intrinsic
7645 @cindex intrinsics, Long
7653 Long: @code{INTEGER(KIND=1)} function.
7656 @var{A}: @code{INTEGER(KIND=6)}; scalar; INTENT(IN).
7659 Intrinsic groups: @code{unix}.
7664 Archaic form of @code{INT()} that is specific
7665 to one type for @var{A}.
7666 @xref{Int Intrinsic}.
7668 The precise meaning of this intrinsic might change
7669 in a future version of the GNU Fortran language,
7670 as more is learned about how it is used.
7674 @node LShift Intrinsic
7675 @subsubsection LShift Intrinsic
7676 @cindex LShift intrinsic
7677 @cindex intrinsics, LShift
7681 LShift(@var{I}, @var{Shift})
7685 LShift: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
7688 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
7691 @var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
7694 Intrinsic groups: @code{f2c}.
7699 Returns @var{I} shifted to the left
7702 Although similar to the expression
7703 @samp{@var{I}*(2**@var{Shift})}, there
7704 are important differences.
7705 For example, the sign of the result is
7706 not necessarily the same as the sign of
7709 Currently this intrinsic is defined assuming
7710 the underlying representation of @var{I}
7711 is as a two's-complement integer.
7712 It is unclear at this point whether that
7713 definition will apply when a different
7714 representation is involved.
7716 @xref{LShift Intrinsic}, for the inverse of this function.
7718 @xref{IShft Intrinsic}, for information
7719 on a more widely available left-shifting
7720 intrinsic that is also more precisely defined.
7724 @node LStat Intrinsic (subroutine)
7725 @subsubsection LStat Intrinsic (subroutine)
7726 @cindex LStat intrinsic
7727 @cindex intrinsics, LStat
7731 CALL LStat(@var{File}, @var{SArray}, @var{Status})
7735 @var{File}: @code{CHARACTER}; scalar; INTENT(IN).
7738 @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
7741 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
7744 Intrinsic groups: @code{unix}.
7749 Obtains data about the given file @var{File} and places them in the array
7751 A null character (@samp{CHAR(0)}) marks the end of
7752 the name in @var{File}---otherwise,
7753 trailing blanks in @var{File} are ignored.
7754 If @var{File} is a symbolic link it returns data on the
7755 link itself, so the routine is available only on systems that support
7757 The values in this array are extracted from the
7758 @code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
7780 ID of device containing directory entry for file
7781 (0 if not available)
7790 Last modification time
7793 Last file status change time
7796 Preferred I/O block size (-1 if not available)
7799 Number of blocks allocated (-1 if not available)
7802 Not all these elements are relevant on all systems.
7803 If an element is not relevant, it is returned as 0.
7805 If the @var{Status} argument is supplied, it contains
7806 0 on success or a nonzero error code upon return
7807 (@code{ENOSYS} if the system does not provide @code{lstat(2)}).
7809 Some non-GNU implementations of Fortran provide this intrinsic as
7810 only a function, not as a subroutine, or do not support the
7811 (optional) @var{Status} argument.
7813 For information on other intrinsics with the same name:
7814 @xref{LStat Intrinsic (function)}.
7816 @node LStat Intrinsic (function)
7817 @subsubsection LStat Intrinsic (function)
7818 @cindex LStat intrinsic
7819 @cindex intrinsics, LStat
7823 LStat(@var{File}, @var{SArray})
7827 LStat: @code{INTEGER(KIND=1)} function.
7830 @var{File}: @code{CHARACTER}; scalar; INTENT(IN).
7833 @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
7836 Intrinsic groups: @code{unix}.
7841 Obtains data about the given file @var{File} and places them in the array
7843 A null character (@samp{CHAR(0)}) marks the end of
7844 the name in @var{File}---otherwise,
7845 trailing blanks in @var{File} are ignored.
7846 If @var{File} is a symbolic link it returns data on the
7847 link itself, so the routine is available only on systems that support
7849 The values in this array are extracted from the
7850 @code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
7872 ID of device containing directory entry for file
7873 (0 if not available)
7882 Last modification time
7885 Last file status change time
7888 Preferred I/O block size (-1 if not available)
7891 Number of blocks allocated (-1 if not available)
7894 Not all these elements are relevant on all systems.
7895 If an element is not relevant, it is returned as 0.
7897 Returns 0 on success or a nonzero error code
7898 (@code{ENOSYS} if the system does not provide @code{lstat(2)}).
7900 For information on other intrinsics with the same name:
7901 @xref{LStat Intrinsic (subroutine)}.
7903 @node LTime Intrinsic
7904 @subsubsection LTime Intrinsic
7905 @cindex LTime intrinsic
7906 @cindex intrinsics, LTime
7910 CALL LTime(@var{STime}, @var{TArray})
7914 @var{STime}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
7917 @var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(9); INTENT(OUT).
7920 Intrinsic groups: @code{unix}.
7925 Given a system time value @var{STime}, fills @var{TArray} with values
7926 extracted from it appropriate to the GMT time zone using
7927 @code{localtime(3)}.
7929 The array elements are as follows:
7933 Seconds after the minute, range 0--59 or 0--61 to allow for leap
7937 Minutes after the hour, range 0--59
7940 Hours past midnight, range 0--23
7943 Day of month, range 0--31
7946 Number of months since January, range 0--12
7952 Number of days since Sunday, range 0--6
7955 Days since January 1
7958 Daylight savings indicator: positive if daylight savings is in effect,
7959 zero if not, and negative if the information isn't available.
7964 @node MatMul Intrinsic
7965 @subsubsection MatMul Intrinsic
7966 @cindex MatMul intrinsic
7967 @cindex intrinsics, MatMul
7969 This intrinsic is not yet implemented.
7970 The name is, however, reserved as an intrinsic.
7971 Use @samp{EXTERNAL MatMul} to use this name for an
7977 @subsubsection Max Intrinsic
7978 @cindex Max intrinsic
7979 @cindex intrinsics, Max
7983 Max(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
7987 Max: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
7988 types of all the arguments.
7991 @var{A}: @code{INTEGER} or @code{REAL}; at least two such arguments must be provided; scalar; INTENT(IN).
7994 Intrinsic groups: (standard FORTRAN 77).
7999 Returns the argument with the largest value.
8001 @xref{Min Intrinsic}, for the opposite function.
8003 @node Max0 Intrinsic
8004 @subsubsection Max0 Intrinsic
8005 @cindex Max0 intrinsic
8006 @cindex intrinsics, Max0
8010 Max0(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
8014 Max0: @code{INTEGER(KIND=1)} function.
8017 @var{A}: @code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
8020 Intrinsic groups: (standard FORTRAN 77).
8025 Archaic form of @code{MAX()} that is specific
8026 to one type for @var{A}.
8027 @xref{Max Intrinsic}.
8029 @node Max1 Intrinsic
8030 @subsubsection Max1 Intrinsic
8031 @cindex Max1 intrinsic
8032 @cindex intrinsics, Max1
8036 Max1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
8040 Max1: @code{INTEGER(KIND=1)} function.
8043 @var{A}: @code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
8046 Intrinsic groups: (standard FORTRAN 77).
8051 Archaic form of @code{MAX()} that is specific
8052 to one type for @var{A} and a different return type.
8053 @xref{Max Intrinsic}.
8057 @node MaxExponent Intrinsic
8058 @subsubsection MaxExponent Intrinsic
8059 @cindex MaxExponent intrinsic
8060 @cindex intrinsics, MaxExponent
8062 This intrinsic is not yet implemented.
8063 The name is, however, reserved as an intrinsic.
8064 Use @samp{EXTERNAL MaxExponent} to use this name for an
8067 @node MaxLoc Intrinsic
8068 @subsubsection MaxLoc Intrinsic
8069 @cindex MaxLoc intrinsic
8070 @cindex intrinsics, MaxLoc
8072 This intrinsic is not yet implemented.
8073 The name is, however, reserved as an intrinsic.
8074 Use @samp{EXTERNAL MaxLoc} to use this name for an
8077 @node MaxVal Intrinsic
8078 @subsubsection MaxVal Intrinsic
8079 @cindex MaxVal intrinsic
8080 @cindex intrinsics, MaxVal
8082 This intrinsic is not yet implemented.
8083 The name is, however, reserved as an intrinsic.
8084 Use @samp{EXTERNAL MaxVal} to use this name for an
8089 @node MClock Intrinsic
8090 @subsubsection MClock Intrinsic
8091 @cindex MClock intrinsic
8092 @cindex intrinsics, MClock
8100 MClock: @code{INTEGER(KIND=1)} function.
8103 Intrinsic groups: @code{unix}.
8108 Returns the number of clock ticks since the start of the process.
8109 Supported on systems with @code{clock(3)} (q.v.).
8111 @cindex wraparound, timings
8112 @cindex limits, timings
8113 This intrinsic is not fully portable, such as to systems
8114 with 32-bit @code{INTEGER} types but supporting times
8116 Therefore, the values returned by this intrinsic
8117 might be, or become, negative,
8118 or numerically less than previous values,
8119 during a single run of the compiled program.
8121 @xref{MClock8 Intrinsic}, for information on a
8122 similar intrinsic that might be portable to more
8123 GNU Fortran implementations, though to fewer
8126 If the system does not support @code{clock(3)},
8129 @node MClock8 Intrinsic
8130 @subsubsection MClock8 Intrinsic
8131 @cindex MClock8 intrinsic
8132 @cindex intrinsics, MClock8
8140 MClock8: @code{INTEGER(KIND=2)} function.
8143 Intrinsic groups: @code{unix}.
8148 Returns the number of clock ticks since the start of the process.
8149 Supported on systems with @code{clock(3)} (q.v.).
8151 @cindex wraparound, timings
8152 @cindex limits, timings
8153 @emph{Warning:} this intrinsic does not increase the range
8154 of the timing values over that returned by @code{clock(3)}.
8155 On a system with a 32-bit @code{clock(3)},
8156 @code{MCLOCK8} will return a 32-bit value,
8157 even though converted to an @samp{INTEGER(KIND=2)} value.
8158 That means overflows of the 32-bit value can still occur.
8159 Therefore, the values returned by this intrinsic
8160 might be, or become, negative,
8161 or numerically less than previous values,
8162 during a single run of the compiled program.
8164 No Fortran implementations other than GNU Fortran are
8165 known to support this intrinsic at the time of this
8167 @xref{MClock Intrinsic}, for information on a
8168 similar intrinsic that might be portable to more Fortran
8169 compilers, though to fewer GNU Fortran implementations.
8171 If the system does not support @code{clock(3)},
8176 @node Merge Intrinsic
8177 @subsubsection Merge Intrinsic
8178 @cindex Merge intrinsic
8179 @cindex intrinsics, Merge
8181 This intrinsic is not yet implemented.
8182 The name is, however, reserved as an intrinsic.
8183 Use @samp{EXTERNAL Merge} to use this name for an
8189 @subsubsection Min Intrinsic
8190 @cindex Min intrinsic
8191 @cindex intrinsics, Min
8195 Min(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
8199 Min: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
8200 types of all the arguments.
8203 @var{A}: @code{INTEGER} or @code{REAL}; at least two such arguments must be provided; scalar; INTENT(IN).
8206 Intrinsic groups: (standard FORTRAN 77).
8211 Returns the argument with the smallest value.
8213 @xref{Max Intrinsic}, for the opposite function.
8215 @node Min0 Intrinsic
8216 @subsubsection Min0 Intrinsic
8217 @cindex Min0 intrinsic
8218 @cindex intrinsics, Min0
8222 Min0(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
8226 Min0: @code{INTEGER(KIND=1)} function.
8229 @var{A}: @code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
8232 Intrinsic groups: (standard FORTRAN 77).
8237 Archaic form of @code{MIN()} that is specific
8238 to one type for @var{A}.
8239 @xref{Min Intrinsic}.
8241 @node Min1 Intrinsic
8242 @subsubsection Min1 Intrinsic
8243 @cindex Min1 intrinsic
8244 @cindex intrinsics, Min1
8248 Min1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
8252 Min1: @code{INTEGER(KIND=1)} function.
8255 @var{A}: @code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
8258 Intrinsic groups: (standard FORTRAN 77).
8263 Archaic form of @code{MIN()} that is specific
8264 to one type for @var{A} and a different return type.
8265 @xref{Min Intrinsic}.
8269 @node MinExponent Intrinsic
8270 @subsubsection MinExponent Intrinsic
8271 @cindex MinExponent intrinsic
8272 @cindex intrinsics, MinExponent
8274 This intrinsic is not yet implemented.
8275 The name is, however, reserved as an intrinsic.
8276 Use @samp{EXTERNAL MinExponent} to use this name for an
8279 @node MinLoc Intrinsic
8280 @subsubsection MinLoc Intrinsic
8281 @cindex MinLoc intrinsic
8282 @cindex intrinsics, MinLoc
8284 This intrinsic is not yet implemented.
8285 The name is, however, reserved as an intrinsic.
8286 Use @samp{EXTERNAL MinLoc} to use this name for an
8289 @node MinVal Intrinsic
8290 @subsubsection MinVal Intrinsic
8291 @cindex MinVal intrinsic
8292 @cindex intrinsics, MinVal
8294 This intrinsic is not yet implemented.
8295 The name is, however, reserved as an intrinsic.
8296 Use @samp{EXTERNAL MinVal} to use this name for an
8302 @subsubsection Mod Intrinsic
8303 @cindex Mod intrinsic
8304 @cindex intrinsics, Mod
8308 Mod(@var{A}, @var{P})
8312 Mod: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
8313 types of all the arguments.
8316 @var{A}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
8319 @var{P}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
8322 Intrinsic groups: (standard FORTRAN 77).
8327 Returns remainder calculated as:
8330 @var{A} - (INT(@var{A} / @var{P}) * @var{P})
8333 @var{P} must not be zero.
8337 @node Modulo Intrinsic
8338 @subsubsection Modulo Intrinsic
8339 @cindex Modulo intrinsic
8340 @cindex intrinsics, Modulo
8342 This intrinsic is not yet implemented.
8343 The name is, however, reserved as an intrinsic.
8344 Use @samp{EXTERNAL Modulo} to use this name for an
8349 @node MvBits Intrinsic
8350 @subsubsection MvBits Intrinsic
8351 @cindex MvBits intrinsic
8352 @cindex intrinsics, MvBits
8356 CALL MvBits(@var{From}, @var{FromPos}, @var{Len}, @var{TO}, @var{ToPos})
8360 @var{From}: @code{INTEGER}; scalar; INTENT(IN).
8363 @var{FromPos}: @code{INTEGER}; scalar; INTENT(IN).
8366 @var{Len}: @code{INTEGER}; scalar; INTENT(IN).
8369 @var{TO}: @code{INTEGER} with same @samp{KIND=} value as for @var{From}; scalar; INTENT(INOUT).
8372 @var{ToPos}: @code{INTEGER}; scalar; INTENT(IN).
8375 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
8380 Moves @var{Len} bits from positions @var{FromPos} through
8381 @samp{@var{FromPos}+@var{Len}-1} of @var{From} to positions @var{ToPos} through
8382 @samp{@var{FromPos}+@var{Len}-1} of @var{TO}. The portion of argument
8383 @var{TO} not affected by the movement of bits is unchanged. Arguments
8384 @var{From} and @var{TO} are permitted to be the same numeric storage
8385 unit. The values of @samp{@var{FromPos}+@var{Len}} and
8386 @samp{@var{ToPos}+@var{Len}} must be less than or equal to
8387 @samp{BIT_SIZE(@var{From})}.
8391 @node Nearest Intrinsic
8392 @subsubsection Nearest Intrinsic
8393 @cindex Nearest intrinsic
8394 @cindex intrinsics, Nearest
8396 This intrinsic is not yet implemented.
8397 The name is, however, reserved as an intrinsic.
8398 Use @samp{EXTERNAL Nearest} to use this name for an
8403 @node NInt Intrinsic
8404 @subsubsection NInt Intrinsic
8405 @cindex NInt intrinsic
8406 @cindex intrinsics, NInt
8414 NInt: @code{INTEGER(KIND=1)} function.
8417 @var{A}: @code{REAL}; scalar; INTENT(IN).
8420 Intrinsic groups: (standard FORTRAN 77).
8425 Returns @var{A} with the fractional portion of its
8426 magnitude eliminated by rounding to the nearest whole
8427 number and with its sign preserved, converted
8428 to type @code{INTEGER(KIND=1)}.
8430 If @var{A} is type @code{COMPLEX}, its real part is
8431 rounded and converted.
8433 A fractional portion exactly equal to
8434 @samp{.5} is rounded to the whole number that
8435 is larger in magnitude.
8436 (Also called ``Fortran round''.)
8438 @xref{Int Intrinsic}, for how to convert, truncate to
8441 @xref{ANInt Intrinsic}, for how to round to nearest whole number
8447 @subsubsection Not Intrinsic
8448 @cindex Not intrinsic
8449 @cindex intrinsics, Not
8457 Not: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
8460 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
8463 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
8468 Returns value resulting from boolean NOT of each bit
8474 @subsubsection Or Intrinsic
8475 @cindex Or intrinsic
8476 @cindex intrinsics, Or
8480 Or(@var{I}, @var{J})
8484 Or: @code{INTEGER} or @code{LOGICAL} function, the exact type being the result of cross-promoting the
8485 types of all the arguments.
8488 @var{I}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
8491 @var{J}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
8494 Intrinsic groups: @code{f2c}.
8499 Returns value resulting from boolean OR of
8500 pair of bits in each of @var{I} and @var{J}.
8504 @node Pack Intrinsic
8505 @subsubsection Pack Intrinsic
8506 @cindex Pack intrinsic
8507 @cindex intrinsics, Pack
8509 This intrinsic is not yet implemented.
8510 The name is, however, reserved as an intrinsic.
8511 Use @samp{EXTERNAL Pack} to use this name for an
8516 @node PError Intrinsic
8517 @subsubsection PError Intrinsic
8518 @cindex PError intrinsic
8519 @cindex intrinsics, PError
8523 CALL PError(@var{String})
8527 @var{String}: @code{CHARACTER}; scalar; INTENT(IN).
8530 Intrinsic groups: @code{unix}.
8535 Prints (on the C @code{stderr} stream) a newline-terminated error
8536 message corresponding to the last system error.
8537 This is prefixed by @var{String}, a colon and a space.
8538 See @code{perror(3)}.
8542 @node Precision Intrinsic
8543 @subsubsection Precision Intrinsic
8544 @cindex Precision intrinsic
8545 @cindex intrinsics, Precision
8547 This intrinsic is not yet implemented.
8548 The name is, however, reserved as an intrinsic.
8549 Use @samp{EXTERNAL Precision} to use this name for an
8552 @node Present Intrinsic
8553 @subsubsection Present Intrinsic
8554 @cindex Present intrinsic
8555 @cindex intrinsics, Present
8557 This intrinsic is not yet implemented.
8558 The name is, however, reserved as an intrinsic.
8559 Use @samp{EXTERNAL Present} to use this name for an
8562 @node Product Intrinsic
8563 @subsubsection Product Intrinsic
8564 @cindex Product intrinsic
8565 @cindex intrinsics, Product
8567 This intrinsic is not yet implemented.
8568 The name is, however, reserved as an intrinsic.
8569 Use @samp{EXTERNAL Product} to use this name for an
8574 @node QAbs Intrinsic
8575 @subsubsection QAbs Intrinsic
8576 @cindex QAbs intrinsic
8577 @cindex intrinsics, QAbs
8579 This intrinsic is not yet implemented.
8580 The name is, however, reserved as an intrinsic.
8581 Use @samp{EXTERNAL QAbs} to use this name for an
8584 @node QACos Intrinsic
8585 @subsubsection QACos Intrinsic
8586 @cindex QACos intrinsic
8587 @cindex intrinsics, QACos
8589 This intrinsic is not yet implemented.
8590 The name is, however, reserved as an intrinsic.
8591 Use @samp{EXTERNAL QACos} to use this name for an
8594 @node QACosD Intrinsic
8595 @subsubsection QACosD Intrinsic
8596 @cindex QACosD intrinsic
8597 @cindex intrinsics, QACosD
8599 This intrinsic is not yet implemented.
8600 The name is, however, reserved as an intrinsic.
8601 Use @samp{EXTERNAL QACosD} to use this name for an
8604 @node QASin Intrinsic
8605 @subsubsection QASin Intrinsic
8606 @cindex QASin intrinsic
8607 @cindex intrinsics, QASin
8609 This intrinsic is not yet implemented.
8610 The name is, however, reserved as an intrinsic.
8611 Use @samp{EXTERNAL QASin} to use this name for an
8614 @node QASinD Intrinsic
8615 @subsubsection QASinD Intrinsic
8616 @cindex QASinD intrinsic
8617 @cindex intrinsics, QASinD
8619 This intrinsic is not yet implemented.
8620 The name is, however, reserved as an intrinsic.
8621 Use @samp{EXTERNAL QASinD} to use this name for an
8624 @node QATan Intrinsic
8625 @subsubsection QATan Intrinsic
8626 @cindex QATan intrinsic
8627 @cindex intrinsics, QATan
8629 This intrinsic is not yet implemented.
8630 The name is, however, reserved as an intrinsic.
8631 Use @samp{EXTERNAL QATan} to use this name for an
8634 @node QATan2 Intrinsic
8635 @subsubsection QATan2 Intrinsic
8636 @cindex QATan2 intrinsic
8637 @cindex intrinsics, QATan2
8639 This intrinsic is not yet implemented.
8640 The name is, however, reserved as an intrinsic.
8641 Use @samp{EXTERNAL QATan2} to use this name for an
8644 @node QATan2D Intrinsic
8645 @subsubsection QATan2D Intrinsic
8646 @cindex QATan2D intrinsic
8647 @cindex intrinsics, QATan2D
8649 This intrinsic is not yet implemented.
8650 The name is, however, reserved as an intrinsic.
8651 Use @samp{EXTERNAL QATan2D} to use this name for an
8654 @node QATanD Intrinsic
8655 @subsubsection QATanD Intrinsic
8656 @cindex QATanD intrinsic
8657 @cindex intrinsics, QATanD
8659 This intrinsic is not yet implemented.
8660 The name is, however, reserved as an intrinsic.
8661 Use @samp{EXTERNAL QATanD} to use this name for an
8664 @node QCos Intrinsic
8665 @subsubsection QCos Intrinsic
8666 @cindex QCos intrinsic
8667 @cindex intrinsics, QCos
8669 This intrinsic is not yet implemented.
8670 The name is, however, reserved as an intrinsic.
8671 Use @samp{EXTERNAL QCos} to use this name for an
8674 @node QCosD Intrinsic
8675 @subsubsection QCosD Intrinsic
8676 @cindex QCosD intrinsic
8677 @cindex intrinsics, QCosD
8679 This intrinsic is not yet implemented.
8680 The name is, however, reserved as an intrinsic.
8681 Use @samp{EXTERNAL QCosD} to use this name for an
8684 @node QCosH Intrinsic
8685 @subsubsection QCosH Intrinsic
8686 @cindex QCosH intrinsic
8687 @cindex intrinsics, QCosH
8689 This intrinsic is not yet implemented.
8690 The name is, however, reserved as an intrinsic.
8691 Use @samp{EXTERNAL QCosH} to use this name for an
8694 @node QDiM Intrinsic
8695 @subsubsection QDiM Intrinsic
8696 @cindex QDiM intrinsic
8697 @cindex intrinsics, QDiM
8699 This intrinsic is not yet implemented.
8700 The name is, however, reserved as an intrinsic.
8701 Use @samp{EXTERNAL QDiM} to use this name for an
8704 @node QExp Intrinsic
8705 @subsubsection QExp Intrinsic
8706 @cindex QExp intrinsic
8707 @cindex intrinsics, QExp
8709 This intrinsic is not yet implemented.
8710 The name is, however, reserved as an intrinsic.
8711 Use @samp{EXTERNAL QExp} to use this name for an
8714 @node QExt Intrinsic
8715 @subsubsection QExt Intrinsic
8716 @cindex QExt intrinsic
8717 @cindex intrinsics, QExt
8719 This intrinsic is not yet implemented.
8720 The name is, however, reserved as an intrinsic.
8721 Use @samp{EXTERNAL QExt} to use this name for an
8724 @node QExtD Intrinsic
8725 @subsubsection QExtD Intrinsic
8726 @cindex QExtD intrinsic
8727 @cindex intrinsics, QExtD
8729 This intrinsic is not yet implemented.
8730 The name is, however, reserved as an intrinsic.
8731 Use @samp{EXTERNAL QExtD} to use this name for an
8734 @node QFloat Intrinsic
8735 @subsubsection QFloat Intrinsic
8736 @cindex QFloat intrinsic
8737 @cindex intrinsics, QFloat
8739 This intrinsic is not yet implemented.
8740 The name is, however, reserved as an intrinsic.
8741 Use @samp{EXTERNAL QFloat} to use this name for an
8744 @node QInt Intrinsic
8745 @subsubsection QInt Intrinsic
8746 @cindex QInt intrinsic
8747 @cindex intrinsics, QInt
8749 This intrinsic is not yet implemented.
8750 The name is, however, reserved as an intrinsic.
8751 Use @samp{EXTERNAL QInt} to use this name for an
8754 @node QLog Intrinsic
8755 @subsubsection QLog Intrinsic
8756 @cindex QLog intrinsic
8757 @cindex intrinsics, QLog
8759 This intrinsic is not yet implemented.
8760 The name is, however, reserved as an intrinsic.
8761 Use @samp{EXTERNAL QLog} to use this name for an
8764 @node QLog10 Intrinsic
8765 @subsubsection QLog10 Intrinsic
8766 @cindex QLog10 intrinsic
8767 @cindex intrinsics, QLog10
8769 This intrinsic is not yet implemented.
8770 The name is, however, reserved as an intrinsic.
8771 Use @samp{EXTERNAL QLog10} to use this name for an
8774 @node QMax1 Intrinsic
8775 @subsubsection QMax1 Intrinsic
8776 @cindex QMax1 intrinsic
8777 @cindex intrinsics, QMax1
8779 This intrinsic is not yet implemented.
8780 The name is, however, reserved as an intrinsic.
8781 Use @samp{EXTERNAL QMax1} to use this name for an
8784 @node QMin1 Intrinsic
8785 @subsubsection QMin1 Intrinsic
8786 @cindex QMin1 intrinsic
8787 @cindex intrinsics, QMin1
8789 This intrinsic is not yet implemented.
8790 The name is, however, reserved as an intrinsic.
8791 Use @samp{EXTERNAL QMin1} to use this name for an
8794 @node QMod Intrinsic
8795 @subsubsection QMod Intrinsic
8796 @cindex QMod intrinsic
8797 @cindex intrinsics, QMod
8799 This intrinsic is not yet implemented.
8800 The name is, however, reserved as an intrinsic.
8801 Use @samp{EXTERNAL QMod} to use this name for an
8804 @node QNInt Intrinsic
8805 @subsubsection QNInt Intrinsic
8806 @cindex QNInt intrinsic
8807 @cindex intrinsics, QNInt
8809 This intrinsic is not yet implemented.
8810 The name is, however, reserved as an intrinsic.
8811 Use @samp{EXTERNAL QNInt} to use this name for an
8814 @node QSin Intrinsic
8815 @subsubsection QSin Intrinsic
8816 @cindex QSin intrinsic
8817 @cindex intrinsics, QSin
8819 This intrinsic is not yet implemented.
8820 The name is, however, reserved as an intrinsic.
8821 Use @samp{EXTERNAL QSin} to use this name for an
8824 @node QSinD Intrinsic
8825 @subsubsection QSinD Intrinsic
8826 @cindex QSinD intrinsic
8827 @cindex intrinsics, QSinD
8829 This intrinsic is not yet implemented.
8830 The name is, however, reserved as an intrinsic.
8831 Use @samp{EXTERNAL QSinD} to use this name for an
8834 @node QSinH Intrinsic
8835 @subsubsection QSinH Intrinsic
8836 @cindex QSinH intrinsic
8837 @cindex intrinsics, QSinH
8839 This intrinsic is not yet implemented.
8840 The name is, however, reserved as an intrinsic.
8841 Use @samp{EXTERNAL QSinH} to use this name for an
8844 @node QSqRt Intrinsic
8845 @subsubsection QSqRt Intrinsic
8846 @cindex QSqRt intrinsic
8847 @cindex intrinsics, QSqRt
8849 This intrinsic is not yet implemented.
8850 The name is, however, reserved as an intrinsic.
8851 Use @samp{EXTERNAL QSqRt} to use this name for an
8854 @node QTan Intrinsic
8855 @subsubsection QTan Intrinsic
8856 @cindex QTan intrinsic
8857 @cindex intrinsics, QTan
8859 This intrinsic is not yet implemented.
8860 The name is, however, reserved as an intrinsic.
8861 Use @samp{EXTERNAL QTan} to use this name for an
8864 @node QTanD Intrinsic
8865 @subsubsection QTanD Intrinsic
8866 @cindex QTanD intrinsic
8867 @cindex intrinsics, QTanD
8869 This intrinsic is not yet implemented.
8870 The name is, however, reserved as an intrinsic.
8871 Use @samp{EXTERNAL QTanD} to use this name for an
8874 @node QTanH Intrinsic
8875 @subsubsection QTanH Intrinsic
8876 @cindex QTanH intrinsic
8877 @cindex intrinsics, QTanH
8879 This intrinsic is not yet implemented.
8880 The name is, however, reserved as an intrinsic.
8881 Use @samp{EXTERNAL QTanH} to use this name for an
8886 @node Radix Intrinsic
8887 @subsubsection Radix Intrinsic
8888 @cindex Radix intrinsic
8889 @cindex intrinsics, Radix
8891 This intrinsic is not yet implemented.
8892 The name is, however, reserved as an intrinsic.
8893 Use @samp{EXTERNAL Radix} to use this name for an
8898 @node Rand Intrinsic
8899 @subsubsection Rand Intrinsic
8900 @cindex Rand intrinsic
8901 @cindex intrinsics, Rand
8909 Rand: @code{REAL(KIND=1)} function.
8912 @var{Flag}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN).
8915 Intrinsic groups: @code{unix}.
8920 Returns a uniform quasi-random number between 0 and 1.
8921 If @var{Flag} is 0, the next number in sequence is returned; if
8922 @var{Flag} is 1, the generator is restarted by calling @samp{srand(0)};
8923 if @var{Flag} has any other value, it is used as a new seed with
8926 @xref{SRand Intrinsic}.
8928 @emph{Note:} As typically implemented (by the routine of the same
8929 name in the C library), this random number generator is a very poor
8930 one, though the BSD and GNU libraries provide a much better
8931 implementation than the `traditional' one.
8932 On a different system you
8933 almost certainly want to use something better.
8937 @node Random_Number Intrinsic
8938 @subsubsection Random_Number Intrinsic
8939 @cindex Random_Number intrinsic
8940 @cindex intrinsics, Random_Number
8942 This intrinsic is not yet implemented.
8943 The name is, however, reserved as an intrinsic.
8944 Use @samp{EXTERNAL Random_Number} to use this name for an
8947 @node Random_Seed Intrinsic
8948 @subsubsection Random_Seed Intrinsic
8949 @cindex Random_Seed intrinsic
8950 @cindex intrinsics, Random_Seed
8952 This intrinsic is not yet implemented.
8953 The name is, however, reserved as an intrinsic.
8954 Use @samp{EXTERNAL Random_Seed} to use this name for an
8957 @node Range Intrinsic
8958 @subsubsection Range Intrinsic
8959 @cindex Range intrinsic
8960 @cindex intrinsics, Range
8962 This intrinsic is not yet implemented.
8963 The name is, however, reserved as an intrinsic.
8964 Use @samp{EXTERNAL Range} to use this name for an
8969 @node Real Intrinsic
8970 @subsubsection Real Intrinsic
8971 @cindex Real intrinsic
8972 @cindex intrinsics, Real
8980 Real: @code{REAL} function.
8981 The exact type is @samp{REAL(KIND=1)} when argument @var{A} is
8982 any type other than @code{COMPLEX}, or when it is @code{COMPLEX(KIND=1)}.
8983 When @var{A} is any @code{COMPLEX} type other than @code{COMPLEX(KIND=1)},
8984 this intrinsic is valid only when used as the argument to
8985 @code{REAL()}, as explained below.
8988 @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
8991 Intrinsic groups: (standard FORTRAN 77).
8996 Converts @var{A} to @code{REAL(KIND=1)}.
8998 Use of @code{REAL()} with a @code{COMPLEX} argument
8999 (other than @code{COMPLEX(KIND=1)}) is restricted to the following case:
9006 This expression converts the real part of A to
9007 @code{REAL(KIND=1)}.
9009 @xref{RealPart Intrinsic}, for information on a GNU Fortran
9010 intrinsic that extracts the real part of an arbitrary
9011 @code{COMPLEX} value.
9013 @xref{REAL() and AIMAG() of Complex}, for more information.
9017 @node RealPart Intrinsic
9018 @subsubsection RealPart Intrinsic
9019 @cindex RealPart intrinsic
9020 @cindex intrinsics, RealPart
9028 RealPart: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{Z}.
9031 @var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
9034 Intrinsic groups: @code{gnu}.
9039 The real part of @var{Z} is returned, without conversion.
9041 @emph{Note:} The way to do this in standard Fortran 90
9042 is @samp{REAL(@var{Z})}.
9043 However, when, for example, @var{Z} is @code{COMPLEX(KIND=2)},
9044 @samp{REAL(@var{Z})} means something different for some compilers
9045 that are not true Fortran 90 compilers but offer some
9046 extensions standardized by Fortran 90 (such as the
9047 @code{DOUBLE COMPLEX} type, also known as @code{COMPLEX(KIND=2)}).
9049 The advantage of @code{REALPART()} is that, while not necessarily
9050 more or less portable than @code{REAL()}, it is more likely to
9051 cause a compiler that doesn't support it to produce a diagnostic
9052 than generate incorrect code.
9054 @xref{REAL() and AIMAG() of Complex}, for more information.
9058 @node Rename Intrinsic (subroutine)
9059 @subsubsection Rename Intrinsic (subroutine)
9060 @cindex Rename intrinsic
9061 @cindex intrinsics, Rename
9065 CALL Rename(@var{Path1}, @var{Path2}, @var{Status})
9069 @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
9072 @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
9075 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
9078 Intrinsic groups: @code{unix}.
9083 Renames the file @var{Path1} to @var{Path2}.
9084 A null character (@samp{CHAR(0)}) marks the end of
9085 the names in @var{Path1} and @var{Path2}---otherwise,
9086 trailing blanks in @var{Path1} and @var{Path2} are ignored.
9087 See @code{rename(2)}.
9088 If the @var{Status} argument is supplied, it contains
9089 0 on success or a nonzero error code upon return.
9091 Some non-GNU implementations of Fortran provide this intrinsic as
9092 only a function, not as a subroutine, or do not support the
9093 (optional) @var{Status} argument.
9095 For information on other intrinsics with the same name:
9096 @xref{Rename Intrinsic (function)}.
9100 @node Rename Intrinsic (function)
9101 @subsubsection Rename Intrinsic (function)
9102 @cindex Rename intrinsic
9103 @cindex intrinsics, Rename
9107 Rename(@var{Path1}, @var{Path2})
9111 Rename: @code{INTEGER(KIND=1)} function.
9114 @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
9117 @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
9120 Intrinsic groups: @code{badu77}.
9125 Renames the file @var{Path1} to @var{Path2}.
9126 A null character (@samp{CHAR(0)}) marks the end of
9127 the names in @var{Path1} and @var{Path2}---otherwise,
9128 trailing blanks in @var{Path1} and @var{Path2} are ignored.
9129 See @code{rename(2)}.
9130 Returns 0 on success or a nonzero error code.
9132 Due to the side effects performed by this intrinsic, the function
9133 form is not recommended.
9135 For information on other intrinsics with the same name:
9136 @xref{Rename Intrinsic (subroutine)}.
9140 @node Repeat Intrinsic
9141 @subsubsection Repeat Intrinsic
9142 @cindex Repeat intrinsic
9143 @cindex intrinsics, Repeat
9145 This intrinsic is not yet implemented.
9146 The name is, however, reserved as an intrinsic.
9147 Use @samp{EXTERNAL Repeat} to use this name for an
9150 @node Reshape Intrinsic
9151 @subsubsection Reshape Intrinsic
9152 @cindex Reshape intrinsic
9153 @cindex intrinsics, Reshape
9155 This intrinsic is not yet implemented.
9156 The name is, however, reserved as an intrinsic.
9157 Use @samp{EXTERNAL Reshape} to use this name for an
9160 @node RRSpacing Intrinsic
9161 @subsubsection RRSpacing Intrinsic
9162 @cindex RRSpacing intrinsic
9163 @cindex intrinsics, RRSpacing
9165 This intrinsic is not yet implemented.
9166 The name is, however, reserved as an intrinsic.
9167 Use @samp{EXTERNAL RRSpacing} to use this name for an
9172 @node RShift Intrinsic
9173 @subsubsection RShift Intrinsic
9174 @cindex RShift intrinsic
9175 @cindex intrinsics, RShift
9179 RShift(@var{I}, @var{Shift})
9183 RShift: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
9186 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
9189 @var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
9192 Intrinsic groups: @code{f2c}.
9197 Returns @var{I} shifted to the right
9200 Although similar to the expression
9201 @samp{@var{I}/(2**@var{Shift})}, there
9202 are important differences.
9203 For example, the sign of the result is
9206 Currently this intrinsic is defined assuming
9207 the underlying representation of @var{I}
9208 is as a two's-complement integer.
9209 It is unclear at this point whether that
9210 definition will apply when a different
9211 representation is involved.
9213 @xref{RShift Intrinsic}, for the inverse of this function.
9215 @xref{IShft Intrinsic}, for information
9216 on a more widely available right-shifting
9217 intrinsic that is also more precisely defined.
9221 @node Scale Intrinsic
9222 @subsubsection Scale Intrinsic
9223 @cindex Scale intrinsic
9224 @cindex intrinsics, Scale
9226 This intrinsic is not yet implemented.
9227 The name is, however, reserved as an intrinsic.
9228 Use @samp{EXTERNAL Scale} to use this name for an
9231 @node Scan Intrinsic
9232 @subsubsection Scan Intrinsic
9233 @cindex Scan intrinsic
9234 @cindex intrinsics, Scan
9236 This intrinsic is not yet implemented.
9237 The name is, however, reserved as an intrinsic.
9238 Use @samp{EXTERNAL Scan} to use this name for an
9243 @node Secnds Intrinsic
9244 @subsubsection Secnds Intrinsic
9245 @cindex Secnds intrinsic
9246 @cindex intrinsics, Secnds
9254 Secnds: @code{REAL(KIND=1)} function.
9257 @var{T}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
9260 Intrinsic groups: @code{vxt}.
9265 Returns the local time in seconds since midnight minus the value
9268 @cindex wraparound, timings
9269 @cindex limits, timings
9270 This values returned by this intrinsic
9271 become numerically less than previous values
9272 (they wrap around) during a single run of the
9273 compiler program, under normal circumstances
9274 (such as running through the midnight hour).
9278 @node Second Intrinsic (function)
9279 @subsubsection Second Intrinsic (function)
9280 @cindex Second intrinsic
9281 @cindex intrinsics, Second
9289 Second: @code{REAL(KIND=1)} function.
9292 Intrinsic groups: @code{unix}.
9297 Returns the process's runtime in seconds---the same value as the
9298 UNIX function @code{etime} returns.
9300 @cindex wraparound, timings
9301 @cindex limits, timings
9302 On some systems, the underlying timings are represented
9303 using types with sufficiently small limits that overflows
9304 (wraparounds) are possible, such as 32-bit types.
9305 Therefore, the values returned by this intrinsic
9306 might be, or become, negative,
9307 or numerically less than previous values,
9308 during a single run of the compiled program.
9310 For information on other intrinsics with the same name:
9311 @xref{Second Intrinsic (subroutine)}.
9313 @node Second Intrinsic (subroutine)
9314 @subsubsection Second Intrinsic (subroutine)
9315 @cindex Second intrinsic
9316 @cindex intrinsics, Second
9320 CALL Second(@var{Seconds})
9324 @var{Seconds}: @code{REAL}; scalar; INTENT(OUT).
9327 Intrinsic groups: @code{unix}.
9332 Returns the process's runtime in seconds in @var{Seconds}---the same value
9333 as the UNIX function @code{etime} returns.
9335 @cindex wraparound, timings
9336 @cindex limits, timings
9337 On some systems, the underlying timings are represented
9338 using types with sufficiently small limits that overflows
9339 (wraparounds) are possible, such as 32-bit types.
9340 Therefore, the values returned by this intrinsic
9341 might be, or become, negative,
9342 or numerically less than previous values,
9343 during a single run of the compiled program.
9345 This routine is known from Cray Fortran. @xref{CPU_Time Intrinsic},
9346 for a standard equivalent.
9348 For information on other intrinsics with the same name:
9349 @xref{Second Intrinsic (function)}.
9353 @node Selected_Int_Kind Intrinsic
9354 @subsubsection Selected_Int_Kind Intrinsic
9355 @cindex Selected_Int_Kind intrinsic
9356 @cindex intrinsics, Selected_Int_Kind
9358 This intrinsic is not yet implemented.
9359 The name is, however, reserved as an intrinsic.
9360 Use @samp{EXTERNAL Selected_Int_Kind} to use this name for an
9363 @node Selected_Real_Kind Intrinsic
9364 @subsubsection Selected_Real_Kind Intrinsic
9365 @cindex Selected_Real_Kind intrinsic
9366 @cindex intrinsics, Selected_Real_Kind
9368 This intrinsic is not yet implemented.
9369 The name is, however, reserved as an intrinsic.
9370 Use @samp{EXTERNAL Selected_Real_Kind} to use this name for an
9373 @node Set_Exponent Intrinsic
9374 @subsubsection Set_Exponent Intrinsic
9375 @cindex Set_Exponent intrinsic
9376 @cindex intrinsics, Set_Exponent
9378 This intrinsic is not yet implemented.
9379 The name is, however, reserved as an intrinsic.
9380 Use @samp{EXTERNAL Set_Exponent} to use this name for an
9383 @node Shape Intrinsic
9384 @subsubsection Shape Intrinsic
9385 @cindex Shape intrinsic
9386 @cindex intrinsics, Shape
9388 This intrinsic is not yet implemented.
9389 The name is, however, reserved as an intrinsic.
9390 Use @samp{EXTERNAL Shape} to use this name for an
9395 @node Short Intrinsic
9396 @subsubsection Short Intrinsic
9397 @cindex Short intrinsic
9398 @cindex intrinsics, Short
9406 Short: @code{INTEGER(KIND=6)} function.
9409 @var{A}: @code{INTEGER}; scalar; INTENT(IN).
9412 Intrinsic groups: @code{unix}.
9417 Returns @var{A} with the fractional portion of its
9418 magnitude truncated and its sign preserved, converted
9419 to type @code{INTEGER(KIND=6)}.
9421 If @var{A} is type @code{COMPLEX}, its real part
9422 is truncated and converted, and its imaginary part is disregarded.
9424 @xref{Int Intrinsic}.
9426 The precise meaning of this intrinsic might change
9427 in a future version of the GNU Fortran language,
9428 as more is learned about how it is used.
9432 @node Sign Intrinsic
9433 @subsubsection Sign Intrinsic
9434 @cindex Sign intrinsic
9435 @cindex intrinsics, Sign
9439 Sign(@var{A}, @var{B})
9443 Sign: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
9444 types of all the arguments.
9447 @var{A}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
9450 @var{B}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
9453 Intrinsic groups: (standard FORTRAN 77).
9458 Returns @samp{ABS(@var{A})*@var{s}}, where
9459 @var{s} is +1 if @samp{@var{B}.GE.0},
9462 @xref{Abs Intrinsic}, for the function that returns
9463 the magnitude of a value.
9467 @node Signal Intrinsic (subroutine)
9468 @subsubsection Signal Intrinsic (subroutine)
9469 @cindex Signal intrinsic
9470 @cindex intrinsics, Signal
9474 CALL Signal(@var{Number}, @var{Handler}, @var{Status})
9478 @var{Number}: @code{INTEGER}; scalar; INTENT(IN).
9481 @var{Handler}: Signal handler (@code{INTEGER FUNCTION} or @code{SUBROUTINE})
9482 or dummy/global @code{INTEGER(KIND=1)} scalar.
9485 @var{Status}: @code{INTEGER(KIND=7)}; OPTIONAL; scalar; INTENT(OUT).
9488 Intrinsic groups: @code{unix}.
9493 If @var{Handler} is a an @code{EXTERNAL} routine, arranges for it to be
9494 invoked with a single integer argument (of system-dependent length)
9495 when signal @var{Number} occurs.
9496 If @var{Handler} is an integer, it can be
9497 used to turn off handling of signal @var{Number} or revert to its default
9499 See @code{signal(2)}.
9501 Note that @var{Handler} will be called using C conventions,
9502 so the value of its argument in Fortran terms
9503 Fortran terms is obtained by applying @code{%LOC()} (or @var{LOC()}) to it.
9505 The value returned by @code{signal(2)} is written to @var{Status}, if
9506 that argument is supplied.
9507 Otherwise the return value is ignored.
9509 Some non-GNU implementations of Fortran provide this intrinsic as
9510 only a function, not as a subroutine, or do not support the
9511 (optional) @var{Status} argument.
9513 @emph{Warning:} Use of the @code{libf2c} run-time library function
9514 @samp{signal_} directly
9515 (such as via @samp{EXTERNAL SIGNAL})
9516 requires use of the @code{%VAL()} construct
9517 to pass an @code{INTEGER} value
9518 (such as @samp{SIG_IGN} or @samp{SIG_DFL})
9519 for the @var{Handler} argument.
9521 However, while @samp{CALL SIGNAL(@var{signum}, %VAL(SIG_IGN))}
9522 works when @samp{SIGNAL} is treated as an external procedure
9523 (and resolves, at link time, to @code{libf2c}'s @samp{signal_} routine),
9524 this construct is not valid when @samp{SIGNAL} is recognized
9525 as the intrinsic of that name.
9527 Therefore, for maximum portability and reliability,
9528 code such references to the @samp{SIGNAL} facility as follows:
9533 CALL SIGNAL(@var{signum}, SIG_IGN)
9536 @code{g77} will compile such a call correctly,
9537 while other compilers will generally either do so as well
9538 or reject the @samp{INTRINSIC SIGNAL} statement via a diagnostic,
9539 allowing you to take appropriate action.
9541 For information on other intrinsics with the same name:
9542 @xref{Signal Intrinsic (function)}.
9546 @node Signal Intrinsic (function)
9547 @subsubsection Signal Intrinsic (function)
9548 @cindex Signal intrinsic
9549 @cindex intrinsics, Signal
9553 Signal(@var{Number}, @var{Handler})
9557 Signal: @code{INTEGER(KIND=7)} function.
9560 @var{Number}: @code{INTEGER}; scalar; INTENT(IN).
9563 @var{Handler}: Signal handler (@code{INTEGER FUNCTION} or @code{SUBROUTINE})
9564 or dummy/global @code{INTEGER(KIND=1)} scalar.
9567 Intrinsic groups: @code{badu77}.
9572 If @var{Handler} is a an @code{EXTERNAL} routine, arranges for it to be
9573 invoked with a single integer argument (of system-dependent length)
9574 when signal @var{Number} occurs.
9575 If @var{Handler} is an integer, it can be
9576 used to turn off handling of signal @var{Number} or revert to its default
9578 See @code{signal(2)}.
9580 Note that @var{Handler} will be called using C conventions,
9581 so the value of its argument in Fortran terms
9582 is obtained by applying @code{%LOC()} (or @var{LOC()}) to it.
9584 The value returned by @code{signal(2)} is returned.
9586 Due to the side effects performed by this intrinsic, the function
9587 form is not recommended.
9589 @emph{Warning:} If the returned value is stored in
9590 an @code{INTEGER(KIND=1)} (default @code{INTEGER}) argument,
9591 truncation of the original return value occurs on some systems
9592 (such as Alphas, which have 64-bit pointers but 32-bit default integers),
9593 with no warning issued by @code{g77} under normal circumstances.
9595 Therefore, the following code fragment might silently fail on
9601 RTN = SIGNAL(@var{signum}, MYHNDL)
9603 ! Restore original handler:
9604 RTN = SIGNAL(@var{signum}, RTN)
9607 The reason for the failure is that @samp{RTN} might not hold
9608 all the information on the original handler for the signal,
9609 thus restoring an invalid handler.
9610 This bug could manifest itself as a spurious run-time failure
9611 at an arbitrary point later during the program's execution,
9614 @emph{Warning:} Use of the @code{libf2c} run-time library function
9615 @samp{signal_} directly
9616 (such as via @samp{EXTERNAL SIGNAL})
9617 requires use of the @code{%VAL()} construct
9618 to pass an @code{INTEGER} value
9619 (such as @samp{SIG_IGN} or @samp{SIG_DFL})
9620 for the @var{Handler} argument.
9622 However, while @samp{RTN = SIGNAL(@var{signum}, %VAL(SIG_IGN))}
9623 works when @samp{SIGNAL} is treated as an external procedure
9624 (and resolves, at link time, to @code{libf2c}'s @samp{signal_} routine),
9625 this construct is not valid when @samp{SIGNAL} is recognized
9626 as the intrinsic of that name.
9628 Therefore, for maximum portability and reliability,
9629 code such references to the @samp{SIGNAL} facility as follows:
9634 RTN = SIGNAL(@var{signum}, SIG_IGN)
9637 @code{g77} will compile such a call correctly,
9638 while other compilers will generally either do so as well
9639 or reject the @samp{INTRINSIC SIGNAL} statement via a diagnostic,
9640 allowing you to take appropriate action.
9642 For information on other intrinsics with the same name:
9643 @xref{Signal Intrinsic (subroutine)}.
9648 @subsubsection Sin Intrinsic
9649 @cindex Sin intrinsic
9650 @cindex intrinsics, Sin
9658 Sin: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
9661 @var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
9664 Intrinsic groups: (standard FORTRAN 77).
9669 Returns the sine of @var{X}, an angle measured
9672 @xref{ASin Intrinsic}, for the inverse of this function.
9676 @node SinD Intrinsic
9677 @subsubsection SinD Intrinsic
9678 @cindex SinD intrinsic
9679 @cindex intrinsics, SinD
9681 This intrinsic is not yet implemented.
9682 The name is, however, reserved as an intrinsic.
9683 Use @samp{EXTERNAL SinD} to use this name for an
9688 @node SinH Intrinsic
9689 @subsubsection SinH Intrinsic
9690 @cindex SinH intrinsic
9691 @cindex intrinsics, SinH
9699 SinH: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
9702 @var{X}: @code{REAL}; scalar; INTENT(IN).
9705 Intrinsic groups: (standard FORTRAN 77).
9710 Returns the hyperbolic sine of @var{X}.
9714 @node Sleep Intrinsic
9715 @subsubsection Sleep Intrinsic
9716 @cindex Sleep intrinsic
9717 @cindex intrinsics, Sleep
9721 CALL Sleep(@var{Seconds})
9725 @var{Seconds}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
9728 Intrinsic groups: @code{unix}.
9733 Causes the process to pause for @var{Seconds} seconds.
9734 See @code{sleep(2)}.
9738 @node Sngl Intrinsic
9739 @subsubsection Sngl Intrinsic
9740 @cindex Sngl intrinsic
9741 @cindex intrinsics, Sngl
9749 Sngl: @code{REAL(KIND=1)} function.
9752 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
9755 Intrinsic groups: (standard FORTRAN 77).
9760 Archaic form of @code{REAL()} that is specific
9761 to one type for @var{A}.
9762 @xref{Real Intrinsic}.
9766 @node SnglQ Intrinsic
9767 @subsubsection SnglQ Intrinsic
9768 @cindex SnglQ intrinsic
9769 @cindex intrinsics, SnglQ
9771 This intrinsic is not yet implemented.
9772 The name is, however, reserved as an intrinsic.
9773 Use @samp{EXTERNAL SnglQ} to use this name for an
9778 @node Spacing Intrinsic
9779 @subsubsection Spacing Intrinsic
9780 @cindex Spacing intrinsic
9781 @cindex intrinsics, Spacing
9783 This intrinsic is not yet implemented.
9784 The name is, however, reserved as an intrinsic.
9785 Use @samp{EXTERNAL Spacing} to use this name for an
9788 @node Spread Intrinsic
9789 @subsubsection Spread Intrinsic
9790 @cindex Spread intrinsic
9791 @cindex intrinsics, Spread
9793 This intrinsic is not yet implemented.
9794 The name is, however, reserved as an intrinsic.
9795 Use @samp{EXTERNAL Spread} to use this name for an
9800 @node SqRt Intrinsic
9801 @subsubsection SqRt Intrinsic
9802 @cindex SqRt intrinsic
9803 @cindex intrinsics, SqRt
9811 SqRt: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
9814 @var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
9817 Intrinsic groups: (standard FORTRAN 77).
9822 Returns the square root of @var{X}, which must
9825 To calculate and represent the square root of a negative
9826 number, complex arithmetic must be used.
9827 For example, @samp{SQRT(COMPLEX(@var{X}))}.
9829 The inverse of this function is @samp{SQRT(@var{X}) * SQRT(@var{X})}.
9833 @node SRand Intrinsic
9834 @subsubsection SRand Intrinsic
9835 @cindex SRand intrinsic
9836 @cindex intrinsics, SRand
9840 CALL SRand(@var{Seed})
9844 @var{Seed}: @code{INTEGER}; scalar; INTENT(IN).
9847 Intrinsic groups: @code{unix}.
9852 Reinitializes the generator with the seed in @var{Seed}.
9853 @xref{IRand Intrinsic}.
9854 @xref{Rand Intrinsic}.
9856 @node Stat Intrinsic (subroutine)
9857 @subsubsection Stat Intrinsic (subroutine)
9858 @cindex Stat intrinsic
9859 @cindex intrinsics, Stat
9863 CALL Stat(@var{File}, @var{SArray}, @var{Status})
9867 @var{File}: @code{CHARACTER}; scalar; INTENT(IN).
9870 @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
9873 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
9876 Intrinsic groups: @code{unix}.
9881 Obtains data about the given file @var{File} and places them in the array
9883 A null character (@samp{CHAR(0)}) marks the end of
9884 the name in @var{File}---otherwise,
9885 trailing blanks in @var{File} are ignored.
9886 The values in this array are extracted from the
9887 @code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
9909 ID of device containing directory entry for file
9910 (0 if not available)
9919 Last modification time
9922 Last file status change time
9925 Preferred I/O block size (-1 if not available)
9928 Number of blocks allocated (-1 if not available)
9931 Not all these elements are relevant on all systems.
9932 If an element is not relevant, it is returned as 0.
9934 If the @var{Status} argument is supplied, it contains
9935 0 on success or a nonzero error code upon return.
9937 Some non-GNU implementations of Fortran provide this intrinsic as
9938 only a function, not as a subroutine, or do not support the
9939 (optional) @var{Status} argument.
9941 For information on other intrinsics with the same name:
9942 @xref{Stat Intrinsic (function)}.
9944 @node Stat Intrinsic (function)
9945 @subsubsection Stat Intrinsic (function)
9946 @cindex Stat intrinsic
9947 @cindex intrinsics, Stat
9951 Stat(@var{File}, @var{SArray})
9955 Stat: @code{INTEGER(KIND=1)} function.
9958 @var{File}: @code{CHARACTER}; scalar; INTENT(IN).
9961 @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
9964 Intrinsic groups: @code{unix}.
9969 Obtains data about the given file @var{File} and places them in the array
9971 A null character (@samp{CHAR(0)}) marks the end of
9972 the name in @var{File}---otherwise,
9973 trailing blanks in @var{File} are ignored.
9974 The values in this array are extracted from the
9975 @code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
9997 ID of device containing directory entry for file
9998 (0 if not available)
10007 Last modification time
10010 Last file status change time
10013 Preferred I/O block size (-1 if not available)
10016 Number of blocks allocated (-1 if not available)
10019 Not all these elements are relevant on all systems.
10020 If an element is not relevant, it is returned as 0.
10022 Returns 0 on success or a nonzero error code.
10024 For information on other intrinsics with the same name:
10025 @xref{Stat Intrinsic (subroutine)}.
10029 @node Sum Intrinsic
10030 @subsubsection Sum Intrinsic
10031 @cindex Sum intrinsic
10032 @cindex intrinsics, Sum
10034 This intrinsic is not yet implemented.
10035 The name is, however, reserved as an intrinsic.
10036 Use @samp{EXTERNAL Sum} to use this name for an
10037 external procedure.
10041 @node SymLnk Intrinsic (subroutine)
10042 @subsubsection SymLnk Intrinsic (subroutine)
10043 @cindex SymLnk intrinsic
10044 @cindex intrinsics, SymLnk
10048 CALL SymLnk(@var{Path1}, @var{Path2}, @var{Status})
10052 @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
10055 @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
10058 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
10061 Intrinsic groups: @code{unix}.
10066 Makes a symbolic link from file @var{Path1} to @var{Path2}.
10067 A null character (@samp{CHAR(0)}) marks the end of
10068 the names in @var{Path1} and @var{Path2}---otherwise,
10069 trailing blanks in @var{Path1} and @var{Path2} are ignored.
10070 If the @var{Status} argument is supplied, it contains
10071 0 on success or a nonzero error code upon return
10072 (@code{ENOSYS} if the system does not provide @code{symlink(2)}).
10074 Some non-GNU implementations of Fortran provide this intrinsic as
10075 only a function, not as a subroutine, or do not support the
10076 (optional) @var{Status} argument.
10078 For information on other intrinsics with the same name:
10079 @xref{SymLnk Intrinsic (function)}.
10082 @ifset familyBADU77
10083 @node SymLnk Intrinsic (function)
10084 @subsubsection SymLnk Intrinsic (function)
10085 @cindex SymLnk intrinsic
10086 @cindex intrinsics, SymLnk
10090 SymLnk(@var{Path1}, @var{Path2})
10094 SymLnk: @code{INTEGER(KIND=1)} function.
10097 @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
10100 @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
10103 Intrinsic groups: @code{badu77}.
10108 Makes a symbolic link from file @var{Path1} to @var{Path2}.
10109 A null character (@samp{CHAR(0)}) marks the end of
10110 the names in @var{Path1} and @var{Path2}---otherwise,
10111 trailing blanks in @var{Path1} and @var{Path2} are ignored.
10112 Returns 0 on success or a nonzero error code
10113 (@code{ENOSYS} if the system does not provide @code{symlink(2)}).
10115 Due to the side effects performed by this intrinsic, the function
10116 form is not recommended.
10118 For information on other intrinsics with the same name:
10119 @xref{SymLnk Intrinsic (subroutine)}.
10123 @node System Intrinsic (subroutine)
10124 @subsubsection System Intrinsic (subroutine)
10125 @cindex System intrinsic
10126 @cindex intrinsics, System
10130 CALL System(@var{Command}, @var{Status})
10134 @var{Command}: @code{CHARACTER}; scalar; INTENT(IN).
10137 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
10140 Intrinsic groups: @code{unix}.
10145 Passes the command @var{Command} to a shell (see @code{system(3)}).
10146 If argument @var{Status} is present, it contains the value returned by
10147 @code{system(3)}, presumably 0 if the shell command succeeded.
10148 Note that which shell is used to invoke the command is system-dependent
10149 and environment-dependent.
10151 Some non-GNU implementations of Fortran provide this intrinsic as
10152 only a function, not as a subroutine, or do not support the
10153 (optional) @var{Status} argument.
10155 For information on other intrinsics with the same name:
10156 @xref{System Intrinsic (function)}.
10159 @ifset familyBADU77
10160 @node System Intrinsic (function)
10161 @subsubsection System Intrinsic (function)
10162 @cindex System intrinsic
10163 @cindex intrinsics, System
10167 System(@var{Command})
10171 System: @code{INTEGER(KIND=1)} function.
10174 @var{Command}: @code{CHARACTER}; scalar; INTENT(IN).
10177 Intrinsic groups: @code{badu77}.
10182 Passes the command @var{Command} to a shell (see @code{system(3)}).
10183 Returns the value returned by
10184 @code{system(3)}, presumably 0 if the shell command succeeded.
10185 Note that which shell is used to invoke the command is system-dependent
10186 and environment-dependent.
10188 Due to the side effects performed by this intrinsic, the function
10189 form is not recommended.
10190 However, the function form can be valid in cases where the
10191 actual side effects performed by the call are unimportant to
10194 For example, on a UNIX system, @samp{SAME = SYSTEM('cmp a b')}
10195 does not perform any side effects likely to be important to the
10196 program, so the programmer would not care if the actual system
10197 call (and invocation of @code{cmp}) was optimized away in a situation
10198 where the return value could be determined otherwise, or was not
10199 actually needed (@samp{SAME} not actually referenced after the
10200 sample assignment statement).
10202 For information on other intrinsics with the same name:
10203 @xref{System Intrinsic (subroutine)}.
10207 @node System_Clock Intrinsic
10208 @subsubsection System_Clock Intrinsic
10209 @cindex System_Clock intrinsic
10210 @cindex intrinsics, System_Clock
10214 CALL System_Clock(@var{Count}, @var{Rate}, @var{Max})
10218 @var{Count}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
10221 @var{Rate}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
10224 @var{Max}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
10227 Intrinsic groups: @code{f90}.
10232 Returns in @var{Count} the current value of the system clock; this is
10233 the value returned by the UNIX function @code{times(2)}
10234 in this implementation, but
10236 @var{Rate} is the number of clock ticks per second and
10237 @var{Max} is the maximum value this can take, which isn't very useful
10238 in this implementation since it's just the maximum C @code{unsigned
10241 @cindex wraparound, timings
10242 @cindex limits, timings
10243 On some systems, the underlying timings are represented
10244 using types with sufficiently small limits that overflows
10245 (wraparounds) are possible, such as 32-bit types.
10246 Therefore, the values returned by this intrinsic
10247 might be, or become, negative,
10248 or numerically less than previous values,
10249 during a single run of the compiled program.
10253 @node Tan Intrinsic
10254 @subsubsection Tan Intrinsic
10255 @cindex Tan intrinsic
10256 @cindex intrinsics, Tan
10264 Tan: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
10267 @var{X}: @code{REAL}; scalar; INTENT(IN).
10270 Intrinsic groups: (standard FORTRAN 77).
10275 Returns the tangent of @var{X}, an angle measured
10278 @xref{ATan Intrinsic}, for the inverse of this function.
10282 @node TanD Intrinsic
10283 @subsubsection TanD Intrinsic
10284 @cindex TanD intrinsic
10285 @cindex intrinsics, TanD
10287 This intrinsic is not yet implemented.
10288 The name is, however, reserved as an intrinsic.
10289 Use @samp{EXTERNAL TanD} to use this name for an
10290 external procedure.
10294 @node TanH Intrinsic
10295 @subsubsection TanH Intrinsic
10296 @cindex TanH intrinsic
10297 @cindex intrinsics, TanH
10305 TanH: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
10308 @var{X}: @code{REAL}; scalar; INTENT(IN).
10311 Intrinsic groups: (standard FORTRAN 77).
10316 Returns the hyperbolic tangent of @var{X}.
10320 @node Time Intrinsic (UNIX)
10321 @subsubsection Time Intrinsic (UNIX)
10322 @cindex Time intrinsic
10323 @cindex intrinsics, Time
10331 Time: @code{INTEGER(KIND=1)} function.
10334 Intrinsic groups: @code{unix}.
10339 Returns the current time encoded as an integer
10340 (in the manner of the UNIX function @code{time(3)}).
10341 This value is suitable for passing to @code{CTIME},
10342 @code{GMTIME}, and @code{LTIME}.
10344 @cindex wraparound, timings
10345 @cindex limits, timings
10346 This intrinsic is not fully portable, such as to systems
10347 with 32-bit @code{INTEGER} types but supporting times
10348 wider than 32 bits.
10349 Therefore, the values returned by this intrinsic
10350 might be, or become, negative,
10351 or numerically less than previous values,
10352 during a single run of the compiled program.
10354 @xref{Time8 Intrinsic}, for information on a
10355 similar intrinsic that might be portable to more
10356 GNU Fortran implementations, though to fewer
10359 For information on other intrinsics with the same name:
10360 @xref{Time Intrinsic (VXT)}.
10364 @node Time Intrinsic (VXT)
10365 @subsubsection Time Intrinsic (VXT)
10366 @cindex Time intrinsic
10367 @cindex intrinsics, Time
10371 CALL Time(@var{Time})
10375 @var{Time}: @code{CHARACTER*8}; scalar; INTENT(OUT).
10378 Intrinsic groups: @code{vxt}.
10383 Returns in @var{Time} a character representation of the current time as
10384 obtained from @code{ctime(3)}.
10386 @cindex Y10K compliance
10387 @cindex Year 10000 compliance
10388 @cindex wraparound, Y10K
10389 @cindex limits, Y10K
10390 Programs making use of this intrinsic
10391 might not be Year 10000 (Y10K) compliant.
10392 For example, the date might appear,
10393 to such programs, to wrap around
10394 (change from a larger value to a smaller one)
10395 as of the Year 10000.
10397 @xref{FDate Intrinsic (subroutine)}, for an equivalent routine.
10399 For information on other intrinsics with the same name:
10400 @xref{Time Intrinsic (UNIX)}.
10404 @node Time8 Intrinsic
10405 @subsubsection Time8 Intrinsic
10406 @cindex Time8 intrinsic
10407 @cindex intrinsics, Time8
10415 Time8: @code{INTEGER(KIND=2)} function.
10418 Intrinsic groups: @code{unix}.
10423 Returns the current time encoded as a long integer
10424 (in the manner of the UNIX function @code{time(3)}).
10425 This value is suitable for passing to @code{CTIME},
10426 @code{GMTIME}, and @code{LTIME}.
10428 @cindex wraparound, timings
10429 @cindex limits, timings
10430 @emph{Warning:} this intrinsic does not increase the range
10431 of the timing values over that returned by @code{time(3)}.
10432 On a system with a 32-bit @code{time(3)},
10433 @code{TIME8} will return a 32-bit value,
10434 even though converted to an @samp{INTEGER(KIND=2)} value.
10435 That means overflows of the 32-bit value can still occur.
10436 Therefore, the values returned by this intrinsic
10437 might be, or become, negative,
10438 or numerically less than previous values,
10439 during a single run of the compiled program.
10441 No Fortran implementations other than GNU Fortran are
10442 known to support this intrinsic at the time of this
10444 @xref{Time Intrinsic (UNIX)}, for information on a
10445 similar intrinsic that might be portable to more Fortran
10446 compilers, though to fewer GNU Fortran implementations.
10450 @node Tiny Intrinsic
10451 @subsubsection Tiny Intrinsic
10452 @cindex Tiny intrinsic
10453 @cindex intrinsics, Tiny
10455 This intrinsic is not yet implemented.
10456 The name is, however, reserved as an intrinsic.
10457 Use @samp{EXTERNAL Tiny} to use this name for an
10458 external procedure.
10460 @node Transfer Intrinsic
10461 @subsubsection Transfer Intrinsic
10462 @cindex Transfer intrinsic
10463 @cindex intrinsics, Transfer
10465 This intrinsic is not yet implemented.
10466 The name is, however, reserved as an intrinsic.
10467 Use @samp{EXTERNAL Transfer} to use this name for an
10468 external procedure.
10470 @node Transpose Intrinsic
10471 @subsubsection Transpose Intrinsic
10472 @cindex Transpose intrinsic
10473 @cindex intrinsics, Transpose
10475 This intrinsic is not yet implemented.
10476 The name is, however, reserved as an intrinsic.
10477 Use @samp{EXTERNAL Transpose} to use this name for an
10478 external procedure.
10480 @node Trim Intrinsic
10481 @subsubsection Trim Intrinsic
10482 @cindex Trim intrinsic
10483 @cindex intrinsics, Trim
10485 This intrinsic is not yet implemented.
10486 The name is, however, reserved as an intrinsic.
10487 Use @samp{EXTERNAL Trim} to use this name for an
10488 external procedure.
10492 @node TtyNam Intrinsic (subroutine)
10493 @subsubsection TtyNam Intrinsic (subroutine)
10494 @cindex TtyNam intrinsic
10495 @cindex intrinsics, TtyNam
10499 CALL TtyNam(@var{Unit}, @var{Name})
10503 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
10506 @var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
10509 Intrinsic groups: @code{unix}.
10514 Sets @var{Name} to the name of the terminal device open on logical unit
10515 @var{Unit} or to a blank string if @var{Unit} is not connected to a
10518 Some non-GNU implementations of Fortran provide this intrinsic as
10519 only a function, not as a subroutine.
10521 For information on other intrinsics with the same name:
10522 @xref{TtyNam Intrinsic (function)}.
10524 @node TtyNam Intrinsic (function)
10525 @subsubsection TtyNam Intrinsic (function)
10526 @cindex TtyNam intrinsic
10527 @cindex intrinsics, TtyNam
10535 TtyNam: @code{CHARACTER*(*)} function.
10538 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
10541 Intrinsic groups: @code{unix}.
10546 Returns the name of the terminal device open on logical unit
10547 @var{Unit} or a blank string if @var{Unit} is not connected to a
10550 For information on other intrinsics with the same name:
10551 @xref{TtyNam Intrinsic (subroutine)}.
10555 @node UBound Intrinsic
10556 @subsubsection UBound Intrinsic
10557 @cindex UBound intrinsic
10558 @cindex intrinsics, UBound
10560 This intrinsic is not yet implemented.
10561 The name is, however, reserved as an intrinsic.
10562 Use @samp{EXTERNAL UBound} to use this name for an
10563 external procedure.
10567 @node UMask Intrinsic (subroutine)
10568 @subsubsection UMask Intrinsic (subroutine)
10569 @cindex UMask intrinsic
10570 @cindex intrinsics, UMask
10574 CALL UMask(@var{Mask}, @var{Old})
10578 @var{Mask}: @code{INTEGER}; scalar; INTENT(IN).
10581 @var{Old}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
10584 Intrinsic groups: @code{unix}.
10589 Sets the file creation mask to @var{Mask} and returns the old value in
10590 argument @var{Old} if it is supplied.
10591 See @code{umask(2)}.
10593 Some non-GNU implementations of Fortran provide this intrinsic as
10594 only a function, not as a subroutine.
10596 For information on other intrinsics with the same name:
10597 @xref{UMask Intrinsic (function)}.
10600 @ifset familyBADU77
10601 @node UMask Intrinsic (function)
10602 @subsubsection UMask Intrinsic (function)
10603 @cindex UMask intrinsic
10604 @cindex intrinsics, UMask
10612 UMask: @code{INTEGER(KIND=1)} function.
10615 @var{Mask}: @code{INTEGER}; scalar; INTENT(IN).
10618 Intrinsic groups: @code{badu77}.
10623 Sets the file creation mask to @var{Mask} and returns the old value.
10624 See @code{umask(2)}.
10626 Due to the side effects performed by this intrinsic, the function
10627 form is not recommended.
10629 For information on other intrinsics with the same name:
10630 @xref{UMask Intrinsic (subroutine)}.
10634 @node Unlink Intrinsic (subroutine)
10635 @subsubsection Unlink Intrinsic (subroutine)
10636 @cindex Unlink intrinsic
10637 @cindex intrinsics, Unlink
10641 CALL Unlink(@var{File}, @var{Status})
10645 @var{File}: @code{CHARACTER}; scalar; INTENT(IN).
10648 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
10651 Intrinsic groups: @code{unix}.
10656 Unlink the file @var{File}.
10657 A null character (@samp{CHAR(0)}) marks the end of
10658 the name in @var{File}---otherwise,
10659 trailing blanks in @var{File} are ignored.
10660 If the @var{Status} argument is supplied, it contains
10661 0 on success or a nonzero error code upon return.
10662 See @code{unlink(2)}.
10664 Some non-GNU implementations of Fortran provide this intrinsic as
10665 only a function, not as a subroutine, or do not support the
10666 (optional) @var{Status} argument.
10668 For information on other intrinsics with the same name:
10669 @xref{Unlink Intrinsic (function)}.
10672 @ifset familyBADU77
10673 @node Unlink Intrinsic (function)
10674 @subsubsection Unlink Intrinsic (function)
10675 @cindex Unlink intrinsic
10676 @cindex intrinsics, Unlink
10684 Unlink: @code{INTEGER(KIND=1)} function.
10687 @var{File}: @code{CHARACTER}; scalar; INTENT(IN).
10690 Intrinsic groups: @code{badu77}.
10695 Unlink the file @var{File}.
10696 A null character (@samp{CHAR(0)}) marks the end of
10697 the name in @var{File}---otherwise,
10698 trailing blanks in @var{File} are ignored.
10699 Returns 0 on success or a nonzero error code.
10700 See @code{unlink(2)}.
10702 Due to the side effects performed by this intrinsic, the function
10703 form is not recommended.
10705 For information on other intrinsics with the same name:
10706 @xref{Unlink Intrinsic (subroutine)}.
10710 @node Unpack Intrinsic
10711 @subsubsection Unpack Intrinsic
10712 @cindex Unpack intrinsic
10713 @cindex intrinsics, Unpack
10715 This intrinsic is not yet implemented.
10716 The name is, however, reserved as an intrinsic.
10717 Use @samp{EXTERNAL Unpack} to use this name for an
10718 external procedure.
10720 @node Verify Intrinsic
10721 @subsubsection Verify Intrinsic
10722 @cindex Verify intrinsic
10723 @cindex intrinsics, Verify
10725 This intrinsic is not yet implemented.
10726 The name is, however, reserved as an intrinsic.
10727 Use @samp{EXTERNAL Verify} to use this name for an
10728 external procedure.
10732 @node XOr Intrinsic
10733 @subsubsection XOr Intrinsic
10734 @cindex XOr intrinsic
10735 @cindex intrinsics, XOr
10739 XOr(@var{I}, @var{J})
10743 XOr: @code{INTEGER} or @code{LOGICAL} function, the exact type being the result of cross-promoting the
10744 types of all the arguments.
10747 @var{I}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
10750 @var{J}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
10753 Intrinsic groups: @code{f2c}.
10758 Returns value resulting from boolean exclusive-OR of
10759 pair of bits in each of @var{I} and @var{J}.
10761 @node ZAbs Intrinsic
10762 @subsubsection ZAbs Intrinsic
10763 @cindex ZAbs intrinsic
10764 @cindex intrinsics, ZAbs
10772 ZAbs: @code{REAL(KIND=2)} function.
10775 @var{A}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10778 Intrinsic groups: @code{f2c}.
10783 Archaic form of @code{ABS()} that is specific
10784 to one type for @var{A}.
10785 @xref{Abs Intrinsic}.
10787 @node ZCos Intrinsic
10788 @subsubsection ZCos Intrinsic
10789 @cindex ZCos intrinsic
10790 @cindex intrinsics, ZCos
10798 ZCos: @code{COMPLEX(KIND=2)} function.
10801 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10804 Intrinsic groups: @code{f2c}.
10809 Archaic form of @code{COS()} that is specific
10810 to one type for @var{X}.
10811 @xref{Cos Intrinsic}.
10813 @node ZExp Intrinsic
10814 @subsubsection ZExp Intrinsic
10815 @cindex ZExp intrinsic
10816 @cindex intrinsics, ZExp
10824 ZExp: @code{COMPLEX(KIND=2)} function.
10827 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10830 Intrinsic groups: @code{f2c}.
10835 Archaic form of @code{EXP()} that is specific
10836 to one type for @var{X}.
10837 @xref{Exp Intrinsic}.
10841 @node ZExt Intrinsic
10842 @subsubsection ZExt Intrinsic
10843 @cindex ZExt intrinsic
10844 @cindex intrinsics, ZExt
10846 This intrinsic is not yet implemented.
10847 The name is, however, reserved as an intrinsic.
10848 Use @samp{EXTERNAL ZExt} to use this name for an
10849 external procedure.
10853 @node ZLog Intrinsic
10854 @subsubsection ZLog Intrinsic
10855 @cindex ZLog intrinsic
10856 @cindex intrinsics, ZLog
10864 ZLog: @code{COMPLEX(KIND=2)} function.
10867 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10870 Intrinsic groups: @code{f2c}.
10875 Archaic form of @code{LOG()} that is specific
10876 to one type for @var{X}.
10877 @xref{Log Intrinsic}.
10879 @node ZSin Intrinsic
10880 @subsubsection ZSin Intrinsic
10881 @cindex ZSin intrinsic
10882 @cindex intrinsics, ZSin
10890 ZSin: @code{COMPLEX(KIND=2)} function.
10893 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10896 Intrinsic groups: @code{f2c}.
10901 Archaic form of @code{SIN()} that is specific
10902 to one type for @var{X}.
10903 @xref{Sin Intrinsic}.
10905 @node ZSqRt Intrinsic
10906 @subsubsection ZSqRt Intrinsic
10907 @cindex ZSqRt intrinsic
10908 @cindex intrinsics, ZSqRt
10916 ZSqRt: @code{COMPLEX(KIND=2)} function.
10919 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10922 Intrinsic groups: @code{f2c}.
10927 Archaic form of @code{SQRT()} that is specific
10928 to one type for @var{X}.
10929 @xref{SqRt Intrinsic}.