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 the @var{A} if
876 it is negative, or returning @var{A}.
878 @xref{Sign Intrinsic}, for how to explicitly
879 compute the positive or negative form of the absolute
880 value of an expression.
884 @node Access Intrinsic
885 @subsubsection Access Intrinsic
886 @cindex Access intrinsic
887 @cindex intrinsics, Access
891 Access(@var{Name}, @var{Mode})
895 Access: @code{INTEGER(KIND=1)} function.
898 @var{Name}: @code{CHARACTER}; scalar; INTENT(IN).
901 @var{Mode}: @code{CHARACTER}; scalar; INTENT(IN).
904 Intrinsic groups: @code{unix}.
909 Checks file @var{Name} for accessibility in the mode specified by @var{Mode} and
910 returns 0 if the file is accessible in that mode, otherwise an error
911 code if the file is inaccessible or @var{Mode} is invalid.
912 See @code{access(2)}.
913 A null character (@samp{CHAR(0)}) marks the end of
914 the name in @var{Name}---otherwise,
915 trailing blanks in @var{Name} are ignored.
916 @var{Mode} may be a concatenation of any of the following characters:
934 @node AChar Intrinsic
935 @subsubsection AChar Intrinsic
936 @cindex AChar intrinsic
937 @cindex intrinsics, AChar
945 AChar: @code{CHARACTER*1} function.
948 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
951 Intrinsic groups: @code{f2c}, @code{f90}.
956 Returns the ASCII character corresponding to the
957 code specified by @var{I}.
959 @xref{IAChar Intrinsic}, for the inverse of this function.
961 @xref{Char Intrinsic}, for the function corresponding
962 to the system's native character set.
967 @subsubsection ACos Intrinsic
968 @cindex ACos intrinsic
969 @cindex intrinsics, ACos
977 ACos: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
980 @var{X}: @code{REAL}; scalar; INTENT(IN).
983 Intrinsic groups: (standard FORTRAN 77).
988 Returns the arc-cosine (inverse cosine) of @var{X}
991 @xref{Cos Intrinsic}, for the inverse of this function.
995 @node ACosD Intrinsic
996 @subsubsection ACosD Intrinsic
997 @cindex ACosD intrinsic
998 @cindex intrinsics, ACosD
1000 This intrinsic is not yet implemented.
1001 The name is, however, reserved as an intrinsic.
1002 Use @samp{EXTERNAL ACosD} to use this name for an
1007 @node AdjustL Intrinsic
1008 @subsubsection AdjustL Intrinsic
1009 @cindex AdjustL intrinsic
1010 @cindex intrinsics, AdjustL
1012 This intrinsic is not yet implemented.
1013 The name is, however, reserved as an intrinsic.
1014 Use @samp{EXTERNAL AdjustL} to use this name for an
1017 @node AdjustR Intrinsic
1018 @subsubsection AdjustR Intrinsic
1019 @cindex AdjustR intrinsic
1020 @cindex intrinsics, AdjustR
1022 This intrinsic is not yet implemented.
1023 The name is, however, reserved as an intrinsic.
1024 Use @samp{EXTERNAL AdjustR} to use this name for an
1029 @node AImag Intrinsic
1030 @subsubsection AImag Intrinsic
1031 @cindex AImag intrinsic
1032 @cindex intrinsics, AImag
1040 AImag: @code{REAL} function.
1041 This intrinsic is valid when argument @var{Z} is
1042 @code{COMPLEX(KIND=1)}.
1043 When @var{Z} is any other @code{COMPLEX} type,
1044 this intrinsic is valid only when used as the argument to
1045 @code{REAL()}, as explained below.
1048 @var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
1051 Intrinsic groups: (standard FORTRAN 77).
1056 Returns the (possibly converted) imaginary part of @var{Z}.
1058 Use of @code{AIMAG()} with an argument of a type
1059 other than @code{COMPLEX(KIND=1)} is restricted to the following case:
1066 This expression converts the imaginary part of Z to
1067 @code{REAL(KIND=1)}.
1069 @xref{REAL() and AIMAG() of Complex}, for more information.
1073 @node AIMax0 Intrinsic
1074 @subsubsection AIMax0 Intrinsic
1075 @cindex AIMax0 intrinsic
1076 @cindex intrinsics, AIMax0
1078 This intrinsic is not yet implemented.
1079 The name is, however, reserved as an intrinsic.
1080 Use @samp{EXTERNAL AIMax0} to use this name for an
1083 @node AIMin0 Intrinsic
1084 @subsubsection AIMin0 Intrinsic
1085 @cindex AIMin0 intrinsic
1086 @cindex intrinsics, AIMin0
1088 This intrinsic is not yet implemented.
1089 The name is, however, reserved as an intrinsic.
1090 Use @samp{EXTERNAL AIMin0} to use this name for an
1095 @node AInt Intrinsic
1096 @subsubsection AInt Intrinsic
1097 @cindex AInt intrinsic
1098 @cindex intrinsics, AInt
1106 AInt: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{A}.
1109 @var{A}: @code{REAL}; scalar; INTENT(IN).
1112 Intrinsic groups: (standard FORTRAN 77).
1117 Returns @var{A} with the fractional portion of its
1118 magnitude truncated and its sign preserved.
1119 (Also called ``truncation towards zero''.)
1121 @xref{ANInt Intrinsic}, for how to round to nearest
1124 @xref{Int Intrinsic}, for how to truncate and then convert
1125 number to @code{INTEGER}.
1129 @node AJMax0 Intrinsic
1130 @subsubsection AJMax0 Intrinsic
1131 @cindex AJMax0 intrinsic
1132 @cindex intrinsics, AJMax0
1134 This intrinsic is not yet implemented.
1135 The name is, however, reserved as an intrinsic.
1136 Use @samp{EXTERNAL AJMax0} to use this name for an
1139 @node AJMin0 Intrinsic
1140 @subsubsection AJMin0 Intrinsic
1141 @cindex AJMin0 intrinsic
1142 @cindex intrinsics, AJMin0
1144 This intrinsic is not yet implemented.
1145 The name is, however, reserved as an intrinsic.
1146 Use @samp{EXTERNAL AJMin0} to use this name for an
1151 @node Alarm Intrinsic
1152 @subsubsection Alarm Intrinsic
1153 @cindex Alarm intrinsic
1154 @cindex intrinsics, Alarm
1158 CALL Alarm(@var{Seconds}, @var{Handler}, @var{Status})
1162 @var{Seconds}: @code{INTEGER}; scalar; INTENT(IN).
1165 @var{Handler}: Signal handler (@code{INTEGER FUNCTION} or @code{SUBROUTINE})
1166 or dummy/global @code{INTEGER(KIND=1)} scalar.
1169 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
1172 Intrinsic groups: @code{unix}.
1177 Causes external subroutine @var{Handler} to be executed after a delay of
1178 @var{Seconds} seconds by using @code{alarm(1)} to set up a signal and
1179 @code{signal(2)} to catch it.
1180 If @var{Status} is supplied, it will be
1181 returned with the number of seconds remaining until any previously
1182 scheduled alarm was due to be delivered, or zero if there was no
1183 previously scheduled alarm.
1184 @xref{Signal Intrinsic (subroutine)}.
1189 @subsubsection All Intrinsic
1190 @cindex All intrinsic
1191 @cindex intrinsics, All
1193 This intrinsic is not yet implemented.
1194 The name is, however, reserved as an intrinsic.
1195 Use @samp{EXTERNAL All} to use this name for an
1198 @node Allocated Intrinsic
1199 @subsubsection Allocated Intrinsic
1200 @cindex Allocated intrinsic
1201 @cindex intrinsics, Allocated
1203 This intrinsic is not yet implemented.
1204 The name is, however, reserved as an intrinsic.
1205 Use @samp{EXTERNAL Allocated} to use this name for an
1210 @node ALog Intrinsic
1211 @subsubsection ALog Intrinsic
1212 @cindex ALog intrinsic
1213 @cindex intrinsics, ALog
1221 ALog: @code{REAL(KIND=1)} function.
1224 @var{X}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
1227 Intrinsic groups: (standard FORTRAN 77).
1232 Archaic form of @code{LOG()} that is specific
1233 to one type for @var{X}.
1234 @xref{Log Intrinsic}.
1236 @node ALog10 Intrinsic
1237 @subsubsection ALog10 Intrinsic
1238 @cindex ALog10 intrinsic
1239 @cindex intrinsics, ALog10
1247 ALog10: @code{REAL(KIND=1)} function.
1250 @var{X}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
1253 Intrinsic groups: (standard FORTRAN 77).
1258 Archaic form of @code{LOG10()} that is specific
1259 to one type for @var{X}.
1260 @xref{Log10 Intrinsic}.
1262 @node AMax0 Intrinsic
1263 @subsubsection AMax0 Intrinsic
1264 @cindex AMax0 intrinsic
1265 @cindex intrinsics, AMax0
1269 AMax0(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
1273 AMax0: @code{REAL(KIND=1)} function.
1276 @var{A}: @code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
1279 Intrinsic groups: (standard FORTRAN 77).
1284 Archaic form of @code{MAX()} that is specific
1285 to one type for @var{A} and a different return type.
1286 @xref{Max Intrinsic}.
1288 @node AMax1 Intrinsic
1289 @subsubsection AMax1 Intrinsic
1290 @cindex AMax1 intrinsic
1291 @cindex intrinsics, AMax1
1295 AMax1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
1299 AMax1: @code{REAL(KIND=1)} function.
1302 @var{A}: @code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
1305 Intrinsic groups: (standard FORTRAN 77).
1310 Archaic form of @code{MAX()} that is specific
1311 to one type for @var{A}.
1312 @xref{Max Intrinsic}.
1314 @node AMin0 Intrinsic
1315 @subsubsection AMin0 Intrinsic
1316 @cindex AMin0 intrinsic
1317 @cindex intrinsics, AMin0
1321 AMin0(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
1325 AMin0: @code{REAL(KIND=1)} function.
1328 @var{A}: @code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
1331 Intrinsic groups: (standard FORTRAN 77).
1336 Archaic form of @code{MIN()} that is specific
1337 to one type for @var{A} and a different return type.
1338 @xref{Min Intrinsic}.
1340 @node AMin1 Intrinsic
1341 @subsubsection AMin1 Intrinsic
1342 @cindex AMin1 intrinsic
1343 @cindex intrinsics, AMin1
1347 AMin1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
1351 AMin1: @code{REAL(KIND=1)} function.
1354 @var{A}: @code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
1357 Intrinsic groups: (standard FORTRAN 77).
1362 Archaic form of @code{MIN()} that is specific
1363 to one type for @var{A}.
1364 @xref{Min Intrinsic}.
1366 @node AMod Intrinsic
1367 @subsubsection AMod Intrinsic
1368 @cindex AMod intrinsic
1369 @cindex intrinsics, AMod
1373 AMod(@var{A}, @var{P})
1377 AMod: @code{REAL(KIND=1)} function.
1380 @var{A}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
1383 @var{P}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
1386 Intrinsic groups: (standard FORTRAN 77).
1391 Archaic form of @code{MOD()} that is specific
1392 to one type for @var{A}.
1393 @xref{Mod Intrinsic}.
1398 @subsubsection And Intrinsic
1399 @cindex And intrinsic
1400 @cindex intrinsics, And
1404 And(@var{I}, @var{J})
1408 And: @code{INTEGER} or @code{LOGICAL} function, the exact type being the result of cross-promoting the
1409 types of all the arguments.
1412 @var{I}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
1415 @var{J}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
1418 Intrinsic groups: @code{f2c}.
1423 Returns value resulting from boolean AND of
1424 pair of bits in each of @var{I} and @var{J}.
1428 @node ANInt Intrinsic
1429 @subsubsection ANInt Intrinsic
1430 @cindex ANInt intrinsic
1431 @cindex intrinsics, ANInt
1439 ANInt: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{A}.
1442 @var{A}: @code{REAL}; scalar; INTENT(IN).
1445 Intrinsic groups: (standard FORTRAN 77).
1450 Returns @var{A} with the fractional portion of its
1451 magnitude eliminated by rounding to the nearest whole
1452 number and with its sign preserved.
1454 A fractional portion exactly equal to
1455 @samp{.5} is rounded to the whole number that
1456 is larger in magnitude.
1457 (Also called ``Fortran round''.)
1459 @xref{AInt Intrinsic}, for how to truncate to
1462 @xref{NInt Intrinsic}, for how to round and then convert
1463 number to @code{INTEGER}.
1468 @subsubsection Any Intrinsic
1469 @cindex Any intrinsic
1470 @cindex intrinsics, Any
1472 This intrinsic is not yet implemented.
1473 The name is, however, reserved as an intrinsic.
1474 Use @samp{EXTERNAL Any} to use this name for an
1479 @node ASin Intrinsic
1480 @subsubsection ASin Intrinsic
1481 @cindex ASin intrinsic
1482 @cindex intrinsics, ASin
1490 ASin: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1493 @var{X}: @code{REAL}; scalar; INTENT(IN).
1496 Intrinsic groups: (standard FORTRAN 77).
1501 Returns the arc-sine (inverse sine) of @var{X}
1504 @xref{Sin Intrinsic}, for the inverse of this function.
1508 @node ASinD Intrinsic
1509 @subsubsection ASinD Intrinsic
1510 @cindex ASinD intrinsic
1511 @cindex intrinsics, ASinD
1513 This intrinsic is not yet implemented.
1514 The name is, however, reserved as an intrinsic.
1515 Use @samp{EXTERNAL ASinD} to use this name for an
1520 @node Associated Intrinsic
1521 @subsubsection Associated Intrinsic
1522 @cindex Associated intrinsic
1523 @cindex intrinsics, Associated
1525 This intrinsic is not yet implemented.
1526 The name is, however, reserved as an intrinsic.
1527 Use @samp{EXTERNAL Associated} to use this name for an
1532 @node ATan Intrinsic
1533 @subsubsection ATan Intrinsic
1534 @cindex ATan intrinsic
1535 @cindex intrinsics, ATan
1543 ATan: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1546 @var{X}: @code{REAL}; scalar; INTENT(IN).
1549 Intrinsic groups: (standard FORTRAN 77).
1554 Returns the arc-tangent (inverse tangent) of @var{X}
1557 @xref{Tan Intrinsic}, for the inverse of this function.
1559 @node ATan2 Intrinsic
1560 @subsubsection ATan2 Intrinsic
1561 @cindex ATan2 intrinsic
1562 @cindex intrinsics, ATan2
1566 ATan2(@var{Y}, @var{X})
1570 ATan2: @code{REAL} function, the exact type being the result of cross-promoting the
1571 types of all the arguments.
1574 @var{Y}: @code{REAL}; scalar; INTENT(IN).
1577 @var{X}: @code{REAL}; scalar; INTENT(IN).
1580 Intrinsic groups: (standard FORTRAN 77).
1585 Returns the arc-tangent (inverse tangent) of the complex
1586 number (@var{Y}, @var{X}) in radians.
1588 @xref{Tan Intrinsic}, for the inverse of this function.
1592 @node ATan2D Intrinsic
1593 @subsubsection ATan2D Intrinsic
1594 @cindex ATan2D intrinsic
1595 @cindex intrinsics, ATan2D
1597 This intrinsic is not yet implemented.
1598 The name is, however, reserved as an intrinsic.
1599 Use @samp{EXTERNAL ATan2D} to use this name for an
1602 @node ATanD Intrinsic
1603 @subsubsection ATanD Intrinsic
1604 @cindex ATanD intrinsic
1605 @cindex intrinsics, ATanD
1607 This intrinsic is not yet implemented.
1608 The name is, however, reserved as an intrinsic.
1609 Use @samp{EXTERNAL ATanD} to use this name for an
1614 @node BesJ0 Intrinsic
1615 @subsubsection BesJ0 Intrinsic
1616 @cindex BesJ0 intrinsic
1617 @cindex intrinsics, BesJ0
1625 BesJ0: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1628 @var{X}: @code{REAL}; scalar; INTENT(IN).
1631 Intrinsic groups: @code{unix}.
1636 Calculates the Bessel function of the first kind of order 0 of @var{X}.
1637 See @code{bessel(3m)}, on whose implementation the function depends.
1638 @node BesJ1 Intrinsic
1639 @subsubsection BesJ1 Intrinsic
1640 @cindex BesJ1 intrinsic
1641 @cindex intrinsics, BesJ1
1649 BesJ1: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1652 @var{X}: @code{REAL}; scalar; INTENT(IN).
1655 Intrinsic groups: @code{unix}.
1660 Calculates the Bessel function of the first kind of order 1 of @var{X}.
1661 See @code{bessel(3m)}, on whose implementation the function depends.
1662 @node BesJN Intrinsic
1663 @subsubsection BesJN Intrinsic
1664 @cindex BesJN intrinsic
1665 @cindex intrinsics, BesJN
1669 BesJN(@var{N}, @var{X})
1673 BesJN: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1676 @var{N}: @code{INTEGER}; scalar; INTENT(IN).
1679 @var{X}: @code{REAL}; scalar; INTENT(IN).
1682 Intrinsic groups: @code{unix}.
1687 Calculates the Bessel function of the first kind of order @var{N} of @var{X}.
1688 See @code{bessel(3m)}, on whose implementation the function depends.
1689 @node BesY0 Intrinsic
1690 @subsubsection BesY0 Intrinsic
1691 @cindex BesY0 intrinsic
1692 @cindex intrinsics, BesY0
1700 BesY0: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1703 @var{X}: @code{REAL}; scalar; INTENT(IN).
1706 Intrinsic groups: @code{unix}.
1711 Calculates the Bessel function of the second kind of order 0 of @var{X}.
1712 See @code{bessel(3m)}, on whose implementation the function depends.
1713 @node BesY1 Intrinsic
1714 @subsubsection BesY1 Intrinsic
1715 @cindex BesY1 intrinsic
1716 @cindex intrinsics, BesY1
1724 BesY1: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1727 @var{X}: @code{REAL}; scalar; INTENT(IN).
1730 Intrinsic groups: @code{unix}.
1735 Calculates the Bessel function of the second kind of order 1 of @var{X}.
1736 See @code{bessel(3m)}, on whose implementation the function depends.
1737 @node BesYN Intrinsic
1738 @subsubsection BesYN Intrinsic
1739 @cindex BesYN intrinsic
1740 @cindex intrinsics, BesYN
1744 BesYN(@var{N}, @var{X})
1748 BesYN: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1751 @var{N}: @code{INTEGER}; scalar; INTENT(IN).
1754 @var{X}: @code{REAL}; scalar; INTENT(IN).
1757 Intrinsic groups: @code{unix}.
1762 Calculates the Bessel function of the second kind of order @var{N} of @var{X}.
1763 See @code{bessel(3m)}, on whose implementation the function depends.
1766 @node BITest Intrinsic
1767 @subsubsection BITest Intrinsic
1768 @cindex BITest intrinsic
1769 @cindex intrinsics, BITest
1771 This intrinsic is not yet implemented.
1772 The name is, however, reserved as an intrinsic.
1773 Use @samp{EXTERNAL BITest} to use this name for an
1778 @node Bit_Size Intrinsic
1779 @subsubsection Bit_Size Intrinsic
1780 @cindex Bit_Size intrinsic
1781 @cindex intrinsics, Bit_Size
1789 Bit_Size: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
1792 @var{I}: @code{INTEGER}; scalar.
1795 Intrinsic groups: @code{f90}.
1800 Returns the number of bits (integer precision plus sign bit)
1801 represented by the type for @var{I}.
1803 @xref{BTest Intrinsic}, for how to test the value of a
1804 bit in a variable or array.
1806 @xref{IBSet Intrinsic}, for how to set a bit in a variable to 1.
1808 @xref{IBClr Intrinsic}, for how to set a bit in a variable to 0.
1813 @node BJTest Intrinsic
1814 @subsubsection BJTest Intrinsic
1815 @cindex BJTest intrinsic
1816 @cindex intrinsics, BJTest
1818 This intrinsic is not yet implemented.
1819 The name is, however, reserved as an intrinsic.
1820 Use @samp{EXTERNAL BJTest} to use this name for an
1825 @node BTest Intrinsic
1826 @subsubsection BTest Intrinsic
1827 @cindex BTest intrinsic
1828 @cindex intrinsics, BTest
1832 BTest(@var{I}, @var{Pos})
1836 BTest: @code{LOGICAL(KIND=1)} function.
1839 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
1842 @var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
1845 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
1850 Returns @code{.TRUE.} if bit @var{Pos} in @var{I} is
1851 1, @code{.FALSE.} otherwise.
1853 (Bit 0 is the low-order (rightmost) bit, adding the value
1863 to the number if set to 1;
1864 bit 1 is the next-higher-order bit, adding
1885 @xref{Bit_Size Intrinsic}, for how to obtain the number of bits
1887 The leftmost bit of @var{I} is @samp{BIT_SIZE(@var{I}-1)}.
1891 @node CAbs Intrinsic
1892 @subsubsection CAbs Intrinsic
1893 @cindex CAbs intrinsic
1894 @cindex intrinsics, CAbs
1902 CAbs: @code{REAL(KIND=1)} function.
1905 @var{A}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
1908 Intrinsic groups: (standard FORTRAN 77).
1913 Archaic form of @code{ABS()} that is specific
1914 to one type for @var{A}.
1915 @xref{Abs Intrinsic}.
1917 @node CCos Intrinsic
1918 @subsubsection CCos Intrinsic
1919 @cindex CCos intrinsic
1920 @cindex intrinsics, CCos
1928 CCos: @code{COMPLEX(KIND=1)} function.
1931 @var{X}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
1934 Intrinsic groups: (standard FORTRAN 77).
1939 Archaic form of @code{COS()} that is specific
1940 to one type for @var{X}.
1941 @xref{Cos Intrinsic}.
1945 @node CDAbs Intrinsic
1946 @subsubsection CDAbs Intrinsic
1947 @cindex CDAbs intrinsic
1948 @cindex intrinsics, CDAbs
1956 CDAbs: @code{REAL(KIND=2)} function.
1959 @var{A}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
1962 Intrinsic groups: @code{f2c}, @code{vxt}.
1967 Archaic form of @code{ABS()} that is specific
1968 to one type for @var{A}.
1969 @xref{Abs Intrinsic}.
1971 @node CDCos Intrinsic
1972 @subsubsection CDCos Intrinsic
1973 @cindex CDCos intrinsic
1974 @cindex intrinsics, CDCos
1982 CDCos: @code{COMPLEX(KIND=2)} function.
1985 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
1988 Intrinsic groups: @code{f2c}, @code{vxt}.
1993 Archaic form of @code{COS()} that is specific
1994 to one type for @var{X}.
1995 @xref{Cos Intrinsic}.
1997 @node CDExp Intrinsic
1998 @subsubsection CDExp Intrinsic
1999 @cindex CDExp intrinsic
2000 @cindex intrinsics, CDExp
2008 CDExp: @code{COMPLEX(KIND=2)} function.
2011 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
2014 Intrinsic groups: @code{f2c}, @code{vxt}.
2019 Archaic form of @code{EXP()} that is specific
2020 to one type for @var{X}.
2021 @xref{Exp Intrinsic}.
2023 @node CDLog Intrinsic
2024 @subsubsection CDLog Intrinsic
2025 @cindex CDLog intrinsic
2026 @cindex intrinsics, CDLog
2034 CDLog: @code{COMPLEX(KIND=2)} function.
2037 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
2040 Intrinsic groups: @code{f2c}, @code{vxt}.
2045 Archaic form of @code{LOG()} that is specific
2046 to one type for @var{X}.
2047 @xref{Log Intrinsic}.
2049 @node CDSin Intrinsic
2050 @subsubsection CDSin Intrinsic
2051 @cindex CDSin intrinsic
2052 @cindex intrinsics, CDSin
2060 CDSin: @code{COMPLEX(KIND=2)} function.
2063 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
2066 Intrinsic groups: @code{f2c}, @code{vxt}.
2071 Archaic form of @code{SIN()} that is specific
2072 to one type for @var{X}.
2073 @xref{Sin Intrinsic}.
2075 @node CDSqRt Intrinsic
2076 @subsubsection CDSqRt Intrinsic
2077 @cindex CDSqRt intrinsic
2078 @cindex intrinsics, CDSqRt
2086 CDSqRt: @code{COMPLEX(KIND=2)} function.
2089 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
2092 Intrinsic groups: @code{f2c}, @code{vxt}.
2097 Archaic form of @code{SQRT()} that is specific
2098 to one type for @var{X}.
2099 @xref{SqRt Intrinsic}.
2103 @node Ceiling Intrinsic
2104 @subsubsection Ceiling Intrinsic
2105 @cindex Ceiling intrinsic
2106 @cindex intrinsics, Ceiling
2108 This intrinsic is not yet implemented.
2109 The name is, however, reserved as an intrinsic.
2110 Use @samp{EXTERNAL Ceiling} to use this name for an
2115 @node CExp Intrinsic
2116 @subsubsection CExp Intrinsic
2117 @cindex CExp intrinsic
2118 @cindex intrinsics, CExp
2126 CExp: @code{COMPLEX(KIND=1)} function.
2129 @var{X}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
2132 Intrinsic groups: (standard FORTRAN 77).
2137 Archaic form of @code{EXP()} that is specific
2138 to one type for @var{X}.
2139 @xref{Exp Intrinsic}.
2141 @node Char Intrinsic
2142 @subsubsection Char Intrinsic
2143 @cindex Char intrinsic
2144 @cindex intrinsics, Char
2152 Char: @code{CHARACTER*1} function.
2155 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
2158 Intrinsic groups: (standard FORTRAN 77).
2163 Returns the character corresponding to the
2164 code specified by @var{I}, using the system's
2165 native character set.
2167 Because the system's native character set is used,
2168 the correspondence between character and their codes
2169 is not necessarily the same between GNU Fortran
2172 Note that no intrinsic exists to convert a numerical
2173 value to a printable character string.
2174 For example, there is no intrinsic that, given
2175 an @code{INTEGER} or @code{REAL} argument with the
2176 value @samp{154}, returns the @code{CHARACTER}
2177 result @samp{'154'}.
2179 Instead, you can use internal-file I/O to do this kind
2187 WRITE (STRING, '(I10)'), VALUE
2192 The above program, when run, prints:
2198 @xref{IChar Intrinsic}, for the inverse of the @code{CHAR} function.
2200 @xref{AChar Intrinsic}, for the function corresponding
2201 to the ASCII character set.
2205 @node ChDir Intrinsic (subroutine)
2206 @subsubsection ChDir Intrinsic (subroutine)
2207 @cindex ChDir intrinsic
2208 @cindex intrinsics, ChDir
2212 CALL ChDir(@var{Dir}, @var{Status})
2216 @var{Dir}: @code{CHARACTER}; scalar; INTENT(IN).
2219 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
2222 Intrinsic groups: @code{unix}.
2227 Sets the current working directory to be @var{Dir}.
2228 If the @var{Status} argument is supplied, it contains 0
2229 on success or a non-zero error code otherwise upon return.
2230 See @code{chdir(3)}.
2232 @emph{Caution:} Using this routine during I/O to a unit connected with a
2233 non-absolute file name can cause subsequent I/O on such a unit to fail
2234 because the I/O library might reopen files by name.
2236 Some non-GNU implementations of Fortran provide this intrinsic as
2237 only a function, not as a subroutine, or do not support the
2238 (optional) @var{Status} argument.
2240 For information on other intrinsics with the same name:
2241 @xref{ChDir Intrinsic (function)}.
2245 @node ChDir Intrinsic (function)
2246 @subsubsection ChDir Intrinsic (function)
2247 @cindex ChDir intrinsic
2248 @cindex intrinsics, ChDir
2256 ChDir: @code{INTEGER(KIND=1)} function.
2259 @var{Dir}: @code{CHARACTER}; scalar; INTENT(IN).
2262 Intrinsic groups: @code{badu77}.
2267 Sets the current working directory to be @var{Dir}.
2268 Returns 0 on success or a non-zero error code.
2269 See @code{chdir(3)}.
2271 @emph{Caution:} Using this routine during I/O to a unit connected with a
2272 non-absolute file name can cause subsequent I/O on such a unit to fail
2273 because the I/O library might reopen files by name.
2275 Due to the side effects performed by this intrinsic, the function
2276 form is not recommended.
2278 For information on other intrinsics with the same name:
2279 @xref{ChDir Intrinsic (subroutine)}.
2283 @node ChMod Intrinsic (subroutine)
2284 @subsubsection ChMod Intrinsic (subroutine)
2285 @cindex ChMod intrinsic
2286 @cindex intrinsics, ChMod
2290 CALL ChMod(@var{Name}, @var{Mode}, @var{Status})
2294 @var{Name}: @code{CHARACTER}; scalar; INTENT(IN).
2297 @var{Mode}: @code{CHARACTER}; scalar; INTENT(IN).
2300 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
2303 Intrinsic groups: @code{unix}.
2308 Changes the access mode of file @var{Name} according to the
2309 specification @var{Mode}, which is given in the format of
2311 A null character (@samp{CHAR(0)}) marks the end of
2312 the name in @var{Name}---otherwise,
2313 trailing blanks in @var{Name} are ignored.
2314 Currently, @var{Name} must not contain the single quote
2317 If the @var{Status} argument is supplied, it contains
2318 0 on success or a non-zero error code upon return.
2320 Note that this currently works
2321 by actually invoking @code{/bin/chmod} (or the @code{chmod} found when
2322 the library was configured) and so might fail in some circumstances and
2323 will, anyway, be slow.
2325 Some non-GNU implementations of Fortran provide this intrinsic as
2326 only a function, not as a subroutine, or do not support the
2327 (optional) @var{Status} argument.
2329 For information on other intrinsics with the same name:
2330 @xref{ChMod Intrinsic (function)}.
2334 @node ChMod Intrinsic (function)
2335 @subsubsection ChMod Intrinsic (function)
2336 @cindex ChMod intrinsic
2337 @cindex intrinsics, ChMod
2341 ChMod(@var{Name}, @var{Mode})
2345 ChMod: @code{INTEGER(KIND=1)} function.
2348 @var{Name}: @code{CHARACTER}; scalar; INTENT(IN).
2351 @var{Mode}: @code{CHARACTER}; scalar; INTENT(IN).
2354 Intrinsic groups: @code{badu77}.
2359 Changes the access mode of file @var{Name} according to the
2360 specification @var{Mode}, which is given in the format of
2362 A null character (@samp{CHAR(0)}) marks the end of
2363 the name in @var{Name}---otherwise,
2364 trailing blanks in @var{Name} are ignored.
2365 Currently, @var{Name} must not contain the single quote
2368 Returns 0 on success or a non-zero error code otherwise.
2370 Note that this currently works
2371 by actually invoking @code{/bin/chmod} (or the @code{chmod} found when
2372 the library was configured) and so might fail in some circumstances and
2373 will, anyway, be slow.
2375 Due to the side effects performed by this intrinsic, the function
2376 form is not recommended.
2378 For information on other intrinsics with the same name:
2379 @xref{ChMod Intrinsic (subroutine)}.
2383 @node CLog Intrinsic
2384 @subsubsection CLog Intrinsic
2385 @cindex CLog intrinsic
2386 @cindex intrinsics, CLog
2394 CLog: @code{COMPLEX(KIND=1)} function.
2397 @var{X}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
2400 Intrinsic groups: (standard FORTRAN 77).
2405 Archaic form of @code{LOG()} that is specific
2406 to one type for @var{X}.
2407 @xref{Log Intrinsic}.
2409 @node Cmplx Intrinsic
2410 @subsubsection Cmplx Intrinsic
2411 @cindex Cmplx intrinsic
2412 @cindex intrinsics, Cmplx
2416 Cmplx(@var{X}, @var{Y})
2420 Cmplx: @code{COMPLEX(KIND=1)} function.
2423 @var{X}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
2426 @var{Y}: @code{INTEGER} or @code{REAL}; OPTIONAL (must be omitted if @var{X} is @code{COMPLEX}); scalar; INTENT(IN).
2429 Intrinsic groups: (standard FORTRAN 77).
2434 If @var{X} is not type @code{COMPLEX},
2435 constructs a value of type @code{COMPLEX(KIND=1)} from the
2436 real and imaginary values specified by @var{X} and
2437 @var{Y}, respectively.
2438 If @var{Y} is omitted, @samp{0.} is assumed.
2440 If @var{X} is type @code{COMPLEX},
2441 converts it to type @code{COMPLEX(KIND=1)}.
2443 @xref{Complex Intrinsic}, for information on easily constructing
2444 a @code{COMPLEX} value of arbitrary precision from @code{REAL}
2449 @node Complex Intrinsic
2450 @subsubsection Complex Intrinsic
2451 @cindex Complex intrinsic
2452 @cindex intrinsics, Complex
2456 Complex(@var{Real}, @var{Imag})
2460 Complex: @code{COMPLEX} function, the exact type being the result of cross-promoting the
2461 types of all the arguments.
2464 @var{Real}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
2467 @var{Imag}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
2470 Intrinsic groups: @code{gnu}.
2475 Returns a @code{COMPLEX} value that has @samp{Real} and @samp{Imag} as its
2476 real and imaginary parts, respectively.
2478 If @var{Real} and @var{Imag} are the same type, and that type is not
2479 @code{INTEGER}, no data conversion is performed, and the type of
2480 the resulting value has the same kind value as the types
2481 of @var{Real} and @var{Imag}.
2483 If @var{Real} and @var{Imag} are not the same type, the usual type-promotion
2484 rules are applied to both, converting either or both to the
2485 appropriate @code{REAL} type.
2486 The type of the resulting value has the same kind value as the
2487 type to which both @var{Real} and @var{Imag} were converted, in this case.
2489 If @var{Real} and @var{Imag} are both @code{INTEGER}, they are both converted
2490 to @code{REAL(KIND=1)}, and the result of the @code{COMPLEX()}
2491 invocation is type @code{COMPLEX(KIND=1)}.
2493 @emph{Note:} The way to do this in standard Fortran 90
2494 is too hairy to describe here, but it is important to
2495 note that @samp{CMPLX(D1,D2)} returns a @code{COMPLEX(KIND=1)}
2496 result even if @samp{D1} and @samp{D2} are type @code{REAL(KIND=2)}.
2497 Hence the availability of @code{COMPLEX()} in GNU Fortran.
2501 @node Conjg Intrinsic
2502 @subsubsection Conjg Intrinsic
2503 @cindex Conjg intrinsic
2504 @cindex intrinsics, Conjg
2512 Conjg: @code{COMPLEX} function, the @samp{KIND=} value of the type being that of argument @var{Z}.
2515 @var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
2518 Intrinsic groups: (standard FORTRAN 77).
2523 Returns the complex conjugate:
2526 COMPLEX(REALPART(@var{Z}), -IMAGPART(@var{Z}))
2530 @subsubsection Cos Intrinsic
2531 @cindex Cos intrinsic
2532 @cindex intrinsics, Cos
2540 Cos: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
2543 @var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
2546 Intrinsic groups: (standard FORTRAN 77).
2551 Returns the cosine of @var{X}, an angle measured
2554 @xref{ACos Intrinsic}, for the inverse of this function.
2558 @node CosD Intrinsic
2559 @subsubsection CosD Intrinsic
2560 @cindex CosD intrinsic
2561 @cindex intrinsics, CosD
2563 This intrinsic is not yet implemented.
2564 The name is, however, reserved as an intrinsic.
2565 Use @samp{EXTERNAL CosD} to use this name for an
2570 @node CosH Intrinsic
2571 @subsubsection CosH Intrinsic
2572 @cindex CosH intrinsic
2573 @cindex intrinsics, CosH
2581 CosH: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
2584 @var{X}: @code{REAL}; scalar; INTENT(IN).
2587 Intrinsic groups: (standard FORTRAN 77).
2592 Returns the hyperbolic cosine of @var{X}.
2596 @node Count Intrinsic
2597 @subsubsection Count Intrinsic
2598 @cindex Count intrinsic
2599 @cindex intrinsics, Count
2601 This intrinsic is not yet implemented.
2602 The name is, however, reserved as an intrinsic.
2603 Use @samp{EXTERNAL Count} to use this name for an
2606 @node CPU_Time Intrinsic
2607 @subsubsection CPU_Time Intrinsic
2608 @cindex CPU_Time intrinsic
2609 @cindex intrinsics, CPU_Time
2613 CALL CPU_Time(@var{Seconds})
2617 @var{Seconds}: @code{REAL}; scalar; INTENT(OUT).
2620 Intrinsic groups: @code{f90}.
2625 Returns in @var{Seconds} the current value of the system time.
2626 This implementation of the Fortran 95 intrinsic is just an alias for
2627 @code{second} @xref{Second Intrinsic (subroutine)}.
2629 @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{Result}, @var{STime})
2716 @var{Result}: @code{CHARACTER}; scalar; INTENT(OUT).
2719 @var{STime}: @code{INTEGER}; scalar; INTENT(IN).
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 and milliseconds
3030 of the second in successive values of the array.
3033 @cindex Y10K compliance
3034 @cindex Year 10000 compliance
3035 @cindex wraparound, Y10K
3036 @cindex limits, Y10K
3037 Programs making use of this intrinsic
3038 might not be Year 10000 (Y10K) compliant.
3039 For example, the date might appear,
3040 to such programs, to wrap around
3041 (change from a larger value to a smaller one)
3042 as of the Year 10000.
3044 On systems where a millisecond timer isn't available, the millisecond
3045 value is returned as zero.
3049 @node DbesJ0 Intrinsic
3050 @subsubsection DbesJ0 Intrinsic
3051 @cindex DbesJ0 intrinsic
3052 @cindex intrinsics, DbesJ0
3060 DbesJ0: @code{REAL(KIND=2)} function.
3063 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3066 Intrinsic groups: @code{unix}.
3071 Archaic form of @code{BESJ0()} that is specific
3072 to one type for @var{X}.
3073 @xref{BesJ0 Intrinsic}.
3075 @node DbesJ1 Intrinsic
3076 @subsubsection DbesJ1 Intrinsic
3077 @cindex DbesJ1 intrinsic
3078 @cindex intrinsics, DbesJ1
3086 DbesJ1: @code{REAL(KIND=2)} function.
3089 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3092 Intrinsic groups: @code{unix}.
3097 Archaic form of @code{BESJ1()} that is specific
3098 to one type for @var{X}.
3099 @xref{BesJ1 Intrinsic}.
3101 @node DbesJN Intrinsic
3102 @subsubsection DbesJN Intrinsic
3103 @cindex DbesJN intrinsic
3104 @cindex intrinsics, DbesJN
3108 DbesJN(@var{N}, @var{X})
3112 DbesJN: @code{REAL(KIND=2)} function.
3115 @var{N}: @code{INTEGER}; scalar; INTENT(IN).
3118 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3121 Intrinsic groups: @code{unix}.
3126 Archaic form of @code{BESJN()} that is specific
3127 to one type for @var{X}.
3128 @xref{BesJN Intrinsic}.
3130 @node DbesY0 Intrinsic
3131 @subsubsection DbesY0 Intrinsic
3132 @cindex DbesY0 intrinsic
3133 @cindex intrinsics, DbesY0
3141 DbesY0: @code{REAL(KIND=2)} function.
3144 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3147 Intrinsic groups: @code{unix}.
3152 Archaic form of @code{BESY0()} that is specific
3153 to one type for @var{X}.
3154 @xref{BesY0 Intrinsic}.
3156 @node DbesY1 Intrinsic
3157 @subsubsection DbesY1 Intrinsic
3158 @cindex DbesY1 intrinsic
3159 @cindex intrinsics, DbesY1
3167 DbesY1: @code{REAL(KIND=2)} function.
3170 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3173 Intrinsic groups: @code{unix}.
3178 Archaic form of @code{BESY1()} that is specific
3179 to one type for @var{X}.
3180 @xref{BesY1 Intrinsic}.
3182 @node DbesYN Intrinsic
3183 @subsubsection DbesYN Intrinsic
3184 @cindex DbesYN intrinsic
3185 @cindex intrinsics, DbesYN
3189 DbesYN(@var{N}, @var{X})
3193 DbesYN: @code{REAL(KIND=2)} function.
3196 @var{N}: @code{INTEGER}; scalar; INTENT(IN).
3199 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3202 Intrinsic groups: @code{unix}.
3207 Archaic form of @code{BESYN()} that is specific
3208 to one type for @var{X}.
3209 @xref{BesYN Intrinsic}.
3213 @node Dble Intrinsic
3214 @subsubsection Dble Intrinsic
3215 @cindex Dble intrinsic
3216 @cindex intrinsics, Dble
3224 Dble: @code{REAL(KIND=2)} function.
3227 @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
3230 Intrinsic groups: (standard FORTRAN 77).
3235 Returns @var{A} converted to double precision
3236 (@code{REAL(KIND=2)}).
3237 If @var{A} is @code{COMPLEX}, the real part of
3238 @var{A} is used for the conversion
3239 and the imaginary part disregarded.
3241 @xref{Sngl Intrinsic}, for the function that converts
3242 to single precision.
3244 @xref{Int Intrinsic}, for the function that converts
3247 @xref{Complex Intrinsic}, for the function that converts
3252 @node DbleQ Intrinsic
3253 @subsubsection DbleQ Intrinsic
3254 @cindex DbleQ intrinsic
3255 @cindex intrinsics, DbleQ
3257 This intrinsic is not yet implemented.
3258 The name is, however, reserved as an intrinsic.
3259 Use @samp{EXTERNAL DbleQ} to use this name for an
3264 @node DCmplx Intrinsic
3265 @subsubsection DCmplx Intrinsic
3266 @cindex DCmplx intrinsic
3267 @cindex intrinsics, DCmplx
3271 DCmplx(@var{X}, @var{Y})
3275 DCmplx: @code{COMPLEX(KIND=2)} function.
3278 @var{X}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
3281 @var{Y}: @code{INTEGER} or @code{REAL}; OPTIONAL (must be omitted if @var{X} is @code{COMPLEX}); scalar; INTENT(IN).
3284 Intrinsic groups: @code{f2c}, @code{vxt}.
3289 If @var{X} is not type @code{COMPLEX},
3290 constructs a value of type @code{COMPLEX(KIND=2)} from the
3291 real and imaginary values specified by @var{X} and
3292 @var{Y}, respectively.
3293 If @var{Y} is omitted, @samp{0D0} is assumed.
3295 If @var{X} is type @code{COMPLEX},
3296 converts it to type @code{COMPLEX(KIND=2)}.
3298 Although this intrinsic is not standard Fortran,
3299 it is a popular extension offered by many compilers
3300 that support @code{DOUBLE COMPLEX}, since it offers
3301 the easiest way to convert to @code{DOUBLE COMPLEX}
3302 without using Fortran 90 features (such as the @samp{KIND=}
3303 argument to the @code{CMPLX()} intrinsic).
3305 (@samp{CMPLX(0D0, 0D0)} returns a single-precision
3306 @code{COMPLEX} result, as required by standard FORTRAN 77.
3307 That's why so many compilers provide @code{DCMPLX()}, since
3308 @samp{DCMPLX(0D0, 0D0)} returns a @code{DOUBLE COMPLEX}
3310 Still, @code{DCMPLX()} converts even @code{REAL*16} arguments
3311 to their @code{REAL*8} equivalents in most dialects of
3312 Fortran, so neither it nor @code{CMPLX()} allow easy
3313 construction of arbitrary-precision values without
3314 potentially forcing a conversion involving extending or
3316 GNU Fortran provides such an intrinsic, called @code{COMPLEX()}.)
3318 @xref{Complex Intrinsic}, for information on easily constructing
3319 a @code{COMPLEX} value of arbitrary precision from @code{REAL}
3322 @node DConjg Intrinsic
3323 @subsubsection DConjg Intrinsic
3324 @cindex DConjg intrinsic
3325 @cindex intrinsics, DConjg
3333 DConjg: @code{COMPLEX(KIND=2)} function.
3336 @var{Z}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
3339 Intrinsic groups: @code{f2c}, @code{vxt}.
3344 Archaic form of @code{CONJG()} that is specific
3345 to one type for @var{Z}.
3346 @xref{Conjg Intrinsic}.
3350 @node DCos Intrinsic
3351 @subsubsection DCos Intrinsic
3352 @cindex DCos intrinsic
3353 @cindex intrinsics, DCos
3361 DCos: @code{REAL(KIND=2)} function.
3364 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3367 Intrinsic groups: (standard FORTRAN 77).
3372 Archaic form of @code{COS()} that is specific
3373 to one type for @var{X}.
3374 @xref{Cos Intrinsic}.
3378 @node DCosD Intrinsic
3379 @subsubsection DCosD Intrinsic
3380 @cindex DCosD intrinsic
3381 @cindex intrinsics, DCosD
3383 This intrinsic is not yet implemented.
3384 The name is, however, reserved as an intrinsic.
3385 Use @samp{EXTERNAL DCosD} to use this name for an
3390 @node DCosH Intrinsic
3391 @subsubsection DCosH Intrinsic
3392 @cindex DCosH intrinsic
3393 @cindex intrinsics, DCosH
3401 DCosH: @code{REAL(KIND=2)} function.
3404 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3407 Intrinsic groups: (standard FORTRAN 77).
3412 Archaic form of @code{COSH()} that is specific
3413 to one type for @var{X}.
3414 @xref{CosH Intrinsic}.
3416 @node DDiM Intrinsic
3417 @subsubsection DDiM Intrinsic
3418 @cindex DDiM intrinsic
3419 @cindex intrinsics, DDiM
3423 DDiM(@var{X}, @var{Y})
3427 DDiM: @code{REAL(KIND=2)} function.
3430 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3433 @var{Y}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3436 Intrinsic groups: (standard FORTRAN 77).
3441 Archaic form of @code{DIM()} that is specific
3442 to one type for @var{X} and @var{Y}.
3443 @xref{DiM Intrinsic}.
3447 @node DErF Intrinsic
3448 @subsubsection DErF Intrinsic
3449 @cindex DErF intrinsic
3450 @cindex intrinsics, DErF
3458 DErF: @code{REAL(KIND=2)} function.
3461 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3464 Intrinsic groups: @code{unix}.
3469 Archaic form of @code{ERF()} that is specific
3470 to one type for @var{X}.
3471 @xref{ErF Intrinsic}.
3473 @node DErFC Intrinsic
3474 @subsubsection DErFC Intrinsic
3475 @cindex DErFC intrinsic
3476 @cindex intrinsics, DErFC
3484 DErFC: @code{REAL(KIND=2)} function.
3487 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3490 Intrinsic groups: @code{unix}.
3495 Archaic form of @code{ERFC()} that is specific
3496 to one type for @var{X}.
3497 @xref{ErFC Intrinsic}.
3501 @node DExp Intrinsic
3502 @subsubsection DExp Intrinsic
3503 @cindex DExp intrinsic
3504 @cindex intrinsics, DExp
3512 DExp: @code{REAL(KIND=2)} function.
3515 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3518 Intrinsic groups: (standard FORTRAN 77).
3523 Archaic form of @code{EXP()} that is specific
3524 to one type for @var{X}.
3525 @xref{Exp Intrinsic}.
3529 @node DFloat Intrinsic
3530 @subsubsection DFloat Intrinsic
3531 @cindex DFloat intrinsic
3532 @cindex intrinsics, DFloat
3540 DFloat: @code{REAL(KIND=2)} function.
3543 @var{A}: @code{INTEGER}; scalar; INTENT(IN).
3546 Intrinsic groups: @code{f2c}, @code{vxt}.
3551 Archaic form of @code{REAL()} that is specific
3552 to one type for @var{A}.
3553 @xref{Real Intrinsic}.
3557 @node DFlotI Intrinsic
3558 @subsubsection DFlotI Intrinsic
3559 @cindex DFlotI intrinsic
3560 @cindex intrinsics, DFlotI
3562 This intrinsic is not yet implemented.
3563 The name is, however, reserved as an intrinsic.
3564 Use @samp{EXTERNAL DFlotI} to use this name for an
3567 @node DFlotJ Intrinsic
3568 @subsubsection DFlotJ Intrinsic
3569 @cindex DFlotJ intrinsic
3570 @cindex intrinsics, DFlotJ
3572 This intrinsic is not yet implemented.
3573 The name is, however, reserved as an intrinsic.
3574 Use @samp{EXTERNAL DFlotJ} to use this name for an
3579 @node Digits Intrinsic
3580 @subsubsection Digits Intrinsic
3581 @cindex Digits intrinsic
3582 @cindex intrinsics, Digits
3584 This intrinsic is not yet implemented.
3585 The name is, however, reserved as an intrinsic.
3586 Use @samp{EXTERNAL Digits} to use this name for an
3592 @subsubsection DiM Intrinsic
3593 @cindex DiM intrinsic
3594 @cindex intrinsics, DiM
3598 DiM(@var{X}, @var{Y})
3602 DiM: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
3603 types of all the arguments.
3606 @var{X}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
3609 @var{Y}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
3612 Intrinsic groups: (standard FORTRAN 77).
3617 Returns @samp{@var{X}-@var{Y}} if @var{X} is greater than
3618 @var{Y}; otherwise returns zero.
3622 @node DImag Intrinsic
3623 @subsubsection DImag Intrinsic
3624 @cindex DImag intrinsic
3625 @cindex intrinsics, DImag
3633 DImag: @code{REAL(KIND=2)} function.
3636 @var{Z}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
3639 Intrinsic groups: @code{f2c}, @code{vxt}.
3644 Archaic form of @code{AIMAG()} that is specific
3645 to one type for @var{Z}.
3646 @xref{AImag Intrinsic}.
3650 @node DInt Intrinsic
3651 @subsubsection DInt Intrinsic
3652 @cindex DInt intrinsic
3653 @cindex intrinsics, DInt
3661 DInt: @code{REAL(KIND=2)} function.
3664 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3667 Intrinsic groups: (standard FORTRAN 77).
3672 Archaic form of @code{AINT()} that is specific
3673 to one type for @var{A}.
3674 @xref{AInt Intrinsic}.
3676 @node DLog Intrinsic
3677 @subsubsection DLog Intrinsic
3678 @cindex DLog intrinsic
3679 @cindex intrinsics, DLog
3687 DLog: @code{REAL(KIND=2)} function.
3690 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3693 Intrinsic groups: (standard FORTRAN 77).
3698 Archaic form of @code{LOG()} that is specific
3699 to one type for @var{X}.
3700 @xref{Log Intrinsic}.
3702 @node DLog10 Intrinsic
3703 @subsubsection DLog10 Intrinsic
3704 @cindex DLog10 intrinsic
3705 @cindex intrinsics, DLog10
3713 DLog10: @code{REAL(KIND=2)} function.
3716 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3719 Intrinsic groups: (standard FORTRAN 77).
3724 Archaic form of @code{LOG10()} that is specific
3725 to one type for @var{X}.
3726 @xref{Log10 Intrinsic}.
3728 @node DMax1 Intrinsic
3729 @subsubsection DMax1 Intrinsic
3730 @cindex DMax1 intrinsic
3731 @cindex intrinsics, DMax1
3735 DMax1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
3739 DMax1: @code{REAL(KIND=2)} function.
3742 @var{A}: @code{REAL(KIND=2)}; at least two such arguments must be provided; scalar; INTENT(IN).
3745 Intrinsic groups: (standard FORTRAN 77).
3750 Archaic form of @code{MAX()} that is specific
3751 to one type for @var{A}.
3752 @xref{Max Intrinsic}.
3754 @node DMin1 Intrinsic
3755 @subsubsection DMin1 Intrinsic
3756 @cindex DMin1 intrinsic
3757 @cindex intrinsics, DMin1
3761 DMin1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
3765 DMin1: @code{REAL(KIND=2)} function.
3768 @var{A}: @code{REAL(KIND=2)}; at least two such arguments must be provided; scalar; INTENT(IN).
3771 Intrinsic groups: (standard FORTRAN 77).
3776 Archaic form of @code{MIN()} that is specific
3777 to one type for @var{A}.
3778 @xref{Min Intrinsic}.
3780 @node DMod Intrinsic
3781 @subsubsection DMod Intrinsic
3782 @cindex DMod intrinsic
3783 @cindex intrinsics, DMod
3787 DMod(@var{A}, @var{P})
3791 DMod: @code{REAL(KIND=2)} function.
3794 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3797 @var{P}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3800 Intrinsic groups: (standard FORTRAN 77).
3805 Archaic form of @code{MOD()} that is specific
3806 to one type for @var{A}.
3807 @xref{Mod Intrinsic}.
3809 @node DNInt Intrinsic
3810 @subsubsection DNInt Intrinsic
3811 @cindex DNInt intrinsic
3812 @cindex intrinsics, DNInt
3820 DNInt: @code{REAL(KIND=2)} function.
3823 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3826 Intrinsic groups: (standard FORTRAN 77).
3831 Archaic form of @code{ANINT()} that is specific
3832 to one type for @var{A}.
3833 @xref{ANInt Intrinsic}.
3837 @node Dot_Product Intrinsic
3838 @subsubsection Dot_Product Intrinsic
3839 @cindex Dot_Product intrinsic
3840 @cindex intrinsics, Dot_Product
3842 This intrinsic is not yet implemented.
3843 The name is, however, reserved as an intrinsic.
3844 Use @samp{EXTERNAL Dot_Product} to use this name for an
3849 @node DProd Intrinsic
3850 @subsubsection DProd Intrinsic
3851 @cindex DProd intrinsic
3852 @cindex intrinsics, DProd
3856 DProd(@var{X}, @var{Y})
3860 DProd: @code{REAL(KIND=2)} function.
3863 @var{X}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
3866 @var{Y}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
3869 Intrinsic groups: (standard FORTRAN 77).
3874 Returns @samp{DBLE(@var{X})*DBLE(@var{Y})}.
3878 @node DReal Intrinsic
3879 @subsubsection DReal Intrinsic
3880 @cindex DReal intrinsic
3881 @cindex intrinsics, DReal
3889 DReal: @code{REAL(KIND=2)} function.
3892 @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
3895 Intrinsic groups: @code{vxt}.
3900 Converts @var{A} to @code{REAL(KIND=2)}.
3902 If @var{A} is type @code{COMPLEX}, its real part
3903 is converted (if necessary) to @code{REAL(KIND=2)},
3904 and its imaginary part is disregarded.
3906 Although this intrinsic is not standard Fortran,
3907 it is a popular extension offered by many compilers
3908 that support @code{DOUBLE COMPLEX}, since it offers
3909 the easiest way to extract the real part of a @code{DOUBLE COMPLEX}
3910 value without using the Fortran 90 @code{REAL()} intrinsic
3911 in a way that produces a return value inconsistent with
3912 the way many FORTRAN 77 compilers handle @code{REAL()} of
3913 a @code{DOUBLE COMPLEX} value.
3915 @xref{RealPart Intrinsic}, for information on a GNU Fortran
3916 intrinsic that avoids these areas of confusion.
3918 @xref{Dble Intrinsic}, for information on the standard FORTRAN 77
3919 replacement for @code{DREAL()}.
3921 @xref{REAL() and AIMAG() of Complex}, for more information on
3926 @node DSign Intrinsic
3927 @subsubsection DSign Intrinsic
3928 @cindex DSign intrinsic
3929 @cindex intrinsics, DSign
3933 DSign(@var{A}, @var{B})
3937 DSign: @code{REAL(KIND=2)} function.
3940 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3943 @var{B}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3946 Intrinsic groups: (standard FORTRAN 77).
3951 Archaic form of @code{SIGN()} that is specific
3952 to one type for @var{A} and @var{B}.
3953 @xref{Sign Intrinsic}.
3955 @node DSin Intrinsic
3956 @subsubsection DSin Intrinsic
3957 @cindex DSin intrinsic
3958 @cindex intrinsics, DSin
3966 DSin: @code{REAL(KIND=2)} function.
3969 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3972 Intrinsic groups: (standard FORTRAN 77).
3977 Archaic form of @code{SIN()} that is specific
3978 to one type for @var{X}.
3979 @xref{Sin Intrinsic}.
3983 @node DSinD Intrinsic
3984 @subsubsection DSinD Intrinsic
3985 @cindex DSinD intrinsic
3986 @cindex intrinsics, DSinD
3988 This intrinsic is not yet implemented.
3989 The name is, however, reserved as an intrinsic.
3990 Use @samp{EXTERNAL DSinD} to use this name for an
3995 @node DSinH Intrinsic
3996 @subsubsection DSinH Intrinsic
3997 @cindex DSinH intrinsic
3998 @cindex intrinsics, DSinH
4006 DSinH: @code{REAL(KIND=2)} function.
4009 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
4012 Intrinsic groups: (standard FORTRAN 77).
4017 Archaic form of @code{SINH()} that is specific
4018 to one type for @var{X}.
4019 @xref{SinH Intrinsic}.
4021 @node DSqRt Intrinsic
4022 @subsubsection DSqRt Intrinsic
4023 @cindex DSqRt intrinsic
4024 @cindex intrinsics, DSqRt
4032 DSqRt: @code{REAL(KIND=2)} function.
4035 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
4038 Intrinsic groups: (standard FORTRAN 77).
4043 Archaic form of @code{SQRT()} that is specific
4044 to one type for @var{X}.
4045 @xref{SqRt Intrinsic}.
4047 @node DTan Intrinsic
4048 @subsubsection DTan Intrinsic
4049 @cindex DTan intrinsic
4050 @cindex intrinsics, DTan
4058 DTan: @code{REAL(KIND=2)} function.
4061 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
4064 Intrinsic groups: (standard FORTRAN 77).
4069 Archaic form of @code{TAN()} that is specific
4070 to one type for @var{X}.
4071 @xref{Tan Intrinsic}.
4075 @node DTanD Intrinsic
4076 @subsubsection DTanD Intrinsic
4077 @cindex DTanD intrinsic
4078 @cindex intrinsics, DTanD
4080 This intrinsic is not yet implemented.
4081 The name is, however, reserved as an intrinsic.
4082 Use @samp{EXTERNAL DTanD} to use this name for an
4087 @node DTanH Intrinsic
4088 @subsubsection DTanH Intrinsic
4089 @cindex DTanH intrinsic
4090 @cindex intrinsics, DTanH
4098 DTanH: @code{REAL(KIND=2)} function.
4101 @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
4104 Intrinsic groups: (standard FORTRAN 77).
4109 Archaic form of @code{TANH()} that is specific
4110 to one type for @var{X}.
4111 @xref{TanH Intrinsic}.
4115 @node DTime Intrinsic (subroutine)
4116 @subsubsection DTime Intrinsic (subroutine)
4117 @cindex DTime intrinsic
4118 @cindex intrinsics, DTime
4122 CALL DTime(@var{Result}, @var{TArray})
4126 @var{Result}: @code{REAL(KIND=1)}; scalar; INTENT(OUT).
4129 @var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
4132 Intrinsic groups: @code{unix}.
4137 Initially, return the number of seconds of runtime
4138 since the start of the process's execution
4140 and the user and system components of this in @samp{@var{TArray}(1)}
4141 and @samp{@var{TArray}(2)} respectively.
4142 The value of @var{Result} is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
4144 Subsequent invocations of @samp{DTIME()} set values based on accumulations
4145 since the previous invocation.
4147 @cindex wraparound, timings
4148 @cindex limits, timings
4149 On some systems, the underlying timings are represented
4150 using types with sufficiently small limits that overflows
4151 (wraparounds) are possible, such as 32-bit types.
4152 Therefore, the values returned by this intrinsic
4153 might be, or become, negative,
4154 or numerically less than previous values,
4155 during a single run of the compiled program.
4157 Some non-GNU implementations of Fortran provide this intrinsic as
4158 only a function, not as a subroutine.
4160 For information on other intrinsics with the same name:
4161 @xref{DTime Intrinsic (function)}.
4165 @node DTime Intrinsic (function)
4166 @subsubsection DTime Intrinsic (function)
4167 @cindex DTime intrinsic
4168 @cindex intrinsics, DTime
4176 DTime: @code{REAL(KIND=1)} function.
4179 @var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
4182 Intrinsic groups: @code{badu77}.
4187 Initially, return the number of seconds of runtime
4188 since the start of the process's execution
4189 as the function value,
4190 and the user and system components of this in @samp{@var{TArray}(1)}
4191 and @samp{@var{TArray}(2)} respectively.
4192 The functions' value is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
4194 Subsequent invocations of @samp{DTIME()} return values accumulated since the
4195 previous invocation.
4197 @cindex wraparound, timings
4198 @cindex limits, timings
4199 On some systems, the underlying timings are represented
4200 using types with sufficiently small limits that overflows
4201 (wraparounds) are possible, such as 32-bit types.
4202 Therefore, the values returned by this intrinsic
4203 might be, or become, negative,
4204 or numerically less than previous values,
4205 during a single run of the compiled program.
4207 Due to the side effects performed by this intrinsic, the function
4208 form is not recommended.
4210 For information on other intrinsics with the same name:
4211 @xref{DTime Intrinsic (subroutine)}.
4215 @node EOShift Intrinsic
4216 @subsubsection EOShift Intrinsic
4217 @cindex EOShift intrinsic
4218 @cindex intrinsics, EOShift
4220 This intrinsic is not yet implemented.
4221 The name is, however, reserved as an intrinsic.
4222 Use @samp{EXTERNAL EOShift} to use this name for an
4225 @node Epsilon Intrinsic
4226 @subsubsection Epsilon Intrinsic
4227 @cindex Epsilon intrinsic
4228 @cindex intrinsics, Epsilon
4230 This intrinsic is not yet implemented.
4231 The name is, however, reserved as an intrinsic.
4232 Use @samp{EXTERNAL Epsilon} to use this name for an
4238 @subsubsection ErF Intrinsic
4239 @cindex ErF intrinsic
4240 @cindex intrinsics, ErF
4248 ErF: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
4251 @var{X}: @code{REAL}; scalar; INTENT(IN).
4254 Intrinsic groups: @code{unix}.
4259 Returns the error function of @var{X}.
4260 See @code{erf(3m)}, which provides the implementation.
4262 @node ErFC Intrinsic
4263 @subsubsection ErFC Intrinsic
4264 @cindex ErFC intrinsic
4265 @cindex intrinsics, ErFC
4273 ErFC: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
4276 @var{X}: @code{REAL}; scalar; INTENT(IN).
4279 Intrinsic groups: @code{unix}.
4284 Returns the complementary error function of @var{X}:
4285 @samp{ERFC(R) = 1 - ERF(R)} (except that the result might be more
4286 accurate than explicitly evaluating that formulae would give).
4287 See @code{erfc(3m)}, which provides the implementation.
4289 @node ETime Intrinsic (subroutine)
4290 @subsubsection ETime Intrinsic (subroutine)
4291 @cindex ETime intrinsic
4292 @cindex intrinsics, ETime
4296 CALL ETime(@var{Result}, @var{TArray})
4300 @var{Result}: @code{REAL(KIND=1)}; scalar; INTENT(OUT).
4303 @var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
4306 Intrinsic groups: @code{unix}.
4311 Return the number of seconds of runtime
4312 since the start of the process's execution
4314 and the user and system components of this in @samp{@var{TArray}(1)}
4315 and @samp{@var{TArray}(2)} respectively.
4316 The value of @var{Result} is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
4318 @cindex wraparound, timings
4319 @cindex limits, timings
4320 On some systems, the underlying timings are represented
4321 using types with sufficiently small limits that overflows
4322 (wraparounds) are possible, such as 32-bit types.
4323 Therefore, the values returned by this intrinsic
4324 might be, or become, negative,
4325 or numerically less than previous values,
4326 during a single run of the compiled program.
4328 Some non-GNU implementations of Fortran provide this intrinsic as
4329 only a function, not as a subroutine.
4331 For information on other intrinsics with the same name:
4332 @xref{ETime Intrinsic (function)}.
4334 @node ETime Intrinsic (function)
4335 @subsubsection ETime Intrinsic (function)
4336 @cindex ETime intrinsic
4337 @cindex intrinsics, ETime
4345 ETime: @code{REAL(KIND=1)} function.
4348 @var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
4351 Intrinsic groups: @code{unix}.
4356 Return the number of seconds of runtime
4357 since the start of the process's execution
4358 as the function value,
4359 and the user and system components of this in @samp{@var{TArray}(1)}
4360 and @samp{@var{TArray}(2)} respectively.
4361 The functions' value is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
4363 @cindex wraparound, timings
4364 @cindex limits, timings
4365 On some systems, the underlying timings are represented
4366 using types with sufficiently small limits that overflows
4367 (wraparounds) are possible, such as 32-bit types.
4368 Therefore, the values returned by this intrinsic
4369 might be, or become, negative,
4370 or numerically less than previous values,
4371 during a single run of the compiled program.
4373 For information on other intrinsics with the same name:
4374 @xref{ETime Intrinsic (subroutine)}.
4376 @node Exit Intrinsic
4377 @subsubsection Exit Intrinsic
4378 @cindex Exit intrinsic
4379 @cindex intrinsics, Exit
4383 CALL Exit(@var{Status})
4387 @var{Status}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN).
4390 Intrinsic groups: @code{unix}.
4395 Exit the program with status @var{Status} after closing open Fortran
4396 I/O units and otherwise behaving as @code{exit(2)}.
4397 If @var{Status} is omitted the canonical `success' value
4398 will be returned to the system.
4403 @subsubsection Exp Intrinsic
4404 @cindex Exp intrinsic
4405 @cindex intrinsics, Exp
4413 Exp: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
4416 @var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
4419 Intrinsic groups: (standard FORTRAN 77).
4424 Returns @samp{@var{e}**@var{X}}, where
4425 @var{e} is approximately 2.7182818.
4427 @xref{Log Intrinsic}, for the inverse of this function.
4431 @node Exponent Intrinsic
4432 @subsubsection Exponent Intrinsic
4433 @cindex Exponent intrinsic
4434 @cindex intrinsics, Exponent
4436 This intrinsic is not yet implemented.
4437 The name is, however, reserved as an intrinsic.
4438 Use @samp{EXTERNAL Exponent} to use this name for an
4443 @node FDate Intrinsic (subroutine)
4444 @subsubsection FDate Intrinsic (subroutine)
4445 @cindex FDate intrinsic
4446 @cindex intrinsics, FDate
4450 CALL FDate(@var{Date})
4454 @var{Date}: @code{CHARACTER}; scalar; INTENT(OUT).
4457 Intrinsic groups: @code{unix}.
4462 Returns the current date (using the same format as @code{CTIME()})
4468 CALL CTIME(@var{Date}, TIME8())
4471 @cindex Y10K compliance
4472 @cindex Year 10000 compliance
4473 @cindex wraparound, Y10K
4474 @cindex limits, Y10K
4475 Programs making use of this intrinsic
4476 might not be Year 10000 (Y10K) compliant.
4477 For example, the date might appear,
4478 to such programs, to wrap around
4479 (change from a larger value to a smaller one)
4480 as of the Year 10000.
4482 @xref{CTime Intrinsic (subroutine)}.
4484 Some non-GNU implementations of Fortran provide this intrinsic as
4485 only a function, not as a subroutine.
4487 For information on other intrinsics with the same name:
4488 @xref{FDate Intrinsic (function)}.
4490 @node FDate Intrinsic (function)
4491 @subsubsection FDate Intrinsic (function)
4492 @cindex FDate intrinsic
4493 @cindex intrinsics, FDate
4501 FDate: @code{CHARACTER*(*)} function.
4504 Intrinsic groups: @code{unix}.
4509 Returns the current date (using the same format as @code{CTIME()}).
4517 @cindex Y10K compliance
4518 @cindex Year 10000 compliance
4519 @cindex wraparound, Y10K
4520 @cindex limits, Y10K
4521 Programs making use of this intrinsic
4522 might not be Year 10000 (Y10K) compliant.
4523 For example, the date might appear,
4524 to such programs, to wrap around
4525 (change from a larger value to a smaller one)
4526 as of the Year 10000.
4528 @xref{CTime Intrinsic (function)}.
4530 For information on other intrinsics with the same name:
4531 @xref{FDate Intrinsic (subroutine)}.
4533 @node FGet Intrinsic (subroutine)
4534 @subsubsection FGet Intrinsic (subroutine)
4535 @cindex FGet intrinsic
4536 @cindex intrinsics, FGet
4540 CALL FGet(@var{C}, @var{Status})
4544 @var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
4547 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
4550 Intrinsic groups: @code{unix}.
4555 Reads a single character into @var{C} in stream mode from unit 5
4556 (by-passing normal formatted output) using @code{getc(3)}.
4558 @var{Status} 0 on success, @minus{}1 on end-of-file, and the error code
4559 from @code{ferror(3)} otherwise.
4561 Stream I/O should not be mixed with normal record-oriented (formatted or
4562 unformatted) I/O on the same unit; the results are unpredictable.
4564 For information on other intrinsics with the same name:
4565 @xref{FGet Intrinsic (function)}.
4569 @node FGet Intrinsic (function)
4570 @subsubsection FGet Intrinsic (function)
4571 @cindex FGet intrinsic
4572 @cindex intrinsics, FGet
4580 FGet: @code{INTEGER(KIND=1)} function.
4583 @var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
4586 Intrinsic groups: @code{badu77}.
4591 Reads a single character into @var{C} in stream mode from unit 5
4592 (by-passing normal formatted input) using @code{getc(3)}.
4594 success, @minus{}1 on end-of-file, and the error code from
4595 @code{ferror(3)} otherwise.
4597 Stream I/O should not be mixed with normal record-oriented (formatted or
4598 unformatted) I/O on the same unit; the results are unpredictable.
4600 For information on other intrinsics with the same name:
4601 @xref{FGet Intrinsic (subroutine)}.
4605 @node FGetC Intrinsic (subroutine)
4606 @subsubsection FGetC Intrinsic (subroutine)
4607 @cindex FGetC intrinsic
4608 @cindex intrinsics, FGetC
4612 CALL FGetC(@var{Unit}, @var{C}, @var{Status})
4616 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4619 @var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
4622 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
4625 Intrinsic groups: @code{unix}.
4630 Reads a single character into @var{C} in stream mode from unit @var{Unit}
4631 (by-passing normal formatted output) using @code{getc(3)}.
4633 @var{Status} 0 on success, @minus{}1 on end-of-file, and the error code from
4634 @code{ferror(3)} otherwise.
4636 Stream I/O should not be mixed with normal record-oriented (formatted or
4637 unformatted) I/O on the same unit; the results are unpredictable.
4639 For information on other intrinsics with the same name:
4640 @xref{FGetC Intrinsic (function)}.
4644 @node FGetC Intrinsic (function)
4645 @subsubsection FGetC Intrinsic (function)
4646 @cindex FGetC intrinsic
4647 @cindex intrinsics, FGetC
4651 FGetC(@var{Unit}, @var{C})
4655 FGetC: @code{INTEGER(KIND=1)} function.
4658 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4661 @var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
4664 Intrinsic groups: @code{badu77}.
4669 Reads a single character into @var{C} in stream mode from unit @var{Unit}
4670 (by-passing normal formatted output) using @code{getc(3)}.
4672 success, @minus{}1 on end-of-file, and the error code from
4673 @code{ferror(3)} otherwise.
4675 Stream I/O should not be mixed with normal record-oriented (formatted or
4676 unformatted) I/O on the same unit; the results are unpredictable.
4678 For information on other intrinsics with the same name:
4679 @xref{FGetC Intrinsic (subroutine)}.
4683 @node Float Intrinsic
4684 @subsubsection Float Intrinsic
4685 @cindex Float intrinsic
4686 @cindex intrinsics, Float
4694 Float: @code{REAL(KIND=1)} function.
4697 @var{A}: @code{INTEGER}; scalar; INTENT(IN).
4700 Intrinsic groups: (standard FORTRAN 77).
4705 Archaic form of @code{REAL()} that is specific
4706 to one type for @var{A}.
4707 @xref{Real Intrinsic}.
4711 @node FloatI Intrinsic
4712 @subsubsection FloatI Intrinsic
4713 @cindex FloatI intrinsic
4714 @cindex intrinsics, FloatI
4716 This intrinsic is not yet implemented.
4717 The name is, however, reserved as an intrinsic.
4718 Use @samp{EXTERNAL FloatI} to use this name for an
4721 @node FloatJ Intrinsic
4722 @subsubsection FloatJ Intrinsic
4723 @cindex FloatJ intrinsic
4724 @cindex intrinsics, FloatJ
4726 This intrinsic is not yet implemented.
4727 The name is, however, reserved as an intrinsic.
4728 Use @samp{EXTERNAL FloatJ} to use this name for an
4733 @node Floor Intrinsic
4734 @subsubsection Floor Intrinsic
4735 @cindex Floor intrinsic
4736 @cindex intrinsics, Floor
4738 This intrinsic is not yet implemented.
4739 The name is, however, reserved as an intrinsic.
4740 Use @samp{EXTERNAL Floor} to use this name for an
4745 @node Flush Intrinsic
4746 @subsubsection Flush Intrinsic
4747 @cindex Flush intrinsic
4748 @cindex intrinsics, Flush
4752 CALL Flush(@var{Unit})
4756 @var{Unit}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN).
4759 Intrinsic groups: @code{unix}.
4764 Flushes Fortran unit(s) currently open for output.
4765 Without the optional argument, all such units are flushed,
4766 otherwise just the unit specified by @var{Unit}.
4768 Some non-GNU implementations of Fortran provide this intrinsic
4769 as a library procedure that might or might not support the
4770 (optional) @var{Unit} argument.
4772 @node FNum Intrinsic
4773 @subsubsection FNum Intrinsic
4774 @cindex FNum intrinsic
4775 @cindex intrinsics, FNum
4783 FNum: @code{INTEGER(KIND=1)} function.
4786 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4789 Intrinsic groups: @code{unix}.
4794 Returns the Unix file descriptor number corresponding to the open
4795 Fortran I/O unit @var{Unit}.
4796 This could be passed to an interface to C I/O routines.
4798 @node FPut Intrinsic (subroutine)
4799 @subsubsection FPut Intrinsic (subroutine)
4800 @cindex FPut intrinsic
4801 @cindex intrinsics, FPut
4805 CALL FPut(@var{C}, @var{Status})
4809 @var{C}: @code{CHARACTER}; scalar; INTENT(IN).
4812 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
4815 Intrinsic groups: @code{unix}.
4820 Writes the single character @var{C} in stream mode to unit 6
4821 (by-passing normal formatted output) using @code{putc(3)}.
4823 @var{Status} 0 on success, the error code from @code{ferror(3)} otherwise.
4825 Stream I/O should not be mixed with normal record-oriented (formatted or
4826 unformatted) I/O on the same unit; the results are unpredictable.
4828 For information on other intrinsics with the same name:
4829 @xref{FPut Intrinsic (function)}.
4833 @node FPut Intrinsic (function)
4834 @subsubsection FPut Intrinsic (function)
4835 @cindex FPut intrinsic
4836 @cindex intrinsics, FPut
4844 FPut: @code{INTEGER(KIND=1)} function.
4847 @var{C}: @code{CHARACTER}; scalar; INTENT(IN).
4850 Intrinsic groups: @code{badu77}.
4855 Writes the single character @var{C} in stream mode to unit 6
4856 (by-passing normal formatted output) using @code{getc(3)}.
4858 success, the error code from @code{ferror(3)} otherwise.
4860 Stream I/O should not be mixed with normal record-oriented (formatted or
4861 unformatted) I/O on the same unit; the results are unpredictable.
4863 For information on other intrinsics with the same name:
4864 @xref{FPut Intrinsic (subroutine)}.
4868 @node FPutC Intrinsic (subroutine)
4869 @subsubsection FPutC Intrinsic (subroutine)
4870 @cindex FPutC intrinsic
4871 @cindex intrinsics, FPutC
4875 CALL FPutC(@var{Unit}, @var{C}, @var{Status})
4879 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4882 @var{C}: @code{CHARACTER}; scalar; INTENT(IN).
4885 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
4888 Intrinsic groups: @code{unix}.
4893 Writes the single character @var{Unit} in stream mode to unit 6
4894 (by-passing normal formatted output) using @code{putc(3)}.
4896 @var{C} 0 on success, the error code from @code{ferror(3)} otherwise.
4898 Stream I/O should not be mixed with normal record-oriented (formatted or
4899 unformatted) I/O on the same unit; the results are unpredictable.
4901 For information on other intrinsics with the same name:
4902 @xref{FPutC Intrinsic (function)}.
4906 @node FPutC Intrinsic (function)
4907 @subsubsection FPutC Intrinsic (function)
4908 @cindex FPutC intrinsic
4909 @cindex intrinsics, FPutC
4913 FPutC(@var{Unit}, @var{C})
4917 FPutC: @code{INTEGER(KIND=1)} function.
4920 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4923 @var{C}: @code{CHARACTER}; scalar; INTENT(IN).
4926 Intrinsic groups: @code{badu77}.
4931 Writes the single character @var{C} in stream mode to unit @var{Unit}
4932 (by-passing normal formatted output) using @code{putc(3)}.
4934 success, the error code from @code{ferror(3)} otherwise.
4936 Stream I/O should not be mixed with normal record-oriented (formatted or
4937 unformatted) I/O on the same unit; the results are unpredictable.
4939 For information on other intrinsics with the same name:
4940 @xref{FPutC Intrinsic (subroutine)}.
4944 @node Fraction Intrinsic
4945 @subsubsection Fraction Intrinsic
4946 @cindex Fraction intrinsic
4947 @cindex intrinsics, Fraction
4949 This intrinsic is not yet implemented.
4950 The name is, however, reserved as an intrinsic.
4951 Use @samp{EXTERNAL Fraction} to use this name for an
4956 @node FSeek Intrinsic
4957 @subsubsection FSeek Intrinsic
4958 @cindex FSeek intrinsic
4959 @cindex intrinsics, FSeek
4963 CALL FSeek(@var{Unit}, @var{Offset}, @var{Whence}, @var{ErrLab})
4967 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4970 @var{Offset}: @code{INTEGER}; scalar; INTENT(IN).
4973 @var{Whence}: @code{INTEGER}; scalar; INTENT(IN).
4976 @var{ErrLab}: @samp{*@var{label}}, where @var{label} is the label
4977 of an executable statement; OPTIONAL.
4980 Intrinsic groups: @code{unix}.
4985 Attempts to move Fortran unit @var{Unit} to the specified
4986 @var{Offset}: absolute offset if @var{Whence}=0; relative to the
4987 current offset if @var{Whence}=1; relative to the end of the file if
4989 It branches to label @var{ErrLab} if @var{Unit} is
4990 not open or if the call otherwise fails.
4992 @node FStat Intrinsic (subroutine)
4993 @subsubsection FStat Intrinsic (subroutine)
4994 @cindex FStat intrinsic
4995 @cindex intrinsics, FStat
4999 CALL FStat(@var{Unit}, @var{SArray}, @var{Status})
5003 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
5006 @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
5009 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
5012 Intrinsic groups: @code{unix}.
5017 Obtains data about the file open on Fortran I/O unit @var{Unit} and
5018 places them in the array @var{SArray}.
5019 The values in this array are
5020 extracted from the @code{stat} structure as returned by
5021 @code{fstat(2)} q.v., as follows:
5031 ID of device containing directory entry for file
5034 Device id (if relevant)
5052 Last modification time
5055 Last file status change time
5058 Preferred I/O block size
5061 Number of blocks allocated
5064 Not all these elements are relevant on all systems.
5065 If an element is not relevant, it is returned as 0.
5067 If the @var{Status} argument is supplied, it contains
5068 0 on success or a non-zero error code upon return.
5070 Some non-GNU implementations of Fortran provide this intrinsic as
5071 only a function, not as a subroutine, or do not support the
5072 (optional) @var{Status} argument.
5074 For information on other intrinsics with the same name:
5075 @xref{FStat Intrinsic (function)}.
5077 @node FStat Intrinsic (function)
5078 @subsubsection FStat Intrinsic (function)
5079 @cindex FStat intrinsic
5080 @cindex intrinsics, FStat
5084 FStat(@var{Unit}, @var{SArray})
5088 FStat: @code{INTEGER(KIND=1)} function.
5091 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
5094 @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
5097 Intrinsic groups: @code{unix}.
5102 Obtains data about the file open on Fortran I/O unit @var{Unit} and
5103 places them in the array @var{SArray}.
5104 The values in this array are
5105 extracted from the @code{stat} structure as returned by
5106 @code{fstat(2)} q.v., as follows:
5116 ID of device containing directory entry for file
5119 Device id (if relevant)
5137 Last modification time
5140 Last file status change time
5143 Preferred I/O block size
5146 Number of blocks allocated
5149 Not all these elements are relevant on all systems.
5150 If an element is not relevant, it is returned as 0.
5152 Returns 0 on success or a non-zero error code.
5154 For information on other intrinsics with the same name:
5155 @xref{FStat Intrinsic (subroutine)}.
5157 @node FTell Intrinsic (subroutine)
5158 @subsubsection FTell Intrinsic (subroutine)
5159 @cindex FTell intrinsic
5160 @cindex intrinsics, FTell
5164 CALL FTell(@var{Unit}, @var{Offset})
5168 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
5171 @var{Offset}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
5174 Intrinsic groups: @code{unix}.
5179 Sets @var{Offset} to the current offset of Fortran unit @var{Unit}
5180 (or to @minus{}1 if @var{Unit} is not open).
5182 Some non-GNU implementations of Fortran provide this intrinsic as
5183 only a function, not as a subroutine.
5185 For information on other intrinsics with the same name:
5186 @xref{FTell Intrinsic (function)}.
5188 @node FTell Intrinsic (function)
5189 @subsubsection FTell Intrinsic (function)
5190 @cindex FTell intrinsic
5191 @cindex intrinsics, FTell
5199 FTell: @code{INTEGER(KIND=1)} function.
5202 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
5205 Intrinsic groups: @code{unix}.
5210 Returns the current offset of Fortran unit @var{Unit}
5211 (or @minus{}1 if @var{Unit} is not open).
5213 For information on other intrinsics with the same name:
5214 @xref{FTell Intrinsic (subroutine)}.
5216 @node GError Intrinsic
5217 @subsubsection GError Intrinsic
5218 @cindex GError intrinsic
5219 @cindex intrinsics, GError
5223 CALL GError(@var{Message})
5227 @var{Message}: @code{CHARACTER}; scalar; INTENT(OUT).
5230 Intrinsic groups: @code{unix}.
5235 Returns the system error message corresponding to the last system
5236 error (C @code{errno}).
5238 @node GetArg Intrinsic
5239 @subsubsection GetArg Intrinsic
5240 @cindex GetArg intrinsic
5241 @cindex intrinsics, GetArg
5245 CALL GetArg(@var{Pos}, @var{Value})
5249 @var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
5252 @var{Value}: @code{CHARACTER}; scalar; INTENT(OUT).
5255 Intrinsic groups: @code{unix}.
5260 Sets @var{Value} to the @var{Pos}-th command-line argument (or to all
5261 blanks if there are fewer than @var{Value} command-line arguments);
5262 @code{CALL GETARG(0, @var{value})} sets @var{value} to the name of the
5263 program (on systems that support this feature).
5265 @xref{IArgC Intrinsic}, for information on how to get the number
5268 @node GetCWD Intrinsic (subroutine)
5269 @subsubsection GetCWD Intrinsic (subroutine)
5270 @cindex GetCWD intrinsic
5271 @cindex intrinsics, GetCWD
5275 CALL GetCWD(@var{Name}, @var{Status})
5279 @var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
5282 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
5285 Intrinsic groups: @code{unix}.
5290 Places the current working directory in @var{Name}.
5291 If the @var{Status} argument is supplied, it contains 0
5292 success or a non-zero error code upon return
5293 (@code{ENOSYS} if the system does not provide @code{getcwd(3)}
5294 or @code{getwd(3)}).
5296 Some non-GNU implementations of Fortran provide this intrinsic as
5297 only a function, not as a subroutine, or do not support the
5298 (optional) @var{Status} argument.
5300 For information on other intrinsics with the same name:
5301 @xref{GetCWD Intrinsic (function)}.
5303 @node GetCWD Intrinsic (function)
5304 @subsubsection GetCWD Intrinsic (function)
5305 @cindex GetCWD intrinsic
5306 @cindex intrinsics, GetCWD
5314 GetCWD: @code{INTEGER(KIND=1)} function.
5317 @var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
5320 Intrinsic groups: @code{unix}.
5325 Places the current working directory in @var{Name}.
5327 success, otherwise a non-zero error code
5328 (@code{ENOSYS} if the system does not provide @code{getcwd(3)}
5329 or @code{getwd(3)}).
5331 For information on other intrinsics with the same name:
5332 @xref{GetCWD Intrinsic (subroutine)}.
5334 @node GetEnv Intrinsic
5335 @subsubsection GetEnv Intrinsic
5336 @cindex GetEnv intrinsic
5337 @cindex intrinsics, GetEnv
5341 CALL GetEnv(@var{Name}, @var{Value})
5345 @var{Name}: @code{CHARACTER}; scalar; INTENT(IN).
5348 @var{Value}: @code{CHARACTER}; scalar; INTENT(OUT).
5351 Intrinsic groups: @code{unix}.
5356 Sets @var{Value} to the value of environment variable given by the
5357 value of @var{Name} (@code{$name} in shell terms) or to blanks if
5358 @code{$name} has not been set.
5359 A null character (@samp{CHAR(0)}) marks the end of
5360 the name in @var{Name}---otherwise,
5361 trailing blanks in @var{Name} are ignored.
5363 @node GetGId Intrinsic
5364 @subsubsection GetGId Intrinsic
5365 @cindex GetGId intrinsic
5366 @cindex intrinsics, GetGId
5374 GetGId: @code{INTEGER(KIND=1)} function.
5377 Intrinsic groups: @code{unix}.
5382 Returns the group id for the current process.
5384 @node GetLog Intrinsic
5385 @subsubsection GetLog Intrinsic
5386 @cindex GetLog intrinsic
5387 @cindex intrinsics, GetLog
5391 CALL GetLog(@var{Login})
5395 @var{Login}: @code{CHARACTER}; scalar; INTENT(OUT).
5398 Intrinsic groups: @code{unix}.
5403 Returns the login name for the process in @var{Login}.
5405 @emph{Caution:} On some systems, the @code{getlogin(3)}
5406 function, which this intrinsic calls at run time,
5407 is either not implemented or returns a null pointer.
5408 In the latter case, this intrinsic returns blanks
5411 @node GetPId Intrinsic
5412 @subsubsection GetPId Intrinsic
5413 @cindex GetPId intrinsic
5414 @cindex intrinsics, GetPId
5422 GetPId: @code{INTEGER(KIND=1)} function.
5425 Intrinsic groups: @code{unix}.
5430 Returns the process id for the current process.
5432 @node GetUId Intrinsic
5433 @subsubsection GetUId Intrinsic
5434 @cindex GetUId intrinsic
5435 @cindex intrinsics, GetUId
5443 GetUId: @code{INTEGER(KIND=1)} function.
5446 Intrinsic groups: @code{unix}.
5451 Returns the user id for the current process.
5453 @node GMTime Intrinsic
5454 @subsubsection GMTime Intrinsic
5455 @cindex GMTime intrinsic
5456 @cindex intrinsics, GMTime
5460 CALL GMTime(@var{STime}, @var{TArray})
5464 @var{STime}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
5467 @var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(9); INTENT(OUT).
5470 Intrinsic groups: @code{unix}.
5475 Given a system time value @var{STime}, fills @var{TArray} with values
5476 extracted from it appropriate to the GMT time zone using
5479 The array elements are as follows:
5483 Seconds after the minute, range 0--59 or 0--61 to allow for leap
5487 Minutes after the hour, range 0--59
5490 Hours past midnight, range 0--23
5493 Day of month, range 0--31
5496 Number of months since January, range 0--12
5502 Number of days since Sunday, range 0--6
5505 Days since January 1
5508 Daylight savings indicator: positive if daylight savings is in effect,
5509 zero if not, and negative if the information isn't available.
5512 @node HostNm Intrinsic (subroutine)
5513 @subsubsection HostNm Intrinsic (subroutine)
5514 @cindex HostNm intrinsic
5515 @cindex intrinsics, HostNm
5519 CALL HostNm(@var{Name}, @var{Status})
5523 @var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
5526 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
5529 Intrinsic groups: @code{unix}.
5534 Fills @var{Name} with the system's host name returned by
5535 @code{gethostname(2)}.
5536 If the @var{Status} argument is supplied, it contains
5537 0 on success or a non-zero error code upon return
5538 (@code{ENOSYS} if the system does not provide @code{gethostname(2)}).
5540 Some non-GNU implementations of Fortran provide this intrinsic as
5541 only a function, not as a subroutine, or do not support the
5542 (optional) @var{Status} argument.
5544 On some systems (specifically SCO) it might be necessary to link the
5545 ``socket'' library if you call this routine.
5546 Typically this means adding @samp{-lg2c -lsocket -lm}
5547 to the @code{g77} command line when linking the program.
5549 For information on other intrinsics with the same name:
5550 @xref{HostNm Intrinsic (function)}.
5552 @node HostNm Intrinsic (function)
5553 @subsubsection HostNm Intrinsic (function)
5554 @cindex HostNm intrinsic
5555 @cindex intrinsics, HostNm
5563 HostNm: @code{INTEGER(KIND=1)} function.
5566 @var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
5569 Intrinsic groups: @code{unix}.
5574 Fills @var{Name} with the system's host name returned by
5575 @code{gethostname(2)}, returning 0 on success or a non-zero error code
5576 (@code{ENOSYS} if the system does not provide @code{gethostname(2)}).
5578 On some systems (specifically SCO) it might be necessary to link the
5579 ``socket'' library if you call this routine.
5580 Typically this means adding @samp{-lg2c -lsocket -lm}
5581 to the @code{g77} command line when linking the program.
5583 For information on other intrinsics with the same name:
5584 @xref{HostNm Intrinsic (subroutine)}.
5588 @node Huge Intrinsic
5589 @subsubsection Huge Intrinsic
5590 @cindex Huge intrinsic
5591 @cindex intrinsics, Huge
5593 This intrinsic is not yet implemented.
5594 The name is, however, reserved as an intrinsic.
5595 Use @samp{EXTERNAL Huge} to use this name for an
5600 @node IAbs Intrinsic
5601 @subsubsection IAbs Intrinsic
5602 @cindex IAbs intrinsic
5603 @cindex intrinsics, IAbs
5611 IAbs: @code{INTEGER(KIND=1)} function.
5614 @var{A}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
5617 Intrinsic groups: (standard FORTRAN 77).
5622 Archaic form of @code{ABS()} that is specific
5623 to one type for @var{A}.
5624 @xref{Abs Intrinsic}.
5628 @node IAChar Intrinsic
5629 @subsubsection IAChar Intrinsic
5630 @cindex IAChar intrinsic
5631 @cindex intrinsics, IAChar
5639 IAChar: @code{INTEGER(KIND=1)} function.
5642 @var{C}: @code{CHARACTER}; scalar; INTENT(IN).
5645 Intrinsic groups: @code{f2c}, @code{f90}.
5650 Returns the code for the ASCII character in the
5651 first character position of @var{C}.
5653 @xref{AChar Intrinsic}, for the inverse of this function.
5655 @xref{IChar Intrinsic}, for the function corresponding
5656 to the system's native character set.
5660 @node IAnd Intrinsic
5661 @subsubsection IAnd Intrinsic
5662 @cindex IAnd intrinsic
5663 @cindex intrinsics, IAnd
5667 IAnd(@var{I}, @var{J})
5671 IAnd: @code{INTEGER} function, the exact type being the result of cross-promoting the
5672 types of all the arguments.
5675 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
5678 @var{J}: @code{INTEGER}; scalar; INTENT(IN).
5681 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
5686 Returns value resulting from boolean AND of
5687 pair of bits in each of @var{I} and @var{J}.
5691 @node IArgC Intrinsic
5692 @subsubsection IArgC Intrinsic
5693 @cindex IArgC intrinsic
5694 @cindex intrinsics, IArgC
5702 IArgC: @code{INTEGER(KIND=1)} function.
5705 Intrinsic groups: @code{unix}.
5710 Returns the number of command-line arguments.
5712 This count does not include the specification of the program
5717 @node IBClr Intrinsic
5718 @subsubsection IBClr Intrinsic
5719 @cindex IBClr intrinsic
5720 @cindex intrinsics, IBClr
5724 IBClr(@var{I}, @var{Pos})
5728 IBClr: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
5731 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
5734 @var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
5737 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
5742 Returns the value of @var{I} with bit @var{Pos} cleared (set to
5744 @xref{BTest Intrinsic} for information on bit positions.
5746 @node IBits Intrinsic
5747 @subsubsection IBits Intrinsic
5748 @cindex IBits intrinsic
5749 @cindex intrinsics, IBits
5753 IBits(@var{I}, @var{Pos}, @var{Len})
5757 IBits: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
5760 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
5763 @var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
5766 @var{Len}: @code{INTEGER}; scalar; INTENT(IN).
5769 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
5774 Extracts a subfield of length @var{Len} from @var{I}, starting from
5775 bit position @var{Pos} and extending left for @var{Len} bits.
5776 The result is right-justified and the remaining bits are zeroed.
5778 of @samp{@var{Pos}+@var{Len}} must be less than or equal to the value
5779 @samp{BIT_SIZE(@var{I})}.
5780 @xref{Bit_Size Intrinsic}.
5782 @node IBSet Intrinsic
5783 @subsubsection IBSet Intrinsic
5784 @cindex IBSet intrinsic
5785 @cindex intrinsics, IBSet
5789 IBSet(@var{I}, @var{Pos})
5793 IBSet: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
5796 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
5799 @var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
5802 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
5807 Returns the value of @var{I} with bit @var{Pos} set (to one).
5808 @xref{BTest Intrinsic} for information on bit positions.
5812 @node IChar Intrinsic
5813 @subsubsection IChar Intrinsic
5814 @cindex IChar intrinsic
5815 @cindex intrinsics, IChar
5823 IChar: @code{INTEGER(KIND=1)} function.
5826 @var{C}: @code{CHARACTER}; scalar; INTENT(IN).
5829 Intrinsic groups: (standard FORTRAN 77).
5834 Returns the code for the character in the
5835 first character position of @var{C}.
5837 Because the system's native character set is used,
5838 the correspondence between character and their codes
5839 is not necessarily the same between GNU Fortran
5842 Note that no intrinsic exists to convert a printable
5843 character string to a numerical value.
5844 For example, there is no intrinsic that, given
5845 the @code{CHARACTER} value @samp{'154'}, returns an
5846 @code{INTEGER} or @code{REAL} value with the value @samp{154}.
5848 Instead, you can use internal-file I/O to do this kind
5856 READ (STRING, '(I10)'), VALUE
5861 The above program, when run, prints:
5867 @xref{Char Intrinsic}, for the inverse of the @code{ICHAR} function.
5869 @xref{IAChar Intrinsic}, for the function corresponding
5870 to the ASCII character set.
5874 @node IDate Intrinsic (UNIX)
5875 @subsubsection IDate Intrinsic (UNIX)
5876 @cindex IDate intrinsic
5877 @cindex intrinsics, IDate
5881 CALL IDate(@var{TArray})
5885 @var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(3); INTENT(OUT).
5888 Intrinsic groups: @code{unix}.
5893 Fills @var{TArray} with the numerical values at the current local time
5894 of day, month (in the range 1--12), and year in elements 1, 2, and 3,
5896 The year has four significant digits.
5898 @cindex Y10K compliance
5899 @cindex Year 10000 compliance
5900 @cindex wraparound, Y10K
5901 @cindex limits, Y10K
5902 Programs making use of this intrinsic
5903 might not be Year 10000 (Y10K) compliant.
5904 For example, the date might appear,
5905 to such programs, to wrap around
5906 (change from a larger value to a smaller one)
5907 as of the Year 10000.
5909 For information on other intrinsics with the same name:
5910 @xref{IDate Intrinsic (VXT)}.
5914 @node IDate Intrinsic (VXT)
5915 @subsubsection IDate Intrinsic (VXT)
5916 @cindex IDate intrinsic
5917 @cindex intrinsics, IDate
5921 CALL IDate(@var{M}, @var{D}, @var{Y})
5925 @var{M}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
5928 @var{D}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
5931 @var{Y}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
5934 Intrinsic groups: @code{vxt}.
5939 Returns the numerical values of the current local time.
5940 The month (in the range 1--12) is returned in @var{M},
5941 the day (in the range 1--7) in @var{D},
5942 and the year in @var{Y} (in the range 0--99).
5944 @cindex Y2K compliance
5945 @cindex Year 2000 compliance
5946 @cindex wraparound, Y2K
5948 This intrinsic is not recommended, due to the year 2000 approaching.
5949 Therefore, programs making use of this intrinsic
5950 might not be Year 2000 (Y2K) compliant.
5951 For example, the date might appear,
5952 to such programs, to wrap around
5953 (change from a larger value to a smaller one)
5954 as of the Year 2000.
5956 @xref{IDate Intrinsic (UNIX)}, for information on obtaining more digits
5957 for the current date.
5959 For information on other intrinsics with the same name:
5960 @xref{IDate Intrinsic (UNIX)}.
5964 @node IDiM Intrinsic
5965 @subsubsection IDiM Intrinsic
5966 @cindex IDiM intrinsic
5967 @cindex intrinsics, IDiM
5971 IDiM(@var{X}, @var{Y})
5975 IDiM: @code{INTEGER(KIND=1)} function.
5978 @var{X}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
5981 @var{Y}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
5984 Intrinsic groups: (standard FORTRAN 77).
5989 Archaic form of @code{DIM()} that is specific
5990 to one type for @var{X} and @var{Y}.
5991 @xref{DiM Intrinsic}.
5993 @node IDInt Intrinsic
5994 @subsubsection IDInt Intrinsic
5995 @cindex IDInt intrinsic
5996 @cindex intrinsics, IDInt
6004 IDInt: @code{INTEGER(KIND=1)} function.
6007 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
6010 Intrinsic groups: (standard FORTRAN 77).
6015 Archaic form of @code{INT()} that is specific
6016 to one type for @var{A}.
6017 @xref{Int Intrinsic}.
6019 @node IDNInt Intrinsic
6020 @subsubsection IDNInt Intrinsic
6021 @cindex IDNInt intrinsic
6022 @cindex intrinsics, IDNInt
6030 IDNInt: @code{INTEGER(KIND=1)} function.
6033 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
6036 Intrinsic groups: (standard FORTRAN 77).
6041 Archaic form of @code{NINT()} that is specific
6042 to one type for @var{A}.
6043 @xref{NInt Intrinsic}.
6047 @node IEOr Intrinsic
6048 @subsubsection IEOr Intrinsic
6049 @cindex IEOr intrinsic
6050 @cindex intrinsics, IEOr
6054 IEOr(@var{I}, @var{J})
6058 IEOr: @code{INTEGER} function, the exact type being the result of cross-promoting the
6059 types of all the arguments.
6062 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
6065 @var{J}: @code{INTEGER}; scalar; INTENT(IN).
6068 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
6073 Returns value resulting from boolean exclusive-OR of
6074 pair of bits in each of @var{I} and @var{J}.
6078 @node IErrNo Intrinsic
6079 @subsubsection IErrNo Intrinsic
6080 @cindex IErrNo intrinsic
6081 @cindex intrinsics, IErrNo
6089 IErrNo: @code{INTEGER(KIND=1)} function.
6092 Intrinsic groups: @code{unix}.
6097 Returns the last system error number (corresponding to the C
6102 @node IFix Intrinsic
6103 @subsubsection IFix Intrinsic
6104 @cindex IFix intrinsic
6105 @cindex intrinsics, IFix
6113 IFix: @code{INTEGER(KIND=1)} function.
6116 @var{A}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
6119 Intrinsic groups: (standard FORTRAN 77).
6124 Archaic form of @code{INT()} that is specific
6125 to one type for @var{A}.
6126 @xref{Int Intrinsic}.
6130 @node IIAbs Intrinsic
6131 @subsubsection IIAbs Intrinsic
6132 @cindex IIAbs intrinsic
6133 @cindex intrinsics, IIAbs
6135 This intrinsic is not yet implemented.
6136 The name is, however, reserved as an intrinsic.
6137 Use @samp{EXTERNAL IIAbs} to use this name for an
6140 @node IIAnd Intrinsic
6141 @subsubsection IIAnd Intrinsic
6142 @cindex IIAnd intrinsic
6143 @cindex intrinsics, IIAnd
6145 This intrinsic is not yet implemented.
6146 The name is, however, reserved as an intrinsic.
6147 Use @samp{EXTERNAL IIAnd} to use this name for an
6150 @node IIBClr Intrinsic
6151 @subsubsection IIBClr Intrinsic
6152 @cindex IIBClr intrinsic
6153 @cindex intrinsics, IIBClr
6155 This intrinsic is not yet implemented.
6156 The name is, however, reserved as an intrinsic.
6157 Use @samp{EXTERNAL IIBClr} to use this name for an
6160 @node IIBits Intrinsic
6161 @subsubsection IIBits Intrinsic
6162 @cindex IIBits intrinsic
6163 @cindex intrinsics, IIBits
6165 This intrinsic is not yet implemented.
6166 The name is, however, reserved as an intrinsic.
6167 Use @samp{EXTERNAL IIBits} to use this name for an
6170 @node IIBSet Intrinsic
6171 @subsubsection IIBSet Intrinsic
6172 @cindex IIBSet intrinsic
6173 @cindex intrinsics, IIBSet
6175 This intrinsic is not yet implemented.
6176 The name is, however, reserved as an intrinsic.
6177 Use @samp{EXTERNAL IIBSet} to use this name for an
6180 @node IIDiM Intrinsic
6181 @subsubsection IIDiM Intrinsic
6182 @cindex IIDiM intrinsic
6183 @cindex intrinsics, IIDiM
6185 This intrinsic is not yet implemented.
6186 The name is, however, reserved as an intrinsic.
6187 Use @samp{EXTERNAL IIDiM} to use this name for an
6190 @node IIDInt Intrinsic
6191 @subsubsection IIDInt Intrinsic
6192 @cindex IIDInt intrinsic
6193 @cindex intrinsics, IIDInt
6195 This intrinsic is not yet implemented.
6196 The name is, however, reserved as an intrinsic.
6197 Use @samp{EXTERNAL IIDInt} to use this name for an
6200 @node IIDNnt Intrinsic
6201 @subsubsection IIDNnt Intrinsic
6202 @cindex IIDNnt intrinsic
6203 @cindex intrinsics, IIDNnt
6205 This intrinsic is not yet implemented.
6206 The name is, however, reserved as an intrinsic.
6207 Use @samp{EXTERNAL IIDNnt} to use this name for an
6210 @node IIEOr Intrinsic
6211 @subsubsection IIEOr Intrinsic
6212 @cindex IIEOr intrinsic
6213 @cindex intrinsics, IIEOr
6215 This intrinsic is not yet implemented.
6216 The name is, however, reserved as an intrinsic.
6217 Use @samp{EXTERNAL IIEOr} to use this name for an
6220 @node IIFix Intrinsic
6221 @subsubsection IIFix Intrinsic
6222 @cindex IIFix intrinsic
6223 @cindex intrinsics, IIFix
6225 This intrinsic is not yet implemented.
6226 The name is, however, reserved as an intrinsic.
6227 Use @samp{EXTERNAL IIFix} to use this name for an
6230 @node IInt Intrinsic
6231 @subsubsection IInt Intrinsic
6232 @cindex IInt intrinsic
6233 @cindex intrinsics, IInt
6235 This intrinsic is not yet implemented.
6236 The name is, however, reserved as an intrinsic.
6237 Use @samp{EXTERNAL IInt} to use this name for an
6240 @node IIOr Intrinsic
6241 @subsubsection IIOr Intrinsic
6242 @cindex IIOr intrinsic
6243 @cindex intrinsics, IIOr
6245 This intrinsic is not yet implemented.
6246 The name is, however, reserved as an intrinsic.
6247 Use @samp{EXTERNAL IIOr} to use this name for an
6250 @node IIQint Intrinsic
6251 @subsubsection IIQint Intrinsic
6252 @cindex IIQint intrinsic
6253 @cindex intrinsics, IIQint
6255 This intrinsic is not yet implemented.
6256 The name is, however, reserved as an intrinsic.
6257 Use @samp{EXTERNAL IIQint} to use this name for an
6260 @node IIQNnt Intrinsic
6261 @subsubsection IIQNnt Intrinsic
6262 @cindex IIQNnt intrinsic
6263 @cindex intrinsics, IIQNnt
6265 This intrinsic is not yet implemented.
6266 The name is, however, reserved as an intrinsic.
6267 Use @samp{EXTERNAL IIQNnt} to use this name for an
6270 @node IIShftC Intrinsic
6271 @subsubsection IIShftC Intrinsic
6272 @cindex IIShftC intrinsic
6273 @cindex intrinsics, IIShftC
6275 This intrinsic is not yet implemented.
6276 The name is, however, reserved as an intrinsic.
6277 Use @samp{EXTERNAL IIShftC} to use this name for an
6280 @node IISign Intrinsic
6281 @subsubsection IISign Intrinsic
6282 @cindex IISign intrinsic
6283 @cindex intrinsics, IISign
6285 This intrinsic is not yet implemented.
6286 The name is, however, reserved as an intrinsic.
6287 Use @samp{EXTERNAL IISign} to use this name for an
6292 @node Imag Intrinsic
6293 @subsubsection Imag Intrinsic
6294 @cindex Imag intrinsic
6295 @cindex intrinsics, Imag
6303 Imag: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{Z}.
6306 @var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
6309 Intrinsic groups: @code{f2c}.
6314 The imaginary part of @var{Z} is returned, without conversion.
6316 @emph{Note:} The way to do this in standard Fortran 90
6317 is @samp{AIMAG(@var{Z})}.
6318 However, when, for example, @var{Z} is @code{DOUBLE COMPLEX},
6319 @samp{AIMAG(@var{Z})} means something different for some compilers
6320 that are not true Fortran 90 compilers but offer some
6321 extensions standardized by Fortran 90 (such as the
6322 @code{DOUBLE COMPLEX} type, also known as @code{COMPLEX(KIND=2)}).
6324 The advantage of @code{IMAG()} is that, while not necessarily
6325 more or less portable than @code{AIMAG()}, it is more likely to
6326 cause a compiler that doesn't support it to produce a diagnostic
6327 than generate incorrect code.
6329 @xref{REAL() and AIMAG() of Complex}, for more information.
6333 @node ImagPart Intrinsic
6334 @subsubsection ImagPart Intrinsic
6335 @cindex ImagPart intrinsic
6336 @cindex intrinsics, ImagPart
6344 ImagPart: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{Z}.
6347 @var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
6350 Intrinsic groups: @code{gnu}.
6355 The imaginary part of @var{Z} is returned, without conversion.
6357 @emph{Note:} The way to do this in standard Fortran 90
6358 is @samp{AIMAG(@var{Z})}.
6359 However, when, for example, @var{Z} is @code{DOUBLE COMPLEX},
6360 @samp{AIMAG(@var{Z})} means something different for some compilers
6361 that are not true Fortran 90 compilers but offer some
6362 extensions standardized by Fortran 90 (such as the
6363 @code{DOUBLE COMPLEX} type, also known as @code{COMPLEX(KIND=2)}).
6365 The advantage of @code{IMAGPART()} is that, while not necessarily
6366 more or less portable than @code{AIMAG()}, it is more likely to
6367 cause a compiler that doesn't support it to produce a diagnostic
6368 than generate incorrect code.
6370 @xref{REAL() and AIMAG() of Complex}, for more information.
6374 @node IMax0 Intrinsic
6375 @subsubsection IMax0 Intrinsic
6376 @cindex IMax0 intrinsic
6377 @cindex intrinsics, IMax0
6379 This intrinsic is not yet implemented.
6380 The name is, however, reserved as an intrinsic.
6381 Use @samp{EXTERNAL IMax0} to use this name for an
6384 @node IMax1 Intrinsic
6385 @subsubsection IMax1 Intrinsic
6386 @cindex IMax1 intrinsic
6387 @cindex intrinsics, IMax1
6389 This intrinsic is not yet implemented.
6390 The name is, however, reserved as an intrinsic.
6391 Use @samp{EXTERNAL IMax1} to use this name for an
6394 @node IMin0 Intrinsic
6395 @subsubsection IMin0 Intrinsic
6396 @cindex IMin0 intrinsic
6397 @cindex intrinsics, IMin0
6399 This intrinsic is not yet implemented.
6400 The name is, however, reserved as an intrinsic.
6401 Use @samp{EXTERNAL IMin0} to use this name for an
6404 @node IMin1 Intrinsic
6405 @subsubsection IMin1 Intrinsic
6406 @cindex IMin1 intrinsic
6407 @cindex intrinsics, IMin1
6409 This intrinsic is not yet implemented.
6410 The name is, however, reserved as an intrinsic.
6411 Use @samp{EXTERNAL IMin1} to use this name for an
6414 @node IMod Intrinsic
6415 @subsubsection IMod Intrinsic
6416 @cindex IMod intrinsic
6417 @cindex intrinsics, IMod
6419 This intrinsic is not yet implemented.
6420 The name is, however, reserved as an intrinsic.
6421 Use @samp{EXTERNAL IMod} to use this name for an
6426 @node Index Intrinsic
6427 @subsubsection Index Intrinsic
6428 @cindex Index intrinsic
6429 @cindex intrinsics, Index
6433 Index(@var{String}, @var{Substring})
6437 Index: @code{INTEGER(KIND=1)} function.
6440 @var{String}: @code{CHARACTER}; scalar; INTENT(IN).
6443 @var{Substring}: @code{CHARACTER}; scalar; INTENT(IN).
6446 Intrinsic groups: (standard FORTRAN 77).
6451 Returns the position of the start of the first occurrence of string
6452 @var{Substring} as a substring in @var{String}, counting from one.
6453 If @var{Substring} doesn't occur in @var{String}, zero is returned.
6457 @node INInt Intrinsic
6458 @subsubsection INInt Intrinsic
6459 @cindex INInt intrinsic
6460 @cindex intrinsics, INInt
6462 This intrinsic is not yet implemented.
6463 The name is, however, reserved as an intrinsic.
6464 Use @samp{EXTERNAL INInt} to use this name for an
6467 @node INot Intrinsic
6468 @subsubsection INot Intrinsic
6469 @cindex INot intrinsic
6470 @cindex intrinsics, INot
6472 This intrinsic is not yet implemented.
6473 The name is, however, reserved as an intrinsic.
6474 Use @samp{EXTERNAL INot} to use this name for an
6480 @subsubsection Int Intrinsic
6481 @cindex Int intrinsic
6482 @cindex intrinsics, Int
6490 Int: @code{INTEGER(KIND=1)} function.
6493 @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
6496 Intrinsic groups: (standard FORTRAN 77).
6501 Returns @var{A} with the fractional portion of its
6502 magnitude truncated and its sign preserved, converted
6503 to type @code{INTEGER(KIND=1)}.
6505 If @var{A} is type @code{COMPLEX}, its real part is
6506 truncated and converted, and its imaginary part is disregarded.
6508 @xref{NInt Intrinsic}, for how to convert, rounded to nearest
6511 @xref{AInt Intrinsic}, for how to truncate to whole number
6516 @node Int2 Intrinsic
6517 @subsubsection Int2 Intrinsic
6518 @cindex Int2 intrinsic
6519 @cindex intrinsics, Int2
6527 Int2: @code{INTEGER(KIND=6)} function.
6530 @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
6533 Intrinsic groups: @code{gnu}.
6538 Returns @var{A} with the fractional portion of its
6539 magnitude truncated and its sign preserved, converted
6540 to type @code{INTEGER(KIND=6)}.
6542 If @var{A} is type @code{COMPLEX}, its real part
6543 is truncated and converted, and its imaginary part is disgregarded.
6545 @xref{Int Intrinsic}.
6547 The precise meaning of this intrinsic might change
6548 in a future version of the GNU Fortran language,
6549 as more is learned about how it is used.
6551 @node Int8 Intrinsic
6552 @subsubsection Int8 Intrinsic
6553 @cindex Int8 intrinsic
6554 @cindex intrinsics, Int8
6562 Int8: @code{INTEGER(KIND=2)} function.
6565 @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
6568 Intrinsic groups: @code{gnu}.
6573 Returns @var{A} with the fractional portion of its
6574 magnitude truncated and its sign preserved, converted
6575 to type @code{INTEGER(KIND=2)}.
6577 If @var{A} is type @code{COMPLEX}, its real part
6578 is truncated and converted, and its imaginary part is disgregarded.
6580 @xref{Int Intrinsic}.
6582 The precise meaning of this intrinsic might change
6583 in a future version of the GNU Fortran language,
6584 as more is learned about how it is used.
6589 @subsubsection IOr Intrinsic
6590 @cindex IOr intrinsic
6591 @cindex intrinsics, IOr
6595 IOr(@var{I}, @var{J})
6599 IOr: @code{INTEGER} function, the exact type being the result of cross-promoting the
6600 types of all the arguments.
6603 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
6606 @var{J}: @code{INTEGER}; scalar; INTENT(IN).
6609 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
6614 Returns value resulting from boolean OR of
6615 pair of bits in each of @var{I} and @var{J}.
6619 @node IRand Intrinsic
6620 @subsubsection IRand Intrinsic
6621 @cindex IRand intrinsic
6622 @cindex intrinsics, IRand
6630 IRand: @code{INTEGER(KIND=1)} function.
6633 @var{Flag}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN).
6636 Intrinsic groups: @code{unix}.
6641 Returns a uniform quasi-random number up to a system-dependent limit.
6642 If @var{Flag} is 0, the next number in sequence is returned; if
6643 @var{Flag} is 1, the generator is restarted by calling the UNIX function
6644 @samp{srand(0)}; if @var{Flag} has any other value,
6645 it is used as a new seed with @code{srand()}.
6647 @xref{SRand Intrinsic}.
6649 @emph{Note:} As typically implemented (by the routine of the same
6650 name in the C library), this random number generator is a very poor
6651 one, though the BSD and GNU libraries provide a much better
6652 implementation than the `traditional' one.
6653 On a different system you almost certainly want to use something better.
6655 @node IsaTty Intrinsic
6656 @subsubsection IsaTty Intrinsic
6657 @cindex IsaTty intrinsic
6658 @cindex intrinsics, IsaTty
6666 IsaTty: @code{LOGICAL(KIND=1)} function.
6669 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
6672 Intrinsic groups: @code{unix}.
6677 Returns @code{.TRUE.} if and only if the Fortran I/O unit
6678 specified by @var{Unit} is connected
6679 to a terminal device.
6680 See @code{isatty(3)}.
6684 @node IShft Intrinsic
6685 @subsubsection IShft Intrinsic
6686 @cindex IShft intrinsic
6687 @cindex intrinsics, IShft
6691 IShft(@var{I}, @var{Shift})
6695 IShft: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
6698 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
6701 @var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
6704 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
6709 All bits representing @var{I} are shifted @var{Shift} places.
6710 @samp{@var{Shift}.GT.0} indicates a left shift, @samp{@var{Shift}.EQ.0}
6711 indicates no shift and @samp{@var{Shift}.LT.0} indicates a right shift.
6712 If the absolute value of the shift count is greater than
6713 @samp{BIT_SIZE(@var{I})}, the result is undefined.
6714 Bits shifted out from the left end or the right end are lost.
6715 Zeros are shifted in from the opposite end.
6717 @xref{IShftC Intrinsic}, for the circular-shift equivalent.
6719 @node IShftC Intrinsic
6720 @subsubsection IShftC Intrinsic
6721 @cindex IShftC intrinsic
6722 @cindex intrinsics, IShftC
6726 IShftC(@var{I}, @var{Shift}, @var{Size})
6730 IShftC: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
6733 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
6736 @var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
6739 @var{Size}: @code{INTEGER}; scalar; INTENT(IN).
6742 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
6747 The rightmost @var{Size} bits of the argument @var{I}
6748 are shifted circularly @var{Shift}
6749 places, i.e.@: the bits shifted out of one end are shifted into
6752 The unshifted bits of the result are the same as
6753 the unshifted bits of @var{I}.
6754 The absolute value of the argument @var{Shift}
6755 must be less than or equal to @var{Size}.
6756 The value of @var{Size} must be greater than or equal to one and less than
6757 or equal to @samp{BIT_SIZE(@var{I})}.
6759 @xref{IShft Intrinsic}, for the logical shift equivalent.
6763 @node ISign Intrinsic
6764 @subsubsection ISign Intrinsic
6765 @cindex ISign intrinsic
6766 @cindex intrinsics, ISign
6770 ISign(@var{A}, @var{B})
6774 ISign: @code{INTEGER(KIND=1)} function.
6777 @var{A}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
6780 @var{B}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
6783 Intrinsic groups: (standard FORTRAN 77).
6788 Archaic form of @code{SIGN()} that is specific
6789 to one type for @var{A} and @var{B}.
6790 @xref{Sign Intrinsic}.
6794 @node ITime Intrinsic
6795 @subsubsection ITime Intrinsic
6796 @cindex ITime intrinsic
6797 @cindex intrinsics, ITime
6801 CALL ITime(@var{TArray})
6805 @var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(3); INTENT(OUT).
6808 Intrinsic groups: @code{unix}.
6813 Returns the current local time hour, minutes, and seconds in elements
6814 1, 2, and 3 of @var{TArray}, respectively.
6818 @node IZExt Intrinsic
6819 @subsubsection IZExt Intrinsic
6820 @cindex IZExt intrinsic
6821 @cindex intrinsics, IZExt
6823 This intrinsic is not yet implemented.
6824 The name is, however, reserved as an intrinsic.
6825 Use @samp{EXTERNAL IZExt} to use this name for an
6828 @node JIAbs Intrinsic
6829 @subsubsection JIAbs Intrinsic
6830 @cindex JIAbs intrinsic
6831 @cindex intrinsics, JIAbs
6833 This intrinsic is not yet implemented.
6834 The name is, however, reserved as an intrinsic.
6835 Use @samp{EXTERNAL JIAbs} to use this name for an
6838 @node JIAnd Intrinsic
6839 @subsubsection JIAnd Intrinsic
6840 @cindex JIAnd intrinsic
6841 @cindex intrinsics, JIAnd
6843 This intrinsic is not yet implemented.
6844 The name is, however, reserved as an intrinsic.
6845 Use @samp{EXTERNAL JIAnd} to use this name for an
6848 @node JIBClr Intrinsic
6849 @subsubsection JIBClr Intrinsic
6850 @cindex JIBClr intrinsic
6851 @cindex intrinsics, JIBClr
6853 This intrinsic is not yet implemented.
6854 The name is, however, reserved as an intrinsic.
6855 Use @samp{EXTERNAL JIBClr} to use this name for an
6858 @node JIBits Intrinsic
6859 @subsubsection JIBits Intrinsic
6860 @cindex JIBits intrinsic
6861 @cindex intrinsics, JIBits
6863 This intrinsic is not yet implemented.
6864 The name is, however, reserved as an intrinsic.
6865 Use @samp{EXTERNAL JIBits} to use this name for an
6868 @node JIBSet Intrinsic
6869 @subsubsection JIBSet Intrinsic
6870 @cindex JIBSet intrinsic
6871 @cindex intrinsics, JIBSet
6873 This intrinsic is not yet implemented.
6874 The name is, however, reserved as an intrinsic.
6875 Use @samp{EXTERNAL JIBSet} to use this name for an
6878 @node JIDiM Intrinsic
6879 @subsubsection JIDiM Intrinsic
6880 @cindex JIDiM intrinsic
6881 @cindex intrinsics, JIDiM
6883 This intrinsic is not yet implemented.
6884 The name is, however, reserved as an intrinsic.
6885 Use @samp{EXTERNAL JIDiM} to use this name for an
6888 @node JIDInt Intrinsic
6889 @subsubsection JIDInt Intrinsic
6890 @cindex JIDInt intrinsic
6891 @cindex intrinsics, JIDInt
6893 This intrinsic is not yet implemented.
6894 The name is, however, reserved as an intrinsic.
6895 Use @samp{EXTERNAL JIDInt} to use this name for an
6898 @node JIDNnt Intrinsic
6899 @subsubsection JIDNnt Intrinsic
6900 @cindex JIDNnt intrinsic
6901 @cindex intrinsics, JIDNnt
6903 This intrinsic is not yet implemented.
6904 The name is, however, reserved as an intrinsic.
6905 Use @samp{EXTERNAL JIDNnt} to use this name for an
6908 @node JIEOr Intrinsic
6909 @subsubsection JIEOr Intrinsic
6910 @cindex JIEOr intrinsic
6911 @cindex intrinsics, JIEOr
6913 This intrinsic is not yet implemented.
6914 The name is, however, reserved as an intrinsic.
6915 Use @samp{EXTERNAL JIEOr} to use this name for an
6918 @node JIFix Intrinsic
6919 @subsubsection JIFix Intrinsic
6920 @cindex JIFix intrinsic
6921 @cindex intrinsics, JIFix
6923 This intrinsic is not yet implemented.
6924 The name is, however, reserved as an intrinsic.
6925 Use @samp{EXTERNAL JIFix} to use this name for an
6928 @node JInt Intrinsic
6929 @subsubsection JInt Intrinsic
6930 @cindex JInt intrinsic
6931 @cindex intrinsics, JInt
6933 This intrinsic is not yet implemented.
6934 The name is, however, reserved as an intrinsic.
6935 Use @samp{EXTERNAL JInt} to use this name for an
6938 @node JIOr Intrinsic
6939 @subsubsection JIOr Intrinsic
6940 @cindex JIOr intrinsic
6941 @cindex intrinsics, JIOr
6943 This intrinsic is not yet implemented.
6944 The name is, however, reserved as an intrinsic.
6945 Use @samp{EXTERNAL JIOr} to use this name for an
6948 @node JIQint Intrinsic
6949 @subsubsection JIQint Intrinsic
6950 @cindex JIQint intrinsic
6951 @cindex intrinsics, JIQint
6953 This intrinsic is not yet implemented.
6954 The name is, however, reserved as an intrinsic.
6955 Use @samp{EXTERNAL JIQint} to use this name for an
6958 @node JIQNnt Intrinsic
6959 @subsubsection JIQNnt Intrinsic
6960 @cindex JIQNnt intrinsic
6961 @cindex intrinsics, JIQNnt
6963 This intrinsic is not yet implemented.
6964 The name is, however, reserved as an intrinsic.
6965 Use @samp{EXTERNAL JIQNnt} to use this name for an
6968 @node JIShft Intrinsic
6969 @subsubsection JIShft Intrinsic
6970 @cindex JIShft intrinsic
6971 @cindex intrinsics, JIShft
6973 This intrinsic is not yet implemented.
6974 The name is, however, reserved as an intrinsic.
6975 Use @samp{EXTERNAL JIShft} to use this name for an
6978 @node JIShftC Intrinsic
6979 @subsubsection JIShftC Intrinsic
6980 @cindex JIShftC intrinsic
6981 @cindex intrinsics, JIShftC
6983 This intrinsic is not yet implemented.
6984 The name is, however, reserved as an intrinsic.
6985 Use @samp{EXTERNAL JIShftC} to use this name for an
6988 @node JISign Intrinsic
6989 @subsubsection JISign Intrinsic
6990 @cindex JISign intrinsic
6991 @cindex intrinsics, JISign
6993 This intrinsic is not yet implemented.
6994 The name is, however, reserved as an intrinsic.
6995 Use @samp{EXTERNAL JISign} to use this name for an
6998 @node JMax0 Intrinsic
6999 @subsubsection JMax0 Intrinsic
7000 @cindex JMax0 intrinsic
7001 @cindex intrinsics, JMax0
7003 This intrinsic is not yet implemented.
7004 The name is, however, reserved as an intrinsic.
7005 Use @samp{EXTERNAL JMax0} to use this name for an
7008 @node JMax1 Intrinsic
7009 @subsubsection JMax1 Intrinsic
7010 @cindex JMax1 intrinsic
7011 @cindex intrinsics, JMax1
7013 This intrinsic is not yet implemented.
7014 The name is, however, reserved as an intrinsic.
7015 Use @samp{EXTERNAL JMax1} to use this name for an
7018 @node JMin0 Intrinsic
7019 @subsubsection JMin0 Intrinsic
7020 @cindex JMin0 intrinsic
7021 @cindex intrinsics, JMin0
7023 This intrinsic is not yet implemented.
7024 The name is, however, reserved as an intrinsic.
7025 Use @samp{EXTERNAL JMin0} to use this name for an
7028 @node JMin1 Intrinsic
7029 @subsubsection JMin1 Intrinsic
7030 @cindex JMin1 intrinsic
7031 @cindex intrinsics, JMin1
7033 This intrinsic is not yet implemented.
7034 The name is, however, reserved as an intrinsic.
7035 Use @samp{EXTERNAL JMin1} to use this name for an
7038 @node JMod Intrinsic
7039 @subsubsection JMod Intrinsic
7040 @cindex JMod intrinsic
7041 @cindex intrinsics, JMod
7043 This intrinsic is not yet implemented.
7044 The name is, however, reserved as an intrinsic.
7045 Use @samp{EXTERNAL JMod} to use this name for an
7048 @node JNInt Intrinsic
7049 @subsubsection JNInt Intrinsic
7050 @cindex JNInt intrinsic
7051 @cindex intrinsics, JNInt
7053 This intrinsic is not yet implemented.
7054 The name is, however, reserved as an intrinsic.
7055 Use @samp{EXTERNAL JNInt} to use this name for an
7058 @node JNot Intrinsic
7059 @subsubsection JNot Intrinsic
7060 @cindex JNot intrinsic
7061 @cindex intrinsics, JNot
7063 This intrinsic is not yet implemented.
7064 The name is, however, reserved as an intrinsic.
7065 Use @samp{EXTERNAL JNot} to use this name for an
7068 @node JZExt Intrinsic
7069 @subsubsection JZExt Intrinsic
7070 @cindex JZExt intrinsic
7071 @cindex intrinsics, JZExt
7073 This intrinsic is not yet implemented.
7074 The name is, however, reserved as an intrinsic.
7075 Use @samp{EXTERNAL JZExt} to use this name for an
7080 @node Kill Intrinsic (subroutine)
7081 @subsubsection Kill Intrinsic (subroutine)
7082 @cindex Kill intrinsic
7083 @cindex intrinsics, Kill
7087 CALL Kill(@var{Pid}, @var{Signal}, @var{Status})
7091 @var{Pid}: @code{INTEGER}; scalar; INTENT(IN).
7094 @var{Signal}: @code{INTEGER}; scalar; INTENT(IN).
7097 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
7100 Intrinsic groups: @code{unix}.
7105 Sends the signal specified by @var{Signal} to the process @var{Pid}.
7106 If the @var{Status} argument is supplied, it contains
7107 0 on success or a non-zero error code upon return.
7110 Some non-GNU implementations of Fortran provide this intrinsic as
7111 only a function, not as a subroutine, or do not support the
7112 (optional) @var{Status} argument.
7114 For information on other intrinsics with the same name:
7115 @xref{Kill Intrinsic (function)}.
7119 @node Kill Intrinsic (function)
7120 @subsubsection Kill Intrinsic (function)
7121 @cindex Kill intrinsic
7122 @cindex intrinsics, Kill
7126 Kill(@var{Pid}, @var{Signal})
7130 Kill: @code{INTEGER(KIND=1)} function.
7133 @var{Pid}: @code{INTEGER}; scalar; INTENT(IN).
7136 @var{Signal}: @code{INTEGER}; scalar; INTENT(IN).
7139 Intrinsic groups: @code{badu77}.
7144 Sends the signal specified by @var{Signal} to the process @var{Pid}.
7145 Returns 0 on success or a non-zero error code.
7148 Due to the side effects performed by this intrinsic, the function
7149 form is not recommended.
7151 For information on other intrinsics with the same name:
7152 @xref{Kill Intrinsic (subroutine)}.
7156 @node Kind Intrinsic
7157 @subsubsection Kind Intrinsic
7158 @cindex Kind intrinsic
7159 @cindex intrinsics, Kind
7161 This intrinsic is not yet implemented.
7162 The name is, however, reserved as an intrinsic.
7163 Use @samp{EXTERNAL Kind} to use this name for an
7166 @node LBound Intrinsic
7167 @subsubsection LBound Intrinsic
7168 @cindex LBound intrinsic
7169 @cindex intrinsics, LBound
7171 This intrinsic is not yet implemented.
7172 The name is, however, reserved as an intrinsic.
7173 Use @samp{EXTERNAL LBound} to use this name for an
7179 @subsubsection Len Intrinsic
7180 @cindex Len intrinsic
7181 @cindex intrinsics, Len
7189 Len: @code{INTEGER(KIND=1)} function.
7192 @var{String}: @code{CHARACTER}; scalar.
7195 Intrinsic groups: (standard FORTRAN 77).
7200 Returns the length of @var{String}.
7202 If @var{String} is an array, the length of an element
7203 of @var{String} is returned.
7205 Note that @var{String} need not be defined when this
7206 intrinsic is invoked, since only the length, not
7207 the content, of @var{String} is needed.
7209 @xref{Bit_Size Intrinsic}, for the function that determines
7210 the size of its argument in bits.
7214 @node Len_Trim Intrinsic
7215 @subsubsection Len_Trim Intrinsic
7216 @cindex Len_Trim intrinsic
7217 @cindex intrinsics, Len_Trim
7221 Len_Trim(@var{String})
7225 Len_Trim: @code{INTEGER(KIND=1)} function.
7228 @var{String}: @code{CHARACTER}; scalar; INTENT(IN).
7231 Intrinsic groups: @code{f90}.
7236 Returns the index of the last non-blank character in @var{String}.
7237 @code{LNBLNK} and @code{LEN_TRIM} are equivalent.
7242 @subsubsection LGe Intrinsic
7243 @cindex LGe intrinsic
7244 @cindex intrinsics, LGe
7248 LGe(@var{String_A}, @var{String_B})
7252 LGe: @code{LOGICAL(KIND=1)} function.
7255 @var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
7258 @var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
7261 Intrinsic groups: (standard FORTRAN 77).
7266 Returns @samp{.TRUE.} if @samp{@var{String_A}.GE.@var{String_B}},
7267 @samp{.FALSE.} otherwise.
7268 @var{String_A} and @var{String_B} are interpreted as containing
7269 ASCII character codes.
7270 If either value contains a character not in the ASCII
7271 character set, the result is processor dependent.
7273 If the @var{String_A} and @var{String_B} are not the same length,
7274 the shorter is compared as if spaces were appended to
7275 it to form a value that has the same length as the longer.
7277 The lexical comparison intrinsics @code{LGe}, @code{LGt},
7278 @code{LLe}, and @code{LLt} differ from the corresponding
7279 intrinsic operators @code{.GE.}, @code{.GT.},
7280 @code{.LE.}, @code{.LT.}.
7281 Because the ASCII collating sequence is assumed,
7282 the following expressions always return @samp{.TRUE.}:
7290 The following related expressions do @emph{not} always
7291 return @samp{.TRUE.}, as they are not necessarily evaluated
7292 assuming the arguments use ASCII encoding:
7300 The same difference exists
7301 between @code{LGt} and @code{.GT.};
7302 between @code{LLe} and @code{.LE.}; and
7303 between @code{LLt} and @code{.LT.}.
7306 @subsubsection LGt Intrinsic
7307 @cindex LGt intrinsic
7308 @cindex intrinsics, LGt
7312 LGt(@var{String_A}, @var{String_B})
7316 LGt: @code{LOGICAL(KIND=1)} function.
7319 @var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
7322 @var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
7325 Intrinsic groups: (standard FORTRAN 77).
7330 Returns @samp{.TRUE.} if @samp{@var{String_A}.GT.@var{String_B}},
7331 @samp{.FALSE.} otherwise.
7332 @var{String_A} and @var{String_B} are interpreted as containing
7333 ASCII character codes.
7334 If either value contains a character not in the ASCII
7335 character set, the result is processor dependent.
7337 If the @var{String_A} and @var{String_B} are not the same length,
7338 the shorter is compared as if spaces were appended to
7339 it to form a value that has the same length as the longer.
7341 @xref{LGe Intrinsic}, for information on the distinction
7342 between the @code{LGT} intrinsic and the @code{.GT.}
7347 @node Link Intrinsic (subroutine)
7348 @subsubsection Link Intrinsic (subroutine)
7349 @cindex Link intrinsic
7350 @cindex intrinsics, Link
7354 CALL Link(@var{Path1}, @var{Path2}, @var{Status})
7358 @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
7361 @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
7364 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
7367 Intrinsic groups: @code{unix}.
7372 Makes a (hard) link from file @var{Path1} to @var{Path2}.
7373 A null character (@samp{CHAR(0)}) marks the end of
7374 the names in @var{Path1} and @var{Path2}---otherwise,
7375 trailing blanks in @var{Path1} and @var{Path2} are ignored.
7376 If the @var{Status} argument is supplied, it contains
7377 0 on success or a non-zero error code upon return.
7380 Some non-GNU implementations of Fortran provide this intrinsic as
7381 only a function, not as a subroutine, or do not support the
7382 (optional) @var{Status} argument.
7384 For information on other intrinsics with the same name:
7385 @xref{Link Intrinsic (function)}.
7389 @node Link Intrinsic (function)
7390 @subsubsection Link Intrinsic (function)
7391 @cindex Link intrinsic
7392 @cindex intrinsics, Link
7396 Link(@var{Path1}, @var{Path2})
7400 Link: @code{INTEGER(KIND=1)} function.
7403 @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
7406 @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
7409 Intrinsic groups: @code{badu77}.
7414 Makes a (hard) link from file @var{Path1} to @var{Path2}.
7415 A null character (@samp{CHAR(0)}) marks the end of
7416 the names in @var{Path1} and @var{Path2}---otherwise,
7417 trailing blanks in @var{Path1} and @var{Path2} are ignored.
7418 Returns 0 on success or a non-zero error code.
7421 Due to the side effects performed by this intrinsic, the function
7422 form is not recommended.
7424 For information on other intrinsics with the same name:
7425 @xref{Link Intrinsic (subroutine)}.
7430 @subsubsection LLe Intrinsic
7431 @cindex LLe intrinsic
7432 @cindex intrinsics, LLe
7436 LLe(@var{String_A}, @var{String_B})
7440 LLe: @code{LOGICAL(KIND=1)} function.
7443 @var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
7446 @var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
7449 Intrinsic groups: (standard FORTRAN 77).
7454 Returns @samp{.TRUE.} if @samp{@var{String_A}.LE.@var{String_B}},
7455 @samp{.FALSE.} otherwise.
7456 @var{String_A} and @var{String_B} are interpreted as containing
7457 ASCII character codes.
7458 If either value contains a character not in the ASCII
7459 character set, the result is processor dependent.
7461 If the @var{String_A} and @var{String_B} are not the same length,
7462 the shorter is compared as if spaces were appended to
7463 it to form a value that has the same length as the longer.
7465 @xref{LGe Intrinsic}, for information on the distinction
7466 between the @code{LLE} intrinsic and the @code{.LE.}
7470 @subsubsection LLt Intrinsic
7471 @cindex LLt intrinsic
7472 @cindex intrinsics, LLt
7476 LLt(@var{String_A}, @var{String_B})
7480 LLt: @code{LOGICAL(KIND=1)} function.
7483 @var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
7486 @var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
7489 Intrinsic groups: (standard FORTRAN 77).
7494 Returns @samp{.TRUE.} if @samp{@var{String_A}.LT.@var{String_B}},
7495 @samp{.FALSE.} otherwise.
7496 @var{String_A} and @var{String_B} are interpreted as containing
7497 ASCII character codes.
7498 If either value contains a character not in the ASCII
7499 character set, the result is processor dependent.
7501 If the @var{String_A} and @var{String_B} are not the same length,
7502 the shorter is compared as if spaces were appended to
7503 it to form a value that has the same length as the longer.
7505 @xref{LGe Intrinsic}, for information on the distinction
7506 between the @code{LLT} intrinsic and the @code{.LT.}
7511 @node LnBlnk Intrinsic
7512 @subsubsection LnBlnk Intrinsic
7513 @cindex LnBlnk intrinsic
7514 @cindex intrinsics, LnBlnk
7518 LnBlnk(@var{String})
7522 LnBlnk: @code{INTEGER(KIND=1)} function.
7525 @var{String}: @code{CHARACTER}; scalar; INTENT(IN).
7528 Intrinsic groups: @code{unix}.
7533 Returns the index of the last non-blank character in @var{String}.
7534 @code{LNBLNK} and @code{LEN_TRIM} are equivalent.
7537 @subsubsection Loc Intrinsic
7538 @cindex Loc intrinsic
7539 @cindex intrinsics, Loc
7547 Loc: @code{INTEGER(KIND=7)} function.
7550 @var{Entity}: Any type; cannot be a constant or expression.
7553 Intrinsic groups: @code{unix}.
7558 The @code{LOC()} intrinsic works the
7559 same way as the @code{%LOC()} construct.
7560 @xref{%LOC(),,The @code{%LOC()} Construct}, for
7566 @subsubsection Log Intrinsic
7567 @cindex Log intrinsic
7568 @cindex intrinsics, Log
7576 Log: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
7579 @var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
7582 Intrinsic groups: (standard FORTRAN 77).
7587 Returns the natural logarithm of @var{X}, which must
7588 be greater than zero or, if type @code{COMPLEX}, must not
7591 @xref{Exp Intrinsic}, for the inverse of this function.
7593 @xref{Log10 Intrinsic}, for the `common' (base-10) logarithm function.
7595 @node Log10 Intrinsic
7596 @subsubsection Log10 Intrinsic
7597 @cindex Log10 intrinsic
7598 @cindex intrinsics, Log10
7606 Log10: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
7609 @var{X}: @code{REAL}; scalar; INTENT(IN).
7612 Intrinsic groups: (standard FORTRAN 77).
7617 Returns the common logarithm (base 10) of @var{X}, which must
7618 be greater than zero or.
7620 The inverse of this function is @samp{10. ** LOG10(@var{X})}.
7622 @xref{Log Intrinsic}, for the natural logarithm function.
7626 @node Logical Intrinsic
7627 @subsubsection Logical Intrinsic
7628 @cindex Logical intrinsic
7629 @cindex intrinsics, Logical
7631 This intrinsic is not yet implemented.
7632 The name is, however, reserved as an intrinsic.
7633 Use @samp{EXTERNAL Logical} to use this name for an
7638 @node Long Intrinsic
7639 @subsubsection Long Intrinsic
7640 @cindex Long intrinsic
7641 @cindex intrinsics, Long
7649 Long: @code{INTEGER(KIND=1)} function.
7652 @var{A}: @code{INTEGER(KIND=6)}; scalar; INTENT(IN).
7655 Intrinsic groups: @code{unix}.
7660 Archaic form of @code{INT()} that is specific
7661 to one type for @var{A}.
7662 @xref{Int Intrinsic}.
7664 The precise meaning of this intrinsic might change
7665 in a future version of the GNU Fortran language,
7666 as more is learned about how it is used.
7670 @node LShift Intrinsic
7671 @subsubsection LShift Intrinsic
7672 @cindex LShift intrinsic
7673 @cindex intrinsics, LShift
7677 LShift(@var{I}, @var{Shift})
7681 LShift: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
7684 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
7687 @var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
7690 Intrinsic groups: @code{f2c}.
7695 Returns @var{I} shifted to the left
7698 Although similar to the expression
7699 @samp{@var{I}*(2**@var{Shift})}, there
7700 are important differences.
7701 For example, the sign of the result is
7702 not necessarily the same as the sign of
7705 Currently this intrinsic is defined assuming
7706 the underlying representation of @var{I}
7707 is as a two's-complement integer.
7708 It is unclear at this point whether that
7709 definition will apply when a different
7710 representation is involved.
7712 @xref{LShift Intrinsic}, for the inverse of this function.
7714 @xref{IShft Intrinsic}, for information
7715 on a more widely available left-shifting
7716 intrinsic that is also more precisely defined.
7720 @node LStat Intrinsic (subroutine)
7721 @subsubsection LStat Intrinsic (subroutine)
7722 @cindex LStat intrinsic
7723 @cindex intrinsics, LStat
7727 CALL LStat(@var{File}, @var{SArray}, @var{Status})
7731 @var{File}: @code{CHARACTER}; scalar; INTENT(IN).
7734 @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
7737 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
7740 Intrinsic groups: @code{unix}.
7745 Obtains data about the given file @var{File} and places them in the array
7747 A null character (@samp{CHAR(0)}) marks the end of
7748 the name in @var{File}---otherwise,
7749 trailing blanks in @var{File} are ignored.
7750 If @var{File} is a symbolic link it returns data on the
7751 link itself, so the routine is available only on systems that support
7753 The values in this array are extracted from the
7754 @code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
7764 ID of device containing directory entry for file
7767 Device id (if relevant)
7785 Last modification time
7788 Last file status change time
7791 Preferred I/O block size
7794 Number of blocks allocated
7797 Not all these elements are relevant on all systems.
7798 If an element is not relevant, it is returned as 0.
7800 If the @var{Status} argument is supplied, it contains
7801 0 on success or a non-zero error code upon return
7802 (@code{ENOSYS} if the system does not provide @code{lstat(2)}).
7804 Some non-GNU implementations of Fortran provide this intrinsic as
7805 only a function, not as a subroutine, or do not support the
7806 (optional) @var{Status} argument.
7808 For information on other intrinsics with the same name:
7809 @xref{LStat Intrinsic (function)}.
7811 @node LStat Intrinsic (function)
7812 @subsubsection LStat Intrinsic (function)
7813 @cindex LStat intrinsic
7814 @cindex intrinsics, LStat
7818 LStat(@var{File}, @var{SArray})
7822 LStat: @code{INTEGER(KIND=1)} function.
7825 @var{File}: @code{CHARACTER}; scalar; INTENT(IN).
7828 @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
7831 Intrinsic groups: @code{unix}.
7836 Obtains data about the given file @var{File} and places them in the array
7838 A null character (@samp{CHAR(0)}) marks the end of
7839 the name in @var{File}---otherwise,
7840 trailing blanks in @var{File} are ignored.
7841 If @var{File} is a symbolic link it returns data on the
7842 link itself, so the routine is available only on systems that support
7844 The values in this array are extracted from the
7845 @code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
7855 ID of device containing directory entry for file
7858 Device id (if relevant)
7876 Last modification time
7879 Last file status change time
7882 Preferred I/O block size
7885 Number of blocks allocated
7888 Not all these elements are relevant on all systems.
7889 If an element is not relevant, it is returned as 0.
7891 Returns 0 on success or a non-zero error code
7892 (@code{ENOSYS} if the system does not provide @code{lstat(2)}).
7894 For information on other intrinsics with the same name:
7895 @xref{LStat Intrinsic (subroutine)}.
7897 @node LTime Intrinsic
7898 @subsubsection LTime Intrinsic
7899 @cindex LTime intrinsic
7900 @cindex intrinsics, LTime
7904 CALL LTime(@var{STime}, @var{TArray})
7908 @var{STime}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
7911 @var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(9); INTENT(OUT).
7914 Intrinsic groups: @code{unix}.
7919 Given a system time value @var{STime}, fills @var{TArray} with values
7920 extracted from it appropriate to the GMT time zone using
7921 @code{localtime(3)}.
7923 The array elements are as follows:
7927 Seconds after the minute, range 0--59 or 0--61 to allow for leap
7931 Minutes after the hour, range 0--59
7934 Hours past midnight, range 0--23
7937 Day of month, range 0--31
7940 Number of months since January, range 0--12
7946 Number of days since Sunday, range 0--6
7949 Days since January 1
7952 Daylight savings indicator: positive if daylight savings is in effect,
7953 zero if not, and negative if the information isn't available.
7958 @node MatMul Intrinsic
7959 @subsubsection MatMul Intrinsic
7960 @cindex MatMul intrinsic
7961 @cindex intrinsics, MatMul
7963 This intrinsic is not yet implemented.
7964 The name is, however, reserved as an intrinsic.
7965 Use @samp{EXTERNAL MatMul} to use this name for an
7971 @subsubsection Max Intrinsic
7972 @cindex Max intrinsic
7973 @cindex intrinsics, Max
7977 Max(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
7981 Max: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
7982 types of all the arguments.
7985 @var{A}: @code{INTEGER} or @code{REAL}; at least two such arguments must be provided; scalar; INTENT(IN).
7988 Intrinsic groups: (standard FORTRAN 77).
7993 Returns the argument with the largest value.
7995 @xref{Min Intrinsic}, for the opposite function.
7997 @node Max0 Intrinsic
7998 @subsubsection Max0 Intrinsic
7999 @cindex Max0 intrinsic
8000 @cindex intrinsics, Max0
8004 Max0(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
8008 Max0: @code{INTEGER(KIND=1)} function.
8011 @var{A}: @code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
8014 Intrinsic groups: (standard FORTRAN 77).
8019 Archaic form of @code{MAX()} that is specific
8020 to one type for @var{A}.
8021 @xref{Max Intrinsic}.
8023 @node Max1 Intrinsic
8024 @subsubsection Max1 Intrinsic
8025 @cindex Max1 intrinsic
8026 @cindex intrinsics, Max1
8030 Max1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
8034 Max1: @code{INTEGER(KIND=1)} function.
8037 @var{A}: @code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
8040 Intrinsic groups: (standard FORTRAN 77).
8045 Archaic form of @code{MAX()} that is specific
8046 to one type for @var{A} and a different return type.
8047 @xref{Max Intrinsic}.
8051 @node MaxExponent Intrinsic
8052 @subsubsection MaxExponent Intrinsic
8053 @cindex MaxExponent intrinsic
8054 @cindex intrinsics, MaxExponent
8056 This intrinsic is not yet implemented.
8057 The name is, however, reserved as an intrinsic.
8058 Use @samp{EXTERNAL MaxExponent} to use this name for an
8061 @node MaxLoc Intrinsic
8062 @subsubsection MaxLoc Intrinsic
8063 @cindex MaxLoc intrinsic
8064 @cindex intrinsics, MaxLoc
8066 This intrinsic is not yet implemented.
8067 The name is, however, reserved as an intrinsic.
8068 Use @samp{EXTERNAL MaxLoc} to use this name for an
8071 @node MaxVal Intrinsic
8072 @subsubsection MaxVal Intrinsic
8073 @cindex MaxVal intrinsic
8074 @cindex intrinsics, MaxVal
8076 This intrinsic is not yet implemented.
8077 The name is, however, reserved as an intrinsic.
8078 Use @samp{EXTERNAL MaxVal} to use this name for an
8083 @node MClock Intrinsic
8084 @subsubsection MClock Intrinsic
8085 @cindex MClock intrinsic
8086 @cindex intrinsics, MClock
8094 MClock: @code{INTEGER(KIND=1)} function.
8097 Intrinsic groups: @code{unix}.
8102 Returns the number of clock ticks since the start of the process.
8103 Supported on systems with @code{clock(3)} (q.v.).
8105 @cindex wraparound, timings
8106 @cindex limits, timings
8107 This intrinsic is not fully portable, such as to systems
8108 with 32-bit @code{INTEGER} types but supporting times
8110 Therefore, the values returned by this intrinsic
8111 might be, or become, negative,
8112 or numerically less than previous values,
8113 during a single run of the compiled program.
8115 @xref{MClock8 Intrinsic}, for information on a
8116 similar intrinsic that might be portable to more
8117 GNU Fortran implementations, though to fewer
8120 If the system does not support @code{clock(3)},
8123 @node MClock8 Intrinsic
8124 @subsubsection MClock8 Intrinsic
8125 @cindex MClock8 intrinsic
8126 @cindex intrinsics, MClock8
8134 MClock8: @code{INTEGER(KIND=2)} function.
8137 Intrinsic groups: @code{unix}.
8142 Returns the number of clock ticks since the start of the process.
8143 Supported on systems with @code{clock(3)} (q.v.).
8145 @cindex wraparound, timings
8146 @cindex limits, timings
8147 @emph{Warning:} this intrinsic does not increase the range
8148 of the timing values over that returned by @code{clock(3)}.
8149 On a system with a 32-bit @code{clock(3)},
8150 @code{MCLOCK8} will return a 32-bit value,
8151 even though converted to an @samp{INTEGER(KIND=2)} value.
8152 That means overflows of the 32-bit value can still occur.
8153 Therefore, the values returned by this intrinsic
8154 might be, or become, negative,
8155 or numerically less than previous values,
8156 during a single run of the compiled program.
8158 No Fortran implementations other than GNU Fortran are
8159 known to support this intrinsic at the time of this
8161 @xref{MClock Intrinsic}, for information on a
8162 similar intrinsic that might be portable to more Fortran
8163 compilers, though to fewer GNU Fortran implementations.
8165 If the system does not support @code{clock(3)},
8170 @node Merge Intrinsic
8171 @subsubsection Merge Intrinsic
8172 @cindex Merge intrinsic
8173 @cindex intrinsics, Merge
8175 This intrinsic is not yet implemented.
8176 The name is, however, reserved as an intrinsic.
8177 Use @samp{EXTERNAL Merge} to use this name for an
8183 @subsubsection Min Intrinsic
8184 @cindex Min intrinsic
8185 @cindex intrinsics, Min
8189 Min(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
8193 Min: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
8194 types of all the arguments.
8197 @var{A}: @code{INTEGER} or @code{REAL}; at least two such arguments must be provided; scalar; INTENT(IN).
8200 Intrinsic groups: (standard FORTRAN 77).
8205 Returns the argument with the smallest value.
8207 @xref{Max Intrinsic}, for the opposite function.
8209 @node Min0 Intrinsic
8210 @subsubsection Min0 Intrinsic
8211 @cindex Min0 intrinsic
8212 @cindex intrinsics, Min0
8216 Min0(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
8220 Min0: @code{INTEGER(KIND=1)} function.
8223 @var{A}: @code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
8226 Intrinsic groups: (standard FORTRAN 77).
8231 Archaic form of @code{MIN()} that is specific
8232 to one type for @var{A}.
8233 @xref{Min Intrinsic}.
8235 @node Min1 Intrinsic
8236 @subsubsection Min1 Intrinsic
8237 @cindex Min1 intrinsic
8238 @cindex intrinsics, Min1
8242 Min1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
8246 Min1: @code{INTEGER(KIND=1)} function.
8249 @var{A}: @code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
8252 Intrinsic groups: (standard FORTRAN 77).
8257 Archaic form of @code{MIN()} that is specific
8258 to one type for @var{A} and a different return type.
8259 @xref{Min Intrinsic}.
8263 @node MinExponent Intrinsic
8264 @subsubsection MinExponent Intrinsic
8265 @cindex MinExponent intrinsic
8266 @cindex intrinsics, MinExponent
8268 This intrinsic is not yet implemented.
8269 The name is, however, reserved as an intrinsic.
8270 Use @samp{EXTERNAL MinExponent} to use this name for an
8273 @node MinLoc Intrinsic
8274 @subsubsection MinLoc Intrinsic
8275 @cindex MinLoc intrinsic
8276 @cindex intrinsics, MinLoc
8278 This intrinsic is not yet implemented.
8279 The name is, however, reserved as an intrinsic.
8280 Use @samp{EXTERNAL MinLoc} to use this name for an
8283 @node MinVal Intrinsic
8284 @subsubsection MinVal Intrinsic
8285 @cindex MinVal intrinsic
8286 @cindex intrinsics, MinVal
8288 This intrinsic is not yet implemented.
8289 The name is, however, reserved as an intrinsic.
8290 Use @samp{EXTERNAL MinVal} to use this name for an
8296 @subsubsection Mod Intrinsic
8297 @cindex Mod intrinsic
8298 @cindex intrinsics, Mod
8302 Mod(@var{A}, @var{P})
8306 Mod: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
8307 types of all the arguments.
8310 @var{A}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
8313 @var{P}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
8316 Intrinsic groups: (standard FORTRAN 77).
8321 Returns remainder calculated as:
8324 @var{A} - (INT(@var{A} / @var{P}) * @var{P})
8327 @var{P} must not be zero.
8331 @node Modulo Intrinsic
8332 @subsubsection Modulo Intrinsic
8333 @cindex Modulo intrinsic
8334 @cindex intrinsics, Modulo
8336 This intrinsic is not yet implemented.
8337 The name is, however, reserved as an intrinsic.
8338 Use @samp{EXTERNAL Modulo} to use this name for an
8343 @node MvBits Intrinsic
8344 @subsubsection MvBits Intrinsic
8345 @cindex MvBits intrinsic
8346 @cindex intrinsics, MvBits
8350 CALL MvBits(@var{From}, @var{FromPos}, @var{Len}, @var{TO}, @var{ToPos})
8354 @var{From}: @code{INTEGER}; scalar; INTENT(IN).
8357 @var{FromPos}: @code{INTEGER}; scalar; INTENT(IN).
8360 @var{Len}: @code{INTEGER}; scalar; INTENT(IN).
8363 @var{TO}: @code{INTEGER} with same @samp{KIND=} value as for @var{From}; scalar; INTENT(INOUT).
8366 @var{ToPos}: @code{INTEGER}; scalar; INTENT(IN).
8369 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
8374 Moves @var{Len} bits from positions @var{FromPos} through
8375 @samp{@var{FromPos}+@var{Len}-1} of @var{From} to positions @var{ToPos} through
8376 @samp{@var{FromPos}+@var{Len}-1} of @var{TO}. The portion of argument
8377 @var{TO} not affected by the movement of bits is unchanged. Arguments
8378 @var{From} and @var{TO} are permitted to be the same numeric storage
8379 unit. The values of @samp{@var{FromPos}+@var{Len}} and
8380 @samp{@var{ToPos}+@var{Len}} must be less than or equal to
8381 @samp{BIT_SIZE(@var{From})}.
8385 @node Nearest Intrinsic
8386 @subsubsection Nearest Intrinsic
8387 @cindex Nearest intrinsic
8388 @cindex intrinsics, Nearest
8390 This intrinsic is not yet implemented.
8391 The name is, however, reserved as an intrinsic.
8392 Use @samp{EXTERNAL Nearest} to use this name for an
8397 @node NInt Intrinsic
8398 @subsubsection NInt Intrinsic
8399 @cindex NInt intrinsic
8400 @cindex intrinsics, NInt
8408 NInt: @code{INTEGER(KIND=1)} function.
8411 @var{A}: @code{REAL}; scalar; INTENT(IN).
8414 Intrinsic groups: (standard FORTRAN 77).
8419 Returns @var{A} with the fractional portion of its
8420 magnitude eliminated by rounding to the nearest whole
8421 number and with its sign preserved, converted
8422 to type @code{INTEGER(KIND=1)}.
8424 If @var{A} is type @code{COMPLEX}, its real part is
8425 rounded and converted.
8427 A fractional portion exactly equal to
8428 @samp{.5} is rounded to the whole number that
8429 is larger in magnitude.
8430 (Also called ``Fortran round''.)
8432 @xref{Int Intrinsic}, for how to convert, truncate to
8435 @xref{ANInt Intrinsic}, for how to round to nearest whole number
8441 @subsubsection Not Intrinsic
8442 @cindex Not intrinsic
8443 @cindex intrinsics, Not
8451 Not: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
8454 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
8457 Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
8462 Returns value resulting from boolean NOT of each bit
8468 @subsubsection Or Intrinsic
8469 @cindex Or intrinsic
8470 @cindex intrinsics, Or
8474 Or(@var{I}, @var{J})
8478 Or: @code{INTEGER} or @code{LOGICAL} function, the exact type being the result of cross-promoting the
8479 types of all the arguments.
8482 @var{I}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
8485 @var{J}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
8488 Intrinsic groups: @code{f2c}.
8493 Returns value resulting from boolean OR of
8494 pair of bits in each of @var{I} and @var{J}.
8498 @node Pack Intrinsic
8499 @subsubsection Pack Intrinsic
8500 @cindex Pack intrinsic
8501 @cindex intrinsics, Pack
8503 This intrinsic is not yet implemented.
8504 The name is, however, reserved as an intrinsic.
8505 Use @samp{EXTERNAL Pack} to use this name for an
8510 @node PError Intrinsic
8511 @subsubsection PError Intrinsic
8512 @cindex PError intrinsic
8513 @cindex intrinsics, PError
8517 CALL PError(@var{String})
8521 @var{String}: @code{CHARACTER}; scalar; INTENT(IN).
8524 Intrinsic groups: @code{unix}.
8529 Prints (on the C @code{stderr} stream) a newline-terminated error
8530 message corresponding to the last system error.
8531 This is prefixed by @var{String}, a colon and a space.
8532 See @code{perror(3)}.
8536 @node Precision Intrinsic
8537 @subsubsection Precision Intrinsic
8538 @cindex Precision intrinsic
8539 @cindex intrinsics, Precision
8541 This intrinsic is not yet implemented.
8542 The name is, however, reserved as an intrinsic.
8543 Use @samp{EXTERNAL Precision} to use this name for an
8546 @node Present Intrinsic
8547 @subsubsection Present Intrinsic
8548 @cindex Present intrinsic
8549 @cindex intrinsics, Present
8551 This intrinsic is not yet implemented.
8552 The name is, however, reserved as an intrinsic.
8553 Use @samp{EXTERNAL Present} to use this name for an
8556 @node Product Intrinsic
8557 @subsubsection Product Intrinsic
8558 @cindex Product intrinsic
8559 @cindex intrinsics, Product
8561 This intrinsic is not yet implemented.
8562 The name is, however, reserved as an intrinsic.
8563 Use @samp{EXTERNAL Product} to use this name for an
8568 @node QAbs Intrinsic
8569 @subsubsection QAbs Intrinsic
8570 @cindex QAbs intrinsic
8571 @cindex intrinsics, QAbs
8573 This intrinsic is not yet implemented.
8574 The name is, however, reserved as an intrinsic.
8575 Use @samp{EXTERNAL QAbs} to use this name for an
8578 @node QACos Intrinsic
8579 @subsubsection QACos Intrinsic
8580 @cindex QACos intrinsic
8581 @cindex intrinsics, QACos
8583 This intrinsic is not yet implemented.
8584 The name is, however, reserved as an intrinsic.
8585 Use @samp{EXTERNAL QACos} to use this name for an
8588 @node QACosD Intrinsic
8589 @subsubsection QACosD Intrinsic
8590 @cindex QACosD intrinsic
8591 @cindex intrinsics, QACosD
8593 This intrinsic is not yet implemented.
8594 The name is, however, reserved as an intrinsic.
8595 Use @samp{EXTERNAL QACosD} to use this name for an
8598 @node QASin Intrinsic
8599 @subsubsection QASin Intrinsic
8600 @cindex QASin intrinsic
8601 @cindex intrinsics, QASin
8603 This intrinsic is not yet implemented.
8604 The name is, however, reserved as an intrinsic.
8605 Use @samp{EXTERNAL QASin} to use this name for an
8608 @node QASinD Intrinsic
8609 @subsubsection QASinD Intrinsic
8610 @cindex QASinD intrinsic
8611 @cindex intrinsics, QASinD
8613 This intrinsic is not yet implemented.
8614 The name is, however, reserved as an intrinsic.
8615 Use @samp{EXTERNAL QASinD} to use this name for an
8618 @node QATan Intrinsic
8619 @subsubsection QATan Intrinsic
8620 @cindex QATan intrinsic
8621 @cindex intrinsics, QATan
8623 This intrinsic is not yet implemented.
8624 The name is, however, reserved as an intrinsic.
8625 Use @samp{EXTERNAL QATan} to use this name for an
8628 @node QATan2 Intrinsic
8629 @subsubsection QATan2 Intrinsic
8630 @cindex QATan2 intrinsic
8631 @cindex intrinsics, QATan2
8633 This intrinsic is not yet implemented.
8634 The name is, however, reserved as an intrinsic.
8635 Use @samp{EXTERNAL QATan2} to use this name for an
8638 @node QATan2D Intrinsic
8639 @subsubsection QATan2D Intrinsic
8640 @cindex QATan2D intrinsic
8641 @cindex intrinsics, QATan2D
8643 This intrinsic is not yet implemented.
8644 The name is, however, reserved as an intrinsic.
8645 Use @samp{EXTERNAL QATan2D} to use this name for an
8648 @node QATanD Intrinsic
8649 @subsubsection QATanD Intrinsic
8650 @cindex QATanD intrinsic
8651 @cindex intrinsics, QATanD
8653 This intrinsic is not yet implemented.
8654 The name is, however, reserved as an intrinsic.
8655 Use @samp{EXTERNAL QATanD} to use this name for an
8658 @node QCos Intrinsic
8659 @subsubsection QCos Intrinsic
8660 @cindex QCos intrinsic
8661 @cindex intrinsics, QCos
8663 This intrinsic is not yet implemented.
8664 The name is, however, reserved as an intrinsic.
8665 Use @samp{EXTERNAL QCos} to use this name for an
8668 @node QCosD Intrinsic
8669 @subsubsection QCosD Intrinsic
8670 @cindex QCosD intrinsic
8671 @cindex intrinsics, QCosD
8673 This intrinsic is not yet implemented.
8674 The name is, however, reserved as an intrinsic.
8675 Use @samp{EXTERNAL QCosD} to use this name for an
8678 @node QCosH Intrinsic
8679 @subsubsection QCosH Intrinsic
8680 @cindex QCosH intrinsic
8681 @cindex intrinsics, QCosH
8683 This intrinsic is not yet implemented.
8684 The name is, however, reserved as an intrinsic.
8685 Use @samp{EXTERNAL QCosH} to use this name for an
8688 @node QDiM Intrinsic
8689 @subsubsection QDiM Intrinsic
8690 @cindex QDiM intrinsic
8691 @cindex intrinsics, QDiM
8693 This intrinsic is not yet implemented.
8694 The name is, however, reserved as an intrinsic.
8695 Use @samp{EXTERNAL QDiM} to use this name for an
8698 @node QExp Intrinsic
8699 @subsubsection QExp Intrinsic
8700 @cindex QExp intrinsic
8701 @cindex intrinsics, QExp
8703 This intrinsic is not yet implemented.
8704 The name is, however, reserved as an intrinsic.
8705 Use @samp{EXTERNAL QExp} to use this name for an
8708 @node QExt Intrinsic
8709 @subsubsection QExt Intrinsic
8710 @cindex QExt intrinsic
8711 @cindex intrinsics, QExt
8713 This intrinsic is not yet implemented.
8714 The name is, however, reserved as an intrinsic.
8715 Use @samp{EXTERNAL QExt} to use this name for an
8718 @node QExtD Intrinsic
8719 @subsubsection QExtD Intrinsic
8720 @cindex QExtD intrinsic
8721 @cindex intrinsics, QExtD
8723 This intrinsic is not yet implemented.
8724 The name is, however, reserved as an intrinsic.
8725 Use @samp{EXTERNAL QExtD} to use this name for an
8728 @node QFloat Intrinsic
8729 @subsubsection QFloat Intrinsic
8730 @cindex QFloat intrinsic
8731 @cindex intrinsics, QFloat
8733 This intrinsic is not yet implemented.
8734 The name is, however, reserved as an intrinsic.
8735 Use @samp{EXTERNAL QFloat} to use this name for an
8738 @node QInt Intrinsic
8739 @subsubsection QInt Intrinsic
8740 @cindex QInt intrinsic
8741 @cindex intrinsics, QInt
8743 This intrinsic is not yet implemented.
8744 The name is, however, reserved as an intrinsic.
8745 Use @samp{EXTERNAL QInt} to use this name for an
8748 @node QLog Intrinsic
8749 @subsubsection QLog Intrinsic
8750 @cindex QLog intrinsic
8751 @cindex intrinsics, QLog
8753 This intrinsic is not yet implemented.
8754 The name is, however, reserved as an intrinsic.
8755 Use @samp{EXTERNAL QLog} to use this name for an
8758 @node QLog10 Intrinsic
8759 @subsubsection QLog10 Intrinsic
8760 @cindex QLog10 intrinsic
8761 @cindex intrinsics, QLog10
8763 This intrinsic is not yet implemented.
8764 The name is, however, reserved as an intrinsic.
8765 Use @samp{EXTERNAL QLog10} to use this name for an
8768 @node QMax1 Intrinsic
8769 @subsubsection QMax1 Intrinsic
8770 @cindex QMax1 intrinsic
8771 @cindex intrinsics, QMax1
8773 This intrinsic is not yet implemented.
8774 The name is, however, reserved as an intrinsic.
8775 Use @samp{EXTERNAL QMax1} to use this name for an
8778 @node QMin1 Intrinsic
8779 @subsubsection QMin1 Intrinsic
8780 @cindex QMin1 intrinsic
8781 @cindex intrinsics, QMin1
8783 This intrinsic is not yet implemented.
8784 The name is, however, reserved as an intrinsic.
8785 Use @samp{EXTERNAL QMin1} to use this name for an
8788 @node QMod Intrinsic
8789 @subsubsection QMod Intrinsic
8790 @cindex QMod intrinsic
8791 @cindex intrinsics, QMod
8793 This intrinsic is not yet implemented.
8794 The name is, however, reserved as an intrinsic.
8795 Use @samp{EXTERNAL QMod} to use this name for an
8798 @node QNInt Intrinsic
8799 @subsubsection QNInt Intrinsic
8800 @cindex QNInt intrinsic
8801 @cindex intrinsics, QNInt
8803 This intrinsic is not yet implemented.
8804 The name is, however, reserved as an intrinsic.
8805 Use @samp{EXTERNAL QNInt} to use this name for an
8808 @node QSin Intrinsic
8809 @subsubsection QSin Intrinsic
8810 @cindex QSin intrinsic
8811 @cindex intrinsics, QSin
8813 This intrinsic is not yet implemented.
8814 The name is, however, reserved as an intrinsic.
8815 Use @samp{EXTERNAL QSin} to use this name for an
8818 @node QSinD Intrinsic
8819 @subsubsection QSinD Intrinsic
8820 @cindex QSinD intrinsic
8821 @cindex intrinsics, QSinD
8823 This intrinsic is not yet implemented.
8824 The name is, however, reserved as an intrinsic.
8825 Use @samp{EXTERNAL QSinD} to use this name for an
8828 @node QSinH Intrinsic
8829 @subsubsection QSinH Intrinsic
8830 @cindex QSinH intrinsic
8831 @cindex intrinsics, QSinH
8833 This intrinsic is not yet implemented.
8834 The name is, however, reserved as an intrinsic.
8835 Use @samp{EXTERNAL QSinH} to use this name for an
8838 @node QSqRt Intrinsic
8839 @subsubsection QSqRt Intrinsic
8840 @cindex QSqRt intrinsic
8841 @cindex intrinsics, QSqRt
8843 This intrinsic is not yet implemented.
8844 The name is, however, reserved as an intrinsic.
8845 Use @samp{EXTERNAL QSqRt} to use this name for an
8848 @node QTan Intrinsic
8849 @subsubsection QTan Intrinsic
8850 @cindex QTan intrinsic
8851 @cindex intrinsics, QTan
8853 This intrinsic is not yet implemented.
8854 The name is, however, reserved as an intrinsic.
8855 Use @samp{EXTERNAL QTan} to use this name for an
8858 @node QTanD Intrinsic
8859 @subsubsection QTanD Intrinsic
8860 @cindex QTanD intrinsic
8861 @cindex intrinsics, QTanD
8863 This intrinsic is not yet implemented.
8864 The name is, however, reserved as an intrinsic.
8865 Use @samp{EXTERNAL QTanD} to use this name for an
8868 @node QTanH Intrinsic
8869 @subsubsection QTanH Intrinsic
8870 @cindex QTanH intrinsic
8871 @cindex intrinsics, QTanH
8873 This intrinsic is not yet implemented.
8874 The name is, however, reserved as an intrinsic.
8875 Use @samp{EXTERNAL QTanH} to use this name for an
8880 @node Radix Intrinsic
8881 @subsubsection Radix Intrinsic
8882 @cindex Radix intrinsic
8883 @cindex intrinsics, Radix
8885 This intrinsic is not yet implemented.
8886 The name is, however, reserved as an intrinsic.
8887 Use @samp{EXTERNAL Radix} to use this name for an
8892 @node Rand Intrinsic
8893 @subsubsection Rand Intrinsic
8894 @cindex Rand intrinsic
8895 @cindex intrinsics, Rand
8903 Rand: @code{REAL(KIND=1)} function.
8906 @var{Flag}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN).
8909 Intrinsic groups: @code{unix}.
8914 Returns a uniform quasi-random number between 0 and 1.
8915 If @var{Flag} is 0, the next number in sequence is returned; if
8916 @var{Flag} is 1, the generator is restarted by calling @samp{srand(0)};
8917 if @var{Flag} has any other value, it is used as a new seed with
8920 @xref{SRand Intrinsic}.
8922 @emph{Note:} As typically implemented (by the routine of the same
8923 name in the C library), this random number generator is a very poor
8924 one, though the BSD and GNU libraries provide a much better
8925 implementation than the `traditional' one.
8926 On a different system you
8927 almost certainly want to use something better.
8931 @node Random_Number Intrinsic
8932 @subsubsection Random_Number Intrinsic
8933 @cindex Random_Number intrinsic
8934 @cindex intrinsics, Random_Number
8936 This intrinsic is not yet implemented.
8937 The name is, however, reserved as an intrinsic.
8938 Use @samp{EXTERNAL Random_Number} to use this name for an
8941 @node Random_Seed Intrinsic
8942 @subsubsection Random_Seed Intrinsic
8943 @cindex Random_Seed intrinsic
8944 @cindex intrinsics, Random_Seed
8946 This intrinsic is not yet implemented.
8947 The name is, however, reserved as an intrinsic.
8948 Use @samp{EXTERNAL Random_Seed} to use this name for an
8951 @node Range Intrinsic
8952 @subsubsection Range Intrinsic
8953 @cindex Range intrinsic
8954 @cindex intrinsics, Range
8956 This intrinsic is not yet implemented.
8957 The name is, however, reserved as an intrinsic.
8958 Use @samp{EXTERNAL Range} to use this name for an
8963 @node Real Intrinsic
8964 @subsubsection Real Intrinsic
8965 @cindex Real intrinsic
8966 @cindex intrinsics, Real
8974 Real: @code{REAL} function.
8975 The exact type is @samp{REAL(KIND=1)} when argument @var{A} is
8976 any type other than @code{COMPLEX}, or when it is @code{COMPLEX(KIND=1)}.
8977 When @var{A} is any @code{COMPLEX} type other than @code{COMPLEX(KIND=1)},
8978 this intrinsic is valid only when used as the argument to
8979 @code{REAL()}, as explained below.
8982 @var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
8985 Intrinsic groups: (standard FORTRAN 77).
8990 Converts @var{A} to @code{REAL(KIND=1)}.
8992 Use of @code{REAL()} with a @code{COMPLEX} argument
8993 (other than @code{COMPLEX(KIND=1)}) is restricted to the following case:
9000 This expression converts the real part of A to
9001 @code{REAL(KIND=1)}.
9003 @xref{RealPart Intrinsic}, for information on a GNU Fortran
9004 intrinsic that extracts the real part of an arbitrary
9005 @code{COMPLEX} value.
9007 @xref{REAL() and AIMAG() of Complex}, for more information.
9011 @node RealPart Intrinsic
9012 @subsubsection RealPart Intrinsic
9013 @cindex RealPart intrinsic
9014 @cindex intrinsics, RealPart
9022 RealPart: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{Z}.
9025 @var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
9028 Intrinsic groups: @code{gnu}.
9033 The real part of @var{Z} is returned, without conversion.
9035 @emph{Note:} The way to do this in standard Fortran 90
9036 is @samp{REAL(@var{Z})}.
9037 However, when, for example, @var{Z} is @code{COMPLEX(KIND=2)},
9038 @samp{REAL(@var{Z})} means something different for some compilers
9039 that are not true Fortran 90 compilers but offer some
9040 extensions standardized by Fortran 90 (such as the
9041 @code{DOUBLE COMPLEX} type, also known as @code{COMPLEX(KIND=2)}).
9043 The advantage of @code{REALPART()} is that, while not necessarily
9044 more or less portable than @code{REAL()}, it is more likely to
9045 cause a compiler that doesn't support it to produce a diagnostic
9046 than generate incorrect code.
9048 @xref{REAL() and AIMAG() of Complex}, for more information.
9052 @node Rename Intrinsic (subroutine)
9053 @subsubsection Rename Intrinsic (subroutine)
9054 @cindex Rename intrinsic
9055 @cindex intrinsics, Rename
9059 CALL Rename(@var{Path1}, @var{Path2}, @var{Status})
9063 @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
9066 @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
9069 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
9072 Intrinsic groups: @code{unix}.
9077 Renames the file @var{Path1} to @var{Path2}.
9078 A null character (@samp{CHAR(0)}) marks the end of
9079 the names in @var{Path1} and @var{Path2}---otherwise,
9080 trailing blanks in @var{Path1} and @var{Path2} are ignored.
9081 See @code{rename(2)}.
9082 If the @var{Status} argument is supplied, it contains
9083 0 on success or a non-zero error code upon return.
9085 Some non-GNU implementations of Fortran provide this intrinsic as
9086 only a function, not as a subroutine, or do not support the
9087 (optional) @var{Status} argument.
9089 For information on other intrinsics with the same name:
9090 @xref{Rename Intrinsic (function)}.
9094 @node Rename Intrinsic (function)
9095 @subsubsection Rename Intrinsic (function)
9096 @cindex Rename intrinsic
9097 @cindex intrinsics, Rename
9101 Rename(@var{Path1}, @var{Path2})
9105 Rename: @code{INTEGER(KIND=1)} function.
9108 @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
9111 @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
9114 Intrinsic groups: @code{badu77}.
9119 Renames the file @var{Path1} to @var{Path2}.
9120 A null character (@samp{CHAR(0)}) marks the end of
9121 the names in @var{Path1} and @var{Path2}---otherwise,
9122 trailing blanks in @var{Path1} and @var{Path2} are ignored.
9123 See @code{rename(2)}.
9124 Returns 0 on success or a non-zero error code.
9126 Due to the side effects performed by this intrinsic, the function
9127 form is not recommended.
9129 For information on other intrinsics with the same name:
9130 @xref{Rename Intrinsic (subroutine)}.
9134 @node Repeat Intrinsic
9135 @subsubsection Repeat Intrinsic
9136 @cindex Repeat intrinsic
9137 @cindex intrinsics, Repeat
9139 This intrinsic is not yet implemented.
9140 The name is, however, reserved as an intrinsic.
9141 Use @samp{EXTERNAL Repeat} to use this name for an
9144 @node Reshape Intrinsic
9145 @subsubsection Reshape Intrinsic
9146 @cindex Reshape intrinsic
9147 @cindex intrinsics, Reshape
9149 This intrinsic is not yet implemented.
9150 The name is, however, reserved as an intrinsic.
9151 Use @samp{EXTERNAL Reshape} to use this name for an
9154 @node RRSpacing Intrinsic
9155 @subsubsection RRSpacing Intrinsic
9156 @cindex RRSpacing intrinsic
9157 @cindex intrinsics, RRSpacing
9159 This intrinsic is not yet implemented.
9160 The name is, however, reserved as an intrinsic.
9161 Use @samp{EXTERNAL RRSpacing} to use this name for an
9166 @node RShift Intrinsic
9167 @subsubsection RShift Intrinsic
9168 @cindex RShift intrinsic
9169 @cindex intrinsics, RShift
9173 RShift(@var{I}, @var{Shift})
9177 RShift: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
9180 @var{I}: @code{INTEGER}; scalar; INTENT(IN).
9183 @var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
9186 Intrinsic groups: @code{f2c}.
9191 Returns @var{I} shifted to the right
9194 Although similar to the expression
9195 @samp{@var{I}/(2**@var{Shift})}, there
9196 are important differences.
9197 For example, the sign of the result is
9200 Currently this intrinsic is defined assuming
9201 the underlying representation of @var{I}
9202 is as a two's-complement integer.
9203 It is unclear at this point whether that
9204 definition will apply when a different
9205 representation is involved.
9207 @xref{RShift Intrinsic}, for the inverse of this function.
9209 @xref{IShft Intrinsic}, for information
9210 on a more widely available right-shifting
9211 intrinsic that is also more precisely defined.
9215 @node Scale Intrinsic
9216 @subsubsection Scale Intrinsic
9217 @cindex Scale intrinsic
9218 @cindex intrinsics, Scale
9220 This intrinsic is not yet implemented.
9221 The name is, however, reserved as an intrinsic.
9222 Use @samp{EXTERNAL Scale} to use this name for an
9225 @node Scan Intrinsic
9226 @subsubsection Scan Intrinsic
9227 @cindex Scan intrinsic
9228 @cindex intrinsics, Scan
9230 This intrinsic is not yet implemented.
9231 The name is, however, reserved as an intrinsic.
9232 Use @samp{EXTERNAL Scan} to use this name for an
9237 @node Secnds Intrinsic
9238 @subsubsection Secnds Intrinsic
9239 @cindex Secnds intrinsic
9240 @cindex intrinsics, Secnds
9248 Secnds: @code{REAL(KIND=1)} function.
9251 @var{T}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
9254 Intrinsic groups: @code{vxt}.
9259 Returns the local time in seconds since midnight minus the value
9262 @cindex wraparound, timings
9263 @cindex limits, timings
9264 This values returned by this intrinsic
9265 become numerically less than previous values
9266 (they wrap around) during a single run of the
9267 compiler program, under normal circumstances
9268 (such as running through the midnight hour).
9272 @node Second Intrinsic (function)
9273 @subsubsection Second Intrinsic (function)
9274 @cindex Second intrinsic
9275 @cindex intrinsics, Second
9283 Second: @code{REAL(KIND=1)} function.
9286 Intrinsic groups: @code{unix}.
9291 Returns the process's runtime in seconds---the same value as the
9292 UNIX function @code{etime} returns.
9294 @cindex wraparound, timings
9295 @cindex limits, timings
9296 On some systems, the underlying timings are represented
9297 using types with sufficiently small limits that overflows
9298 (wraparounds) are possible, such as 32-bit types.
9299 Therefore, the values returned by this intrinsic
9300 might be, or become, negative,
9301 or numerically less than previous values,
9302 during a single run of the compiled program.
9304 For information on other intrinsics with the same name:
9305 @xref{Second Intrinsic (subroutine)}.
9307 @node Second Intrinsic (subroutine)
9308 @subsubsection Second Intrinsic (subroutine)
9309 @cindex Second intrinsic
9310 @cindex intrinsics, Second
9314 CALL Second(@var{Seconds})
9318 @var{Seconds}: @code{REAL}; scalar; INTENT(OUT).
9321 Intrinsic groups: @code{unix}.
9326 Returns the process's runtime in seconds in @var{Seconds}---the same value
9327 as the UNIX function @code{etime} returns.
9329 @cindex wraparound, timings
9330 @cindex limits, timings
9331 On some systems, the underlying timings are represented
9332 using types with sufficiently small limits that overflows
9333 (wraparounds) are possible, such as 32-bit types.
9334 Therefore, the values returned by this intrinsic
9335 might be, or become, negative,
9336 or numerically less than previous values,
9337 during a single run of the compiled program.
9339 This routine is known from Cray Fortran. @xref{CPU_Time Intrinsic},
9340 for a standard equivalent.
9342 For information on other intrinsics with the same name:
9343 @xref{Second Intrinsic (function)}.
9347 @node Selected_Int_Kind Intrinsic
9348 @subsubsection Selected_Int_Kind Intrinsic
9349 @cindex Selected_Int_Kind intrinsic
9350 @cindex intrinsics, Selected_Int_Kind
9352 This intrinsic is not yet implemented.
9353 The name is, however, reserved as an intrinsic.
9354 Use @samp{EXTERNAL Selected_Int_Kind} to use this name for an
9357 @node Selected_Real_Kind Intrinsic
9358 @subsubsection Selected_Real_Kind Intrinsic
9359 @cindex Selected_Real_Kind intrinsic
9360 @cindex intrinsics, Selected_Real_Kind
9362 This intrinsic is not yet implemented.
9363 The name is, however, reserved as an intrinsic.
9364 Use @samp{EXTERNAL Selected_Real_Kind} to use this name for an
9367 @node Set_Exponent Intrinsic
9368 @subsubsection Set_Exponent Intrinsic
9369 @cindex Set_Exponent intrinsic
9370 @cindex intrinsics, Set_Exponent
9372 This intrinsic is not yet implemented.
9373 The name is, however, reserved as an intrinsic.
9374 Use @samp{EXTERNAL Set_Exponent} to use this name for an
9377 @node Shape Intrinsic
9378 @subsubsection Shape Intrinsic
9379 @cindex Shape intrinsic
9380 @cindex intrinsics, Shape
9382 This intrinsic is not yet implemented.
9383 The name is, however, reserved as an intrinsic.
9384 Use @samp{EXTERNAL Shape} to use this name for an
9389 @node Short Intrinsic
9390 @subsubsection Short Intrinsic
9391 @cindex Short intrinsic
9392 @cindex intrinsics, Short
9400 Short: @code{INTEGER(KIND=6)} function.
9403 @var{A}: @code{INTEGER}; scalar; INTENT(IN).
9406 Intrinsic groups: @code{unix}.
9411 Returns @var{A} with the fractional portion of its
9412 magnitude truncated and its sign preserved, converted
9413 to type @code{INTEGER(KIND=6)}.
9415 If @var{A} is type @code{COMPLEX}, its real part
9416 is truncated and converted, and its imaginary part is disgregarded.
9418 @xref{Int Intrinsic}.
9420 The precise meaning of this intrinsic might change
9421 in a future version of the GNU Fortran language,
9422 as more is learned about how it is used.
9426 @node Sign Intrinsic
9427 @subsubsection Sign Intrinsic
9428 @cindex Sign intrinsic
9429 @cindex intrinsics, Sign
9433 Sign(@var{A}, @var{B})
9437 Sign: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
9438 types of all the arguments.
9441 @var{A}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
9444 @var{B}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
9447 Intrinsic groups: (standard FORTRAN 77).
9452 Returns @samp{ABS(@var{A})*@var{s}}, where
9453 @var{s} is +1 if @samp{@var{B}.GE.0},
9456 @xref{Abs Intrinsic}, for the function that returns
9457 the magnitude of a value.
9461 @node Signal Intrinsic (subroutine)
9462 @subsubsection Signal Intrinsic (subroutine)
9463 @cindex Signal intrinsic
9464 @cindex intrinsics, Signal
9468 CALL Signal(@var{Number}, @var{Handler}, @var{Status})
9472 @var{Number}: @code{INTEGER}; scalar; INTENT(IN).
9475 @var{Handler}: Signal handler (@code{INTEGER FUNCTION} or @code{SUBROUTINE})
9476 or dummy/global @code{INTEGER(KIND=1)} scalar.
9479 @var{Status}: @code{INTEGER(KIND=7)}; OPTIONAL; scalar; INTENT(OUT).
9482 Intrinsic groups: @code{unix}.
9487 If @var{Handler} is a an @code{EXTERNAL} routine, arranges for it to be
9488 invoked with a single integer argument (of system-dependent length)
9489 when signal @var{Number} occurs.
9490 If @var{Handler} is an integer, it can be
9491 used to turn off handling of signal @var{Number} or revert to its default
9493 See @code{signal(2)}.
9495 Note that @var{Handler} will be called using C conventions,
9496 so the value of its argument in Fortran terms
9497 Fortran terms is obtained by applying @code{%LOC()} (or @var{LOC()}) to it.
9499 The value returned by @code{signal(2)} is written to @var{Status}, if
9500 that argument is supplied.
9501 Otherwise the return value is ignored.
9503 Some non-GNU implementations of Fortran provide this intrinsic as
9504 only a function, not as a subroutine, or do not support the
9505 (optional) @var{Status} argument.
9507 @emph{Warning:} Use of the @code{libf2c} run-time library function
9508 @samp{signal_} directly
9509 (such as via @samp{EXTERNAL SIGNAL})
9510 requires use of the @code{%VAL()} construct
9511 to pass an @code{INTEGER} value
9512 (such as @samp{SIG_IGN} or @samp{SIG_DFL})
9513 for the @var{Handler} argument.
9515 However, while @samp{CALL SIGNAL(@var{signum}, %VAL(SIG_IGN))}
9516 works when @samp{SIGNAL} is treated as an external procedure
9517 (and resolves, at link time, to @code{libf2c}'s @samp{signal_} routine),
9518 this construct is not valid when @samp{SIGNAL} is recognized
9519 as the intrinsic of that name.
9521 Therefore, for maximum portability and reliability,
9522 code such references to the @samp{SIGNAL} facility as follows:
9527 CALL SIGNAL(@var{signum}, SIG_IGN)
9530 @code{g77} will compile such a call correctly,
9531 while other compilers will generally either do so as well
9532 or reject the @samp{INTRINSIC SIGNAL} statement via a diagnostic,
9533 allowing you to take appropriate action.
9535 For information on other intrinsics with the same name:
9536 @xref{Signal Intrinsic (function)}.
9540 @node Signal Intrinsic (function)
9541 @subsubsection Signal Intrinsic (function)
9542 @cindex Signal intrinsic
9543 @cindex intrinsics, Signal
9547 Signal(@var{Number}, @var{Handler})
9551 Signal: @code{INTEGER(KIND=7)} function.
9554 @var{Number}: @code{INTEGER}; scalar; INTENT(IN).
9557 @var{Handler}: Signal handler (@code{INTEGER FUNCTION} or @code{SUBROUTINE})
9558 or dummy/global @code{INTEGER(KIND=1)} scalar.
9561 Intrinsic groups: @code{badu77}.
9566 If @var{Handler} is a an @code{EXTERNAL} routine, arranges for it to be
9567 invoked with a single integer argument (of system-dependent length)
9568 when signal @var{Number} occurs.
9569 If @var{Handler} is an integer, it can be
9570 used to turn off handling of signal @var{Number} or revert to its default
9572 See @code{signal(2)}.
9574 Note that @var{Handler} will be called using C conventions,
9575 so the value of its argument in Fortran terms
9576 is obtained by applying @code{%LOC()} (or @var{LOC()}) to it.
9578 The value returned by @code{signal(2)} is returned.
9580 Due to the side effects performed by this intrinsic, the function
9581 form is not recommended.
9583 @emph{Warning:} If the returned value is stored in
9584 an @code{INTEGER(KIND=1)} (default @code{INTEGER}) argument,
9585 truncation of the original return value occurs on some systems
9586 (such as Alphas, which have 64-bit pointers but 32-bit default integers),
9587 with no warning issued by @code{g77} under normal circumstances.
9589 Therefore, the following code fragment might silently fail on
9595 RTN = SIGNAL(@var{signum}, MYHNDL)
9597 ! Restore original handler:
9598 RTN = SIGNAL(@var{signum}, RTN)
9601 The reason for the failure is that @samp{RTN} might not hold
9602 all the information on the original handler for the signal,
9603 thus restoring an invalid handler.
9604 This bug could manifest itself as a spurious run-time failure
9605 at an arbitrary point later during the program's execution,
9608 @emph{Warning:} Use of the @code{libf2c} run-time library function
9609 @samp{signal_} directly
9610 (such as via @samp{EXTERNAL SIGNAL})
9611 requires use of the @code{%VAL()} construct
9612 to pass an @code{INTEGER} value
9613 (such as @samp{SIG_IGN} or @samp{SIG_DFL})
9614 for the @var{Handler} argument.
9616 However, while @samp{RTN = SIGNAL(@var{signum}, %VAL(SIG_IGN))}
9617 works when @samp{SIGNAL} is treated as an external procedure
9618 (and resolves, at link time, to @code{libf2c}'s @samp{signal_} routine),
9619 this construct is not valid when @samp{SIGNAL} is recognized
9620 as the intrinsic of that name.
9622 Therefore, for maximum portability and reliability,
9623 code such references to the @samp{SIGNAL} facility as follows:
9628 RTN = SIGNAL(@var{signum}, SIG_IGN)
9631 @code{g77} will compile such a call correctly,
9632 while other compilers will generally either do so as well
9633 or reject the @samp{INTRINSIC SIGNAL} statement via a diagnostic,
9634 allowing you to take appropriate action.
9636 For information on other intrinsics with the same name:
9637 @xref{Signal Intrinsic (subroutine)}.
9642 @subsubsection Sin Intrinsic
9643 @cindex Sin intrinsic
9644 @cindex intrinsics, Sin
9652 Sin: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
9655 @var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
9658 Intrinsic groups: (standard FORTRAN 77).
9663 Returns the sine of @var{X}, an angle measured
9666 @xref{ASin Intrinsic}, for the inverse of this function.
9670 @node SinD Intrinsic
9671 @subsubsection SinD Intrinsic
9672 @cindex SinD intrinsic
9673 @cindex intrinsics, SinD
9675 This intrinsic is not yet implemented.
9676 The name is, however, reserved as an intrinsic.
9677 Use @samp{EXTERNAL SinD} to use this name for an
9682 @node SinH Intrinsic
9683 @subsubsection SinH Intrinsic
9684 @cindex SinH intrinsic
9685 @cindex intrinsics, SinH
9693 SinH: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
9696 @var{X}: @code{REAL}; scalar; INTENT(IN).
9699 Intrinsic groups: (standard FORTRAN 77).
9704 Returns the hyperbolic sine of @var{X}.
9708 @node Sleep Intrinsic
9709 @subsubsection Sleep Intrinsic
9710 @cindex Sleep intrinsic
9711 @cindex intrinsics, Sleep
9715 CALL Sleep(@var{Seconds})
9719 @var{Seconds}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
9722 Intrinsic groups: @code{unix}.
9727 Causes the process to pause for @var{Seconds} seconds.
9728 See @code{sleep(2)}.
9732 @node Sngl Intrinsic
9733 @subsubsection Sngl Intrinsic
9734 @cindex Sngl intrinsic
9735 @cindex intrinsics, Sngl
9743 Sngl: @code{REAL(KIND=1)} function.
9746 @var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
9749 Intrinsic groups: (standard FORTRAN 77).
9754 Archaic form of @code{REAL()} that is specific
9755 to one type for @var{A}.
9756 @xref{Real Intrinsic}.
9760 @node SnglQ Intrinsic
9761 @subsubsection SnglQ Intrinsic
9762 @cindex SnglQ intrinsic
9763 @cindex intrinsics, SnglQ
9765 This intrinsic is not yet implemented.
9766 The name is, however, reserved as an intrinsic.
9767 Use @samp{EXTERNAL SnglQ} to use this name for an
9772 @node Spacing Intrinsic
9773 @subsubsection Spacing Intrinsic
9774 @cindex Spacing intrinsic
9775 @cindex intrinsics, Spacing
9777 This intrinsic is not yet implemented.
9778 The name is, however, reserved as an intrinsic.
9779 Use @samp{EXTERNAL Spacing} to use this name for an
9782 @node Spread Intrinsic
9783 @subsubsection Spread Intrinsic
9784 @cindex Spread intrinsic
9785 @cindex intrinsics, Spread
9787 This intrinsic is not yet implemented.
9788 The name is, however, reserved as an intrinsic.
9789 Use @samp{EXTERNAL Spread} to use this name for an
9794 @node SqRt Intrinsic
9795 @subsubsection SqRt Intrinsic
9796 @cindex SqRt intrinsic
9797 @cindex intrinsics, SqRt
9805 SqRt: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
9808 @var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
9811 Intrinsic groups: (standard FORTRAN 77).
9816 Returns the square root of @var{X}, which must
9819 To calculate and represent the square root of a negative
9820 number, complex arithmetic must be used.
9821 For example, @samp{SQRT(COMPLEX(@var{X}))}.
9823 The inverse of this function is @samp{SQRT(@var{X}) * SQRT(@var{X})}.
9827 @node SRand Intrinsic
9828 @subsubsection SRand Intrinsic
9829 @cindex SRand intrinsic
9830 @cindex intrinsics, SRand
9834 CALL SRand(@var{Seed})
9838 @var{Seed}: @code{INTEGER}; scalar; INTENT(IN).
9841 Intrinsic groups: @code{unix}.
9846 Reinitialises the generator with the seed in @var{Seed}.
9847 @xref{IRand Intrinsic}.
9848 @xref{Rand Intrinsic}.
9850 @node Stat Intrinsic (subroutine)
9851 @subsubsection Stat Intrinsic (subroutine)
9852 @cindex Stat intrinsic
9853 @cindex intrinsics, Stat
9857 CALL Stat(@var{File}, @var{SArray}, @var{Status})
9861 @var{File}: @code{CHARACTER}; scalar; INTENT(IN).
9864 @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
9867 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
9870 Intrinsic groups: @code{unix}.
9875 Obtains data about the given file @var{File} and places them in the array
9877 A null character (@samp{CHAR(0)}) marks the end of
9878 the name in @var{File}---otherwise,
9879 trailing blanks in @var{File} are ignored.
9880 The values in this array are extracted from the
9881 @code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
9891 ID of device containing directory entry for file
9894 Device id (if relevant)
9912 Last modification time
9915 Last file status change time
9918 Preferred I/O block size
9921 Number of blocks allocated
9924 Not all these elements are relevant on all systems.
9925 If an element is not relevant, it is returned as 0.
9927 If the @var{Status} argument is supplied, it contains
9928 0 on success or a non-zero error code upon return.
9930 Some non-GNU implementations of Fortran provide this intrinsic as
9931 only a function, not as a subroutine, or do not support the
9932 (optional) @var{Status} argument.
9934 For information on other intrinsics with the same name:
9935 @xref{Stat Intrinsic (function)}.
9937 @node Stat Intrinsic (function)
9938 @subsubsection Stat Intrinsic (function)
9939 @cindex Stat intrinsic
9940 @cindex intrinsics, Stat
9944 Stat(@var{File}, @var{SArray})
9948 Stat: @code{INTEGER(KIND=1)} function.
9951 @var{File}: @code{CHARACTER}; scalar; INTENT(IN).
9954 @var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
9957 Intrinsic groups: @code{unix}.
9962 Obtains data about the given file @var{File} and places them in the array
9964 A null character (@samp{CHAR(0)}) marks the end of
9965 the name in @var{File}---otherwise,
9966 trailing blanks in @var{File} are ignored.
9967 The values in this array are extracted from the
9968 @code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
9978 ID of device containing directory entry for file
9981 Device id (if relevant)
9999 Last modification time
10002 Last file status change time
10005 Preferred I/O block size
10008 Number of blocks allocated
10011 Not all these elements are relevant on all systems.
10012 If an element is not relevant, it is returned as 0.
10014 Returns 0 on success or a non-zero error code.
10016 For information on other intrinsics with the same name:
10017 @xref{Stat Intrinsic (subroutine)}.
10021 @node Sum Intrinsic
10022 @subsubsection Sum Intrinsic
10023 @cindex Sum intrinsic
10024 @cindex intrinsics, Sum
10026 This intrinsic is not yet implemented.
10027 The name is, however, reserved as an intrinsic.
10028 Use @samp{EXTERNAL Sum} to use this name for an
10029 external procedure.
10033 @node SymLnk Intrinsic (subroutine)
10034 @subsubsection SymLnk Intrinsic (subroutine)
10035 @cindex SymLnk intrinsic
10036 @cindex intrinsics, SymLnk
10040 CALL SymLnk(@var{Path1}, @var{Path2}, @var{Status})
10044 @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
10047 @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
10050 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
10053 Intrinsic groups: @code{unix}.
10058 Makes a symbolic link from file @var{Path1} to @var{Path2}.
10059 A null character (@samp{CHAR(0)}) marks the end of
10060 the names in @var{Path1} and @var{Path2}---otherwise,
10061 trailing blanks in @var{Path1} and @var{Path2} are ignored.
10062 If the @var{Status} argument is supplied, it contains
10063 0 on success or a non-zero error code upon return
10064 (@code{ENOSYS} if the system does not provide @code{symlink(2)}).
10066 Some non-GNU implementations of Fortran provide this intrinsic as
10067 only a function, not as a subroutine, or do not support the
10068 (optional) @var{Status} argument.
10070 For information on other intrinsics with the same name:
10071 @xref{SymLnk Intrinsic (function)}.
10074 @ifset familyBADU77
10075 @node SymLnk Intrinsic (function)
10076 @subsubsection SymLnk Intrinsic (function)
10077 @cindex SymLnk intrinsic
10078 @cindex intrinsics, SymLnk
10082 SymLnk(@var{Path1}, @var{Path2})
10086 SymLnk: @code{INTEGER(KIND=1)} function.
10089 @var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
10092 @var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
10095 Intrinsic groups: @code{badu77}.
10100 Makes a symbolic link from file @var{Path1} to @var{Path2}.
10101 A null character (@samp{CHAR(0)}) marks the end of
10102 the names in @var{Path1} and @var{Path2}---otherwise,
10103 trailing blanks in @var{Path1} and @var{Path2} are ignored.
10104 Returns 0 on success or a non-zero error code
10105 (@code{ENOSYS} if the system does not provide @code{symlink(2)}).
10107 Due to the side effects performed by this intrinsic, the function
10108 form is not recommended.
10110 For information on other intrinsics with the same name:
10111 @xref{SymLnk Intrinsic (subroutine)}.
10115 @node System Intrinsic (subroutine)
10116 @subsubsection System Intrinsic (subroutine)
10117 @cindex System intrinsic
10118 @cindex intrinsics, System
10122 CALL System(@var{Command}, @var{Status})
10126 @var{Command}: @code{CHARACTER}; scalar; INTENT(IN).
10129 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
10132 Intrinsic groups: @code{unix}.
10137 Passes the command @var{Command} to a shell (see @code{system(3)}).
10138 If argument @var{Status} is present, it contains the value returned by
10139 @code{system(3)}, presumably 0 if the shell command succeeded.
10140 Note that which shell is used to invoke the command is system-dependent
10141 and environment-dependent.
10143 Some non-GNU implementations of Fortran provide this intrinsic as
10144 only a function, not as a subroutine, or do not support the
10145 (optional) @var{Status} argument.
10147 For information on other intrinsics with the same name:
10148 @xref{System Intrinsic (function)}.
10151 @ifset familyBADU77
10152 @node System Intrinsic (function)
10153 @subsubsection System Intrinsic (function)
10154 @cindex System intrinsic
10155 @cindex intrinsics, System
10159 System(@var{Command})
10163 System: @code{INTEGER(KIND=1)} function.
10166 @var{Command}: @code{CHARACTER}; scalar; INTENT(IN).
10169 Intrinsic groups: @code{badu77}.
10174 Passes the command @var{Command} to a shell (see @code{system(3)}).
10175 Returns the value returned by
10176 @code{system(3)}, presumably 0 if the shell command succeeded.
10177 Note that which shell is used to invoke the command is system-dependent
10178 and environment-dependent.
10180 Due to the side effects performed by this intrinsic, the function
10181 form is not recommended.
10182 However, the function form can be valid in cases where the
10183 actual side effects performed by the call are unimportant to
10186 For example, on a UNIX system, @samp{SAME = SYSTEM('cmp a b')}
10187 does not perform any side effects likely to be important to the
10188 program, so the programmer would not care if the actual system
10189 call (and invocation of @code{cmp}) was optimized away in a situation
10190 where the return value could be determined otherwise, or was not
10191 actually needed (@samp{SAME} not actually referenced after the
10192 sample assignment statement).
10194 For information on other intrinsics with the same name:
10195 @xref{System Intrinsic (subroutine)}.
10199 @node System_Clock Intrinsic
10200 @subsubsection System_Clock Intrinsic
10201 @cindex System_Clock intrinsic
10202 @cindex intrinsics, System_Clock
10206 CALL System_Clock(@var{Count}, @var{Rate}, @var{Max})
10210 @var{Count}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
10213 @var{Rate}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
10216 @var{Max}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
10219 Intrinsic groups: @code{f90}.
10224 Returns in @var{Count} the current value of the system clock; this is
10225 the value returned by the UNIX function @code{times(2)}
10226 in this implementation, but
10228 @var{Rate} is the number of clock ticks per second and
10229 @var{Max} is the maximum value this can take, which isn't very useful
10230 in this implementation since it's just the maximum C @code{unsigned
10233 @cindex wraparound, timings
10234 @cindex limits, timings
10235 On some systems, the underlying timings are represented
10236 using types with sufficiently small limits that overflows
10237 (wraparounds) are possible, such as 32-bit types.
10238 Therefore, the values returned by this intrinsic
10239 might be, or become, negative,
10240 or numerically less than previous values,
10241 during a single run of the compiled program.
10245 @node Tan Intrinsic
10246 @subsubsection Tan Intrinsic
10247 @cindex Tan intrinsic
10248 @cindex intrinsics, Tan
10256 Tan: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
10259 @var{X}: @code{REAL}; scalar; INTENT(IN).
10262 Intrinsic groups: (standard FORTRAN 77).
10267 Returns the tangent of @var{X}, an angle measured
10270 @xref{ATan Intrinsic}, for the inverse of this function.
10274 @node TanD Intrinsic
10275 @subsubsection TanD Intrinsic
10276 @cindex TanD intrinsic
10277 @cindex intrinsics, TanD
10279 This intrinsic is not yet implemented.
10280 The name is, however, reserved as an intrinsic.
10281 Use @samp{EXTERNAL TanD} to use this name for an
10282 external procedure.
10286 @node TanH Intrinsic
10287 @subsubsection TanH Intrinsic
10288 @cindex TanH intrinsic
10289 @cindex intrinsics, TanH
10297 TanH: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
10300 @var{X}: @code{REAL}; scalar; INTENT(IN).
10303 Intrinsic groups: (standard FORTRAN 77).
10308 Returns the hyperbolic tangent of @var{X}.
10312 @node Time Intrinsic (UNIX)
10313 @subsubsection Time Intrinsic (UNIX)
10314 @cindex Time intrinsic
10315 @cindex intrinsics, Time
10323 Time: @code{INTEGER(KIND=1)} function.
10326 Intrinsic groups: @code{unix}.
10331 Returns the current time encoded as an integer
10332 (in the manner of the UNIX function @code{time(3)}).
10333 This value is suitable for passing to @code{CTIME},
10334 @code{GMTIME}, and @code{LTIME}.
10336 @cindex wraparound, timings
10337 @cindex limits, timings
10338 This intrinsic is not fully portable, such as to systems
10339 with 32-bit @code{INTEGER} types but supporting times
10340 wider than 32 bits.
10341 Therefore, the values returned by this intrinsic
10342 might be, or become, negative,
10343 or numerically less than previous values,
10344 during a single run of the compiled program.
10346 @xref{Time8 Intrinsic}, for information on a
10347 similar intrinsic that might be portable to more
10348 GNU Fortran implementations, though to fewer
10351 For information on other intrinsics with the same name:
10352 @xref{Time Intrinsic (VXT)}.
10356 @node Time Intrinsic (VXT)
10357 @subsubsection Time Intrinsic (VXT)
10358 @cindex Time intrinsic
10359 @cindex intrinsics, Time
10363 CALL Time(@var{Time})
10367 @var{Time}: @code{CHARACTER*8}; scalar; INTENT(OUT).
10370 Intrinsic groups: @code{vxt}.
10375 Returns in @var{Time} a character representation of the current time as
10376 obtained from @code{ctime(3)}.
10378 @cindex Y10K compliance
10379 @cindex Year 10000 compliance
10380 @cindex wraparound, Y10K
10381 @cindex limits, Y10K
10382 Programs making use of this intrinsic
10383 might not be Year 10000 (Y10K) compliant.
10384 For example, the date might appear,
10385 to such programs, to wrap around
10386 (change from a larger value to a smaller one)
10387 as of the Year 10000.
10389 @xref{FDate Intrinsic (subroutine)} for an equivalent routine.
10391 For information on other intrinsics with the same name:
10392 @xref{Time Intrinsic (UNIX)}.
10396 @node Time8 Intrinsic
10397 @subsubsection Time8 Intrinsic
10398 @cindex Time8 intrinsic
10399 @cindex intrinsics, Time8
10407 Time8: @code{INTEGER(KIND=2)} function.
10410 Intrinsic groups: @code{unix}.
10415 Returns the current time encoded as a long integer
10416 (in the manner of the UNIX function @code{time(3)}).
10417 This value is suitable for passing to @code{CTIME},
10418 @code{GMTIME}, and @code{LTIME}.
10420 @cindex wraparound, timings
10421 @cindex limits, timings
10422 @emph{Warning:} this intrinsic does not increase the range
10423 of the timing values over that returned by @code{time(3)}.
10424 On a system with a 32-bit @code{time(3)},
10425 @code{TIME8} will return a 32-bit value,
10426 even though converted to an @samp{INTEGER(KIND=2)} value.
10427 That means overflows of the 32-bit value can still occur.
10428 Therefore, the values returned by this intrinsic
10429 might be, or become, negative,
10430 or numerically less than previous values,
10431 during a single run of the compiled program.
10433 No Fortran implementations other than GNU Fortran are
10434 known to support this intrinsic at the time of this
10436 @xref{Time Intrinsic (UNIX)}, for information on a
10437 similar intrinsic that might be portable to more Fortran
10438 compilers, though to fewer GNU Fortran implementations.
10442 @node Tiny Intrinsic
10443 @subsubsection Tiny Intrinsic
10444 @cindex Tiny intrinsic
10445 @cindex intrinsics, Tiny
10447 This intrinsic is not yet implemented.
10448 The name is, however, reserved as an intrinsic.
10449 Use @samp{EXTERNAL Tiny} to use this name for an
10450 external procedure.
10452 @node Transfer Intrinsic
10453 @subsubsection Transfer Intrinsic
10454 @cindex Transfer intrinsic
10455 @cindex intrinsics, Transfer
10457 This intrinsic is not yet implemented.
10458 The name is, however, reserved as an intrinsic.
10459 Use @samp{EXTERNAL Transfer} to use this name for an
10460 external procedure.
10462 @node Transpose Intrinsic
10463 @subsubsection Transpose Intrinsic
10464 @cindex Transpose intrinsic
10465 @cindex intrinsics, Transpose
10467 This intrinsic is not yet implemented.
10468 The name is, however, reserved as an intrinsic.
10469 Use @samp{EXTERNAL Transpose} to use this name for an
10470 external procedure.
10472 @node Trim Intrinsic
10473 @subsubsection Trim Intrinsic
10474 @cindex Trim intrinsic
10475 @cindex intrinsics, Trim
10477 This intrinsic is not yet implemented.
10478 The name is, however, reserved as an intrinsic.
10479 Use @samp{EXTERNAL Trim} to use this name for an
10480 external procedure.
10484 @node TtyNam Intrinsic (subroutine)
10485 @subsubsection TtyNam Intrinsic (subroutine)
10486 @cindex TtyNam intrinsic
10487 @cindex intrinsics, TtyNam
10491 CALL TtyNam(@var{Name}, @var{Unit})
10495 @var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
10498 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
10501 Intrinsic groups: @code{unix}.
10506 Sets @var{Name} to the name of the terminal device open on logical unit
10507 @var{Unit} or a blank string if @var{Unit} is not connected to a
10510 Some non-GNU implementations of Fortran provide this intrinsic as
10511 only a function, not as a subroutine.
10513 For information on other intrinsics with the same name:
10514 @xref{TtyNam Intrinsic (function)}.
10516 @node TtyNam Intrinsic (function)
10517 @subsubsection TtyNam Intrinsic (function)
10518 @cindex TtyNam intrinsic
10519 @cindex intrinsics, TtyNam
10527 TtyNam: @code{CHARACTER*(*)} function.
10530 @var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
10533 Intrinsic groups: @code{unix}.
10538 Returns the name of the terminal device open on logical unit
10539 @var{Unit} or a blank string if @var{Unit} is not connected to a
10542 For information on other intrinsics with the same name:
10543 @xref{TtyNam Intrinsic (subroutine)}.
10547 @node UBound Intrinsic
10548 @subsubsection UBound Intrinsic
10549 @cindex UBound intrinsic
10550 @cindex intrinsics, UBound
10552 This intrinsic is not yet implemented.
10553 The name is, however, reserved as an intrinsic.
10554 Use @samp{EXTERNAL UBound} to use this name for an
10555 external procedure.
10559 @node UMask Intrinsic (subroutine)
10560 @subsubsection UMask Intrinsic (subroutine)
10561 @cindex UMask intrinsic
10562 @cindex intrinsics, UMask
10566 CALL UMask(@var{Mask}, @var{Old})
10570 @var{Mask}: @code{INTEGER}; scalar; INTENT(IN).
10573 @var{Old}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
10576 Intrinsic groups: @code{unix}.
10581 Sets the file creation mask to @var{Mask} and returns the old value in
10582 argument @var{Old} if it is supplied.
10583 See @code{umask(2)}.
10585 Some non-GNU implementations of Fortran provide this intrinsic as
10586 only a function, not as a subroutine.
10588 For information on other intrinsics with the same name:
10589 @xref{UMask Intrinsic (function)}.
10592 @ifset familyBADU77
10593 @node UMask Intrinsic (function)
10594 @subsubsection UMask Intrinsic (function)
10595 @cindex UMask intrinsic
10596 @cindex intrinsics, UMask
10604 UMask: @code{INTEGER(KIND=1)} function.
10607 @var{Mask}: @code{INTEGER}; scalar; INTENT(IN).
10610 Intrinsic groups: @code{badu77}.
10615 Sets the file creation mask to @var{Mask} and returns the old value.
10616 See @code{umask(2)}.
10618 Due to the side effects performed by this intrinsic, the function
10619 form is not recommended.
10621 For information on other intrinsics with the same name:
10622 @xref{UMask Intrinsic (subroutine)}.
10626 @node Unlink Intrinsic (subroutine)
10627 @subsubsection Unlink Intrinsic (subroutine)
10628 @cindex Unlink intrinsic
10629 @cindex intrinsics, Unlink
10633 CALL Unlink(@var{File}, @var{Status})
10637 @var{File}: @code{CHARACTER}; scalar; INTENT(IN).
10640 @var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
10643 Intrinsic groups: @code{unix}.
10648 Unlink the file @var{File}.
10649 A null character (@samp{CHAR(0)}) marks the end of
10650 the name in @var{File}---otherwise,
10651 trailing blanks in @var{File} are ignored.
10652 If the @var{Status} argument is supplied, it contains
10653 0 on success or a non-zero error code upon return.
10654 See @code{unlink(2)}.
10656 Some non-GNU implementations of Fortran provide this intrinsic as
10657 only a function, not as a subroutine, or do not support the
10658 (optional) @var{Status} argument.
10660 For information on other intrinsics with the same name:
10661 @xref{Unlink Intrinsic (function)}.
10664 @ifset familyBADU77
10665 @node Unlink Intrinsic (function)
10666 @subsubsection Unlink Intrinsic (function)
10667 @cindex Unlink intrinsic
10668 @cindex intrinsics, Unlink
10676 Unlink: @code{INTEGER(KIND=1)} function.
10679 @var{File}: @code{CHARACTER}; scalar; INTENT(IN).
10682 Intrinsic groups: @code{badu77}.
10687 Unlink the file @var{File}.
10688 A null character (@samp{CHAR(0)}) marks the end of
10689 the name in @var{File}---otherwise,
10690 trailing blanks in @var{File} are ignored.
10691 Returns 0 on success or a non-zero error code.
10692 See @code{unlink(2)}.
10694 Due to the side effects performed by this intrinsic, the function
10695 form is not recommended.
10697 For information on other intrinsics with the same name:
10698 @xref{Unlink Intrinsic (subroutine)}.
10702 @node Unpack Intrinsic
10703 @subsubsection Unpack Intrinsic
10704 @cindex Unpack intrinsic
10705 @cindex intrinsics, Unpack
10707 This intrinsic is not yet implemented.
10708 The name is, however, reserved as an intrinsic.
10709 Use @samp{EXTERNAL Unpack} to use this name for an
10710 external procedure.
10712 @node Verify Intrinsic
10713 @subsubsection Verify Intrinsic
10714 @cindex Verify intrinsic
10715 @cindex intrinsics, Verify
10717 This intrinsic is not yet implemented.
10718 The name is, however, reserved as an intrinsic.
10719 Use @samp{EXTERNAL Verify} to use this name for an
10720 external procedure.
10724 @node XOr Intrinsic
10725 @subsubsection XOr Intrinsic
10726 @cindex XOr intrinsic
10727 @cindex intrinsics, XOr
10731 XOr(@var{I}, @var{J})
10735 XOr: @code{INTEGER} or @code{LOGICAL} function, the exact type being the result of cross-promoting the
10736 types of all the arguments.
10739 @var{I}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
10742 @var{J}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
10745 Intrinsic groups: @code{f2c}.
10750 Returns value resulting from boolean exclusive-OR of
10751 pair of bits in each of @var{I} and @var{J}.
10753 @node ZAbs Intrinsic
10754 @subsubsection ZAbs Intrinsic
10755 @cindex ZAbs intrinsic
10756 @cindex intrinsics, ZAbs
10764 ZAbs: @code{REAL(KIND=2)} function.
10767 @var{A}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10770 Intrinsic groups: @code{f2c}.
10775 Archaic form of @code{ABS()} that is specific
10776 to one type for @var{A}.
10777 @xref{Abs Intrinsic}.
10779 @node ZCos Intrinsic
10780 @subsubsection ZCos Intrinsic
10781 @cindex ZCos intrinsic
10782 @cindex intrinsics, ZCos
10790 ZCos: @code{COMPLEX(KIND=2)} function.
10793 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10796 Intrinsic groups: @code{f2c}.
10801 Archaic form of @code{COS()} that is specific
10802 to one type for @var{X}.
10803 @xref{Cos Intrinsic}.
10805 @node ZExp Intrinsic
10806 @subsubsection ZExp Intrinsic
10807 @cindex ZExp intrinsic
10808 @cindex intrinsics, ZExp
10816 ZExp: @code{COMPLEX(KIND=2)} function.
10819 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10822 Intrinsic groups: @code{f2c}.
10827 Archaic form of @code{EXP()} that is specific
10828 to one type for @var{X}.
10829 @xref{Exp Intrinsic}.
10833 @node ZExt Intrinsic
10834 @subsubsection ZExt Intrinsic
10835 @cindex ZExt intrinsic
10836 @cindex intrinsics, ZExt
10838 This intrinsic is not yet implemented.
10839 The name is, however, reserved as an intrinsic.
10840 Use @samp{EXTERNAL ZExt} to use this name for an
10841 external procedure.
10845 @node ZLog Intrinsic
10846 @subsubsection ZLog Intrinsic
10847 @cindex ZLog intrinsic
10848 @cindex intrinsics, ZLog
10856 ZLog: @code{COMPLEX(KIND=2)} function.
10859 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10862 Intrinsic groups: @code{f2c}.
10867 Archaic form of @code{LOG()} that is specific
10868 to one type for @var{X}.
10869 @xref{Log Intrinsic}.
10871 @node ZSin Intrinsic
10872 @subsubsection ZSin Intrinsic
10873 @cindex ZSin intrinsic
10874 @cindex intrinsics, ZSin
10882 ZSin: @code{COMPLEX(KIND=2)} function.
10885 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10888 Intrinsic groups: @code{f2c}.
10893 Archaic form of @code{SIN()} that is specific
10894 to one type for @var{X}.
10895 @xref{Sin Intrinsic}.
10897 @node ZSqRt Intrinsic
10898 @subsubsection ZSqRt Intrinsic
10899 @cindex ZSqRt intrinsic
10900 @cindex intrinsics, ZSqRt
10908 ZSqRt: @code{COMPLEX(KIND=2)} function.
10911 @var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10914 Intrinsic groups: @code{f2c}.
10919 Archaic form of @code{SQRT()} that is specific
10920 to one type for @var{X}.
10921 @xref{SqRt Intrinsic}.