]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/f/intdoc.texi
re PR fortran/13930 (derived type with intent(in) attribute not accepted)
[thirdparty/gcc.git] / gcc / f / intdoc.texi
CommitLineData
34b8e428
JL
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.
177873a5
JW
3@menu
4@ifset familyF2U
5* Abort Intrinsic:: Abort the program.
6@end ifset
7@ifset familyF77
8* Abs Intrinsic:: Absolute value.
9@end ifset
10@ifset familyF2U
11* Access Intrinsic:: Check file accessibility.
12@end ifset
13@ifset familyASC
14* AChar Intrinsic:: ASCII character from code.
15@end ifset
16@ifset familyF77
17* ACos Intrinsic:: Arc cosine.
18@end ifset
19@ifset familyVXT
20* ACosD Intrinsic:: (Reserved for future use.)
21@end ifset
22@ifset familyF90
23* AdjustL Intrinsic:: (Reserved for future use.)
24* AdjustR Intrinsic:: (Reserved for future use.)
25@end ifset
26@ifset familyF77
27* AImag Intrinsic:: Convert/extract imaginary part of complex.
28@end ifset
29@ifset familyVXT
30* AIMax0 Intrinsic:: (Reserved for future use.)
31* AIMin0 Intrinsic:: (Reserved for future use.)
32@end ifset
33@ifset familyF77
34* AInt Intrinsic:: Truncate to whole number.
35@end ifset
36@ifset familyVXT
37* AJMax0 Intrinsic:: (Reserved for future use.)
38* AJMin0 Intrinsic:: (Reserved for future use.)
39@end ifset
40@ifset familyF2U
0c65e50c 41* Alarm Intrinsic:: Execute a routine after a given delay.
177873a5
JW
42@end ifset
43@ifset familyF90
44* All Intrinsic:: (Reserved for future use.)
45* Allocated Intrinsic:: (Reserved for future use.)
46@end ifset
47@ifset familyF77
48* ALog Intrinsic:: Natural logarithm (archaic).
9c6ba682 49* ALog10 Intrinsic:: Common logarithm (archaic).
177873a5
JW
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).
55@end ifset
56@ifset familyF2C
57* And Intrinsic:: Boolean AND.
58@end ifset
59@ifset familyF77
60* ANInt Intrinsic:: Round to nearest whole number.
61@end ifset
62@ifset familyF90
63* Any Intrinsic:: (Reserved for future use.)
64@end ifset
65@ifset familyF77
66* ASin Intrinsic:: Arc sine.
67@end ifset
68@ifset familyVXT
69* ASinD Intrinsic:: (Reserved for future use.)
70@end ifset
71@ifset familyF90
72* Associated Intrinsic:: (Reserved for future use.)
73@end ifset
74@ifset familyF77
75* ATan Intrinsic:: Arc tangent.
76* ATan2 Intrinsic:: Arc tangent.
77@end ifset
78@ifset familyVXT
79* ATan2D Intrinsic:: (Reserved for future use.)
80* ATanD Intrinsic:: (Reserved for future use.)
81@end ifset
82@ifset familyF2U
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.
89@end ifset
90@ifset familyVXT
91* BITest Intrinsic:: (Reserved for future use.)
92@end ifset
93@ifset familyF90
94* Bit_Size Intrinsic:: Number of bits in argument's type.
95@end ifset
96@ifset familyVXT
97* BJTest Intrinsic:: (Reserved for future use.)
98@end ifset
99@ifset familyMIL
100* BTest Intrinsic:: Test bit.
101@end ifset
102@ifset familyF77
103* CAbs Intrinsic:: Absolute value (archaic).
104* CCos Intrinsic:: Cosine (archaic).
105@end ifset
106@ifset familyFVZ
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).
113@end ifset
114@ifset familyF90
115* Ceiling Intrinsic:: (Reserved for future use.)
116@end ifset
117@ifset familyF77
118* CExp Intrinsic:: Exponential (archaic).
119* Char Intrinsic:: Character from code.
120@end ifset
121@ifset familyF2U
122* ChDir Intrinsic (subroutine):: Change directory.
123@end ifset
124@ifset familyBADU77
125* ChDir Intrinsic (function):: Change directory.
126@end ifset
127@ifset familyF2U
128* ChMod Intrinsic (subroutine):: Change file modes.
129@end ifset
130@ifset familyBADU77
131* ChMod Intrinsic (function):: Change file modes.
132@end ifset
133@ifset familyF77
134* CLog Intrinsic:: Natural logarithm (archaic).
135* Cmplx Intrinsic:: Construct @code{COMPLEX(KIND=1)} value.
136@end ifset
137@ifset familyGNU
138* Complex Intrinsic:: Build complex value from real and
139 imaginary parts.
140@end ifset
141@ifset familyF77
142* Conjg Intrinsic:: Complex conjugate.
143* Cos Intrinsic:: Cosine.
144@end ifset
145@ifset familyVXT
146* CosD Intrinsic:: (Reserved for future use.)
147@end ifset
148@ifset familyF77
149* CosH Intrinsic:: Hyperbolic cosine.
150@end ifset
151@ifset familyF90
152* Count Intrinsic:: (Reserved for future use.)
44d2eabc 153* CPU_Time Intrinsic:: Get current CPU time.
177873a5
JW
154* CShift Intrinsic:: (Reserved for future use.)
155@end ifset
156@ifset familyF77
157* CSin Intrinsic:: Sine (archaic).
158* CSqRt Intrinsic:: Square root (archaic).
159@end ifset
160@ifset familyF2U
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.
163@end ifset
164@ifset familyF77
165* DAbs Intrinsic:: Absolute value (archaic).
166* DACos Intrinsic:: Arc cosine (archaic).
167@end ifset
168@ifset familyVXT
169* DACosD Intrinsic:: (Reserved for future use.)
170@end ifset
171@ifset familyF77
172* DASin Intrinsic:: Arc sine (archaic).
173@end ifset
174@ifset familyVXT
175* DASinD Intrinsic:: (Reserved for future use.)
176@end ifset
177@ifset familyF77
178* DATan Intrinsic:: Arc tangent (archaic).
179* DATan2 Intrinsic:: Arc tangent (archaic).
180@end ifset
181@ifset familyVXT
182* DATan2D Intrinsic:: (Reserved for future use.)
183* DATanD Intrinsic:: (Reserved for future use.)
184* Date Intrinsic:: Get current date as dd-Mon-yy.
185@end ifset
186@ifset familyF90
9e8e701d 187* Date_and_Time Intrinsic:: Get the current date and time.
177873a5
JW
188@end ifset
189@ifset familyF2U
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).
196@end ifset
197@ifset familyF77
198* Dble Intrinsic:: Convert to double precision.
199@end ifset
200@ifset familyVXT
201* DbleQ Intrinsic:: (Reserved for future use.)
202@end ifset
203@ifset familyFVZ
204* DCmplx Intrinsic:: Construct @code{COMPLEX(KIND=2)} value.
205* DConjg Intrinsic:: Complex conjugate (archaic).
206@end ifset
207@ifset familyF77
208* DCos Intrinsic:: Cosine (archaic).
209@end ifset
210@ifset familyVXT
211* DCosD Intrinsic:: (Reserved for future use.)
212@end ifset
213@ifset familyF77
214* DCosH Intrinsic:: Hyperbolic cosine (archaic).
215* DDiM Intrinsic:: Difference magnitude (archaic).
216@end ifset
217@ifset familyF2U
218* DErF Intrinsic:: Error function (archaic).
219* DErFC Intrinsic:: Complementary error function (archaic).
220@end ifset
221@ifset familyF77
222* DExp Intrinsic:: Exponential (archaic).
223@end ifset
224@ifset familyFVZ
225* DFloat Intrinsic:: Conversion (archaic).
226@end ifset
227@ifset familyVXT
228* DFlotI Intrinsic:: (Reserved for future use.)
229* DFlotJ Intrinsic:: (Reserved for future use.)
230@end ifset
231@ifset familyF90
232* Digits Intrinsic:: (Reserved for future use.)
233@end ifset
234@ifset familyF77
235* DiM Intrinsic:: Difference magnitude (non-negative subtract).
236@end ifset
237@ifset familyFVZ
238* DImag Intrinsic:: Convert/extract imaginary part of complex (archaic).
239@end ifset
240@ifset familyF77
241* DInt Intrinsic:: Truncate to whole number (archaic).
242* DLog Intrinsic:: Natural logarithm (archaic).
9c6ba682 243* DLog10 Intrinsic:: Common logarithm (archaic).
177873a5
JW
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).
248@end ifset
249@ifset familyF90
250* Dot_Product Intrinsic:: (Reserved for future use.)
251@end ifset
252@ifset familyF77
253* DProd Intrinsic:: Double-precision product.
254@end ifset
255@ifset familyVXT
256* DReal Intrinsic:: Convert value to type @code{REAL(KIND=2)}.
257@end ifset
258@ifset familyF77
259* DSign Intrinsic:: Apply sign to magnitude (archaic).
260* DSin Intrinsic:: Sine (archaic).
261@end ifset
262@ifset familyVXT
263* DSinD Intrinsic:: (Reserved for future use.)
264@end ifset
265@ifset familyF77
266* DSinH Intrinsic:: Hyperbolic sine (archaic).
267* DSqRt Intrinsic:: Square root (archaic).
268* DTan Intrinsic:: Tangent (archaic).
269@end ifset
270@ifset familyVXT
271* DTanD Intrinsic:: (Reserved for future use.)
272@end ifset
273@ifset familyF77
274* DTanH Intrinsic:: Hyperbolic tangent (archaic).
275@end ifset
276@ifset familyF2U
9c6ba682 277* DTime Intrinsic (subroutine):: Get elapsed time since last time.
177873a5
JW
278@end ifset
279@ifset familyBADU77
9c6ba682 280* DTime Intrinsic (function):: Get elapsed time since last time.
177873a5
JW
281@end ifset
282@ifset familyF90
283* EOShift Intrinsic:: (Reserved for future use.)
284* Epsilon Intrinsic:: (Reserved for future use.)
285@end ifset
286@ifset familyF2U
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.
292@end ifset
293@ifset familyF77
294* Exp Intrinsic:: Exponential.
295@end ifset
296@ifset familyF90
297* Exponent Intrinsic:: (Reserved for future use.)
298@end ifset
299@ifset familyF2U
9c6ba682
UD
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.
177873a5
JW
302* FGet Intrinsic (subroutine):: Read a character from unit 5 stream-wise.
303@end ifset
304@ifset familyBADU77
305* FGet Intrinsic (function):: Read a character from unit 5 stream-wise.
306@end ifset
307@ifset familyF2U
308* FGetC Intrinsic (subroutine):: Read a character stream-wise.
309@end ifset
310@ifset familyBADU77
311* FGetC Intrinsic (function):: Read a character stream-wise.
312@end ifset
313@ifset familyF77
314* Float Intrinsic:: Conversion (archaic).
315@end ifset
316@ifset familyVXT
317* FloatI Intrinsic:: (Reserved for future use.)
318* FloatJ Intrinsic:: (Reserved for future use.)
319@end ifset
320@ifset familyF90
321* Floor Intrinsic:: (Reserved for future use.)
322@end ifset
323@ifset familyF2U
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.
327@end ifset
328@ifset familyBADU77
329* FPut Intrinsic (function):: Write a character to unit 6 stream-wise.
330@end ifset
331@ifset familyF2U
332* FPutC Intrinsic (subroutine):: Write a character stream-wise.
333@end ifset
334@ifset familyBADU77
335* FPutC Intrinsic (function):: Write a character stream-wise.
336@end ifset
337@ifset familyF90
338* Fraction Intrinsic:: (Reserved for future use.)
339@end ifset
340@ifset familyF2U
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.
358@end ifset
359@ifset familyF90
360* Huge Intrinsic:: (Reserved for future use.)
361@end ifset
362@ifset familyF77
363* IAbs Intrinsic:: Absolute value (archaic).
364@end ifset
365@ifset familyASC
366* IAChar Intrinsic:: ASCII code for character.
367@end ifset
368@ifset familyMIL
369* IAnd Intrinsic:: Boolean AND.
370@end ifset
371@ifset familyF2U
372* IArgC Intrinsic:: Obtain count of command-line arguments.
373@end ifset
374@ifset familyMIL
375* IBClr Intrinsic:: Clear a bit.
376* IBits Intrinsic:: Extract a bit subfield of a variable.
377* IBSet Intrinsic:: Set a bit.
378@end ifset
379@ifset familyF77
380* IChar Intrinsic:: Code for character.
381@end ifset
382@ifset familyF2U
383* IDate Intrinsic (UNIX):: Get local time info.
384@end ifset
385@ifset familyVXT
386* IDate Intrinsic (VXT):: Get local time info (VAX/VMS).
387@end ifset
388@ifset familyF77
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).
394@end ifset
395@ifset familyMIL
396* IEOr Intrinsic:: Boolean XOR.
397@end ifset
398@ifset familyF2U
399* IErrNo Intrinsic:: Get error number for last error.
400@end ifset
401@ifset familyF77
402* IFix Intrinsic:: Conversion (archaic).
403@end ifset
404@ifset familyVXT
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.)
421@end ifset
422@ifset familyF2C
423* Imag Intrinsic:: Extract imaginary part of complex.
424@end ifset
425@ifset familyGNU
426* ImagPart Intrinsic:: Extract imaginary part of complex.
427@end ifset
428@ifset familyVXT
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.)
434@end ifset
435@ifset familyF77
436* Index Intrinsic:: Locate a CHARACTER substring.
437@end ifset
438@ifset familyVXT
439* INInt Intrinsic:: (Reserved for future use.)
440* INot Intrinsic:: (Reserved for future use.)
441@end ifset
442@ifset familyF77
443* Int Intrinsic:: Convert to @code{INTEGER} value truncated
444 to whole number.
445@end ifset
446@ifset familyGNU
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.
451@end ifset
452@ifset familyMIL
453* IOr Intrinsic:: Boolean OR.
454@end ifset
455@ifset familyF2U
456* IRand Intrinsic:: Random number.
457* IsaTty Intrinsic:: Is unit connected to a terminal?
458@end ifset
459@ifset familyMIL
460* IShft Intrinsic:: Logical bit shift.
461* IShftC Intrinsic:: Circular bit shift.
462@end ifset
463@ifset familyF77
464* ISign Intrinsic:: Apply sign to magnitude (archaic).
465@end ifset
466@ifset familyF2U
467* ITime Intrinsic:: Get local time of day.
468@end ifset
469@ifset familyVXT
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.)
496@end ifset
497@ifset familyF2U
498* Kill Intrinsic (subroutine):: Signal a process.
499@end ifset
500@ifset familyBADU77
501* Kill Intrinsic (function):: Signal a process.
502@end ifset
503@ifset familyF90
504* Kind Intrinsic:: (Reserved for future use.)
505* LBound Intrinsic:: (Reserved for future use.)
506@end ifset
507@ifset familyF77
508* Len Intrinsic:: Length of character entity.
509@end ifset
510@ifset familyF90
511* Len_Trim Intrinsic:: Get last non-blank character in string.
512@end ifset
513@ifset familyF77
514* LGe Intrinsic:: Lexically greater than or equal.
515* LGt Intrinsic:: Lexically greater than.
516@end ifset
517@ifset familyF2U
518* Link Intrinsic (subroutine):: Make hard link in file system.
519@end ifset
520@ifset familyBADU77
521* Link Intrinsic (function):: Make hard link in file system.
522@end ifset
523@ifset familyF77
524* LLe Intrinsic:: Lexically less than or equal.
525* LLt Intrinsic:: Lexically less than.
526@end ifset
527@ifset familyF2U
528* LnBlnk Intrinsic:: Get last non-blank character in string.
529* Loc Intrinsic:: Address of entity in core.
530@end ifset
531@ifset familyF77
532* Log Intrinsic:: Natural logarithm.
9c6ba682 533* Log10 Intrinsic:: Common logarithm.
177873a5
JW
534@end ifset
535@ifset familyF90
536* Logical Intrinsic:: (Reserved for future use.)
537@end ifset
538@ifset familyF2U
539* Long Intrinsic:: Conversion to @code{INTEGER(KIND=1)} (archaic).
540@end ifset
541@ifset familyF2C
542* LShift Intrinsic:: Left-shift bits.
543@end ifset
544@ifset familyF2U
545* LStat Intrinsic (subroutine):: Get file information.
546* LStat Intrinsic (function):: Get file information.
547* LTime Intrinsic:: Convert time to local time info.
548@end ifset
549@ifset familyF90
550* MatMul Intrinsic:: (Reserved for future use.)
551@end ifset
552@ifset familyF77
553* Max Intrinsic:: Maximum value.
554* Max0 Intrinsic:: Maximum value (archaic).
555* Max1 Intrinsic:: Maximum value (archaic).
556@end ifset
557@ifset familyF90
558* MaxExponent Intrinsic:: (Reserved for future use.)
559* MaxLoc Intrinsic:: (Reserved for future use.)
560* MaxVal Intrinsic:: (Reserved for future use.)
561@end ifset
562@ifset familyF2U
563* MClock Intrinsic:: Get number of clock ticks for process.
564* MClock8 Intrinsic:: Get number of clock ticks for process.
565@end ifset
566@ifset familyF90
567* Merge Intrinsic:: (Reserved for future use.)
568@end ifset
569@ifset familyF77
570* Min Intrinsic:: Minimum value.
571* Min0 Intrinsic:: Minimum value (archaic).
572* Min1 Intrinsic:: Minimum value (archaic).
573@end ifset
574@ifset familyF90
575* MinExponent Intrinsic:: (Reserved for future use.)
576* MinLoc Intrinsic:: (Reserved for future use.)
577* MinVal Intrinsic:: (Reserved for future use.)
578@end ifset
579@ifset familyF77
580* Mod Intrinsic:: Remainder.
581@end ifset
582@ifset familyF90
583* Modulo Intrinsic:: (Reserved for future use.)
584@end ifset
585@ifset familyMIL
586* MvBits Intrinsic:: Moving a bit field.
587@end ifset
588@ifset familyF90
589* Nearest Intrinsic:: (Reserved for future use.)
590@end ifset
591@ifset familyF77
592* NInt Intrinsic:: Convert to @code{INTEGER} value rounded
593 to nearest whole number.
594@end ifset
595@ifset familyMIL
596* Not Intrinsic:: Boolean NOT.
597@end ifset
598@ifset familyF2C
599* Or Intrinsic:: Boolean OR.
600@end ifset
601@ifset familyF90
602* Pack Intrinsic:: (Reserved for future use.)
603@end ifset
604@ifset familyF2U
605* PError Intrinsic:: Print error message for last error.
606@end ifset
607@ifset familyF90
608* Precision Intrinsic:: (Reserved for future use.)
609* Present Intrinsic:: (Reserved for future use.)
610* Product Intrinsic:: (Reserved for future use.)
611@end ifset
612@ifset familyVXT
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.)
644@end ifset
645@ifset familyF90
646* Radix Intrinsic:: (Reserved for future use.)
647@end ifset
648@ifset familyF2U
649* Rand Intrinsic:: Random number.
650@end ifset
651@ifset familyF90
652* Random_Number Intrinsic:: (Reserved for future use.)
653* Random_Seed Intrinsic:: (Reserved for future use.)
654* Range Intrinsic:: (Reserved for future use.)
655@end ifset
656@ifset familyF77
657* Real Intrinsic:: Convert value to type @code{REAL(KIND=1)}.
658@end ifset
659@ifset familyGNU
660* RealPart Intrinsic:: Extract real part of complex.
661@end ifset
662@ifset familyF2U
663* Rename Intrinsic (subroutine):: Rename file.
664@end ifset
665@ifset familyBADU77
666* Rename Intrinsic (function):: Rename file.
667@end ifset
668@ifset familyF90
669* Repeat Intrinsic:: (Reserved for future use.)
670* Reshape Intrinsic:: (Reserved for future use.)
671* RRSpacing Intrinsic:: (Reserved for future use.)
672@end ifset
673@ifset familyF2C
674* RShift Intrinsic:: Right-shift bits.
675@end ifset
676@ifset familyF90
677* Scale Intrinsic:: (Reserved for future use.)
678* Scan Intrinsic:: (Reserved for future use.)
679@end ifset
680@ifset familyVXT
681* Secnds Intrinsic:: Get local time offset since midnight.
682@end ifset
683@ifset familyF2U
684* Second Intrinsic (function):: Get CPU time for process in seconds.
685* Second Intrinsic (subroutine):: Get CPU time for process
686 in seconds.
687@end ifset
688@ifset familyF90
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.)
693@end ifset
694@ifset familyF2U
695* Short Intrinsic:: Convert to @code{INTEGER(KIND=6)} value
696 truncated to whole number.
697@end ifset
698@ifset familyF77
699* Sign Intrinsic:: Apply sign to magnitude.
700@end ifset
701@ifset familyF2U
702* Signal Intrinsic (subroutine):: Muck with signal handling.
703@end ifset
704@ifset familyBADU77
705* Signal Intrinsic (function):: Muck with signal handling.
706@end ifset
707@ifset familyF77
708* Sin Intrinsic:: Sine.
709@end ifset
710@ifset familyVXT
711* SinD Intrinsic:: (Reserved for future use.)
712@end ifset
713@ifset familyF77
714* SinH Intrinsic:: Hyperbolic sine.
715@end ifset
716@ifset familyF2U
717* Sleep Intrinsic:: Sleep for a specified time.
718@end ifset
719@ifset familyF77
720* Sngl Intrinsic:: Convert (archaic).
721@end ifset
722@ifset familyVXT
723* SnglQ Intrinsic:: (Reserved for future use.)
724@end ifset
725@ifset familyF90
726* Spacing Intrinsic:: (Reserved for future use.)
727* Spread Intrinsic:: (Reserved for future use.)
728@end ifset
729@ifset familyF77
730* SqRt Intrinsic:: Square root.
731@end ifset
732@ifset familyF2U
733* SRand Intrinsic:: Random seed.
734* Stat Intrinsic (subroutine):: Get file information.
735* Stat Intrinsic (function):: Get file information.
736@end ifset
737@ifset familyF90
738* Sum Intrinsic:: (Reserved for future use.)
739@end ifset
740@ifset familyF2U
741* SymLnk Intrinsic (subroutine):: Make symbolic link in file system.
742@end ifset
743@ifset familyBADU77
744* SymLnk Intrinsic (function):: Make symbolic link in file system.
745@end ifset
746@ifset familyF2U
747* System Intrinsic (subroutine):: Invoke shell (system) command.
748@end ifset
749@ifset familyBADU77
750* System Intrinsic (function):: Invoke shell (system) command.
751@end ifset
752@ifset familyF90
753* System_Clock Intrinsic:: Get current system clock value.
754@end ifset
755@ifset familyF77
756* Tan Intrinsic:: Tangent.
757@end ifset
758@ifset familyVXT
759* TanD Intrinsic:: (Reserved for future use.)
760@end ifset
761@ifset familyF77
762* TanH Intrinsic:: Hyperbolic tangent.
763@end ifset
764@ifset familyF2U
765* Time Intrinsic (UNIX):: Get current time as time value.
766@end ifset
767@ifset familyVXT
768* Time Intrinsic (VXT):: Get the time as a character value.
769@end ifset
770@ifset familyF2U
771* Time8 Intrinsic:: Get current time as time value.
772@end ifset
773@ifset familyF90
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.)
778@end ifset
779@ifset familyF2U
780* TtyNam Intrinsic (subroutine):: Get name of terminal device for unit.
781* TtyNam Intrinsic (function):: Get name of terminal device for unit.
782@end ifset
783@ifset familyF90
784* UBound Intrinsic:: (Reserved for future use.)
785@end ifset
786@ifset familyF2U
787* UMask Intrinsic (subroutine):: Set file creation permissions mask.
788@end ifset
789@ifset familyBADU77
790* UMask Intrinsic (function):: Set file creation permissions mask.
791@end ifset
792@ifset familyF2U
793* Unlink Intrinsic (subroutine):: Unlink file.
794@end ifset
795@ifset familyBADU77
796* Unlink Intrinsic (function):: Unlink file.
797@end ifset
798@ifset familyF90
799* Unpack Intrinsic:: (Reserved for future use.)
800* Verify Intrinsic:: (Reserved for future use.)
801@end ifset
802@ifset familyF2C
803* XOr Intrinsic:: Boolean XOR.
804* ZAbs Intrinsic:: Absolute value (archaic).
805* ZCos Intrinsic:: Cosine (archaic).
806* ZExp Intrinsic:: Exponential (archaic).
807@end ifset
808@ifset familyVXT
809* ZExt Intrinsic:: (Reserved for future use.)
810@end ifset
811@ifset familyF2C
812* ZLog Intrinsic:: Natural logarithm (archaic).
813* ZSin Intrinsic:: Sine (archaic).
814* ZSqRt Intrinsic:: Square root (archaic).
815@end ifset
816@end menu
817
818@ifset familyF2U
819@node Abort Intrinsic
820@subsubsection Abort Intrinsic
821@cindex Abort intrinsic
822@cindex intrinsics, Abort
823
824@noindent
825@example
826CALL Abort()
827@end example
828
829@noindent
830Intrinsic groups: @code{unix}.
831
832@noindent
833Description:
834
835Prints a message and potentially causes a core dump via @code{abort(3)}.
836
837@end ifset
838@ifset familyF77
839@node Abs Intrinsic
840@subsubsection Abs Intrinsic
841@cindex Abs intrinsic
842@cindex intrinsics, Abs
843
844@noindent
845@example
846Abs(@var{A})
847@end example
848
849@noindent
850Abs: @code{INTEGER} or @code{REAL} function.
851The exact type depends on that of argument @var{A}---if @var{A} is
852@code{COMPLEX}, this function's type is @code{REAL}
853with the same @samp{KIND=} value as the type of @var{A}.
854Otherwise, this function's type is the same as that of @var{A}.
855
856@noindent
857@var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
858
859@noindent
860Intrinsic groups: (standard FORTRAN 77).
861
862@noindent
863Description:
864
865Returns the absolute value of @var{A}.
866
867If @var{A} is type @code{COMPLEX}, the absolute
868value is computed as:
869
870@example
1a74aab1 871SQRT(REALPART(@var{A})**2+IMAGPART(@var{A})**2)
177873a5
JW
872@end example
873
874@noindent
1a74aab1 875Otherwise, it is computed by negating @var{A} if
177873a5
JW
876it is negative, or returning @var{A}.
877
878@xref{Sign Intrinsic}, for how to explicitly
879compute the positive or negative form of the absolute
880value of an expression.
881
882@end ifset
883@ifset familyF2U
884@node Access Intrinsic
885@subsubsection Access Intrinsic
886@cindex Access intrinsic
887@cindex intrinsics, Access
888
889@noindent
890@example
891Access(@var{Name}, @var{Mode})
892@end example
893
894@noindent
895Access: @code{INTEGER(KIND=1)} function.
896
897@noindent
898@var{Name}: @code{CHARACTER}; scalar; INTENT(IN).
899
900@noindent
901@var{Mode}: @code{CHARACTER}; scalar; INTENT(IN).
902
903@noindent
904Intrinsic groups: @code{unix}.
905
906@noindent
907Description:
908
909Checks file @var{Name} for accessibility in the mode specified by @var{Mode} and
910returns 0 if the file is accessible in that mode, otherwise an error
911code if the file is inaccessible or @var{Mode} is invalid.
912See @code{access(2)}.
913A null character (@samp{CHAR(0)}) marks the end of
914the name in @var{Name}---otherwise,
915trailing blanks in @var{Name} are ignored.
916@var{Mode} may be a concatenation of any of the following characters:
917
918@table @samp
919@item r
920Read permission
921
922@item w
923Write permission
924
925@item x
926Execute permission
927
928@item @kbd{SPC}
929Existence
930@end table
931
932@end ifset
933@ifset familyASC
934@node AChar Intrinsic
935@subsubsection AChar Intrinsic
936@cindex AChar intrinsic
937@cindex intrinsics, AChar
938
939@noindent
940@example
941AChar(@var{I})
942@end example
943
944@noindent
945AChar: @code{CHARACTER*1} function.
946
947@noindent
948@var{I}: @code{INTEGER}; scalar; INTENT(IN).
949
950@noindent
951Intrinsic groups: @code{f2c}, @code{f90}.
952
953@noindent
954Description:
955
956Returns the ASCII character corresponding to the
957code specified by @var{I}.
958
959@xref{IAChar Intrinsic}, for the inverse of this function.
960
961@xref{Char Intrinsic}, for the function corresponding
962to the system's native character set.
963
964@end ifset
965@ifset familyF77
966@node ACos Intrinsic
967@subsubsection ACos Intrinsic
968@cindex ACos intrinsic
969@cindex intrinsics, ACos
970
971@noindent
972@example
973ACos(@var{X})
974@end example
975
976@noindent
977ACos: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
978
979@noindent
980@var{X}: @code{REAL}; scalar; INTENT(IN).
981
982@noindent
983Intrinsic groups: (standard FORTRAN 77).
984
985@noindent
986Description:
987
988Returns the arc-cosine (inverse cosine) of @var{X}
989in radians.
990
991@xref{Cos Intrinsic}, for the inverse of this function.
992
993@end ifset
994@ifset familyVXT
995@node ACosD Intrinsic
996@subsubsection ACosD Intrinsic
997@cindex ACosD intrinsic
998@cindex intrinsics, ACosD
999
1000This intrinsic is not yet implemented.
1001The name is, however, reserved as an intrinsic.
1002Use @samp{EXTERNAL ACosD} to use this name for an
1003external procedure.
1004
1005@end ifset
1006@ifset familyF90
1007@node AdjustL Intrinsic
1008@subsubsection AdjustL Intrinsic
1009@cindex AdjustL intrinsic
1010@cindex intrinsics, AdjustL
1011
1012This intrinsic is not yet implemented.
1013The name is, however, reserved as an intrinsic.
1014Use @samp{EXTERNAL AdjustL} to use this name for an
1015external procedure.
1016
1017@node AdjustR Intrinsic
1018@subsubsection AdjustR Intrinsic
1019@cindex AdjustR intrinsic
1020@cindex intrinsics, AdjustR
1021
1022This intrinsic is not yet implemented.
1023The name is, however, reserved as an intrinsic.
1024Use @samp{EXTERNAL AdjustR} to use this name for an
1025external procedure.
1026
1027@end ifset
1028@ifset familyF77
1029@node AImag Intrinsic
1030@subsubsection AImag Intrinsic
1031@cindex AImag intrinsic
1032@cindex intrinsics, AImag
1033
1034@noindent
1035@example
1036AImag(@var{Z})
1037@end example
1038
1039@noindent
1040AImag: @code{REAL} function.
1041This intrinsic is valid when argument @var{Z} is
1042@code{COMPLEX(KIND=1)}.
1043When @var{Z} is any other @code{COMPLEX} type,
1044this intrinsic is valid only when used as the argument to
1045@code{REAL()}, as explained below.
1046
1047@noindent
1048@var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
1049
1050@noindent
1051Intrinsic groups: (standard FORTRAN 77).
1052
1053@noindent
1054Description:
1055
1056Returns the (possibly converted) imaginary part of @var{Z}.
1057
1058Use of @code{AIMAG()} with an argument of a type
1059other than @code{COMPLEX(KIND=1)} is restricted to the following case:
1060
1061@example
1062REAL(AIMAG(Z))
1063@end example
1064
1065@noindent
1066This expression converts the imaginary part of Z to
1067@code{REAL(KIND=1)}.
1068
1069@xref{REAL() and AIMAG() of Complex}, for more information.
1070
1071@end ifset
1072@ifset familyVXT
1073@node AIMax0 Intrinsic
1074@subsubsection AIMax0 Intrinsic
1075@cindex AIMax0 intrinsic
1076@cindex intrinsics, AIMax0
1077
1078This intrinsic is not yet implemented.
1079The name is, however, reserved as an intrinsic.
1080Use @samp{EXTERNAL AIMax0} to use this name for an
1081external procedure.
1082
1083@node AIMin0 Intrinsic
1084@subsubsection AIMin0 Intrinsic
1085@cindex AIMin0 intrinsic
1086@cindex intrinsics, AIMin0
1087
1088This intrinsic is not yet implemented.
1089The name is, however, reserved as an intrinsic.
1090Use @samp{EXTERNAL AIMin0} to use this name for an
1091external procedure.
1092
1093@end ifset
1094@ifset familyF77
1095@node AInt Intrinsic
1096@subsubsection AInt Intrinsic
1097@cindex AInt intrinsic
1098@cindex intrinsics, AInt
1099
1100@noindent
1101@example
1102AInt(@var{A})
1103@end example
1104
1105@noindent
1106AInt: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{A}.
1107
1108@noindent
1109@var{A}: @code{REAL}; scalar; INTENT(IN).
1110
1111@noindent
1112Intrinsic groups: (standard FORTRAN 77).
1113
1114@noindent
1115Description:
1116
1117Returns @var{A} with the fractional portion of its
1118magnitude truncated and its sign preserved.
1119(Also called ``truncation towards zero''.)
1120
1121@xref{ANInt Intrinsic}, for how to round to nearest
1122whole number.
1123
1124@xref{Int Intrinsic}, for how to truncate and then convert
1125number to @code{INTEGER}.
1126
1127@end ifset
1128@ifset familyVXT
1129@node AJMax0 Intrinsic
1130@subsubsection AJMax0 Intrinsic
1131@cindex AJMax0 intrinsic
1132@cindex intrinsics, AJMax0
1133
1134This intrinsic is not yet implemented.
1135The name is, however, reserved as an intrinsic.
1136Use @samp{EXTERNAL AJMax0} to use this name for an
1137external procedure.
1138
1139@node AJMin0 Intrinsic
1140@subsubsection AJMin0 Intrinsic
1141@cindex AJMin0 intrinsic
1142@cindex intrinsics, AJMin0
1143
1144This intrinsic is not yet implemented.
1145The name is, however, reserved as an intrinsic.
1146Use @samp{EXTERNAL AJMin0} to use this name for an
1147external procedure.
1148
1149@end ifset
1150@ifset familyF2U
1151@node Alarm Intrinsic
1152@subsubsection Alarm Intrinsic
1153@cindex Alarm intrinsic
1154@cindex intrinsics, Alarm
1155
1156@noindent
1157@example
1158CALL Alarm(@var{Seconds}, @var{Handler}, @var{Status})
1159@end example
1160
1161@noindent
1162@var{Seconds}: @code{INTEGER}; scalar; INTENT(IN).
1163
1164@noindent
1165@var{Handler}: Signal handler (@code{INTEGER FUNCTION} or @code{SUBROUTINE})
1166or dummy/global @code{INTEGER(KIND=1)} scalar.
1167
1168@noindent
1169@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
1170
1171@noindent
1172Intrinsic groups: @code{unix}.
1173
0c65e50c
JW
1174@noindent
1175Description:
1176
1177Causes 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.
1180If @var{Status} is supplied, it will be
38e01259 1181returned with the number of seconds remaining until any previously
0c65e50c
JW
1182scheduled alarm was due to be delivered, or zero if there was no
1183previously scheduled alarm.
1184@xref{Signal Intrinsic (subroutine)}.
1185
177873a5
JW
1186@end ifset
1187@ifset familyF90
1188@node All Intrinsic
1189@subsubsection All Intrinsic
1190@cindex All intrinsic
1191@cindex intrinsics, All
1192
1193This intrinsic is not yet implemented.
1194The name is, however, reserved as an intrinsic.
1195Use @samp{EXTERNAL All} to use this name for an
1196external procedure.
1197
1198@node Allocated Intrinsic
1199@subsubsection Allocated Intrinsic
1200@cindex Allocated intrinsic
1201@cindex intrinsics, Allocated
1202
1203This intrinsic is not yet implemented.
1204The name is, however, reserved as an intrinsic.
1205Use @samp{EXTERNAL Allocated} to use this name for an
1206external procedure.
1207
1208@end ifset
1209@ifset familyF77
1210@node ALog Intrinsic
1211@subsubsection ALog Intrinsic
1212@cindex ALog intrinsic
1213@cindex intrinsics, ALog
1214
1215@noindent
1216@example
1217ALog(@var{X})
1218@end example
1219
1220@noindent
1221ALog: @code{REAL(KIND=1)} function.
1222
1223@noindent
1224@var{X}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
1225
1226@noindent
1227Intrinsic groups: (standard FORTRAN 77).
1228
1229@noindent
1230Description:
1231
1232Archaic form of @code{LOG()} that is specific
1233to one type for @var{X}.
1234@xref{Log Intrinsic}.
1235
1236@node ALog10 Intrinsic
1237@subsubsection ALog10 Intrinsic
1238@cindex ALog10 intrinsic
1239@cindex intrinsics, ALog10
1240
1241@noindent
1242@example
1243ALog10(@var{X})
1244@end example
1245
1246@noindent
1247ALog10: @code{REAL(KIND=1)} function.
1248
1249@noindent
1250@var{X}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
1251
1252@noindent
1253Intrinsic groups: (standard FORTRAN 77).
1254
1255@noindent
1256Description:
1257
1258Archaic form of @code{LOG10()} that is specific
1259to one type for @var{X}.
1260@xref{Log10 Intrinsic}.
1261
1262@node AMax0 Intrinsic
1263@subsubsection AMax0 Intrinsic
1264@cindex AMax0 intrinsic
1265@cindex intrinsics, AMax0
1266
1267@noindent
1268@example
1269AMax0(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
1270@end example
1271
1272@noindent
1273AMax0: @code{REAL(KIND=1)} function.
1274
1275@noindent
1276@var{A}: @code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
1277
1278@noindent
1279Intrinsic groups: (standard FORTRAN 77).
1280
1281@noindent
1282Description:
1283
1284Archaic form of @code{MAX()} that is specific
1285to one type for @var{A} and a different return type.
1286@xref{Max Intrinsic}.
1287
1288@node AMax1 Intrinsic
1289@subsubsection AMax1 Intrinsic
1290@cindex AMax1 intrinsic
1291@cindex intrinsics, AMax1
1292
1293@noindent
1294@example
1295AMax1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
1296@end example
1297
1298@noindent
1299AMax1: @code{REAL(KIND=1)} function.
1300
1301@noindent
1302@var{A}: @code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
1303
1304@noindent
1305Intrinsic groups: (standard FORTRAN 77).
1306
1307@noindent
1308Description:
1309
1310Archaic form of @code{MAX()} that is specific
1311to one type for @var{A}.
1312@xref{Max Intrinsic}.
1313
1314@node AMin0 Intrinsic
1315@subsubsection AMin0 Intrinsic
1316@cindex AMin0 intrinsic
1317@cindex intrinsics, AMin0
1318
1319@noindent
1320@example
1321AMin0(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
1322@end example
1323
1324@noindent
1325AMin0: @code{REAL(KIND=1)} function.
1326
1327@noindent
1328@var{A}: @code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
1329
1330@noindent
1331Intrinsic groups: (standard FORTRAN 77).
1332
1333@noindent
1334Description:
1335
1336Archaic form of @code{MIN()} that is specific
1337to one type for @var{A} and a different return type.
1338@xref{Min Intrinsic}.
1339
1340@node AMin1 Intrinsic
1341@subsubsection AMin1 Intrinsic
1342@cindex AMin1 intrinsic
1343@cindex intrinsics, AMin1
1344
1345@noindent
1346@example
1347AMin1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
1348@end example
1349
1350@noindent
1351AMin1: @code{REAL(KIND=1)} function.
1352
1353@noindent
1354@var{A}: @code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
1355
1356@noindent
1357Intrinsic groups: (standard FORTRAN 77).
1358
1359@noindent
1360Description:
1361
1362Archaic form of @code{MIN()} that is specific
1363to one type for @var{A}.
1364@xref{Min Intrinsic}.
1365
1366@node AMod Intrinsic
1367@subsubsection AMod Intrinsic
1368@cindex AMod intrinsic
1369@cindex intrinsics, AMod
1370
1371@noindent
1372@example
1373AMod(@var{A}, @var{P})
1374@end example
1375
1376@noindent
1377AMod: @code{REAL(KIND=1)} function.
1378
1379@noindent
1380@var{A}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
1381
1382@noindent
1383@var{P}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
1384
1385@noindent
1386Intrinsic groups: (standard FORTRAN 77).
1387
1388@noindent
1389Description:
1390
1391Archaic form of @code{MOD()} that is specific
1392to one type for @var{A}.
1393@xref{Mod Intrinsic}.
1394
1395@end ifset
1396@ifset familyF2C
1397@node And Intrinsic
1398@subsubsection And Intrinsic
1399@cindex And intrinsic
1400@cindex intrinsics, And
1401
1402@noindent
1403@example
1404And(@var{I}, @var{J})
1405@end example
1406
1407@noindent
1408And: @code{INTEGER} or @code{LOGICAL} function, the exact type being the result of cross-promoting the
1409types of all the arguments.
1410
1411@noindent
1412@var{I}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
1413
1414@noindent
1415@var{J}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
1416
1417@noindent
1418Intrinsic groups: @code{f2c}.
1419
1420@noindent
1421Description:
1422
1423Returns value resulting from boolean AND of
1424pair of bits in each of @var{I} and @var{J}.
1425
1426@end ifset
1427@ifset familyF77
1428@node ANInt Intrinsic
1429@subsubsection ANInt Intrinsic
1430@cindex ANInt intrinsic
1431@cindex intrinsics, ANInt
1432
1433@noindent
1434@example
1435ANInt(@var{A})
1436@end example
1437
1438@noindent
1439ANInt: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{A}.
1440
1441@noindent
1442@var{A}: @code{REAL}; scalar; INTENT(IN).
1443
1444@noindent
1445Intrinsic groups: (standard FORTRAN 77).
1446
1447@noindent
1448Description:
1449
1450Returns @var{A} with the fractional portion of its
1451magnitude eliminated by rounding to the nearest whole
1452number and with its sign preserved.
1453
1454A fractional portion exactly equal to
1455@samp{.5} is rounded to the whole number that
1456is larger in magnitude.
1457(Also called ``Fortran round''.)
1458
1459@xref{AInt Intrinsic}, for how to truncate to
1460whole number.
1461
1462@xref{NInt Intrinsic}, for how to round and then convert
1463number to @code{INTEGER}.
1464
1465@end ifset
1466@ifset familyF90
1467@node Any Intrinsic
1468@subsubsection Any Intrinsic
1469@cindex Any intrinsic
1470@cindex intrinsics, Any
1471
1472This intrinsic is not yet implemented.
1473The name is, however, reserved as an intrinsic.
1474Use @samp{EXTERNAL Any} to use this name for an
1475external procedure.
1476
1477@end ifset
1478@ifset familyF77
1479@node ASin Intrinsic
1480@subsubsection ASin Intrinsic
1481@cindex ASin intrinsic
1482@cindex intrinsics, ASin
1483
1484@noindent
1485@example
1486ASin(@var{X})
1487@end example
1488
1489@noindent
1490ASin: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1491
1492@noindent
1493@var{X}: @code{REAL}; scalar; INTENT(IN).
1494
1495@noindent
1496Intrinsic groups: (standard FORTRAN 77).
1497
1498@noindent
1499Description:
1500
1501Returns the arc-sine (inverse sine) of @var{X}
1502in radians.
1503
1504@xref{Sin Intrinsic}, for the inverse of this function.
1505
1506@end ifset
1507@ifset familyVXT
1508@node ASinD Intrinsic
1509@subsubsection ASinD Intrinsic
1510@cindex ASinD intrinsic
1511@cindex intrinsics, ASinD
1512
1513This intrinsic is not yet implemented.
1514The name is, however, reserved as an intrinsic.
1515Use @samp{EXTERNAL ASinD} to use this name for an
1516external procedure.
1517
1518@end ifset
1519@ifset familyF90
1520@node Associated Intrinsic
1521@subsubsection Associated Intrinsic
1522@cindex Associated intrinsic
1523@cindex intrinsics, Associated
1524
1525This intrinsic is not yet implemented.
1526The name is, however, reserved as an intrinsic.
1527Use @samp{EXTERNAL Associated} to use this name for an
1528external procedure.
1529
1530@end ifset
1531@ifset familyF77
1532@node ATan Intrinsic
1533@subsubsection ATan Intrinsic
1534@cindex ATan intrinsic
1535@cindex intrinsics, ATan
1536
1537@noindent
1538@example
1539ATan(@var{X})
1540@end example
1541
1542@noindent
1543ATan: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1544
1545@noindent
1546@var{X}: @code{REAL}; scalar; INTENT(IN).
1547
1548@noindent
1549Intrinsic groups: (standard FORTRAN 77).
1550
1551@noindent
1552Description:
1553
1554Returns the arc-tangent (inverse tangent) of @var{X}
1555in radians.
1556
1557@xref{Tan Intrinsic}, for the inverse of this function.
1558
1559@node ATan2 Intrinsic
1560@subsubsection ATan2 Intrinsic
1561@cindex ATan2 intrinsic
1562@cindex intrinsics, ATan2
1563
1564@noindent
1565@example
1566ATan2(@var{Y}, @var{X})
1567@end example
1568
1569@noindent
1570ATan2: @code{REAL} function, the exact type being the result of cross-promoting the
1571types of all the arguments.
1572
1573@noindent
1574@var{Y}: @code{REAL}; scalar; INTENT(IN).
1575
1576@noindent
1577@var{X}: @code{REAL}; scalar; INTENT(IN).
1578
1579@noindent
1580Intrinsic groups: (standard FORTRAN 77).
1581
1582@noindent
1583Description:
1584
1585Returns the arc-tangent (inverse tangent) of the complex
1586number (@var{Y}, @var{X}) in radians.
1587
1588@xref{Tan Intrinsic}, for the inverse of this function.
1589
1590@end ifset
1591@ifset familyVXT
1592@node ATan2D Intrinsic
1593@subsubsection ATan2D Intrinsic
1594@cindex ATan2D intrinsic
1595@cindex intrinsics, ATan2D
1596
1597This intrinsic is not yet implemented.
1598The name is, however, reserved as an intrinsic.
1599Use @samp{EXTERNAL ATan2D} to use this name for an
1600external procedure.
1601
1602@node ATanD Intrinsic
1603@subsubsection ATanD Intrinsic
1604@cindex ATanD intrinsic
1605@cindex intrinsics, ATanD
1606
1607This intrinsic is not yet implemented.
1608The name is, however, reserved as an intrinsic.
1609Use @samp{EXTERNAL ATanD} to use this name for an
1610external procedure.
1611
1612@end ifset
1613@ifset familyF2U
1614@node BesJ0 Intrinsic
1615@subsubsection BesJ0 Intrinsic
1616@cindex BesJ0 intrinsic
1617@cindex intrinsics, BesJ0
1618
1619@noindent
1620@example
1621BesJ0(@var{X})
1622@end example
1623
1624@noindent
1625BesJ0: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1626
1627@noindent
1628@var{X}: @code{REAL}; scalar; INTENT(IN).
1629
1630@noindent
1631Intrinsic groups: @code{unix}.
1632
1633@noindent
1634Description:
1635
1636Calculates the Bessel function of the first kind of order 0 of @var{X}.
1637See @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
1642
1643@noindent
1644@example
1645BesJ1(@var{X})
1646@end example
1647
1648@noindent
1649BesJ1: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1650
1651@noindent
1652@var{X}: @code{REAL}; scalar; INTENT(IN).
1653
1654@noindent
1655Intrinsic groups: @code{unix}.
1656
1657@noindent
1658Description:
1659
1660Calculates the Bessel function of the first kind of order 1 of @var{X}.
1661See @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
1666
1667@noindent
1668@example
1669BesJN(@var{N}, @var{X})
1670@end example
1671
1672@noindent
1673BesJN: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1674
1675@noindent
5e3f4df7 1676@var{N}: @code{INTEGER} not wider than the default kind; scalar; INTENT(IN).
177873a5
JW
1677
1678@noindent
1679@var{X}: @code{REAL}; scalar; INTENT(IN).
1680
1681@noindent
1682Intrinsic groups: @code{unix}.
1683
1684@noindent
1685Description:
1686
1687Calculates the Bessel function of the first kind of order @var{N} of @var{X}.
1688See @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
1693
1694@noindent
1695@example
1696BesY0(@var{X})
1697@end example
1698
1699@noindent
1700BesY0: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1701
1702@noindent
1703@var{X}: @code{REAL}; scalar; INTENT(IN).
1704
1705@noindent
1706Intrinsic groups: @code{unix}.
1707
1708@noindent
1709Description:
1710
1711Calculates the Bessel function of the second kind of order 0 of @var{X}.
1712See @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
1717
1718@noindent
1719@example
1720BesY1(@var{X})
1721@end example
1722
1723@noindent
1724BesY1: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1725
1726@noindent
1727@var{X}: @code{REAL}; scalar; INTENT(IN).
1728
1729@noindent
1730Intrinsic groups: @code{unix}.
1731
1732@noindent
1733Description:
1734
1735Calculates the Bessel function of the second kind of order 1 of @var{X}.
1736See @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
1741
1742@noindent
1743@example
1744BesYN(@var{N}, @var{X})
1745@end example
1746
1747@noindent
1748BesYN: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
1749
1750@noindent
5e3f4df7 1751@var{N}: @code{INTEGER} not wider than the default kind; scalar; INTENT(IN).
177873a5
JW
1752
1753@noindent
1754@var{X}: @code{REAL}; scalar; INTENT(IN).
1755
1756@noindent
1757Intrinsic groups: @code{unix}.
1758
1759@noindent
1760Description:
1761
1762Calculates the Bessel function of the second kind of order @var{N} of @var{X}.
1763See @code{bessel(3m)}, on whose implementation the function depends.
1764@end ifset
1765@ifset familyVXT
1766@node BITest Intrinsic
1767@subsubsection BITest Intrinsic
1768@cindex BITest intrinsic
1769@cindex intrinsics, BITest
1770
1771This intrinsic is not yet implemented.
1772The name is, however, reserved as an intrinsic.
1773Use @samp{EXTERNAL BITest} to use this name for an
1774external procedure.
1775
1776@end ifset
1777@ifset familyF90
1778@node Bit_Size Intrinsic
1779@subsubsection Bit_Size Intrinsic
1780@cindex Bit_Size intrinsic
1781@cindex intrinsics, Bit_Size
1782
1783@noindent
1784@example
1785Bit_Size(@var{I})
1786@end example
1787
1788@noindent
1789Bit_Size: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
1790
1791@noindent
1792@var{I}: @code{INTEGER}; scalar.
1793
1794@noindent
1795Intrinsic groups: @code{f90}.
1796
1797@noindent
1798Description:
1799
1800Returns the number of bits (integer precision plus sign bit)
1801represented by the type for @var{I}.
1802
1803@xref{BTest Intrinsic}, for how to test the value of a
1804bit in a variable or array.
1805
1806@xref{IBSet Intrinsic}, for how to set a bit in a variable to 1.
1807
1808@xref{IBClr Intrinsic}, for how to set a bit in a variable to 0.
1809
1810
1811@end ifset
1812@ifset familyVXT
1813@node BJTest Intrinsic
1814@subsubsection BJTest Intrinsic
1815@cindex BJTest intrinsic
1816@cindex intrinsics, BJTest
1817
1818This intrinsic is not yet implemented.
1819The name is, however, reserved as an intrinsic.
1820Use @samp{EXTERNAL BJTest} to use this name for an
1821external procedure.
1822
1823@end ifset
1824@ifset familyMIL
1825@node BTest Intrinsic
1826@subsubsection BTest Intrinsic
1827@cindex BTest intrinsic
1828@cindex intrinsics, BTest
1829
1830@noindent
1831@example
1832BTest(@var{I}, @var{Pos})
1833@end example
1834
1835@noindent
1836BTest: @code{LOGICAL(KIND=1)} function.
1837
1838@noindent
1839@var{I}: @code{INTEGER}; scalar; INTENT(IN).
1840
1841@noindent
1842@var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
1843
1844@noindent
1845Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
1846
1847@noindent
1848Description:
1849
1850Returns @code{.TRUE.} if bit @var{Pos} in @var{I} is
18511, @code{.FALSE.} otherwise.
1852
1853(Bit 0 is the low-order (rightmost) bit, adding the value
1854@ifinfo
18552**0,
1856@end ifinfo
1857@iftex
1858@tex
1859$2^0$,
1860@end tex
1861@end iftex
1862or 1,
1863to the number if set to 1;
1864bit 1 is the next-higher-order bit, adding
1865@ifinfo
18662**1,
1867@end ifinfo
1868@iftex
1869@tex
1870$2^1$,
1871@end tex
1872@end iftex
1873or 2;
1874bit 2 adds
1875@ifinfo
18762**2,
1877@end ifinfo
1878@iftex
1879@tex
1880$2^2$,
1881@end tex
1882@end iftex
1883or 4; and so on.)
1884
1885@xref{Bit_Size Intrinsic}, for how to obtain the number of bits
1886in a type.
0c65e50c 1887The leftmost bit of @var{I} is @samp{BIT_SIZE(@var{I}-1)}.
177873a5
JW
1888
1889@end ifset
1890@ifset familyF77
1891@node CAbs Intrinsic
1892@subsubsection CAbs Intrinsic
1893@cindex CAbs intrinsic
1894@cindex intrinsics, CAbs
1895
1896@noindent
1897@example
1898CAbs(@var{A})
1899@end example
1900
1901@noindent
1902CAbs: @code{REAL(KIND=1)} function.
1903
1904@noindent
1905@var{A}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
1906
1907@noindent
1908Intrinsic groups: (standard FORTRAN 77).
1909
1910@noindent
1911Description:
1912
1913Archaic form of @code{ABS()} that is specific
1914to one type for @var{A}.
1915@xref{Abs Intrinsic}.
1916
1917@node CCos Intrinsic
1918@subsubsection CCos Intrinsic
1919@cindex CCos intrinsic
1920@cindex intrinsics, CCos
1921
1922@noindent
1923@example
1924CCos(@var{X})
1925@end example
1926
1927@noindent
1928CCos: @code{COMPLEX(KIND=1)} function.
1929
1930@noindent
1931@var{X}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
1932
1933@noindent
1934Intrinsic groups: (standard FORTRAN 77).
1935
1936@noindent
1937Description:
1938
1939Archaic form of @code{COS()} that is specific
1940to one type for @var{X}.
1941@xref{Cos Intrinsic}.
1942
1943@end ifset
1944@ifset familyFVZ
1945@node CDAbs Intrinsic
1946@subsubsection CDAbs Intrinsic
1947@cindex CDAbs intrinsic
1948@cindex intrinsics, CDAbs
1949
1950@noindent
1951@example
1952CDAbs(@var{A})
1953@end example
1954
1955@noindent
1956CDAbs: @code{REAL(KIND=2)} function.
1957
1958@noindent
1959@var{A}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
1960
1961@noindent
1962Intrinsic groups: @code{f2c}, @code{vxt}.
1963
1964@noindent
1965Description:
1966
1967Archaic form of @code{ABS()} that is specific
1968to one type for @var{A}.
1969@xref{Abs Intrinsic}.
1970
1971@node CDCos Intrinsic
1972@subsubsection CDCos Intrinsic
1973@cindex CDCos intrinsic
1974@cindex intrinsics, CDCos
1975
1976@noindent
1977@example
1978CDCos(@var{X})
1979@end example
1980
1981@noindent
1982CDCos: @code{COMPLEX(KIND=2)} function.
1983
1984@noindent
1985@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
1986
1987@noindent
1988Intrinsic groups: @code{f2c}, @code{vxt}.
1989
1990@noindent
1991Description:
1992
1993Archaic form of @code{COS()} that is specific
1994to one type for @var{X}.
1995@xref{Cos Intrinsic}.
1996
1997@node CDExp Intrinsic
1998@subsubsection CDExp Intrinsic
1999@cindex CDExp intrinsic
2000@cindex intrinsics, CDExp
2001
2002@noindent
2003@example
2004CDExp(@var{X})
2005@end example
2006
2007@noindent
2008CDExp: @code{COMPLEX(KIND=2)} function.
2009
2010@noindent
2011@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
2012
2013@noindent
2014Intrinsic groups: @code{f2c}, @code{vxt}.
2015
2016@noindent
2017Description:
2018
2019Archaic form of @code{EXP()} that is specific
2020to one type for @var{X}.
2021@xref{Exp Intrinsic}.
2022
2023@node CDLog Intrinsic
2024@subsubsection CDLog Intrinsic
2025@cindex CDLog intrinsic
2026@cindex intrinsics, CDLog
2027
2028@noindent
2029@example
2030CDLog(@var{X})
2031@end example
2032
2033@noindent
2034CDLog: @code{COMPLEX(KIND=2)} function.
2035
2036@noindent
2037@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
2038
2039@noindent
2040Intrinsic groups: @code{f2c}, @code{vxt}.
2041
2042@noindent
2043Description:
2044
2045Archaic form of @code{LOG()} that is specific
2046to one type for @var{X}.
2047@xref{Log Intrinsic}.
2048
2049@node CDSin Intrinsic
2050@subsubsection CDSin Intrinsic
2051@cindex CDSin intrinsic
2052@cindex intrinsics, CDSin
2053
2054@noindent
2055@example
2056CDSin(@var{X})
2057@end example
2058
2059@noindent
2060CDSin: @code{COMPLEX(KIND=2)} function.
2061
2062@noindent
2063@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
2064
2065@noindent
2066Intrinsic groups: @code{f2c}, @code{vxt}.
2067
2068@noindent
2069Description:
2070
2071Archaic form of @code{SIN()} that is specific
2072to one type for @var{X}.
2073@xref{Sin Intrinsic}.
2074
2075@node CDSqRt Intrinsic
2076@subsubsection CDSqRt Intrinsic
2077@cindex CDSqRt intrinsic
2078@cindex intrinsics, CDSqRt
2079
2080@noindent
2081@example
2082CDSqRt(@var{X})
2083@end example
2084
2085@noindent
2086CDSqRt: @code{COMPLEX(KIND=2)} function.
2087
2088@noindent
2089@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
2090
2091@noindent
2092Intrinsic groups: @code{f2c}, @code{vxt}.
2093
2094@noindent
2095Description:
2096
2097Archaic form of @code{SQRT()} that is specific
2098to one type for @var{X}.
2099@xref{SqRt Intrinsic}.
2100
2101@end ifset
2102@ifset familyF90
2103@node Ceiling Intrinsic
2104@subsubsection Ceiling Intrinsic
2105@cindex Ceiling intrinsic
2106@cindex intrinsics, Ceiling
2107
2108This intrinsic is not yet implemented.
2109The name is, however, reserved as an intrinsic.
2110Use @samp{EXTERNAL Ceiling} to use this name for an
2111external procedure.
2112
2113@end ifset
2114@ifset familyF77
2115@node CExp Intrinsic
2116@subsubsection CExp Intrinsic
2117@cindex CExp intrinsic
2118@cindex intrinsics, CExp
2119
2120@noindent
2121@example
2122CExp(@var{X})
2123@end example
2124
2125@noindent
2126CExp: @code{COMPLEX(KIND=1)} function.
2127
2128@noindent
2129@var{X}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
2130
2131@noindent
2132Intrinsic groups: (standard FORTRAN 77).
2133
2134@noindent
2135Description:
2136
2137Archaic form of @code{EXP()} that is specific
2138to one type for @var{X}.
2139@xref{Exp Intrinsic}.
2140
2141@node Char Intrinsic
2142@subsubsection Char Intrinsic
2143@cindex Char intrinsic
2144@cindex intrinsics, Char
2145
2146@noindent
2147@example
2148Char(@var{I})
2149@end example
2150
2151@noindent
2152Char: @code{CHARACTER*1} function.
2153
2154@noindent
2155@var{I}: @code{INTEGER}; scalar; INTENT(IN).
2156
2157@noindent
2158Intrinsic groups: (standard FORTRAN 77).
2159
2160@noindent
2161Description:
2162
2163Returns the character corresponding to the
2164code specified by @var{I}, using the system's
2165native character set.
2166
2167Because the system's native character set is used,
2168the correspondence between character and their codes
2169is not necessarily the same between GNU Fortran
2170implementations.
2171
2172Note that no intrinsic exists to convert a numerical
2173value to a printable character string.
2174For example, there is no intrinsic that, given
2175an @code{INTEGER} or @code{REAL} argument with the
2176value @samp{154}, returns the @code{CHARACTER}
2177result @samp{'154'}.
2178
2179Instead, you can use internal-file I/O to do this kind
2180of conversion.
2181For example:
2182
2183@smallexample
2184INTEGER VALUE
2185CHARACTER*10 STRING
2186VALUE = 154
2187WRITE (STRING, '(I10)'), VALUE
2188PRINT *, STRING
2189END
2190@end smallexample
2191
2192The above program, when run, prints:
2193
2194@smallexample
2195 154
2196@end smallexample
2197
2198@xref{IChar Intrinsic}, for the inverse of the @code{CHAR} function.
2199
2200@xref{AChar Intrinsic}, for the function corresponding
2201to the ASCII character set.
2202
2203@end ifset
2204@ifset familyF2U
2205@node ChDir Intrinsic (subroutine)
2206@subsubsection ChDir Intrinsic (subroutine)
2207@cindex ChDir intrinsic
2208@cindex intrinsics, ChDir
2209
2210@noindent
2211@example
2212CALL ChDir(@var{Dir}, @var{Status})
2213@end example
2214
2215@noindent
2216@var{Dir}: @code{CHARACTER}; scalar; INTENT(IN).
2217
2218@noindent
2219@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
2220
2221@noindent
2222Intrinsic groups: @code{unix}.
2223
2224@noindent
2225Description:
2226
2227Sets the current working directory to be @var{Dir}.
2228If the @var{Status} argument is supplied, it contains 0
68e7a7c9 2229on success or a nonzero error code otherwise upon return.
177873a5
JW
2230See @code{chdir(3)}.
2231
44d2eabc
JL
2232@emph{Caution:} Using this routine during I/O to a unit connected with a
2233non-absolute file name can cause subsequent I/O on such a unit to fail
a515a901 2234because the I/O library might reopen files by name.
44d2eabc 2235
177873a5
JW
2236Some non-GNU implementations of Fortran provide this intrinsic as
2237only a function, not as a subroutine, or do not support the
2238(optional) @var{Status} argument.
2239
2240For information on other intrinsics with the same name:
2241@xref{ChDir Intrinsic (function)}.
2242
2243@end ifset
2244@ifset familyBADU77
2245@node ChDir Intrinsic (function)
2246@subsubsection ChDir Intrinsic (function)
2247@cindex ChDir intrinsic
2248@cindex intrinsics, ChDir
2249
2250@noindent
2251@example
2252ChDir(@var{Dir})
2253@end example
2254
2255@noindent
2256ChDir: @code{INTEGER(KIND=1)} function.
2257
2258@noindent
2259@var{Dir}: @code{CHARACTER}; scalar; INTENT(IN).
2260
2261@noindent
2262Intrinsic groups: @code{badu77}.
2263
2264@noindent
2265Description:
2266
2267Sets the current working directory to be @var{Dir}.
68e7a7c9 2268Returns 0 on success or a nonzero error code.
177873a5
JW
2269See @code{chdir(3)}.
2270
44d2eabc
JL
2271@emph{Caution:} Using this routine during I/O to a unit connected with a
2272non-absolute file name can cause subsequent I/O on such a unit to fail
a515a901 2273because the I/O library might reopen files by name.
44d2eabc 2274
177873a5
JW
2275Due to the side effects performed by this intrinsic, the function
2276form is not recommended.
2277
2278For information on other intrinsics with the same name:
2279@xref{ChDir Intrinsic (subroutine)}.
2280
2281@end ifset
2282@ifset familyF2U
2283@node ChMod Intrinsic (subroutine)
2284@subsubsection ChMod Intrinsic (subroutine)
2285@cindex ChMod intrinsic
2286@cindex intrinsics, ChMod
2287
2288@noindent
2289@example
2290CALL ChMod(@var{Name}, @var{Mode}, @var{Status})
2291@end example
2292
2293@noindent
2294@var{Name}: @code{CHARACTER}; scalar; INTENT(IN).
2295
2296@noindent
2297@var{Mode}: @code{CHARACTER}; scalar; INTENT(IN).
2298
2299@noindent
2300@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
2301
2302@noindent
2303Intrinsic groups: @code{unix}.
2304
2305@noindent
2306Description:
2307
2308Changes the access mode of file @var{Name} according to the
2309specification @var{Mode}, which is given in the format of
2310@code{chmod(1)}.
2311A null character (@samp{CHAR(0)}) marks the end of
2312the name in @var{Name}---otherwise,
2313trailing blanks in @var{Name} are ignored.
2314Currently, @var{Name} must not contain the single quote
2315character.
2316
2317If the @var{Status} argument is supplied, it contains
68e7a7c9 23180 on success or a nonzero error code upon return.
177873a5
JW
2319
2320Note that this currently works
2321by actually invoking @code{/bin/chmod} (or the @code{chmod} found when
a515a901 2322the library was configured) and so might fail in some circumstances and
177873a5
JW
2323will, anyway, be slow.
2324
2325Some non-GNU implementations of Fortran provide this intrinsic as
2326only a function, not as a subroutine, or do not support the
2327(optional) @var{Status} argument.
2328
2329For information on other intrinsics with the same name:
2330@xref{ChMod Intrinsic (function)}.
2331
2332@end ifset
2333@ifset familyBADU77
2334@node ChMod Intrinsic (function)
2335@subsubsection ChMod Intrinsic (function)
2336@cindex ChMod intrinsic
2337@cindex intrinsics, ChMod
2338
2339@noindent
2340@example
2341ChMod(@var{Name}, @var{Mode})
2342@end example
2343
2344@noindent
2345ChMod: @code{INTEGER(KIND=1)} function.
2346
2347@noindent
2348@var{Name}: @code{CHARACTER}; scalar; INTENT(IN).
2349
2350@noindent
2351@var{Mode}: @code{CHARACTER}; scalar; INTENT(IN).
2352
2353@noindent
2354Intrinsic groups: @code{badu77}.
2355
2356@noindent
2357Description:
2358
2359Changes the access mode of file @var{Name} according to the
2360specification @var{Mode}, which is given in the format of
2361@code{chmod(1)}.
2362A null character (@samp{CHAR(0)}) marks the end of
2363the name in @var{Name}---otherwise,
2364trailing blanks in @var{Name} are ignored.
2365Currently, @var{Name} must not contain the single quote
2366character.
2367
68e7a7c9 2368Returns 0 on success or a nonzero error code otherwise.
177873a5
JW
2369
2370Note that this currently works
2371by actually invoking @code{/bin/chmod} (or the @code{chmod} found when
a515a901 2372the library was configured) and so might fail in some circumstances and
177873a5
JW
2373will, anyway, be slow.
2374
2375Due to the side effects performed by this intrinsic, the function
2376form is not recommended.
2377
2378For information on other intrinsics with the same name:
2379@xref{ChMod Intrinsic (subroutine)}.
2380
2381@end ifset
2382@ifset familyF77
2383@node CLog Intrinsic
2384@subsubsection CLog Intrinsic
2385@cindex CLog intrinsic
2386@cindex intrinsics, CLog
2387
2388@noindent
2389@example
2390CLog(@var{X})
2391@end example
2392
2393@noindent
2394CLog: @code{COMPLEX(KIND=1)} function.
2395
2396@noindent
2397@var{X}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
2398
2399@noindent
2400Intrinsic groups: (standard FORTRAN 77).
2401
2402@noindent
2403Description:
2404
2405Archaic form of @code{LOG()} that is specific
2406to one type for @var{X}.
2407@xref{Log Intrinsic}.
2408
2409@node Cmplx Intrinsic
2410@subsubsection Cmplx Intrinsic
2411@cindex Cmplx intrinsic
2412@cindex intrinsics, Cmplx
2413
2414@noindent
2415@example
2416Cmplx(@var{X}, @var{Y})
2417@end example
2418
2419@noindent
2420Cmplx: @code{COMPLEX(KIND=1)} function.
2421
2422@noindent
2423@var{X}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
2424
2425@noindent
2426@var{Y}: @code{INTEGER} or @code{REAL}; OPTIONAL (must be omitted if @var{X} is @code{COMPLEX}); scalar; INTENT(IN).
2427
2428@noindent
2429Intrinsic groups: (standard FORTRAN 77).
2430
2431@noindent
2432Description:
2433
2434If @var{X} is not type @code{COMPLEX},
2435constructs a value of type @code{COMPLEX(KIND=1)} from the
2436real and imaginary values specified by @var{X} and
2437@var{Y}, respectively.
2438If @var{Y} is omitted, @samp{0.} is assumed.
2439
2440If @var{X} is type @code{COMPLEX},
2441converts it to type @code{COMPLEX(KIND=1)}.
2442
2443@xref{Complex Intrinsic}, for information on easily constructing
2444a @code{COMPLEX} value of arbitrary precision from @code{REAL}
2445arguments.
2446
2447@end ifset
2448@ifset familyGNU
2449@node Complex Intrinsic
2450@subsubsection Complex Intrinsic
2451@cindex Complex intrinsic
2452@cindex intrinsics, Complex
2453
2454@noindent
2455@example
2456Complex(@var{Real}, @var{Imag})
2457@end example
2458
2459@noindent
2460Complex: @code{COMPLEX} function, the exact type being the result of cross-promoting the
2461types of all the arguments.
2462
2463@noindent
2464@var{Real}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
2465
2466@noindent
2467@var{Imag}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
2468
2469@noindent
2470Intrinsic groups: @code{gnu}.
2471
2472@noindent
2473Description:
2474
2475Returns a @code{COMPLEX} value that has @samp{Real} and @samp{Imag} as its
2476real and imaginary parts, respectively.
2477
2478If @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
2480the resulting value has the same kind value as the types
2481of @var{Real} and @var{Imag}.
2482
2483If @var{Real} and @var{Imag} are not the same type, the usual type-promotion
2484rules are applied to both, converting either or both to the
2485appropriate @code{REAL} type.
2486The type of the resulting value has the same kind value as the
2487type to which both @var{Real} and @var{Imag} were converted, in this case.
2488
2489If @var{Real} and @var{Imag} are both @code{INTEGER}, they are both converted
2490to @code{REAL(KIND=1)}, and the result of the @code{COMPLEX()}
2491invocation is type @code{COMPLEX(KIND=1)}.
2492
2493@emph{Note:} The way to do this in standard Fortran 90
2494is too hairy to describe here, but it is important to
2495note that @samp{CMPLX(D1,D2)} returns a @code{COMPLEX(KIND=1)}
2496result even if @samp{D1} and @samp{D2} are type @code{REAL(KIND=2)}.
2497Hence the availability of @code{COMPLEX()} in GNU Fortran.
2498
2499@end ifset
2500@ifset familyF77
2501@node Conjg Intrinsic
2502@subsubsection Conjg Intrinsic
2503@cindex Conjg intrinsic
2504@cindex intrinsics, Conjg
2505
2506@noindent
2507@example
2508Conjg(@var{Z})
2509@end example
2510
2511@noindent
2512Conjg: @code{COMPLEX} function, the @samp{KIND=} value of the type being that of argument @var{Z}.
2513
2514@noindent
2515@var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
2516
2517@noindent
2518Intrinsic groups: (standard FORTRAN 77).
2519
2520@noindent
2521Description:
2522
2523Returns the complex conjugate:
2524
2525@example
2526COMPLEX(REALPART(@var{Z}), -IMAGPART(@var{Z}))
2527@end example
2528
2529@node Cos Intrinsic
2530@subsubsection Cos Intrinsic
2531@cindex Cos intrinsic
2532@cindex intrinsics, Cos
2533
2534@noindent
2535@example
2536Cos(@var{X})
2537@end example
2538
2539@noindent
2540Cos: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
2541
2542@noindent
2543@var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
2544
2545@noindent
2546Intrinsic groups: (standard FORTRAN 77).
2547
2548@noindent
2549Description:
2550
2551Returns the cosine of @var{X}, an angle measured
2552in radians.
2553
2554@xref{ACos Intrinsic}, for the inverse of this function.
2555
2556@end ifset
2557@ifset familyVXT
2558@node CosD Intrinsic
2559@subsubsection CosD Intrinsic
2560@cindex CosD intrinsic
2561@cindex intrinsics, CosD
2562
2563This intrinsic is not yet implemented.
2564The name is, however, reserved as an intrinsic.
2565Use @samp{EXTERNAL CosD} to use this name for an
2566external procedure.
2567
2568@end ifset
2569@ifset familyF77
2570@node CosH Intrinsic
2571@subsubsection CosH Intrinsic
2572@cindex CosH intrinsic
2573@cindex intrinsics, CosH
2574
2575@noindent
2576@example
2577CosH(@var{X})
2578@end example
2579
2580@noindent
2581CosH: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
2582
2583@noindent
2584@var{X}: @code{REAL}; scalar; INTENT(IN).
2585
2586@noindent
2587Intrinsic groups: (standard FORTRAN 77).
2588
2589@noindent
2590Description:
2591
2592Returns the hyperbolic cosine of @var{X}.
2593
2594@end ifset
2595@ifset familyF90
2596@node Count Intrinsic
2597@subsubsection Count Intrinsic
2598@cindex Count intrinsic
2599@cindex intrinsics, Count
2600
2601This intrinsic is not yet implemented.
2602The name is, however, reserved as an intrinsic.
2603Use @samp{EXTERNAL Count} to use this name for an
2604external procedure.
2605
44d2eabc
JL
2606@node CPU_Time Intrinsic
2607@subsubsection CPU_Time Intrinsic
2608@cindex CPU_Time intrinsic
2609@cindex intrinsics, CPU_Time
177873a5
JW
2610
2611@noindent
2612@example
44d2eabc 2613CALL CPU_Time(@var{Seconds})
177873a5
JW
2614@end example
2615
2616@noindent
44d2eabc 2617@var{Seconds}: @code{REAL}; scalar; INTENT(OUT).
177873a5
JW
2618
2619@noindent
2620Intrinsic groups: @code{f90}.
2621
2622@noindent
2623Description:
2624
2625Returns in @var{Seconds} the current value of the system time.
2626This implementation of the Fortran 95 intrinsic is just an alias for
2627@code{second} @xref{Second Intrinsic (subroutine)}.
2628
9c6ba682
UD
2629@cindex wraparound, timings
2630@cindex limits, timings
2631On some systems, the underlying timings are represented
2632using types with sufficiently small limits that overflows
2633(wraparounds) are possible, such as 32-bit types.
2634Therefore, the values returned by this intrinsic
2635might be, or become, negative,
2636or numerically less than previous values,
2637during a single run of the compiled program.
2638
177873a5
JW
2639@node CShift Intrinsic
2640@subsubsection CShift Intrinsic
2641@cindex CShift intrinsic
2642@cindex intrinsics, CShift
2643
2644This intrinsic is not yet implemented.
2645The name is, however, reserved as an intrinsic.
2646Use @samp{EXTERNAL CShift} to use this name for an
2647external procedure.
2648
2649@end ifset
2650@ifset familyF77
2651@node CSin Intrinsic
2652@subsubsection CSin Intrinsic
2653@cindex CSin intrinsic
2654@cindex intrinsics, CSin
2655
2656@noindent
2657@example
2658CSin(@var{X})
2659@end example
2660
2661@noindent
2662CSin: @code{COMPLEX(KIND=1)} function.
2663
2664@noindent
2665@var{X}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
2666
2667@noindent
2668Intrinsic groups: (standard FORTRAN 77).
2669
2670@noindent
2671Description:
2672
2673Archaic form of @code{SIN()} that is specific
2674to one type for @var{X}.
2675@xref{Sin Intrinsic}.
2676
2677@node CSqRt Intrinsic
2678@subsubsection CSqRt Intrinsic
2679@cindex CSqRt intrinsic
2680@cindex intrinsics, CSqRt
2681
2682@noindent
2683@example
2684CSqRt(@var{X})
2685@end example
2686
2687@noindent
2688CSqRt: @code{COMPLEX(KIND=1)} function.
2689
2690@noindent
2691@var{X}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
2692
2693@noindent
2694Intrinsic groups: (standard FORTRAN 77).
2695
2696@noindent
2697Description:
2698
2699Archaic form of @code{SQRT()} that is specific
2700to one type for @var{X}.
2701@xref{SqRt Intrinsic}.
2702
2703@end ifset
2704@ifset familyF2U
2705@node CTime Intrinsic (subroutine)
2706@subsubsection CTime Intrinsic (subroutine)
2707@cindex CTime intrinsic
2708@cindex intrinsics, CTime
2709
2710@noindent
2711@example
e0f0f526 2712CALL CTime(@var{STime}, @var{Result})
177873a5
JW
2713@end example
2714
2715@noindent
e0f0f526 2716@var{STime}: @code{INTEGER}; scalar; INTENT(IN).
177873a5
JW
2717
2718@noindent
e0f0f526 2719@var{Result}: @code{CHARACTER}; scalar; INTENT(OUT).
177873a5
JW
2720
2721@noindent
2722Intrinsic groups: @code{unix}.
2723
2724@noindent
2725Description:
2726
2727Converts @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},
2729and returns that string in @var{Result}.
2730
2731@xref{Time8 Intrinsic}.
2732
2733Some non-GNU implementations of Fortran provide this intrinsic as
2734only a function, not as a subroutine.
2735
2736For information on other intrinsics with the same name:
2737@xref{CTime Intrinsic (function)}.
2738
2739@node CTime Intrinsic (function)
2740@subsubsection CTime Intrinsic (function)
2741@cindex CTime intrinsic
2742@cindex intrinsics, CTime
2743
2744@noindent
2745@example
2746CTime(@var{STime})
2747@end example
2748
2749@noindent
2750CTime: @code{CHARACTER*(*)} function.
2751
2752@noindent
2753@var{STime}: @code{INTEGER}; scalar; INTENT(IN).
2754
2755@noindent
2756Intrinsic groups: @code{unix}.
2757
2758@noindent
2759Description:
2760
2761Converts @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},
2763and returns that string as the function value.
2764
2765@xref{Time8 Intrinsic}.
2766
2767For information on other intrinsics with the same name:
2768@xref{CTime Intrinsic (subroutine)}.
2769
2770@end ifset
2771@ifset familyF77
2772@node DAbs Intrinsic
2773@subsubsection DAbs Intrinsic
2774@cindex DAbs intrinsic
2775@cindex intrinsics, DAbs
2776
2777@noindent
2778@example
2779DAbs(@var{A})
2780@end example
2781
2782@noindent
2783DAbs: @code{REAL(KIND=2)} function.
2784
2785@noindent
2786@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2787
2788@noindent
2789Intrinsic groups: (standard FORTRAN 77).
2790
2791@noindent
2792Description:
2793
2794Archaic form of @code{ABS()} that is specific
2795to one type for @var{A}.
2796@xref{Abs Intrinsic}.
2797
2798@node DACos Intrinsic
2799@subsubsection DACos Intrinsic
2800@cindex DACos intrinsic
2801@cindex intrinsics, DACos
2802
2803@noindent
2804@example
2805DACos(@var{X})
2806@end example
2807
2808@noindent
2809DACos: @code{REAL(KIND=2)} function.
2810
2811@noindent
2812@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2813
2814@noindent
2815Intrinsic groups: (standard FORTRAN 77).
2816
2817@noindent
2818Description:
2819
2820Archaic form of @code{ACOS()} that is specific
2821to one type for @var{X}.
2822@xref{ACos Intrinsic}.
2823
2824@end ifset
2825@ifset familyVXT
2826@node DACosD Intrinsic
2827@subsubsection DACosD Intrinsic
2828@cindex DACosD intrinsic
2829@cindex intrinsics, DACosD
2830
2831This intrinsic is not yet implemented.
2832The name is, however, reserved as an intrinsic.
2833Use @samp{EXTERNAL DACosD} to use this name for an
2834external procedure.
2835
2836@end ifset
2837@ifset familyF77
2838@node DASin Intrinsic
2839@subsubsection DASin Intrinsic
2840@cindex DASin intrinsic
2841@cindex intrinsics, DASin
2842
2843@noindent
2844@example
2845DASin(@var{X})
2846@end example
2847
2848@noindent
2849DASin: @code{REAL(KIND=2)} function.
2850
2851@noindent
2852@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2853
2854@noindent
2855Intrinsic groups: (standard FORTRAN 77).
2856
2857@noindent
2858Description:
2859
2860Archaic form of @code{ASIN()} that is specific
2861to one type for @var{X}.
2862@xref{ASin Intrinsic}.
2863
2864@end ifset
2865@ifset familyVXT
2866@node DASinD Intrinsic
2867@subsubsection DASinD Intrinsic
2868@cindex DASinD intrinsic
2869@cindex intrinsics, DASinD
2870
2871This intrinsic is not yet implemented.
2872The name is, however, reserved as an intrinsic.
2873Use @samp{EXTERNAL DASinD} to use this name for an
2874external procedure.
2875
2876@end ifset
2877@ifset familyF77
2878@node DATan Intrinsic
2879@subsubsection DATan Intrinsic
2880@cindex DATan intrinsic
2881@cindex intrinsics, DATan
2882
2883@noindent
2884@example
2885DATan(@var{X})
2886@end example
2887
2888@noindent
2889DATan: @code{REAL(KIND=2)} function.
2890
2891@noindent
2892@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2893
2894@noindent
2895Intrinsic groups: (standard FORTRAN 77).
2896
2897@noindent
2898Description:
2899
2900Archaic form of @code{ATAN()} that is specific
2901to one type for @var{X}.
2902@xref{ATan Intrinsic}.
2903
2904@node DATan2 Intrinsic
2905@subsubsection DATan2 Intrinsic
2906@cindex DATan2 intrinsic
2907@cindex intrinsics, DATan2
2908
2909@noindent
2910@example
2911DATan2(@var{Y}, @var{X})
2912@end example
2913
2914@noindent
2915DATan2: @code{REAL(KIND=2)} function.
2916
2917@noindent
2918@var{Y}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2919
2920@noindent
2921@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2922
2923@noindent
2924Intrinsic groups: (standard FORTRAN 77).
2925
2926@noindent
2927Description:
2928
2929Archaic form of @code{ATAN2()} that is specific
2930to one type for @var{Y} and @var{X}.
2931@xref{ATan2 Intrinsic}.
2932
2933@end ifset
2934@ifset familyVXT
2935@node DATan2D Intrinsic
2936@subsubsection DATan2D Intrinsic
2937@cindex DATan2D intrinsic
2938@cindex intrinsics, DATan2D
2939
2940This intrinsic is not yet implemented.
2941The name is, however, reserved as an intrinsic.
2942Use @samp{EXTERNAL DATan2D} to use this name for an
2943external procedure.
2944
2945@node DATanD Intrinsic
2946@subsubsection DATanD Intrinsic
2947@cindex DATanD intrinsic
2948@cindex intrinsics, DATanD
2949
2950This intrinsic is not yet implemented.
2951The name is, however, reserved as an intrinsic.
2952Use @samp{EXTERNAL DATanD} to use this name for an
2953external procedure.
2954
2955@node Date Intrinsic
2956@subsubsection Date Intrinsic
2957@cindex Date intrinsic
2958@cindex intrinsics, Date
2959
2960@noindent
2961@example
2962CALL Date(@var{Date})
2963@end example
2964
2965@noindent
2966@var{Date}: @code{CHARACTER}; scalar; INTENT(OUT).
2967
2968@noindent
2969Intrinsic groups: @code{vxt}.
2970
2971@noindent
2972Description:
2973
2974Returns @var{Date} in the form @samp{@var{dd}-@var{mmm}-@var{yy}},
2975representing the numeric day of the month @var{dd}, a three-character
2976abbreviation of the month name @var{mmm} and the last two digits of
60afa297 2977the year @var{yy}, e.g.@: @samp{25-Nov-96}.
177873a5 2978
9c6ba682
UD
2979@cindex Y2K compliance
2980@cindex Year 2000 compliance
177873a5 2981This intrinsic is not recommended, due to the year 2000 approaching.
9c6ba682
UD
2982Therefore, programs making use of this intrinsic
2983might not be Year 2000 (Y2K) compliant.
177873a5
JW
2984@xref{CTime Intrinsic (subroutine)}, for information on obtaining more digits
2985for the current (or any) date.
2986
2987@end ifset
2988@ifset familyF90
2989@node Date_and_Time Intrinsic
2990@subsubsection Date_and_Time Intrinsic
2991@cindex Date_and_Time intrinsic
2992@cindex intrinsics, Date_and_Time
2993
9e8e701d
DL
2994@noindent
2995@example
60afa297 2996CALL Date_and_Time(@var{Date}, @var{Time}, @var{Zone}, @var{Values})
9e8e701d
DL
2997@end example
2998
2999@noindent
3000@var{Date}: @code{CHARACTER}; scalar; INTENT(OUT).
3001
3002@noindent
60afa297 3003@var{Time}: @code{CHARACTER}; OPTIONAL; scalar; INTENT(OUT).
9e8e701d
DL
3004
3005@noindent
3006@var{Zone}: @code{CHARACTER}; OPTIONAL; scalar; INTENT(OUT).
3007
3008@noindent
3009@var{Values}: @code{INTEGER(KIND=1)}; OPTIONAL; DIMENSION(8); INTENT(OUT).
3010
3011@noindent
3012Intrinsic groups: @code{f90}.
3013
3014@noindent
3015Description:
3016
60afa297 3017Returns:
9e8e701d
DL
3018@table @var
3019@item Date
3020The date in the form @var{ccyymmdd}: century, year, month and day;
60afa297 3021@item Time
9e8e701d
DL
3022The time in the form @samp{@var{hhmmss.ss}}: hours, minutes, seconds
3023and milliseconds;
3024@item Zone
3025The difference between local time and UTC (GMT) in the form @var{Shhmm}:
60afa297 3026sign, hours and minutes, e.g.@: @samp{-0500} (winter in New York);
9e8e701d
DL
3027@item Values
3028The year, month of the year, day of the month, time difference in
b3b2275a
CB
3029minutes from UTC, hour of the day, minutes of the hour, seconds
3030of the minute, and milliseconds
9e8e701d
DL
3031of the second in successive values of the array.
3032@end table
60afa297 3033
9c6ba682
UD
3034@cindex Y10K compliance
3035@cindex Year 10000 compliance
3036@cindex wraparound, Y10K
3037@cindex limits, Y10K
3038Programs making use of this intrinsic
3039might not be Year 10000 (Y10K) compliant.
3040For example, the date might appear,
3041to such programs, to wrap around
3042(change from a larger value to a smaller one)
3043as of the Year 10000.
3044
9e8e701d
DL
3045On systems where a millisecond timer isn't available, the millisecond
3046value is returned as zero.
177873a5
JW
3047
3048@end ifset
3049@ifset familyF2U
3050@node DbesJ0 Intrinsic
3051@subsubsection DbesJ0 Intrinsic
3052@cindex DbesJ0 intrinsic
3053@cindex intrinsics, DbesJ0
3054
3055@noindent
3056@example
3057DbesJ0(@var{X})
3058@end example
3059
3060@noindent
3061DbesJ0: @code{REAL(KIND=2)} function.
3062
3063@noindent
3064@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3065
3066@noindent
3067Intrinsic groups: @code{unix}.
3068
3069@noindent
3070Description:
3071
3072Archaic form of @code{BESJ0()} that is specific
3073to one type for @var{X}.
3074@xref{BesJ0 Intrinsic}.
3075
3076@node DbesJ1 Intrinsic
3077@subsubsection DbesJ1 Intrinsic
3078@cindex DbesJ1 intrinsic
3079@cindex intrinsics, DbesJ1
3080
3081@noindent
3082@example
3083DbesJ1(@var{X})
3084@end example
3085
3086@noindent
3087DbesJ1: @code{REAL(KIND=2)} function.
3088
3089@noindent
3090@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3091
3092@noindent
3093Intrinsic groups: @code{unix}.
3094
3095@noindent
3096Description:
3097
3098Archaic form of @code{BESJ1()} that is specific
3099to one type for @var{X}.
3100@xref{BesJ1 Intrinsic}.
3101
3102@node DbesJN Intrinsic
3103@subsubsection DbesJN Intrinsic
3104@cindex DbesJN intrinsic
3105@cindex intrinsics, DbesJN
3106
3107@noindent
3108@example
3109DbesJN(@var{N}, @var{X})
3110@end example
3111
3112@noindent
3113DbesJN: @code{REAL(KIND=2)} function.
3114
3115@noindent
5e3f4df7 3116@var{N}: @code{INTEGER} not wider than the default kind; scalar; INTENT(IN).
177873a5
JW
3117
3118@noindent
3119@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3120
3121@noindent
3122Intrinsic groups: @code{unix}.
3123
3124@noindent
3125Description:
3126
3127Archaic form of @code{BESJN()} that is specific
3128to one type for @var{X}.
3129@xref{BesJN Intrinsic}.
3130
3131@node DbesY0 Intrinsic
3132@subsubsection DbesY0 Intrinsic
3133@cindex DbesY0 intrinsic
3134@cindex intrinsics, DbesY0
3135
3136@noindent
3137@example
3138DbesY0(@var{X})
3139@end example
3140
3141@noindent
3142DbesY0: @code{REAL(KIND=2)} function.
3143
3144@noindent
3145@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3146
3147@noindent
3148Intrinsic groups: @code{unix}.
3149
3150@noindent
3151Description:
3152
3153Archaic form of @code{BESY0()} that is specific
3154to one type for @var{X}.
3155@xref{BesY0 Intrinsic}.
3156
3157@node DbesY1 Intrinsic
3158@subsubsection DbesY1 Intrinsic
3159@cindex DbesY1 intrinsic
3160@cindex intrinsics, DbesY1
3161
3162@noindent
3163@example
3164DbesY1(@var{X})
3165@end example
3166
3167@noindent
3168DbesY1: @code{REAL(KIND=2)} function.
3169
3170@noindent
3171@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3172
3173@noindent
3174Intrinsic groups: @code{unix}.
3175
3176@noindent
3177Description:
3178
3179Archaic form of @code{BESY1()} that is specific
3180to one type for @var{X}.
3181@xref{BesY1 Intrinsic}.
3182
3183@node DbesYN Intrinsic
3184@subsubsection DbesYN Intrinsic
3185@cindex DbesYN intrinsic
3186@cindex intrinsics, DbesYN
3187
3188@noindent
3189@example
3190DbesYN(@var{N}, @var{X})
3191@end example
3192
3193@noindent
3194DbesYN: @code{REAL(KIND=2)} function.
3195
3196@noindent
5e3f4df7 3197@var{N}: @code{INTEGER} not wider than the default kind; scalar; INTENT(IN).
177873a5
JW
3198
3199@noindent
3200@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3201
3202@noindent
3203Intrinsic groups: @code{unix}.
3204
3205@noindent
3206Description:
3207
3208Archaic form of @code{BESYN()} that is specific
3209to one type for @var{X}.
3210@xref{BesYN Intrinsic}.
3211
3212@end ifset
3213@ifset familyF77
3214@node Dble Intrinsic
3215@subsubsection Dble Intrinsic
3216@cindex Dble intrinsic
3217@cindex intrinsics, Dble
3218
3219@noindent
3220@example
3221Dble(@var{A})
3222@end example
3223
3224@noindent
3225Dble: @code{REAL(KIND=2)} function.
3226
3227@noindent
3228@var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
3229
3230@noindent
3231Intrinsic groups: (standard FORTRAN 77).
3232
3233@noindent
3234Description:
3235
3236Returns @var{A} converted to double precision
3237(@code{REAL(KIND=2)}).
3238If @var{A} is @code{COMPLEX}, the real part of
3239@var{A} is used for the conversion
3240and the imaginary part disregarded.
3241
3242@xref{Sngl Intrinsic}, for the function that converts
3243to single precision.
3244
3245@xref{Int Intrinsic}, for the function that converts
3246to @code{INTEGER}.
3247
3248@xref{Complex Intrinsic}, for the function that converts
3249to @code{COMPLEX}.
3250
3251@end ifset
3252@ifset familyVXT
3253@node DbleQ Intrinsic
3254@subsubsection DbleQ Intrinsic
3255@cindex DbleQ intrinsic
3256@cindex intrinsics, DbleQ
3257
3258This intrinsic is not yet implemented.
3259The name is, however, reserved as an intrinsic.
3260Use @samp{EXTERNAL DbleQ} to use this name for an
3261external procedure.
3262
3263@end ifset
3264@ifset familyFVZ
3265@node DCmplx Intrinsic
3266@subsubsection DCmplx Intrinsic
3267@cindex DCmplx intrinsic
3268@cindex intrinsics, DCmplx
3269
3270@noindent
3271@example
3272DCmplx(@var{X}, @var{Y})
3273@end example
3274
3275@noindent
3276DCmplx: @code{COMPLEX(KIND=2)} function.
3277
3278@noindent
3279@var{X}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
3280
3281@noindent
3282@var{Y}: @code{INTEGER} or @code{REAL}; OPTIONAL (must be omitted if @var{X} is @code{COMPLEX}); scalar; INTENT(IN).
3283
3284@noindent
3285Intrinsic groups: @code{f2c}, @code{vxt}.
3286
3287@noindent
3288Description:
3289
3290If @var{X} is not type @code{COMPLEX},
3291constructs a value of type @code{COMPLEX(KIND=2)} from the
3292real and imaginary values specified by @var{X} and
3293@var{Y}, respectively.
3294If @var{Y} is omitted, @samp{0D0} is assumed.
3295
3296If @var{X} is type @code{COMPLEX},
3297converts it to type @code{COMPLEX(KIND=2)}.
3298
3299Although this intrinsic is not standard Fortran,
3300it is a popular extension offered by many compilers
3301that support @code{DOUBLE COMPLEX}, since it offers
3302the easiest way to convert to @code{DOUBLE COMPLEX}
3303without using Fortran 90 features (such as the @samp{KIND=}
3304argument to the @code{CMPLX()} intrinsic).
3305
3306(@samp{CMPLX(0D0, 0D0)} returns a single-precision
3307@code{COMPLEX} result, as required by standard FORTRAN 77.
3308That's why so many compilers provide @code{DCMPLX()}, since
3309@samp{DCMPLX(0D0, 0D0)} returns a @code{DOUBLE COMPLEX}
3310result.
3311Still, @code{DCMPLX()} converts even @code{REAL*16} arguments
3312to their @code{REAL*8} equivalents in most dialects of
3313Fortran, so neither it nor @code{CMPLX()} allow easy
3314construction of arbitrary-precision values without
3315potentially forcing a conversion involving extending or
3316reducing precision.
3317GNU Fortran provides such an intrinsic, called @code{COMPLEX()}.)
3318
3319@xref{Complex Intrinsic}, for information on easily constructing
3320a @code{COMPLEX} value of arbitrary precision from @code{REAL}
3321arguments.
3322
3323@node DConjg Intrinsic
3324@subsubsection DConjg Intrinsic
3325@cindex DConjg intrinsic
3326@cindex intrinsics, DConjg
3327
3328@noindent
3329@example
3330DConjg(@var{Z})
3331@end example
3332
3333@noindent
3334DConjg: @code{COMPLEX(KIND=2)} function.
3335
3336@noindent
3337@var{Z}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
3338
3339@noindent
3340Intrinsic groups: @code{f2c}, @code{vxt}.
3341
3342@noindent
3343Description:
3344
3345Archaic form of @code{CONJG()} that is specific
3346to one type for @var{Z}.
0c65e50c 3347@xref{Conjg Intrinsic}.
177873a5
JW
3348
3349@end ifset
3350@ifset familyF77
3351@node DCos Intrinsic
3352@subsubsection DCos Intrinsic
3353@cindex DCos intrinsic
3354@cindex intrinsics, DCos
3355
3356@noindent
3357@example
3358DCos(@var{X})
3359@end example
3360
3361@noindent
3362DCos: @code{REAL(KIND=2)} function.
3363
3364@noindent
3365@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3366
3367@noindent
3368Intrinsic groups: (standard FORTRAN 77).
3369
3370@noindent
3371Description:
3372
3373Archaic form of @code{COS()} that is specific
3374to one type for @var{X}.
3375@xref{Cos Intrinsic}.
3376
3377@end ifset
3378@ifset familyVXT
3379@node DCosD Intrinsic
3380@subsubsection DCosD Intrinsic
3381@cindex DCosD intrinsic
3382@cindex intrinsics, DCosD
3383
3384This intrinsic is not yet implemented.
3385The name is, however, reserved as an intrinsic.
3386Use @samp{EXTERNAL DCosD} to use this name for an
3387external procedure.
3388
3389@end ifset
3390@ifset familyF77
3391@node DCosH Intrinsic
3392@subsubsection DCosH Intrinsic
3393@cindex DCosH intrinsic
3394@cindex intrinsics, DCosH
3395
3396@noindent
3397@example
3398DCosH(@var{X})
3399@end example
3400
3401@noindent
3402DCosH: @code{REAL(KIND=2)} function.
3403
3404@noindent
3405@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3406
3407@noindent
3408Intrinsic groups: (standard FORTRAN 77).
3409
3410@noindent
3411Description:
3412
3413Archaic form of @code{COSH()} that is specific
3414to one type for @var{X}.
3415@xref{CosH Intrinsic}.
3416
3417@node DDiM Intrinsic
3418@subsubsection DDiM Intrinsic
3419@cindex DDiM intrinsic
3420@cindex intrinsics, DDiM
3421
3422@noindent
3423@example
3424DDiM(@var{X}, @var{Y})
3425@end example
3426
3427@noindent
3428DDiM: @code{REAL(KIND=2)} function.
3429
3430@noindent
3431@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3432
3433@noindent
3434@var{Y}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3435
3436@noindent
3437Intrinsic groups: (standard FORTRAN 77).
3438
3439@noindent
3440Description:
3441
3442Archaic form of @code{DIM()} that is specific
3443to one type for @var{X} and @var{Y}.
3444@xref{DiM Intrinsic}.
3445
3446@end ifset
3447@ifset familyF2U
3448@node DErF Intrinsic
3449@subsubsection DErF Intrinsic
3450@cindex DErF intrinsic
3451@cindex intrinsics, DErF
3452
3453@noindent
3454@example
3455DErF(@var{X})
3456@end example
3457
3458@noindent
3459DErF: @code{REAL(KIND=2)} function.
3460
3461@noindent
3462@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3463
3464@noindent
3465Intrinsic groups: @code{unix}.
3466
3467@noindent
3468Description:
3469
3470Archaic form of @code{ERF()} that is specific
3471to one type for @var{X}.
3472@xref{ErF Intrinsic}.
3473
3474@node DErFC Intrinsic
3475@subsubsection DErFC Intrinsic
3476@cindex DErFC intrinsic
3477@cindex intrinsics, DErFC
3478
3479@noindent
3480@example
3481DErFC(@var{X})
3482@end example
3483
3484@noindent
3485DErFC: @code{REAL(KIND=2)} function.
3486
3487@noindent
3488@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3489
3490@noindent
3491Intrinsic groups: @code{unix}.
3492
3493@noindent
3494Description:
3495
3496Archaic form of @code{ERFC()} that is specific
3497to one type for @var{X}.
3498@xref{ErFC Intrinsic}.
3499
3500@end ifset
3501@ifset familyF77
3502@node DExp Intrinsic
3503@subsubsection DExp Intrinsic
3504@cindex DExp intrinsic
3505@cindex intrinsics, DExp
3506
3507@noindent
3508@example
3509DExp(@var{X})
3510@end example
3511
3512@noindent
3513DExp: @code{REAL(KIND=2)} function.
3514
3515@noindent
3516@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3517
3518@noindent
3519Intrinsic groups: (standard FORTRAN 77).
3520
3521@noindent
3522Description:
3523
3524Archaic form of @code{EXP()} that is specific
3525to one type for @var{X}.
3526@xref{Exp Intrinsic}.
3527
3528@end ifset
3529@ifset familyFVZ
3530@node DFloat Intrinsic
3531@subsubsection DFloat Intrinsic
3532@cindex DFloat intrinsic
3533@cindex intrinsics, DFloat
3534
3535@noindent
3536@example
3537DFloat(@var{A})
3538@end example
3539
3540@noindent
3541DFloat: @code{REAL(KIND=2)} function.
3542
3543@noindent
3544@var{A}: @code{INTEGER}; scalar; INTENT(IN).
3545
3546@noindent
3547Intrinsic groups: @code{f2c}, @code{vxt}.
3548
3549@noindent
3550Description:
3551
3552Archaic form of @code{REAL()} that is specific
3553to one type for @var{A}.
3554@xref{Real Intrinsic}.
3555
3556@end ifset
3557@ifset familyVXT
3558@node DFlotI Intrinsic
3559@subsubsection DFlotI Intrinsic
3560@cindex DFlotI intrinsic
3561@cindex intrinsics, DFlotI
3562
3563This intrinsic is not yet implemented.
3564The name is, however, reserved as an intrinsic.
3565Use @samp{EXTERNAL DFlotI} to use this name for an
3566external procedure.
3567
3568@node DFlotJ Intrinsic
3569@subsubsection DFlotJ Intrinsic
3570@cindex DFlotJ intrinsic
3571@cindex intrinsics, DFlotJ
3572
3573This intrinsic is not yet implemented.
3574The name is, however, reserved as an intrinsic.
3575Use @samp{EXTERNAL DFlotJ} to use this name for an
3576external procedure.
3577
3578@end ifset
3579@ifset familyF90
3580@node Digits Intrinsic
3581@subsubsection Digits Intrinsic
3582@cindex Digits intrinsic
3583@cindex intrinsics, Digits
3584
3585This intrinsic is not yet implemented.
3586The name is, however, reserved as an intrinsic.
3587Use @samp{EXTERNAL Digits} to use this name for an
3588external procedure.
3589
3590@end ifset
3591@ifset familyF77
3592@node DiM Intrinsic
3593@subsubsection DiM Intrinsic
3594@cindex DiM intrinsic
3595@cindex intrinsics, DiM
3596
3597@noindent
3598@example
3599DiM(@var{X}, @var{Y})
3600@end example
3601
3602@noindent
3603DiM: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
3604types of all the arguments.
3605
3606@noindent
3607@var{X}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
3608
3609@noindent
3610@var{Y}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
3611
3612@noindent
3613Intrinsic groups: (standard FORTRAN 77).
3614
3615@noindent
3616Description:
3617
3618Returns @samp{@var{X}-@var{Y}} if @var{X} is greater than
3619@var{Y}; otherwise returns zero.
3620
3621@end ifset
3622@ifset familyFVZ
3623@node DImag Intrinsic
3624@subsubsection DImag Intrinsic
3625@cindex DImag intrinsic
3626@cindex intrinsics, DImag
3627
3628@noindent
3629@example
3630DImag(@var{Z})
3631@end example
3632
3633@noindent
3634DImag: @code{REAL(KIND=2)} function.
3635
3636@noindent
3637@var{Z}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
3638
3639@noindent
3640Intrinsic groups: @code{f2c}, @code{vxt}.
3641
3642@noindent
3643Description:
3644
3645Archaic form of @code{AIMAG()} that is specific
3646to one type for @var{Z}.
3647@xref{AImag Intrinsic}.
3648
3649@end ifset
3650@ifset familyF77
3651@node DInt Intrinsic
3652@subsubsection DInt Intrinsic
3653@cindex DInt intrinsic
3654@cindex intrinsics, DInt
3655
3656@noindent
3657@example
3658DInt(@var{A})
3659@end example
3660
3661@noindent
3662DInt: @code{REAL(KIND=2)} function.
3663
3664@noindent
3665@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3666
3667@noindent
3668Intrinsic groups: (standard FORTRAN 77).
3669
3670@noindent
3671Description:
3672
3673Archaic form of @code{AINT()} that is specific
3674to one type for @var{A}.
3675@xref{AInt Intrinsic}.
3676
3677@node DLog Intrinsic
3678@subsubsection DLog Intrinsic
3679@cindex DLog intrinsic
3680@cindex intrinsics, DLog
3681
3682@noindent
3683@example
3684DLog(@var{X})
3685@end example
3686
3687@noindent
3688DLog: @code{REAL(KIND=2)} function.
3689
3690@noindent
3691@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3692
3693@noindent
3694Intrinsic groups: (standard FORTRAN 77).
3695
3696@noindent
3697Description:
3698
3699Archaic form of @code{LOG()} that is specific
3700to one type for @var{X}.
3701@xref{Log Intrinsic}.
3702
3703@node DLog10 Intrinsic
3704@subsubsection DLog10 Intrinsic
3705@cindex DLog10 intrinsic
3706@cindex intrinsics, DLog10
3707
3708@noindent
3709@example
3710DLog10(@var{X})
3711@end example
3712
3713@noindent
3714DLog10: @code{REAL(KIND=2)} function.
3715
3716@noindent
3717@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3718
3719@noindent
3720Intrinsic groups: (standard FORTRAN 77).
3721
3722@noindent
3723Description:
3724
3725Archaic form of @code{LOG10()} that is specific
3726to one type for @var{X}.
3727@xref{Log10 Intrinsic}.
3728
3729@node DMax1 Intrinsic
3730@subsubsection DMax1 Intrinsic
3731@cindex DMax1 intrinsic
3732@cindex intrinsics, DMax1
3733
3734@noindent
3735@example
3736DMax1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
3737@end example
3738
3739@noindent
3740DMax1: @code{REAL(KIND=2)} function.
3741
3742@noindent
3743@var{A}: @code{REAL(KIND=2)}; at least two such arguments must be provided; scalar; INTENT(IN).
3744
3745@noindent
3746Intrinsic groups: (standard FORTRAN 77).
3747
3748@noindent
3749Description:
3750
3751Archaic form of @code{MAX()} that is specific
3752to one type for @var{A}.
3753@xref{Max Intrinsic}.
3754
3755@node DMin1 Intrinsic
3756@subsubsection DMin1 Intrinsic
3757@cindex DMin1 intrinsic
3758@cindex intrinsics, DMin1
3759
3760@noindent
3761@example
3762DMin1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
3763@end example
3764
3765@noindent
3766DMin1: @code{REAL(KIND=2)} function.
3767
3768@noindent
3769@var{A}: @code{REAL(KIND=2)}; at least two such arguments must be provided; scalar; INTENT(IN).
3770
3771@noindent
3772Intrinsic groups: (standard FORTRAN 77).
3773
3774@noindent
3775Description:
3776
3777Archaic form of @code{MIN()} that is specific
3778to one type for @var{A}.
3779@xref{Min Intrinsic}.
3780
3781@node DMod Intrinsic
3782@subsubsection DMod Intrinsic
3783@cindex DMod intrinsic
3784@cindex intrinsics, DMod
3785
3786@noindent
3787@example
3788DMod(@var{A}, @var{P})
3789@end example
3790
3791@noindent
3792DMod: @code{REAL(KIND=2)} function.
3793
3794@noindent
3795@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3796
3797@noindent
3798@var{P}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3799
3800@noindent
3801Intrinsic groups: (standard FORTRAN 77).
3802
3803@noindent
3804Description:
3805
3806Archaic form of @code{MOD()} that is specific
3807to one type for @var{A}.
3808@xref{Mod Intrinsic}.
3809
3810@node DNInt Intrinsic
3811@subsubsection DNInt Intrinsic
3812@cindex DNInt intrinsic
3813@cindex intrinsics, DNInt
3814
3815@noindent
3816@example
3817DNInt(@var{A})
3818@end example
3819
3820@noindent
3821DNInt: @code{REAL(KIND=2)} function.
3822
3823@noindent
3824@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3825
3826@noindent
3827Intrinsic groups: (standard FORTRAN 77).
3828
3829@noindent
3830Description:
3831
3832Archaic form of @code{ANINT()} that is specific
3833to one type for @var{A}.
3834@xref{ANInt Intrinsic}.
3835
3836@end ifset
3837@ifset familyF90
3838@node Dot_Product Intrinsic
3839@subsubsection Dot_Product Intrinsic
3840@cindex Dot_Product intrinsic
3841@cindex intrinsics, Dot_Product
3842
3843This intrinsic is not yet implemented.
3844The name is, however, reserved as an intrinsic.
3845Use @samp{EXTERNAL Dot_Product} to use this name for an
3846external procedure.
3847
3848@end ifset
3849@ifset familyF77
3850@node DProd Intrinsic
3851@subsubsection DProd Intrinsic
3852@cindex DProd intrinsic
3853@cindex intrinsics, DProd
3854
3855@noindent
3856@example
3857DProd(@var{X}, @var{Y})
3858@end example
3859
3860@noindent
3861DProd: @code{REAL(KIND=2)} function.
3862
3863@noindent
3864@var{X}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
3865
3866@noindent
3867@var{Y}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
3868
3869@noindent
3870Intrinsic groups: (standard FORTRAN 77).
3871
3872@noindent
3873Description:
3874
3875Returns @samp{DBLE(@var{X})*DBLE(@var{Y})}.
3876
3877@end ifset
3878@ifset familyVXT
3879@node DReal Intrinsic
3880@subsubsection DReal Intrinsic
3881@cindex DReal intrinsic
3882@cindex intrinsics, DReal
3883
3884@noindent
3885@example
3886DReal(@var{A})
3887@end example
3888
3889@noindent
3890DReal: @code{REAL(KIND=2)} function.
3891
3892@noindent
3893@var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
3894
3895@noindent
3896Intrinsic groups: @code{vxt}.
3897
3898@noindent
3899Description:
3900
3901Converts @var{A} to @code{REAL(KIND=2)}.
3902
3903If @var{A} is type @code{COMPLEX}, its real part
3904is converted (if necessary) to @code{REAL(KIND=2)},
3905and its imaginary part is disregarded.
3906
3907Although this intrinsic is not standard Fortran,
3908it is a popular extension offered by many compilers
3909that support @code{DOUBLE COMPLEX}, since it offers
3910the easiest way to extract the real part of a @code{DOUBLE COMPLEX}
3911value without using the Fortran 90 @code{REAL()} intrinsic
3912in a way that produces a return value inconsistent with
3913the way many FORTRAN 77 compilers handle @code{REAL()} of
3914a @code{DOUBLE COMPLEX} value.
3915
3916@xref{RealPart Intrinsic}, for information on a GNU Fortran
3917intrinsic that avoids these areas of confusion.
3918
0c65e50c
JW
3919@xref{Dble Intrinsic}, for information on the standard FORTRAN 77
3920replacement for @code{DREAL()}.
3921
177873a5
JW
3922@xref{REAL() and AIMAG() of Complex}, for more information on
3923this issue.
3924
3925@end ifset
3926@ifset familyF77
3927@node DSign Intrinsic
3928@subsubsection DSign Intrinsic
3929@cindex DSign intrinsic
3930@cindex intrinsics, DSign
3931
3932@noindent
3933@example
3934DSign(@var{A}, @var{B})
3935@end example
3936
3937@noindent
3938DSign: @code{REAL(KIND=2)} function.
3939
3940@noindent
3941@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3942
3943@noindent
3944@var{B}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3945
3946@noindent
3947Intrinsic groups: (standard FORTRAN 77).
3948
3949@noindent
3950Description:
3951
3952Archaic form of @code{SIGN()} that is specific
3953to one type for @var{A} and @var{B}.
3954@xref{Sign Intrinsic}.
3955
3956@node DSin Intrinsic
3957@subsubsection DSin Intrinsic
3958@cindex DSin intrinsic
3959@cindex intrinsics, DSin
3960
3961@noindent
3962@example
3963DSin(@var{X})
3964@end example
3965
3966@noindent
3967DSin: @code{REAL(KIND=2)} function.
3968
3969@noindent
3970@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3971
3972@noindent
3973Intrinsic groups: (standard FORTRAN 77).
3974
3975@noindent
3976Description:
3977
3978Archaic form of @code{SIN()} that is specific
3979to one type for @var{X}.
3980@xref{Sin Intrinsic}.
3981
3982@end ifset
3983@ifset familyVXT
3984@node DSinD Intrinsic
3985@subsubsection DSinD Intrinsic
3986@cindex DSinD intrinsic
3987@cindex intrinsics, DSinD
3988
3989This intrinsic is not yet implemented.
3990The name is, however, reserved as an intrinsic.
3991Use @samp{EXTERNAL DSinD} to use this name for an
3992external procedure.
3993
3994@end ifset
3995@ifset familyF77
3996@node DSinH Intrinsic
3997@subsubsection DSinH Intrinsic
3998@cindex DSinH intrinsic
3999@cindex intrinsics, DSinH
4000
4001@noindent
4002@example
4003DSinH(@var{X})
4004@end example
4005
4006@noindent
4007DSinH: @code{REAL(KIND=2)} function.
4008
4009@noindent
4010@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
4011
4012@noindent
4013Intrinsic groups: (standard FORTRAN 77).
4014
4015@noindent
4016Description:
4017
4018Archaic form of @code{SINH()} that is specific
4019to one type for @var{X}.
4020@xref{SinH Intrinsic}.
4021
4022@node DSqRt Intrinsic
4023@subsubsection DSqRt Intrinsic
4024@cindex DSqRt intrinsic
4025@cindex intrinsics, DSqRt
4026
4027@noindent
4028@example
4029DSqRt(@var{X})
4030@end example
4031
4032@noindent
4033DSqRt: @code{REAL(KIND=2)} function.
4034
4035@noindent
4036@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
4037
4038@noindent
4039Intrinsic groups: (standard FORTRAN 77).
4040
4041@noindent
4042Description:
4043
4044Archaic form of @code{SQRT()} that is specific
4045to one type for @var{X}.
4046@xref{SqRt Intrinsic}.
4047
4048@node DTan Intrinsic
4049@subsubsection DTan Intrinsic
4050@cindex DTan intrinsic
4051@cindex intrinsics, DTan
4052
4053@noindent
4054@example
4055DTan(@var{X})
4056@end example
4057
4058@noindent
4059DTan: @code{REAL(KIND=2)} function.
4060
4061@noindent
4062@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
4063
4064@noindent
4065Intrinsic groups: (standard FORTRAN 77).
4066
4067@noindent
4068Description:
4069
4070Archaic form of @code{TAN()} that is specific
4071to one type for @var{X}.
4072@xref{Tan Intrinsic}.
4073
4074@end ifset
4075@ifset familyVXT
4076@node DTanD Intrinsic
4077@subsubsection DTanD Intrinsic
4078@cindex DTanD intrinsic
4079@cindex intrinsics, DTanD
4080
4081This intrinsic is not yet implemented.
4082The name is, however, reserved as an intrinsic.
4083Use @samp{EXTERNAL DTanD} to use this name for an
4084external procedure.
4085
4086@end ifset
4087@ifset familyF77
4088@node DTanH Intrinsic
4089@subsubsection DTanH Intrinsic
4090@cindex DTanH intrinsic
4091@cindex intrinsics, DTanH
4092
4093@noindent
4094@example
4095DTanH(@var{X})
4096@end example
4097
4098@noindent
4099DTanH: @code{REAL(KIND=2)} function.
4100
4101@noindent
4102@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
4103
4104@noindent
4105Intrinsic groups: (standard FORTRAN 77).
4106
4107@noindent
4108Description:
4109
4110Archaic form of @code{TANH()} that is specific
4111to one type for @var{X}.
4112@xref{TanH Intrinsic}.
4113
4114@end ifset
4115@ifset familyF2U
9c6ba682
UD
4116@node DTime Intrinsic (subroutine)
4117@subsubsection DTime Intrinsic (subroutine)
4118@cindex DTime intrinsic
4119@cindex intrinsics, DTime
177873a5
JW
4120
4121@noindent
4122@example
e0f0f526 4123CALL DTime(@var{TArray}, @var{Result})
177873a5
JW
4124@end example
4125
4126@noindent
e0f0f526 4127@var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
177873a5
JW
4128
4129@noindent
e0f0f526 4130@var{Result}: @code{REAL(KIND=1)}; scalar; INTENT(OUT).
177873a5
JW
4131
4132@noindent
4133Intrinsic groups: @code{unix}.
4134
4135@noindent
4136Description:
4137
4138Initially, return the number of seconds of runtime
4139since the start of the process's execution
4140in @var{Result},
4141and the user and system components of this in @samp{@var{TArray}(1)}
4142and @samp{@var{TArray}(2)} respectively.
4143The value of @var{Result} is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
4144
4145Subsequent invocations of @samp{DTIME()} set values based on accumulations
4146since the previous invocation.
4147
9c6ba682
UD
4148@cindex wraparound, timings
4149@cindex limits, timings
4150On some systems, the underlying timings are represented
4151using types with sufficiently small limits that overflows
4152(wraparounds) are possible, such as 32-bit types.
4153Therefore, the values returned by this intrinsic
4154might be, or become, negative,
4155or numerically less than previous values,
4156during a single run of the compiled program.
4157
177873a5
JW
4158Some non-GNU implementations of Fortran provide this intrinsic as
4159only a function, not as a subroutine.
4160
4161For information on other intrinsics with the same name:
9c6ba682 4162@xref{DTime Intrinsic (function)}.
177873a5
JW
4163
4164@end ifset
4165@ifset familyBADU77
9c6ba682
UD
4166@node DTime Intrinsic (function)
4167@subsubsection DTime Intrinsic (function)
4168@cindex DTime intrinsic
4169@cindex intrinsics, DTime
177873a5
JW
4170
4171@noindent
4172@example
9c6ba682 4173DTime(@var{TArray})
177873a5
JW
4174@end example
4175
4176@noindent
9c6ba682 4177DTime: @code{REAL(KIND=1)} function.
177873a5
JW
4178
4179@noindent
4180@var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
4181
4182@noindent
4183Intrinsic groups: @code{badu77}.
4184
4185@noindent
4186Description:
4187
4188Initially, return the number of seconds of runtime
4189since the start of the process's execution
4190as the function value,
4191and the user and system components of this in @samp{@var{TArray}(1)}
4192and @samp{@var{TArray}(2)} respectively.
4193The functions' value is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
4194
4195Subsequent invocations of @samp{DTIME()} return values accumulated since the
4196previous invocation.
4197
9c6ba682
UD
4198@cindex wraparound, timings
4199@cindex limits, timings
4200On some systems, the underlying timings are represented
4201using types with sufficiently small limits that overflows
4202(wraparounds) are possible, such as 32-bit types.
4203Therefore, the values returned by this intrinsic
4204might be, or become, negative,
4205or numerically less than previous values,
4206during a single run of the compiled program.
4207
177873a5
JW
4208Due to the side effects performed by this intrinsic, the function
4209form is not recommended.
4210
4211For information on other intrinsics with the same name:
9c6ba682 4212@xref{DTime Intrinsic (subroutine)}.
177873a5
JW
4213
4214@end ifset
4215@ifset familyF90
4216@node EOShift Intrinsic
4217@subsubsection EOShift Intrinsic
4218@cindex EOShift intrinsic
4219@cindex intrinsics, EOShift
4220
4221This intrinsic is not yet implemented.
4222The name is, however, reserved as an intrinsic.
4223Use @samp{EXTERNAL EOShift} to use this name for an
4224external procedure.
4225
4226@node Epsilon Intrinsic
4227@subsubsection Epsilon Intrinsic
4228@cindex Epsilon intrinsic
4229@cindex intrinsics, Epsilon
4230
4231This intrinsic is not yet implemented.
4232The name is, however, reserved as an intrinsic.
4233Use @samp{EXTERNAL Epsilon} to use this name for an
4234external procedure.
4235
4236@end ifset
4237@ifset familyF2U
4238@node ErF Intrinsic
4239@subsubsection ErF Intrinsic
4240@cindex ErF intrinsic
4241@cindex intrinsics, ErF
4242
4243@noindent
4244@example
4245ErF(@var{X})
4246@end example
4247
4248@noindent
4249ErF: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
4250
4251@noindent
4252@var{X}: @code{REAL}; scalar; INTENT(IN).
4253
4254@noindent
4255Intrinsic groups: @code{unix}.
4256
4257@noindent
4258Description:
4259
4260Returns the error function of @var{X}.
4261See @code{erf(3m)}, which provides the implementation.
4262
4263@node ErFC Intrinsic
4264@subsubsection ErFC Intrinsic
4265@cindex ErFC intrinsic
4266@cindex intrinsics, ErFC
4267
4268@noindent
4269@example
4270ErFC(@var{X})
4271@end example
4272
4273@noindent
4274ErFC: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
4275
4276@noindent
4277@var{X}: @code{REAL}; scalar; INTENT(IN).
4278
4279@noindent
4280Intrinsic groups: @code{unix}.
4281
4282@noindent
4283Description:
4284
4285Returns the complementary error function of @var{X}:
a515a901 4286@samp{ERFC(R) = 1 - ERF(R)} (except that the result might be more
177873a5
JW
4287accurate than explicitly evaluating that formulae would give).
4288See @code{erfc(3m)}, which provides the implementation.
4289
4290@node ETime Intrinsic (subroutine)
4291@subsubsection ETime Intrinsic (subroutine)
4292@cindex ETime intrinsic
4293@cindex intrinsics, ETime
4294
4295@noindent
4296@example
e0f0f526 4297CALL ETime(@var{TArray}, @var{Result})
177873a5
JW
4298@end example
4299
4300@noindent
e0f0f526 4301@var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
177873a5
JW
4302
4303@noindent
e0f0f526 4304@var{Result}: @code{REAL(KIND=1)}; scalar; INTENT(OUT).
177873a5
JW
4305
4306@noindent
4307Intrinsic groups: @code{unix}.
4308
4309@noindent
4310Description:
4311
4312Return the number of seconds of runtime
4313since the start of the process's execution
4314in @var{Result},
4315and the user and system components of this in @samp{@var{TArray}(1)}
4316and @samp{@var{TArray}(2)} respectively.
4317The value of @var{Result} is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
4318
9c6ba682
UD
4319@cindex wraparound, timings
4320@cindex limits, timings
4321On some systems, the underlying timings are represented
4322using types with sufficiently small limits that overflows
4323(wraparounds) are possible, such as 32-bit types.
4324Therefore, the values returned by this intrinsic
4325might be, or become, negative,
4326or numerically less than previous values,
4327during a single run of the compiled program.
4328
177873a5
JW
4329Some non-GNU implementations of Fortran provide this intrinsic as
4330only a function, not as a subroutine.
4331
4332For information on other intrinsics with the same name:
4333@xref{ETime Intrinsic (function)}.
4334
4335@node ETime Intrinsic (function)
4336@subsubsection ETime Intrinsic (function)
4337@cindex ETime intrinsic
4338@cindex intrinsics, ETime
4339
4340@noindent
4341@example
4342ETime(@var{TArray})
4343@end example
4344
4345@noindent
4346ETime: @code{REAL(KIND=1)} function.
4347
4348@noindent
4349@var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
4350
4351@noindent
4352Intrinsic groups: @code{unix}.
4353
4354@noindent
4355Description:
4356
4357Return the number of seconds of runtime
4358since the start of the process's execution
4359as the function value,
4360and the user and system components of this in @samp{@var{TArray}(1)}
4361and @samp{@var{TArray}(2)} respectively.
4362The functions' value is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
4363
9c6ba682
UD
4364@cindex wraparound, timings
4365@cindex limits, timings
4366On some systems, the underlying timings are represented
4367using types with sufficiently small limits that overflows
4368(wraparounds) are possible, such as 32-bit types.
4369Therefore, the values returned by this intrinsic
4370might be, or become, negative,
4371or numerically less than previous values,
4372during a single run of the compiled program.
4373
177873a5
JW
4374For information on other intrinsics with the same name:
4375@xref{ETime Intrinsic (subroutine)}.
4376
4377@node Exit Intrinsic
4378@subsubsection Exit Intrinsic
4379@cindex Exit intrinsic
4380@cindex intrinsics, Exit
4381
4382@noindent
4383@example
4384CALL Exit(@var{Status})
4385@end example
4386
4387@noindent
5e3f4df7 4388@var{Status}: @code{INTEGER} not wider than the default kind; OPTIONAL; scalar; INTENT(IN).
177873a5
JW
4389
4390@noindent
4391Intrinsic groups: @code{unix}.
4392
4393@noindent
4394Description:
4395
4396Exit the program with status @var{Status} after closing open Fortran
4397I/O units and otherwise behaving as @code{exit(2)}.
4398If @var{Status} is omitted the canonical `success' value
4399will be returned to the system.
4400
4401@end ifset
4402@ifset familyF77
4403@node Exp Intrinsic
4404@subsubsection Exp Intrinsic
4405@cindex Exp intrinsic
4406@cindex intrinsics, Exp
4407
4408@noindent
4409@example
4410Exp(@var{X})
4411@end example
4412
4413@noindent
4414Exp: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
4415
4416@noindent
4417@var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
4418
4419@noindent
4420Intrinsic groups: (standard FORTRAN 77).
4421
4422@noindent
4423Description:
4424
4425Returns @samp{@var{e}**@var{X}}, where
4426@var{e} is approximately 2.7182818.
4427
4428@xref{Log Intrinsic}, for the inverse of this function.
4429
4430@end ifset
4431@ifset familyF90
4432@node Exponent Intrinsic
4433@subsubsection Exponent Intrinsic
4434@cindex Exponent intrinsic
4435@cindex intrinsics, Exponent
4436
4437This intrinsic is not yet implemented.
4438The name is, however, reserved as an intrinsic.
4439Use @samp{EXTERNAL Exponent} to use this name for an
4440external procedure.
4441
4442@end ifset
4443@ifset familyF2U
9c6ba682
UD
4444@node FDate Intrinsic (subroutine)
4445@subsubsection FDate Intrinsic (subroutine)
4446@cindex FDate intrinsic
4447@cindex intrinsics, FDate
177873a5
JW
4448
4449@noindent
4450@example
9c6ba682 4451CALL FDate(@var{Date})
177873a5
JW
4452@end example
4453
4454@noindent
4455@var{Date}: @code{CHARACTER}; scalar; INTENT(OUT).
4456
4457@noindent
4458Intrinsic groups: @code{unix}.
4459
4460@noindent
4461Description:
4462
4463Returns the current date (using the same format as @code{CTIME()})
4464in @var{Date}.
4465
4466Equivalent to:
4467
4468@example
4469CALL CTIME(@var{Date}, TIME8())
4470@end example
4471
9c6ba682
UD
4472@cindex Y10K compliance
4473@cindex Year 10000 compliance
4474@cindex wraparound, Y10K
4475@cindex limits, Y10K
4476Programs making use of this intrinsic
4477might not be Year 10000 (Y10K) compliant.
4478For example, the date might appear,
4479to such programs, to wrap around
4480(change from a larger value to a smaller one)
4481as of the Year 10000.
4482
177873a5
JW
4483@xref{CTime Intrinsic (subroutine)}.
4484
4485Some non-GNU implementations of Fortran provide this intrinsic as
4486only a function, not as a subroutine.
4487
4488For information on other intrinsics with the same name:
9c6ba682 4489@xref{FDate Intrinsic (function)}.
177873a5 4490
9c6ba682
UD
4491@node FDate Intrinsic (function)
4492@subsubsection FDate Intrinsic (function)
4493@cindex FDate intrinsic
4494@cindex intrinsics, FDate
177873a5
JW
4495
4496@noindent
4497@example
9c6ba682 4498FDate()
177873a5
JW
4499@end example
4500
4501@noindent
9c6ba682 4502FDate: @code{CHARACTER*(*)} function.
177873a5
JW
4503
4504@noindent
4505Intrinsic groups: @code{unix}.
4506
4507@noindent
4508Description:
4509
4510Returns the current date (using the same format as @code{CTIME()}).
4511
4512Equivalent to:
4513
4514@example
4515CTIME(TIME8())
4516@end example
4517
9c6ba682
UD
4518@cindex Y10K compliance
4519@cindex Year 10000 compliance
4520@cindex wraparound, Y10K
4521@cindex limits, Y10K
4522Programs making use of this intrinsic
4523might not be Year 10000 (Y10K) compliant.
4524For example, the date might appear,
4525to such programs, to wrap around
4526(change from a larger value to a smaller one)
4527as of the Year 10000.
4528
177873a5
JW
4529@xref{CTime Intrinsic (function)}.
4530
4531For information on other intrinsics with the same name:
9c6ba682 4532@xref{FDate Intrinsic (subroutine)}.
177873a5
JW
4533
4534@node FGet Intrinsic (subroutine)
4535@subsubsection FGet Intrinsic (subroutine)
4536@cindex FGet intrinsic
4537@cindex intrinsics, FGet
4538
4539@noindent
4540@example
4541CALL FGet(@var{C}, @var{Status})
4542@end example
4543
4544@noindent
4545@var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
4546
4547@noindent
4548@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
4549
4550@noindent
4551Intrinsic groups: @code{unix}.
4552
4553@noindent
4554Description:
4555
4556Reads a single character into @var{C} in stream mode from unit 5
4557(by-passing normal formatted output) using @code{getc(3)}.
4558Returns in
4559@var{Status} 0 on success, @minus{}1 on end-of-file, and the error code
4560from @code{ferror(3)} otherwise.
4561
4562Stream I/O should not be mixed with normal record-oriented (formatted or
4563unformatted) I/O on the same unit; the results are unpredictable.
4564
4565For information on other intrinsics with the same name:
4566@xref{FGet Intrinsic (function)}.
4567
4568@end ifset
4569@ifset familyBADU77
4570@node FGet Intrinsic (function)
4571@subsubsection FGet Intrinsic (function)
4572@cindex FGet intrinsic
4573@cindex intrinsics, FGet
4574
4575@noindent
4576@example
4577FGet(@var{C})
4578@end example
4579
4580@noindent
4581FGet: @code{INTEGER(KIND=1)} function.
4582
4583@noindent
4584@var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
4585
4586@noindent
4587Intrinsic groups: @code{badu77}.
4588
4589@noindent
4590Description:
4591
4592Reads a single character into @var{C} in stream mode from unit 5
4593(by-passing normal formatted input) using @code{getc(3)}.
4594Returns 0 on
4595success, @minus{}1 on end-of-file, and the error code from
4596@code{ferror(3)} otherwise.
4597
4598Stream I/O should not be mixed with normal record-oriented (formatted or
4599unformatted) I/O on the same unit; the results are unpredictable.
4600
4601For information on other intrinsics with the same name:
4602@xref{FGet Intrinsic (subroutine)}.
4603
4604@end ifset
4605@ifset familyF2U
4606@node FGetC Intrinsic (subroutine)
4607@subsubsection FGetC Intrinsic (subroutine)
4608@cindex FGetC intrinsic
4609@cindex intrinsics, FGetC
4610
4611@noindent
4612@example
4613CALL FGetC(@var{Unit}, @var{C}, @var{Status})
4614@end example
4615
4616@noindent
4617@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4618
4619@noindent
4620@var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
4621
4622@noindent
4623@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
4624
4625@noindent
4626Intrinsic groups: @code{unix}.
4627
4628@noindent
4629Description:
4630
4631Reads a single character into @var{C} in stream mode from unit @var{Unit}
4632(by-passing normal formatted output) using @code{getc(3)}.
4633Returns in
4634@var{Status} 0 on success, @minus{}1 on end-of-file, and the error code from
4635@code{ferror(3)} otherwise.
4636
4637Stream I/O should not be mixed with normal record-oriented (formatted or
4638unformatted) I/O on the same unit; the results are unpredictable.
4639
4640For information on other intrinsics with the same name:
4641@xref{FGetC Intrinsic (function)}.
4642
4643@end ifset
4644@ifset familyBADU77
4645@node FGetC Intrinsic (function)
4646@subsubsection FGetC Intrinsic (function)
4647@cindex FGetC intrinsic
4648@cindex intrinsics, FGetC
4649
4650@noindent
4651@example
4652FGetC(@var{Unit}, @var{C})
4653@end example
4654
4655@noindent
4656FGetC: @code{INTEGER(KIND=1)} function.
4657
4658@noindent
4659@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4660
4661@noindent
4662@var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
4663
4664@noindent
4665Intrinsic groups: @code{badu77}.
4666
4667@noindent
4668Description:
4669
4670Reads a single character into @var{C} in stream mode from unit @var{Unit}
4671(by-passing normal formatted output) using @code{getc(3)}.
4672Returns 0 on
4673success, @minus{}1 on end-of-file, and the error code from
4674@code{ferror(3)} otherwise.
4675
4676Stream I/O should not be mixed with normal record-oriented (formatted or
4677unformatted) I/O on the same unit; the results are unpredictable.
4678
4679For information on other intrinsics with the same name:
4680@xref{FGetC Intrinsic (subroutine)}.
4681
4682@end ifset
4683@ifset familyF77
4684@node Float Intrinsic
4685@subsubsection Float Intrinsic
4686@cindex Float intrinsic
4687@cindex intrinsics, Float
4688
4689@noindent
4690@example
4691Float(@var{A})
4692@end example
4693
4694@noindent
4695Float: @code{REAL(KIND=1)} function.
4696
4697@noindent
4698@var{A}: @code{INTEGER}; scalar; INTENT(IN).
4699
4700@noindent
4701Intrinsic groups: (standard FORTRAN 77).
4702
4703@noindent
4704Description:
4705
4706Archaic form of @code{REAL()} that is specific
4707to one type for @var{A}.
4708@xref{Real Intrinsic}.
4709
4710@end ifset
4711@ifset familyVXT
4712@node FloatI Intrinsic
4713@subsubsection FloatI Intrinsic
4714@cindex FloatI intrinsic
4715@cindex intrinsics, FloatI
4716
4717This intrinsic is not yet implemented.
4718The name is, however, reserved as an intrinsic.
4719Use @samp{EXTERNAL FloatI} to use this name for an
4720external procedure.
4721
4722@node FloatJ Intrinsic
4723@subsubsection FloatJ Intrinsic
4724@cindex FloatJ intrinsic
4725@cindex intrinsics, FloatJ
4726
4727This intrinsic is not yet implemented.
4728The name is, however, reserved as an intrinsic.
4729Use @samp{EXTERNAL FloatJ} to use this name for an
4730external procedure.
4731
4732@end ifset
4733@ifset familyF90
4734@node Floor Intrinsic
4735@subsubsection Floor Intrinsic
4736@cindex Floor intrinsic
4737@cindex intrinsics, Floor
4738
4739This intrinsic is not yet implemented.
4740The name is, however, reserved as an intrinsic.
4741Use @samp{EXTERNAL Floor} to use this name for an
4742external procedure.
4743
4744@end ifset
4745@ifset familyF2U
4746@node Flush Intrinsic
4747@subsubsection Flush Intrinsic
4748@cindex Flush intrinsic
4749@cindex intrinsics, Flush
4750
4751@noindent
4752@example
4753CALL Flush(@var{Unit})
4754@end example
4755
4756@noindent
4757@var{Unit}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN).
4758
4759@noindent
4760Intrinsic groups: @code{unix}.
4761
4762@noindent
4763Description:
4764
4765Flushes Fortran unit(s) currently open for output.
4766Without the optional argument, all such units are flushed,
4767otherwise just the unit specified by @var{Unit}.
4768
4769Some non-GNU implementations of Fortran provide this intrinsic
4770as a library procedure that might or might not support the
4771(optional) @var{Unit} argument.
4772
4773@node FNum Intrinsic
4774@subsubsection FNum Intrinsic
4775@cindex FNum intrinsic
4776@cindex intrinsics, FNum
4777
4778@noindent
4779@example
4780FNum(@var{Unit})
4781@end example
4782
4783@noindent
4784FNum: @code{INTEGER(KIND=1)} function.
4785
4786@noindent
4787@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4788
4789@noindent
4790Intrinsic groups: @code{unix}.
4791
4792@noindent
4793Description:
4794
4795Returns the Unix file descriptor number corresponding to the open
4796Fortran I/O unit @var{Unit}.
4797This could be passed to an interface to C I/O routines.
4798
4799@node FPut Intrinsic (subroutine)
4800@subsubsection FPut Intrinsic (subroutine)
4801@cindex FPut intrinsic
4802@cindex intrinsics, FPut
4803
4804@noindent
4805@example
4806CALL FPut(@var{C}, @var{Status})
4807@end example
4808
4809@noindent
4810@var{C}: @code{CHARACTER}; scalar; INTENT(IN).
4811
4812@noindent
4813@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
4814
4815@noindent
4816Intrinsic groups: @code{unix}.
4817
4818@noindent
4819Description:
4820
4821Writes the single character @var{C} in stream mode to unit 6
4822(by-passing normal formatted output) using @code{putc(3)}.
4823Returns in
4824@var{Status} 0 on success, the error code from @code{ferror(3)} otherwise.
4825
4826Stream I/O should not be mixed with normal record-oriented (formatted or
4827unformatted) I/O on the same unit; the results are unpredictable.
4828
4829For information on other intrinsics with the same name:
4830@xref{FPut Intrinsic (function)}.
4831
4832@end ifset
4833@ifset familyBADU77
4834@node FPut Intrinsic (function)
4835@subsubsection FPut Intrinsic (function)
4836@cindex FPut intrinsic
4837@cindex intrinsics, FPut
4838
4839@noindent
4840@example
4841FPut(@var{C})
4842@end example
4843
4844@noindent
4845FPut: @code{INTEGER(KIND=1)} function.
4846
4847@noindent
4848@var{C}: @code{CHARACTER}; scalar; INTENT(IN).
4849
4850@noindent
4851Intrinsic groups: @code{badu77}.
4852
4853@noindent
4854Description:
4855
4856Writes the single character @var{C} in stream mode to unit 6
4857(by-passing normal formatted output) using @code{getc(3)}.
4858Returns 0 on
4859success, the error code from @code{ferror(3)} otherwise.
4860
4861Stream I/O should not be mixed with normal record-oriented (formatted or
4862unformatted) I/O on the same unit; the results are unpredictable.
4863
4864For information on other intrinsics with the same name:
4865@xref{FPut Intrinsic (subroutine)}.
4866
4867@end ifset
4868@ifset familyF2U
4869@node FPutC Intrinsic (subroutine)
4870@subsubsection FPutC Intrinsic (subroutine)
4871@cindex FPutC intrinsic
4872@cindex intrinsics, FPutC
4873
4874@noindent
4875@example
4876CALL FPutC(@var{Unit}, @var{C}, @var{Status})
4877@end example
4878
4879@noindent
4880@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4881
4882@noindent
4883@var{C}: @code{CHARACTER}; scalar; INTENT(IN).
4884
4885@noindent
4886@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
4887
4888@noindent
4889Intrinsic groups: @code{unix}.
4890
4891@noindent
4892Description:
4893
4894Writes the single character @var{Unit} in stream mode to unit 6
4895(by-passing normal formatted output) using @code{putc(3)}.
4896Returns in
4897@var{C} 0 on success, the error code from @code{ferror(3)} otherwise.
4898
4899Stream I/O should not be mixed with normal record-oriented (formatted or
4900unformatted) I/O on the same unit; the results are unpredictable.
4901
4902For information on other intrinsics with the same name:
4903@xref{FPutC Intrinsic (function)}.
4904
4905@end ifset
4906@ifset familyBADU77
4907@node FPutC Intrinsic (function)
4908@subsubsection FPutC Intrinsic (function)
4909@cindex FPutC intrinsic
4910@cindex intrinsics, FPutC
4911
4912@noindent
4913@example
4914FPutC(@var{Unit}, @var{C})
4915@end example
4916
4917@noindent
4918FPutC: @code{INTEGER(KIND=1)} function.
4919
4920@noindent
4921@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4922
4923@noindent
4924@var{C}: @code{CHARACTER}; scalar; INTENT(IN).
4925
4926@noindent
4927Intrinsic groups: @code{badu77}.
4928
4929@noindent
4930Description:
4931
4932Writes the single character @var{C} in stream mode to unit @var{Unit}
4933(by-passing normal formatted output) using @code{putc(3)}.
4934Returns 0 on
4935success, the error code from @code{ferror(3)} otherwise.
4936
4937Stream I/O should not be mixed with normal record-oriented (formatted or
4938unformatted) I/O on the same unit; the results are unpredictable.
4939
4940For information on other intrinsics with the same name:
4941@xref{FPutC Intrinsic (subroutine)}.
4942
4943@end ifset
4944@ifset familyF90
4945@node Fraction Intrinsic
4946@subsubsection Fraction Intrinsic
4947@cindex Fraction intrinsic
4948@cindex intrinsics, Fraction
4949
4950This intrinsic is not yet implemented.
4951The name is, however, reserved as an intrinsic.
4952Use @samp{EXTERNAL Fraction} to use this name for an
4953external procedure.
4954
4955@end ifset
4956@ifset familyF2U
4957@node FSeek Intrinsic
4958@subsubsection FSeek Intrinsic
4959@cindex FSeek intrinsic
4960@cindex intrinsics, FSeek
4961
4962@noindent
4963@example
4964CALL FSeek(@var{Unit}, @var{Offset}, @var{Whence}, @var{ErrLab})
4965@end example
4966
4967@noindent
4968@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4969
4970@noindent
4971@var{Offset}: @code{INTEGER}; scalar; INTENT(IN).
4972
4973@noindent
4974@var{Whence}: @code{INTEGER}; scalar; INTENT(IN).
4975
4976@noindent
4977@var{ErrLab}: @samp{*@var{label}}, where @var{label} is the label
4978of an executable statement; OPTIONAL.
4979
4980@noindent
4981Intrinsic groups: @code{unix}.
4982
4983@noindent
4984Description:
4985
4986Attempts to move Fortran unit @var{Unit} to the specified
a515a901
DL
4987@var{Offset}: absolute offset if @var{Whence}=0; relative to the
4988current offset if @var{Whence}=1; relative to the end of the file if
4989@var{Whence}=2.
4990It branches to label @var{ErrLab} if @var{Unit} is
177873a5
JW
4991not open or if the call otherwise fails.
4992
4993@node FStat Intrinsic (subroutine)
4994@subsubsection FStat Intrinsic (subroutine)
4995@cindex FStat intrinsic
4996@cindex intrinsics, FStat
4997
4998@noindent
4999@example
5000CALL FStat(@var{Unit}, @var{SArray}, @var{Status})
5001@end example
5002
5003@noindent
5004@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
5005
5006@noindent
5007@var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
5008
5009@noindent
5010@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
5011
5012@noindent
5013Intrinsic groups: @code{unix}.
5014
5015@noindent
5016Description:
5017
5018Obtains data about the file open on Fortran I/O unit @var{Unit} and
5019places them in the array @var{SArray}.
5020The values in this array are
5021extracted from the @code{stat} structure as returned by
5022@code{fstat(2)} q.v., as follows:
5023
5024@enumerate
5025@item
b3b2275a 5026Device ID
177873a5
JW
5027
5028@item
5029Inode number
5030
5031@item
b3b2275a 5032File mode
177873a5
JW
5033
5034@item
5035Number of links
5036
5037@item
5038Owner's uid
5039
5040@item
5041Owner's gid
5042
b3b2275a
CB
5043@item
5044ID of device containing directory entry for file
5045(0 if not available)
5046
177873a5
JW
5047@item
5048File size (bytes)
5049
5050@item
5051Last access time
5052
5053@item
5054Last modification time
5055
5056@item
5057Last file status change time
5058
5059@item
b3b2275a 5060Preferred I/O block size (-1 if not available)
177873a5
JW
5061
5062@item
b3b2275a 5063Number of blocks allocated (-1 if not available)
177873a5
JW
5064@end enumerate
5065
5066Not all these elements are relevant on all systems.
5067If an element is not relevant, it is returned as 0.
5068
5069If the @var{Status} argument is supplied, it contains
68e7a7c9 50700 on success or a nonzero error code upon return.
177873a5
JW
5071
5072Some non-GNU implementations of Fortran provide this intrinsic as
5073only a function, not as a subroutine, or do not support the
5074(optional) @var{Status} argument.
5075
5076For information on other intrinsics with the same name:
5077@xref{FStat Intrinsic (function)}.
5078
5079@node FStat Intrinsic (function)
5080@subsubsection FStat Intrinsic (function)
5081@cindex FStat intrinsic
5082@cindex intrinsics, FStat
5083
5084@noindent
5085@example
5086FStat(@var{Unit}, @var{SArray})
5087@end example
5088
5089@noindent
5090FStat: @code{INTEGER(KIND=1)} function.
5091
5092@noindent
5093@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
5094
5095@noindent
5096@var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
5097
5098@noindent
5099Intrinsic groups: @code{unix}.
5100
5101@noindent
5102Description:
5103
5104Obtains data about the file open on Fortran I/O unit @var{Unit} and
5105places them in the array @var{SArray}.
5106The values in this array are
5107extracted from the @code{stat} structure as returned by
5108@code{fstat(2)} q.v., as follows:
5109
5110@enumerate
5111@item
b3b2275a 5112Device ID
177873a5
JW
5113
5114@item
5115Inode number
5116
5117@item
b3b2275a 5118File mode
177873a5
JW
5119
5120@item
5121Number of links
5122
5123@item
5124Owner's uid
5125
5126@item
5127Owner's gid
5128
b3b2275a
CB
5129@item
5130ID of device containing directory entry for file
5131(0 if not available)
5132
177873a5
JW
5133@item
5134File size (bytes)
5135
5136@item
5137Last access time
5138
5139@item
5140Last modification time
5141
5142@item
5143Last file status change time
5144
5145@item
b3b2275a 5146Preferred I/O block size (-1 if not available)
177873a5
JW
5147
5148@item
b3b2275a 5149Number of blocks allocated (-1 if not available)
177873a5
JW
5150@end enumerate
5151
5152Not all these elements are relevant on all systems.
5153If an element is not relevant, it is returned as 0.
5154
68e7a7c9 5155Returns 0 on success or a nonzero error code.
177873a5
JW
5156
5157For information on other intrinsics with the same name:
5158@xref{FStat Intrinsic (subroutine)}.
5159
5160@node FTell Intrinsic (subroutine)
5161@subsubsection FTell Intrinsic (subroutine)
5162@cindex FTell intrinsic
5163@cindex intrinsics, FTell
5164
5165@noindent
5166@example
5167CALL FTell(@var{Unit}, @var{Offset})
5168@end example
5169
5170@noindent
5171@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
5172
5173@noindent
5174@var{Offset}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
5175
5176@noindent
5177Intrinsic groups: @code{unix}.
5178
5179@noindent
5180Description:
5181
5182Sets @var{Offset} to the current offset of Fortran unit @var{Unit}
5183(or to @minus{}1 if @var{Unit} is not open).
5184
5185Some non-GNU implementations of Fortran provide this intrinsic as
5186only a function, not as a subroutine.
5187
5188For information on other intrinsics with the same name:
5189@xref{FTell Intrinsic (function)}.
5190
5191@node FTell Intrinsic (function)
5192@subsubsection FTell Intrinsic (function)
5193@cindex FTell intrinsic
5194@cindex intrinsics, FTell
5195
5196@noindent
5197@example
5198FTell(@var{Unit})
5199@end example
5200
5201@noindent
5202FTell: @code{INTEGER(KIND=1)} function.
5203
5204@noindent
5205@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
5206
5207@noindent
5208Intrinsic groups: @code{unix}.
5209
5210@noindent
5211Description:
5212
5213Returns the current offset of Fortran unit @var{Unit}
5214(or @minus{}1 if @var{Unit} is not open).
5215
5216For information on other intrinsics with the same name:
5217@xref{FTell Intrinsic (subroutine)}.
5218
5219@node GError Intrinsic
5220@subsubsection GError Intrinsic
5221@cindex GError intrinsic
5222@cindex intrinsics, GError
5223
5224@noindent
5225@example
5226CALL GError(@var{Message})
5227@end example
5228
5229@noindent
5230@var{Message}: @code{CHARACTER}; scalar; INTENT(OUT).
5231
5232@noindent
5233Intrinsic groups: @code{unix}.
5234
5235@noindent
5236Description:
5237
5238Returns the system error message corresponding to the last system
5239error (C @code{errno}).
5240
5241@node GetArg Intrinsic
5242@subsubsection GetArg Intrinsic
5243@cindex GetArg intrinsic
5244@cindex intrinsics, GetArg
5245
5246@noindent
5247@example
5248CALL GetArg(@var{Pos}, @var{Value})
5249@end example
5250
5251@noindent
5e3f4df7 5252@var{Pos}: @code{INTEGER} not wider than the default kind; scalar; INTENT(IN).
177873a5
JW
5253
5254@noindent
5255@var{Value}: @code{CHARACTER}; scalar; INTENT(OUT).
5256
5257@noindent
5258Intrinsic groups: @code{unix}.
5259
5260@noindent
5261Description:
5262
5263Sets @var{Value} to the @var{Pos}-th command-line argument (or to all
5264blanks if there are fewer than @var{Value} command-line arguments);
5265@code{CALL GETARG(0, @var{value})} sets @var{value} to the name of the
5266program (on systems that support this feature).
5267
5268@xref{IArgC Intrinsic}, for information on how to get the number
5269of arguments.
5270
5271@node GetCWD Intrinsic (subroutine)
5272@subsubsection GetCWD Intrinsic (subroutine)
5273@cindex GetCWD intrinsic
5274@cindex intrinsics, GetCWD
5275
5276@noindent
5277@example
5278CALL GetCWD(@var{Name}, @var{Status})
5279@end example
5280
5281@noindent
5282@var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
5283
5284@noindent
5285@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
5286
5287@noindent
5288Intrinsic groups: @code{unix}.
5289
5290@noindent
5291Description:
5292
5293Places the current working directory in @var{Name}.
5294If the @var{Status} argument is supplied, it contains 0
68e7a7c9 5295success or a nonzero error code upon return
177873a5
JW
5296(@code{ENOSYS} if the system does not provide @code{getcwd(3)}
5297or @code{getwd(3)}).
5298
5299Some non-GNU implementations of Fortran provide this intrinsic as
5300only a function, not as a subroutine, or do not support the
5301(optional) @var{Status} argument.
5302
5303For information on other intrinsics with the same name:
5304@xref{GetCWD Intrinsic (function)}.
5305
5306@node GetCWD Intrinsic (function)
5307@subsubsection GetCWD Intrinsic (function)
5308@cindex GetCWD intrinsic
5309@cindex intrinsics, GetCWD
5310
5311@noindent
5312@example
5313GetCWD(@var{Name})
5314@end example
5315
5316@noindent
5317GetCWD: @code{INTEGER(KIND=1)} function.
5318
5319@noindent
5320@var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
5321
5322@noindent
5323Intrinsic groups: @code{unix}.
5324
5325@noindent
5326Description:
5327
5328Places the current working directory in @var{Name}.
5329Returns 0 on
68e7a7c9 5330success, otherwise a nonzero error code
177873a5
JW
5331(@code{ENOSYS} if the system does not provide @code{getcwd(3)}
5332or @code{getwd(3)}).
5333
5334For information on other intrinsics with the same name:
5335@xref{GetCWD Intrinsic (subroutine)}.
5336
5337@node GetEnv Intrinsic
5338@subsubsection GetEnv Intrinsic
5339@cindex GetEnv intrinsic
5340@cindex intrinsics, GetEnv
5341
5342@noindent
5343@example
5344CALL GetEnv(@var{Name}, @var{Value})
5345@end example
5346
5347@noindent
5348@var{Name}: @code{CHARACTER}; scalar; INTENT(IN).
5349
5350@noindent
5351@var{Value}: @code{CHARACTER}; scalar; INTENT(OUT).
5352
5353@noindent
5354Intrinsic groups: @code{unix}.
5355
5356@noindent
5357Description:
5358
5359Sets @var{Value} to the value of environment variable given by the
5360value of @var{Name} (@code{$name} in shell terms) or to blanks if
5361@code{$name} has not been set.
5362A null character (@samp{CHAR(0)}) marks the end of
5363the name in @var{Name}---otherwise,
5364trailing blanks in @var{Name} are ignored.
5365
5366@node GetGId Intrinsic
5367@subsubsection GetGId Intrinsic
5368@cindex GetGId intrinsic
5369@cindex intrinsics, GetGId
5370
5371@noindent
5372@example
5373GetGId()
5374@end example
5375
5376@noindent
5377GetGId: @code{INTEGER(KIND=1)} function.
5378
5379@noindent
5380Intrinsic groups: @code{unix}.
5381
5382@noindent
5383Description:
5384
5385Returns the group id for the current process.
5386
5387@node GetLog Intrinsic
5388@subsubsection GetLog Intrinsic
5389@cindex GetLog intrinsic
5390@cindex intrinsics, GetLog
5391
5392@noindent
5393@example
5394CALL GetLog(@var{Login})
5395@end example
5396
5397@noindent
5398@var{Login}: @code{CHARACTER}; scalar; INTENT(OUT).
5399
5400@noindent
5401Intrinsic groups: @code{unix}.
5402
5403@noindent
5404Description:
5405
5406Returns the login name for the process in @var{Login}.
5407
44d2eabc
JL
5408@emph{Caution:} On some systems, the @code{getlogin(3)}
5409function, which this intrinsic calls at run time,
5410is either not implemented or returns a null pointer.
5411In the latter case, this intrinsic returns blanks
5412in @var{Login}.
5413
177873a5
JW
5414@node GetPId Intrinsic
5415@subsubsection GetPId Intrinsic
5416@cindex GetPId intrinsic
5417@cindex intrinsics, GetPId
5418
5419@noindent
5420@example
5421GetPId()
5422@end example
5423
5424@noindent
5425GetPId: @code{INTEGER(KIND=1)} function.
5426
5427@noindent
5428Intrinsic groups: @code{unix}.
5429
5430@noindent
5431Description:
5432
5433Returns the process id for the current process.
5434
5435@node GetUId Intrinsic
5436@subsubsection GetUId Intrinsic
5437@cindex GetUId intrinsic
5438@cindex intrinsics, GetUId
5439
5440@noindent
5441@example
5442GetUId()
5443@end example
5444
5445@noindent
5446GetUId: @code{INTEGER(KIND=1)} function.
5447
5448@noindent
5449Intrinsic groups: @code{unix}.
5450
5451@noindent
5452Description:
5453
5454Returns the user id for the current process.
5455
5456@node GMTime Intrinsic
5457@subsubsection GMTime Intrinsic
5458@cindex GMTime intrinsic
5459@cindex intrinsics, GMTime
5460
5461@noindent
5462@example
5463CALL GMTime(@var{STime}, @var{TArray})
5464@end example
5465
5466@noindent
5467@var{STime}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
5468
5469@noindent
5470@var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(9); INTENT(OUT).
5471
5472@noindent
5473Intrinsic groups: @code{unix}.
5474
5475@noindent
5476Description:
5477
5478Given a system time value @var{STime}, fills @var{TArray} with values
5479extracted from it appropriate to the GMT time zone using
5480@code{gmtime(3)}.
5481
5482The array elements are as follows:
5483
5484@enumerate
5485@item
5486Seconds after the minute, range 0--59 or 0--61 to allow for leap
5487seconds
5488
5489@item
5490Minutes after the hour, range 0--59
5491
5492@item
5493Hours past midnight, range 0--23
5494
5495@item
5496Day of month, range 0--31
5497
5498@item
5499Number of months since January, range 0--12
5500
5501@item
5502Years since 1900
5503
5504@item
5505Number of days since Sunday, range 0--6
5506
5507@item
5508Days since January 1
5509
5510@item
5511Daylight savings indicator: positive if daylight savings is in effect,
5512zero if not, and negative if the information isn't available.
5513@end enumerate
5514
5515@node HostNm Intrinsic (subroutine)
5516@subsubsection HostNm Intrinsic (subroutine)
5517@cindex HostNm intrinsic
5518@cindex intrinsics, HostNm
5519
5520@noindent
5521@example
5522CALL HostNm(@var{Name}, @var{Status})
5523@end example
5524
5525@noindent
5526@var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
5527
5528@noindent
5529@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
5530
5531@noindent
5532Intrinsic groups: @code{unix}.
5533
5534@noindent
5535Description:
5536
5537Fills @var{Name} with the system's host name returned by
5538@code{gethostname(2)}.
5539If the @var{Status} argument is supplied, it contains
68e7a7c9 55400 on success or a nonzero error code upon return
177873a5
JW
5541(@code{ENOSYS} if the system does not provide @code{gethostname(2)}).
5542
177873a5
JW
5543Some non-GNU implementations of Fortran provide this intrinsic as
5544only a function, not as a subroutine, or do not support the
5545(optional) @var{Status} argument.
5546
a1d80b3e 5547On some systems (specifically SCO) it might be necessary to link the
a515a901
DL
5548``socket'' library if you call this routine.
5549Typically this means adding @samp{-lg2c -lsocket -lm}
5550to the @code{g77} command line when linking the program.
60afa297 5551
177873a5
JW
5552For information on other intrinsics with the same name:
5553@xref{HostNm Intrinsic (function)}.
5554
5555@node HostNm Intrinsic (function)
5556@subsubsection HostNm Intrinsic (function)
5557@cindex HostNm intrinsic
5558@cindex intrinsics, HostNm
5559
5560@noindent
5561@example
5562HostNm(@var{Name})
5563@end example
5564
5565@noindent
5566HostNm: @code{INTEGER(KIND=1)} function.
5567
5568@noindent
5569@var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
5570
5571@noindent
5572Intrinsic groups: @code{unix}.
5573
5574@noindent
5575Description:
5576
5577Fills @var{Name} with the system's host name returned by
68e7a7c9 5578@code{gethostname(2)}, returning 0 on success or a nonzero error code
177873a5
JW
5579(@code{ENOSYS} if the system does not provide @code{gethostname(2)}).
5580
a1d80b3e 5581On some systems (specifically SCO) it might be necessary to link the
a515a901
DL
5582``socket'' library if you call this routine.
5583Typically this means adding @samp{-lg2c -lsocket -lm}
5584to the @code{g77} command line when linking the program.
60afa297 5585
177873a5
JW
5586For information on other intrinsics with the same name:
5587@xref{HostNm Intrinsic (subroutine)}.
5588
5589@end ifset
5590@ifset familyF90
5591@node Huge Intrinsic
5592@subsubsection Huge Intrinsic
5593@cindex Huge intrinsic
5594@cindex intrinsics, Huge
5595
5596This intrinsic is not yet implemented.
5597The name is, however, reserved as an intrinsic.
5598Use @samp{EXTERNAL Huge} to use this name for an
5599external procedure.
5600
5601@end ifset
5602@ifset familyF77
5603@node IAbs Intrinsic
5604@subsubsection IAbs Intrinsic
5605@cindex IAbs intrinsic
5606@cindex intrinsics, IAbs
5607
5608@noindent
5609@example
5610IAbs(@var{A})
5611@end example
5612
5613@noindent
5614IAbs: @code{INTEGER(KIND=1)} function.
5615
5616@noindent
5617@var{A}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
5618
5619@noindent
5620Intrinsic groups: (standard FORTRAN 77).
5621
5622@noindent
5623Description:
5624
5625Archaic form of @code{ABS()} that is specific
5626to one type for @var{A}.
5627@xref{Abs Intrinsic}.
5628
5629@end ifset
5630@ifset familyASC
5631@node IAChar Intrinsic
5632@subsubsection IAChar Intrinsic
5633@cindex IAChar intrinsic
5634@cindex intrinsics, IAChar
5635
5636@noindent
5637@example
5638IAChar(@var{C})
5639@end example
5640
5641@noindent
5642IAChar: @code{INTEGER(KIND=1)} function.
5643
5644@noindent
5645@var{C}: @code{CHARACTER}; scalar; INTENT(IN).
5646
5647@noindent
5648Intrinsic groups: @code{f2c}, @code{f90}.
5649
5650@noindent
5651Description:
5652
5653Returns the code for the ASCII character in the
5654first character position of @var{C}.
5655
5656@xref{AChar Intrinsic}, for the inverse of this function.
5657
5658@xref{IChar Intrinsic}, for the function corresponding
5659to the system's native character set.
5660
5661@end ifset
5662@ifset familyMIL
5663@node IAnd Intrinsic
5664@subsubsection IAnd Intrinsic
5665@cindex IAnd intrinsic
5666@cindex intrinsics, IAnd
5667
5668@noindent
5669@example
5670IAnd(@var{I}, @var{J})
5671@end example
5672
5673@noindent
5674IAnd: @code{INTEGER} function, the exact type being the result of cross-promoting the
5675types of all the arguments.
5676
5677@noindent
5678@var{I}: @code{INTEGER}; scalar; INTENT(IN).
5679
5680@noindent
5681@var{J}: @code{INTEGER}; scalar; INTENT(IN).
5682
5683@noindent
5684Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
5685
5686@noindent
5687Description:
5688
5689Returns value resulting from boolean AND of
5690pair of bits in each of @var{I} and @var{J}.
5691
5692@end ifset
5693@ifset familyF2U
5694@node IArgC Intrinsic
5695@subsubsection IArgC Intrinsic
5696@cindex IArgC intrinsic
5697@cindex intrinsics, IArgC
5698
5699@noindent
5700@example
5701IArgC()
5702@end example
5703
5704@noindent
5705IArgC: @code{INTEGER(KIND=1)} function.
5706
5707@noindent
5708Intrinsic groups: @code{unix}.
5709
5710@noindent
5711Description:
5712
5713Returns the number of command-line arguments.
5714
5715This count does not include the specification of the program
5716name itself.
5717
5718@end ifset
5719@ifset familyMIL
5720@node IBClr Intrinsic
5721@subsubsection IBClr Intrinsic
5722@cindex IBClr intrinsic
5723@cindex intrinsics, IBClr
5724
5725@noindent
5726@example
5727IBClr(@var{I}, @var{Pos})
5728@end example
5729
5730@noindent
5731IBClr: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
5732
5733@noindent
5734@var{I}: @code{INTEGER}; scalar; INTENT(IN).
5735
5736@noindent
5737@var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
5738
5739@noindent
5740Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
5741
5742@noindent
5743Description:
5744
5745Returns the value of @var{I} with bit @var{Pos} cleared (set to
5746zero).
10c6276f 5747@xref{BTest Intrinsic}, for information on bit positions.
177873a5
JW
5748
5749@node IBits Intrinsic
5750@subsubsection IBits Intrinsic
5751@cindex IBits intrinsic
5752@cindex intrinsics, IBits
5753
5754@noindent
5755@example
5756IBits(@var{I}, @var{Pos}, @var{Len})
5757@end example
5758
5759@noindent
5760IBits: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
5761
5762@noindent
5763@var{I}: @code{INTEGER}; scalar; INTENT(IN).
5764
5765@noindent
5766@var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
5767
5768@noindent
5769@var{Len}: @code{INTEGER}; scalar; INTENT(IN).
5770
5771@noindent
5772Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
5773
5774@noindent
5775Description:
5776
5777Extracts a subfield of length @var{Len} from @var{I}, starting from
5778bit position @var{Pos} and extending left for @var{Len} bits.
5779The result is right-justified and the remaining bits are zeroed.
5780The value
5781of @samp{@var{Pos}+@var{Len}} must be less than or equal to the value
5782@samp{BIT_SIZE(@var{I})}.
5783@xref{Bit_Size Intrinsic}.
5784
5785@node IBSet Intrinsic
5786@subsubsection IBSet Intrinsic
5787@cindex IBSet intrinsic
5788@cindex intrinsics, IBSet
5789
5790@noindent
5791@example
5792IBSet(@var{I}, @var{Pos})
5793@end example
5794
5795@noindent
5796IBSet: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
5797
5798@noindent
5799@var{I}: @code{INTEGER}; scalar; INTENT(IN).
5800
5801@noindent
5802@var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
5803
5804@noindent
5805Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
5806
5807@noindent
5808Description:
5809
5810Returns the value of @var{I} with bit @var{Pos} set (to one).
10c6276f 5811@xref{BTest Intrinsic}, for information on bit positions.
177873a5
JW
5812
5813@end ifset
5814@ifset familyF77
5815@node IChar Intrinsic
5816@subsubsection IChar Intrinsic
5817@cindex IChar intrinsic
5818@cindex intrinsics, IChar
5819
5820@noindent
5821@example
5822IChar(@var{C})
5823@end example
5824
5825@noindent
5826IChar: @code{INTEGER(KIND=1)} function.
5827
5828@noindent
5829@var{C}: @code{CHARACTER}; scalar; INTENT(IN).
5830
5831@noindent
5832Intrinsic groups: (standard FORTRAN 77).
5833
5834@noindent
5835Description:
5836
5837Returns the code for the character in the
5838first character position of @var{C}.
5839
5840Because the system's native character set is used,
5841the correspondence between character and their codes
5842is not necessarily the same between GNU Fortran
5843implementations.
5844
5845Note that no intrinsic exists to convert a printable
5846character string to a numerical value.
5847For example, there is no intrinsic that, given
5848the @code{CHARACTER} value @samp{'154'}, returns an
5849@code{INTEGER} or @code{REAL} value with the value @samp{154}.
5850
5851Instead, you can use internal-file I/O to do this kind
5852of conversion.
5853For example:
5854
5855@smallexample
5856INTEGER VALUE
5857CHARACTER*10 STRING
5858STRING = '154'
5859READ (STRING, '(I10)'), VALUE
5860PRINT *, VALUE
5861END
5862@end smallexample
5863
5864The above program, when run, prints:
5865
5866@smallexample
5867 154
5868@end smallexample
5869
5870@xref{Char Intrinsic}, for the inverse of the @code{ICHAR} function.
5871
5872@xref{IAChar Intrinsic}, for the function corresponding
5873to the ASCII character set.
5874
5875@end ifset
5876@ifset familyF2U
5877@node IDate Intrinsic (UNIX)
5878@subsubsection IDate Intrinsic (UNIX)
5879@cindex IDate intrinsic
5880@cindex intrinsics, IDate
5881
5882@noindent
5883@example
5884CALL IDate(@var{TArray})
5885@end example
5886
5887@noindent
5888@var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(3); INTENT(OUT).
5889
5890@noindent
5891Intrinsic groups: @code{unix}.
5892
5893@noindent
5894Description:
5895
180b72c4
TM
5896Fills @var{TArray} with the numerical values at the current local time.
5897The day (in the range 1--31), month (in the range 1--12),
5898and year appear in elements 1, 2, and 3 of @var{TArray}, respectively.
177873a5
JW
5899The year has four significant digits.
5900
9c6ba682
UD
5901@cindex Y10K compliance
5902@cindex Year 10000 compliance
5903@cindex wraparound, Y10K
5904@cindex limits, Y10K
5905Programs making use of this intrinsic
5906might not be Year 10000 (Y10K) compliant.
5907For example, the date might appear,
5908to such programs, to wrap around
5909(change from a larger value to a smaller one)
5910as of the Year 10000.
5911
177873a5
JW
5912For information on other intrinsics with the same name:
5913@xref{IDate Intrinsic (VXT)}.
5914
5915@end ifset
5916@ifset familyVXT
5917@node IDate Intrinsic (VXT)
5918@subsubsection IDate Intrinsic (VXT)
5919@cindex IDate intrinsic
5920@cindex intrinsics, IDate
5921
5922@noindent
5923@example
5924CALL IDate(@var{M}, @var{D}, @var{Y})
5925@end example
5926
5927@noindent
5928@var{M}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
5929
5930@noindent
5931@var{D}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
5932
5933@noindent
5934@var{Y}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
5935
5936@noindent
5937Intrinsic groups: @code{vxt}.
5938
5939@noindent
5940Description:
5941
5942Returns the numerical values of the current local time.
5943The month (in the range 1--12) is returned in @var{M},
180b72c4 5944the day (in the range 1--31) in @var{D},
177873a5
JW
5945and the year in @var{Y} (in the range 0--99).
5946
9c6ba682
UD
5947@cindex Y2K compliance
5948@cindex Year 2000 compliance
5949@cindex wraparound, Y2K
5950@cindex limits, Y2K
31ac6c9d
TM
5951This intrinsic is not recommended, due to the fact that
5952its return value for year wraps around century boundaries
5953(change from a larger value to a smaller one).
5954Therefore, programs making use of this intrinsic, for
5955instance, might not be Year 2000 (Y2K) compliant.
9c6ba682
UD
5956For example, the date might appear,
5957to such programs, to wrap around
9c6ba682
UD
5958as of the Year 2000.
5959
5960@xref{IDate Intrinsic (UNIX)}, for information on obtaining more digits
5961for the current date.
177873a5
JW
5962
5963For information on other intrinsics with the same name:
5964@xref{IDate Intrinsic (UNIX)}.
5965
5966@end ifset
5967@ifset familyF77
5968@node IDiM Intrinsic
5969@subsubsection IDiM Intrinsic
5970@cindex IDiM intrinsic
5971@cindex intrinsics, IDiM
5972
5973@noindent
5974@example
5975IDiM(@var{X}, @var{Y})
5976@end example
5977
5978@noindent
5979IDiM: @code{INTEGER(KIND=1)} function.
5980
5981@noindent
5982@var{X}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
5983
5984@noindent
5985@var{Y}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
5986
5987@noindent
5988Intrinsic groups: (standard FORTRAN 77).
5989
5990@noindent
5991Description:
5992
0c65e50c 5993Archaic form of @code{DIM()} that is specific
177873a5 5994to one type for @var{X} and @var{Y}.
0c65e50c 5995@xref{DiM Intrinsic}.
177873a5
JW
5996
5997@node IDInt Intrinsic
5998@subsubsection IDInt Intrinsic
5999@cindex IDInt intrinsic
6000@cindex intrinsics, IDInt
6001
6002@noindent
6003@example
6004IDInt(@var{A})
6005@end example
6006
6007@noindent
6008IDInt: @code{INTEGER(KIND=1)} function.
6009
6010@noindent
6011@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
6012
6013@noindent
6014Intrinsic groups: (standard FORTRAN 77).
6015
6016@noindent
6017Description:
6018
6019Archaic form of @code{INT()} that is specific
6020to one type for @var{A}.
6021@xref{Int Intrinsic}.
6022
6023@node IDNInt Intrinsic
6024@subsubsection IDNInt Intrinsic
6025@cindex IDNInt intrinsic
6026@cindex intrinsics, IDNInt
6027
6028@noindent
6029@example
6030IDNInt(@var{A})
6031@end example
6032
6033@noindent
6034IDNInt: @code{INTEGER(KIND=1)} function.
6035
6036@noindent
6037@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
6038
6039@noindent
6040Intrinsic groups: (standard FORTRAN 77).
6041
6042@noindent
6043Description:
6044
6045Archaic form of @code{NINT()} that is specific
6046to one type for @var{A}.
6047@xref{NInt Intrinsic}.
6048
6049@end ifset
6050@ifset familyMIL
6051@node IEOr Intrinsic
6052@subsubsection IEOr Intrinsic
6053@cindex IEOr intrinsic
6054@cindex intrinsics, IEOr
6055
6056@noindent
6057@example
6058IEOr(@var{I}, @var{J})
6059@end example
6060
6061@noindent
6062IEOr: @code{INTEGER} function, the exact type being the result of cross-promoting the
6063types of all the arguments.
6064
6065@noindent
6066@var{I}: @code{INTEGER}; scalar; INTENT(IN).
6067
6068@noindent
6069@var{J}: @code{INTEGER}; scalar; INTENT(IN).
6070
6071@noindent
6072Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
6073
6074@noindent
6075Description:
6076
6077Returns value resulting from boolean exclusive-OR of
6078pair of bits in each of @var{I} and @var{J}.
6079
6080@end ifset
6081@ifset familyF2U
6082@node IErrNo Intrinsic
6083@subsubsection IErrNo Intrinsic
6084@cindex IErrNo intrinsic
6085@cindex intrinsics, IErrNo
6086
6087@noindent
6088@example
6089IErrNo()
6090@end example
6091
6092@noindent
6093IErrNo: @code{INTEGER(KIND=1)} function.
6094
6095@noindent
6096Intrinsic groups: @code{unix}.
6097
6098@noindent
6099Description:
6100
6101Returns the last system error number (corresponding to the C
6102@code{errno}).
6103
6104@end ifset
6105@ifset familyF77
6106@node IFix Intrinsic
6107@subsubsection IFix Intrinsic
6108@cindex IFix intrinsic
6109@cindex intrinsics, IFix
6110
6111@noindent
6112@example
6113IFix(@var{A})
6114@end example
6115
6116@noindent
6117IFix: @code{INTEGER(KIND=1)} function.
6118
6119@noindent
6120@var{A}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
6121
6122@noindent
6123Intrinsic groups: (standard FORTRAN 77).
6124
6125@noindent
6126Description:
6127
6128Archaic form of @code{INT()} that is specific
6129to one type for @var{A}.
6130@xref{Int Intrinsic}.
6131
6132@end ifset
6133@ifset familyVXT
6134@node IIAbs Intrinsic
6135@subsubsection IIAbs Intrinsic
6136@cindex IIAbs intrinsic
6137@cindex intrinsics, IIAbs
6138
6139This intrinsic is not yet implemented.
6140The name is, however, reserved as an intrinsic.
6141Use @samp{EXTERNAL IIAbs} to use this name for an
6142external procedure.
6143
6144@node IIAnd Intrinsic
6145@subsubsection IIAnd Intrinsic
6146@cindex IIAnd intrinsic
6147@cindex intrinsics, IIAnd
6148
6149This intrinsic is not yet implemented.
6150The name is, however, reserved as an intrinsic.
6151Use @samp{EXTERNAL IIAnd} to use this name for an
6152external procedure.
6153
6154@node IIBClr Intrinsic
6155@subsubsection IIBClr Intrinsic
6156@cindex IIBClr intrinsic
6157@cindex intrinsics, IIBClr
6158
6159This intrinsic is not yet implemented.
6160The name is, however, reserved as an intrinsic.
6161Use @samp{EXTERNAL IIBClr} to use this name for an
6162external procedure.
6163
6164@node IIBits Intrinsic
6165@subsubsection IIBits Intrinsic
6166@cindex IIBits intrinsic
6167@cindex intrinsics, IIBits
6168
6169This intrinsic is not yet implemented.
6170The name is, however, reserved as an intrinsic.
6171Use @samp{EXTERNAL IIBits} to use this name for an
6172external procedure.
6173
6174@node IIBSet Intrinsic
6175@subsubsection IIBSet Intrinsic
6176@cindex IIBSet intrinsic
6177@cindex intrinsics, IIBSet
6178
6179This intrinsic is not yet implemented.
6180The name is, however, reserved as an intrinsic.
6181Use @samp{EXTERNAL IIBSet} to use this name for an
6182external procedure.
6183
6184@node IIDiM Intrinsic
6185@subsubsection IIDiM Intrinsic
6186@cindex IIDiM intrinsic
6187@cindex intrinsics, IIDiM
6188
6189This intrinsic is not yet implemented.
6190The name is, however, reserved as an intrinsic.
6191Use @samp{EXTERNAL IIDiM} to use this name for an
6192external procedure.
6193
6194@node IIDInt Intrinsic
6195@subsubsection IIDInt Intrinsic
6196@cindex IIDInt intrinsic
6197@cindex intrinsics, IIDInt
6198
6199This intrinsic is not yet implemented.
6200The name is, however, reserved as an intrinsic.
6201Use @samp{EXTERNAL IIDInt} to use this name for an
6202external procedure.
6203
6204@node IIDNnt Intrinsic
6205@subsubsection IIDNnt Intrinsic
6206@cindex IIDNnt intrinsic
6207@cindex intrinsics, IIDNnt
6208
6209This intrinsic is not yet implemented.
6210The name is, however, reserved as an intrinsic.
6211Use @samp{EXTERNAL IIDNnt} to use this name for an
6212external procedure.
6213
6214@node IIEOr Intrinsic
6215@subsubsection IIEOr Intrinsic
6216@cindex IIEOr intrinsic
6217@cindex intrinsics, IIEOr
6218
6219This intrinsic is not yet implemented.
6220The name is, however, reserved as an intrinsic.
6221Use @samp{EXTERNAL IIEOr} to use this name for an
6222external procedure.
6223
6224@node IIFix Intrinsic
6225@subsubsection IIFix Intrinsic
6226@cindex IIFix intrinsic
6227@cindex intrinsics, IIFix
6228
6229This intrinsic is not yet implemented.
6230The name is, however, reserved as an intrinsic.
6231Use @samp{EXTERNAL IIFix} to use this name for an
6232external procedure.
6233
6234@node IInt Intrinsic
6235@subsubsection IInt Intrinsic
6236@cindex IInt intrinsic
6237@cindex intrinsics, IInt
6238
6239This intrinsic is not yet implemented.
6240The name is, however, reserved as an intrinsic.
6241Use @samp{EXTERNAL IInt} to use this name for an
6242external procedure.
6243
6244@node IIOr Intrinsic
6245@subsubsection IIOr Intrinsic
6246@cindex IIOr intrinsic
6247@cindex intrinsics, IIOr
6248
6249This intrinsic is not yet implemented.
6250The name is, however, reserved as an intrinsic.
6251Use @samp{EXTERNAL IIOr} to use this name for an
6252external procedure.
6253
6254@node IIQint Intrinsic
6255@subsubsection IIQint Intrinsic
6256@cindex IIQint intrinsic
6257@cindex intrinsics, IIQint
6258
6259This intrinsic is not yet implemented.
6260The name is, however, reserved as an intrinsic.
6261Use @samp{EXTERNAL IIQint} to use this name for an
6262external procedure.
6263
6264@node IIQNnt Intrinsic
6265@subsubsection IIQNnt Intrinsic
6266@cindex IIQNnt intrinsic
6267@cindex intrinsics, IIQNnt
6268
6269This intrinsic is not yet implemented.
6270The name is, however, reserved as an intrinsic.
6271Use @samp{EXTERNAL IIQNnt} to use this name for an
6272external procedure.
6273
6274@node IIShftC Intrinsic
6275@subsubsection IIShftC Intrinsic
6276@cindex IIShftC intrinsic
6277@cindex intrinsics, IIShftC
6278
6279This intrinsic is not yet implemented.
6280The name is, however, reserved as an intrinsic.
6281Use @samp{EXTERNAL IIShftC} to use this name for an
6282external procedure.
6283
6284@node IISign Intrinsic
6285@subsubsection IISign Intrinsic
6286@cindex IISign intrinsic
6287@cindex intrinsics, IISign
6288
6289This intrinsic is not yet implemented.
6290The name is, however, reserved as an intrinsic.
6291Use @samp{EXTERNAL IISign} to use this name for an
6292external procedure.
6293
6294@end ifset
6295@ifset familyF2C
6296@node Imag Intrinsic
6297@subsubsection Imag Intrinsic
6298@cindex Imag intrinsic
6299@cindex intrinsics, Imag
6300
6301@noindent
6302@example
6303Imag(@var{Z})
6304@end example
6305
6306@noindent
6307Imag: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{Z}.
6308
6309@noindent
6310@var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
6311
6312@noindent
6313Intrinsic groups: @code{f2c}.
6314
6315@noindent
6316Description:
6317
6318The imaginary part of @var{Z} is returned, without conversion.
6319
6320@emph{Note:} The way to do this in standard Fortran 90
6321is @samp{AIMAG(@var{Z})}.
6322However, when, for example, @var{Z} is @code{DOUBLE COMPLEX},
6323@samp{AIMAG(@var{Z})} means something different for some compilers
6324that are not true Fortran 90 compilers but offer some
6325extensions standardized by Fortran 90 (such as the
6326@code{DOUBLE COMPLEX} type, also known as @code{COMPLEX(KIND=2)}).
6327
6328The advantage of @code{IMAG()} is that, while not necessarily
6329more or less portable than @code{AIMAG()}, it is more likely to
6330cause a compiler that doesn't support it to produce a diagnostic
6331than generate incorrect code.
6332
6333@xref{REAL() and AIMAG() of Complex}, for more information.
6334
6335@end ifset
6336@ifset familyGNU
6337@node ImagPart Intrinsic
6338@subsubsection ImagPart Intrinsic
6339@cindex ImagPart intrinsic
6340@cindex intrinsics, ImagPart
6341
6342@noindent
6343@example
6344ImagPart(@var{Z})
6345@end example
6346
6347@noindent
6348ImagPart: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{Z}.
6349
6350@noindent
6351@var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
6352
6353@noindent
6354Intrinsic groups: @code{gnu}.
6355
6356@noindent
6357Description:
6358
6359The imaginary part of @var{Z} is returned, without conversion.
6360
6361@emph{Note:} The way to do this in standard Fortran 90
6362is @samp{AIMAG(@var{Z})}.
6363However, when, for example, @var{Z} is @code{DOUBLE COMPLEX},
6364@samp{AIMAG(@var{Z})} means something different for some compilers
6365that are not true Fortran 90 compilers but offer some
6366extensions standardized by Fortran 90 (such as the
6367@code{DOUBLE COMPLEX} type, also known as @code{COMPLEX(KIND=2)}).
6368
6369The advantage of @code{IMAGPART()} is that, while not necessarily
6370more or less portable than @code{AIMAG()}, it is more likely to
6371cause a compiler that doesn't support it to produce a diagnostic
6372than generate incorrect code.
6373
6374@xref{REAL() and AIMAG() of Complex}, for more information.
6375
6376@end ifset
6377@ifset familyVXT
6378@node IMax0 Intrinsic
6379@subsubsection IMax0 Intrinsic
6380@cindex IMax0 intrinsic
6381@cindex intrinsics, IMax0
6382
6383This intrinsic is not yet implemented.
6384The name is, however, reserved as an intrinsic.
6385Use @samp{EXTERNAL IMax0} to use this name for an
6386external procedure.
6387
6388@node IMax1 Intrinsic
6389@subsubsection IMax1 Intrinsic
6390@cindex IMax1 intrinsic
6391@cindex intrinsics, IMax1
6392
6393This intrinsic is not yet implemented.
6394The name is, however, reserved as an intrinsic.
6395Use @samp{EXTERNAL IMax1} to use this name for an
6396external procedure.
6397
6398@node IMin0 Intrinsic
6399@subsubsection IMin0 Intrinsic
6400@cindex IMin0 intrinsic
6401@cindex intrinsics, IMin0
6402
6403This intrinsic is not yet implemented.
6404The name is, however, reserved as an intrinsic.
6405Use @samp{EXTERNAL IMin0} to use this name for an
6406external procedure.
6407
6408@node IMin1 Intrinsic
6409@subsubsection IMin1 Intrinsic
6410@cindex IMin1 intrinsic
6411@cindex intrinsics, IMin1
6412
6413This intrinsic is not yet implemented.
6414The name is, however, reserved as an intrinsic.
6415Use @samp{EXTERNAL IMin1} to use this name for an
6416external procedure.
6417
6418@node IMod Intrinsic
6419@subsubsection IMod Intrinsic
6420@cindex IMod intrinsic
6421@cindex intrinsics, IMod
6422
6423This intrinsic is not yet implemented.
6424The name is, however, reserved as an intrinsic.
6425Use @samp{EXTERNAL IMod} to use this name for an
6426external procedure.
6427
6428@end ifset
6429@ifset familyF77
6430@node Index Intrinsic
6431@subsubsection Index Intrinsic
6432@cindex Index intrinsic
6433@cindex intrinsics, Index
6434
6435@noindent
6436@example
6437Index(@var{String}, @var{Substring})
6438@end example
6439
6440@noindent
6441Index: @code{INTEGER(KIND=1)} function.
6442
6443@noindent
6444@var{String}: @code{CHARACTER}; scalar; INTENT(IN).
6445
6446@noindent
6447@var{Substring}: @code{CHARACTER}; scalar; INTENT(IN).
6448
6449@noindent
6450Intrinsic groups: (standard FORTRAN 77).
6451
6452@noindent
6453Description:
6454
6455Returns the position of the start of the first occurrence of string
6456@var{Substring} as a substring in @var{String}, counting from one.
6457If @var{Substring} doesn't occur in @var{String}, zero is returned.
6458
6459@end ifset
6460@ifset familyVXT
6461@node INInt Intrinsic
6462@subsubsection INInt Intrinsic
6463@cindex INInt intrinsic
6464@cindex intrinsics, INInt
6465
6466This intrinsic is not yet implemented.
6467The name is, however, reserved as an intrinsic.
6468Use @samp{EXTERNAL INInt} to use this name for an
6469external procedure.
6470
6471@node INot Intrinsic
6472@subsubsection INot Intrinsic
6473@cindex INot intrinsic
6474@cindex intrinsics, INot
6475
6476This intrinsic is not yet implemented.
6477The name is, however, reserved as an intrinsic.
6478Use @samp{EXTERNAL INot} to use this name for an
6479external procedure.
6480
6481@end ifset
6482@ifset familyF77
6483@node Int Intrinsic
6484@subsubsection Int Intrinsic
6485@cindex Int intrinsic
6486@cindex intrinsics, Int
6487
6488@noindent
6489@example
6490Int(@var{A})
6491@end example
6492
6493@noindent
6494Int: @code{INTEGER(KIND=1)} function.
6495
6496@noindent
6497@var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
6498
6499@noindent
6500Intrinsic groups: (standard FORTRAN 77).
6501
6502@noindent
6503Description:
6504
6505Returns @var{A} with the fractional portion of its
6506magnitude truncated and its sign preserved, converted
6507to type @code{INTEGER(KIND=1)}.
6508
6509If @var{A} is type @code{COMPLEX}, its real part is
6510truncated and converted, and its imaginary part is disregarded.
6511
6512@xref{NInt Intrinsic}, for how to convert, rounded to nearest
6513whole number.
6514
6515@xref{AInt Intrinsic}, for how to truncate to whole number
6516without converting.
6517
6518@end ifset
6519@ifset familyGNU
6520@node Int2 Intrinsic
6521@subsubsection Int2 Intrinsic
6522@cindex Int2 intrinsic
6523@cindex intrinsics, Int2
6524
6525@noindent
6526@example
6527Int2(@var{A})
6528@end example
6529
6530@noindent
6531Int2: @code{INTEGER(KIND=6)} function.
6532
6533@noindent
81797aba 6534@var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
177873a5
JW
6535
6536@noindent
6537Intrinsic groups: @code{gnu}.
6538
6539@noindent
6540Description:
6541
6542Returns @var{A} with the fractional portion of its
6543magnitude truncated and its sign preserved, converted
6544to type @code{INTEGER(KIND=6)}.
6545
6546If @var{A} is type @code{COMPLEX}, its real part
e1618452 6547is truncated and converted, and its imaginary part is disregarded.
177873a5
JW
6548
6549@xref{Int Intrinsic}.
6550
6551The precise meaning of this intrinsic might change
6552in a future version of the GNU Fortran language,
6553as more is learned about how it is used.
6554
6555@node Int8 Intrinsic
6556@subsubsection Int8 Intrinsic
6557@cindex Int8 intrinsic
6558@cindex intrinsics, Int8
6559
6560@noindent
6561@example
6562Int8(@var{A})
6563@end example
6564
6565@noindent
6566Int8: @code{INTEGER(KIND=2)} function.
6567
6568@noindent
81797aba 6569@var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
177873a5
JW
6570
6571@noindent
6572Intrinsic groups: @code{gnu}.
6573
6574@noindent
6575Description:
6576
6577Returns @var{A} with the fractional portion of its
6578magnitude truncated and its sign preserved, converted
6579to type @code{INTEGER(KIND=2)}.
6580
6581If @var{A} is type @code{COMPLEX}, its real part
e1618452 6582is truncated and converted, and its imaginary part is disregarded.
177873a5
JW
6583
6584@xref{Int Intrinsic}.
6585
6586The precise meaning of this intrinsic might change
6587in a future version of the GNU Fortran language,
6588as more is learned about how it is used.
6589
6590@end ifset
6591@ifset familyMIL
6592@node IOr Intrinsic
6593@subsubsection IOr Intrinsic
6594@cindex IOr intrinsic
6595@cindex intrinsics, IOr
6596
6597@noindent
6598@example
6599IOr(@var{I}, @var{J})
6600@end example
6601
6602@noindent
6603IOr: @code{INTEGER} function, the exact type being the result of cross-promoting the
6604types of all the arguments.
6605
6606@noindent
6607@var{I}: @code{INTEGER}; scalar; INTENT(IN).
6608
6609@noindent
6610@var{J}: @code{INTEGER}; scalar; INTENT(IN).
6611
6612@noindent
6613Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
6614
6615@noindent
6616Description:
6617
6618Returns value resulting from boolean OR of
6619pair of bits in each of @var{I} and @var{J}.
6620
6621@end ifset
6622@ifset familyF2U
6623@node IRand Intrinsic
6624@subsubsection IRand Intrinsic
6625@cindex IRand intrinsic
6626@cindex intrinsics, IRand
6627
6628@noindent
6629@example
6630IRand(@var{Flag})
6631@end example
6632
6633@noindent
6634IRand: @code{INTEGER(KIND=1)} function.
6635
6636@noindent
6637@var{Flag}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN).
6638
6639@noindent
6640Intrinsic groups: @code{unix}.
6641
6642@noindent
6643Description:
6644
6645Returns a uniform quasi-random number up to a system-dependent limit.
6646If @var{Flag} is 0, the next number in sequence is returned; if
6647@var{Flag} is 1, the generator is restarted by calling the UNIX function
6648@samp{srand(0)}; if @var{Flag} has any other value,
6649it is used as a new seed with @code{srand()}.
6650
6651@xref{SRand Intrinsic}.
6652
6653@emph{Note:} As typically implemented (by the routine of the same
6654name in the C library), this random number generator is a very poor
6655one, though the BSD and GNU libraries provide a much better
6656implementation than the `traditional' one.
6657On a different system you almost certainly want to use something better.
6658
6659@node IsaTty Intrinsic
6660@subsubsection IsaTty Intrinsic
6661@cindex IsaTty intrinsic
6662@cindex intrinsics, IsaTty
6663
6664@noindent
6665@example
6666IsaTty(@var{Unit})
6667@end example
6668
6669@noindent
6670IsaTty: @code{LOGICAL(KIND=1)} function.
6671
6672@noindent
6673@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
6674
6675@noindent
6676Intrinsic groups: @code{unix}.
6677
6678@noindent
6679Description:
6680
6681Returns @code{.TRUE.} if and only if the Fortran I/O unit
6682specified by @var{Unit} is connected
6683to a terminal device.
6684See @code{isatty(3)}.
6685
6686@end ifset
6687@ifset familyMIL
6688@node IShft Intrinsic
6689@subsubsection IShft Intrinsic
6690@cindex IShft intrinsic
6691@cindex intrinsics, IShft
6692
6693@noindent
6694@example
6695IShft(@var{I}, @var{Shift})
6696@end example
6697
6698@noindent
6699IShft: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
6700
6701@noindent
6702@var{I}: @code{INTEGER}; scalar; INTENT(IN).
6703
6704@noindent
6705@var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
6706
6707@noindent
6708Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
6709
6710@noindent
6711Description:
6712
6713All bits representing @var{I} are shifted @var{Shift} places.
6714@samp{@var{Shift}.GT.0} indicates a left shift, @samp{@var{Shift}.EQ.0}
6715indicates no shift and @samp{@var{Shift}.LT.0} indicates a right shift.
6716If the absolute value of the shift count is greater than
6717@samp{BIT_SIZE(@var{I})}, the result is undefined.
a515a901 6718Bits shifted out from the left end or the right end are lost.
177873a5
JW
6719Zeros are shifted in from the opposite end.
6720
a515a901 6721@xref{IShftC Intrinsic}, for the circular-shift equivalent.
177873a5
JW
6722
6723@node IShftC Intrinsic
6724@subsubsection IShftC Intrinsic
6725@cindex IShftC intrinsic
6726@cindex intrinsics, IShftC
6727
6728@noindent
6729@example
6730IShftC(@var{I}, @var{Shift}, @var{Size})
6731@end example
6732
6733@noindent
6734IShftC: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
6735
6736@noindent
6737@var{I}: @code{INTEGER}; scalar; INTENT(IN).
6738
6739@noindent
6740@var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
6741
6742@noindent
6743@var{Size}: @code{INTEGER}; scalar; INTENT(IN).
6744
6745@noindent
6746Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
6747
6748@noindent
6749Description:
6750
6751The rightmost @var{Size} bits of the argument @var{I}
6752are shifted circularly @var{Shift}
60afa297 6753places, i.e.@: the bits shifted out of one end are shifted into
177873a5
JW
6754the opposite end.
6755No bits are lost.
6756The unshifted bits of the result are the same as
6757the unshifted bits of @var{I}.
6758The absolute value of the argument @var{Shift}
6759must be less than or equal to @var{Size}.
6760The value of @var{Size} must be greater than or equal to one and less than
6761or equal to @samp{BIT_SIZE(@var{I})}.
6762
a515a901 6763@xref{IShft Intrinsic}, for the logical shift equivalent.
177873a5
JW
6764
6765@end ifset
6766@ifset familyF77
6767@node ISign Intrinsic
6768@subsubsection ISign Intrinsic
6769@cindex ISign intrinsic
6770@cindex intrinsics, ISign
6771
6772@noindent
6773@example
6774ISign(@var{A}, @var{B})
6775@end example
6776
6777@noindent
6778ISign: @code{INTEGER(KIND=1)} function.
6779
6780@noindent
6781@var{A}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
6782
6783@noindent
6784@var{B}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
6785
6786@noindent
6787Intrinsic groups: (standard FORTRAN 77).
6788
6789@noindent
6790Description:
6791
0c65e50c 6792Archaic form of @code{SIGN()} that is specific
177873a5 6793to one type for @var{A} and @var{B}.
0c65e50c 6794@xref{Sign Intrinsic}.
177873a5
JW
6795
6796@end ifset
6797@ifset familyF2U
6798@node ITime Intrinsic
6799@subsubsection ITime Intrinsic
6800@cindex ITime intrinsic
6801@cindex intrinsics, ITime
6802
6803@noindent
6804@example
6805CALL ITime(@var{TArray})
6806@end example
6807
6808@noindent
6809@var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(3); INTENT(OUT).
6810
6811@noindent
6812Intrinsic groups: @code{unix}.
6813
6814@noindent
6815Description:
6816
6817Returns the current local time hour, minutes, and seconds in elements
68181, 2, and 3 of @var{TArray}, respectively.
6819
6820@end ifset
6821@ifset familyVXT
6822@node IZExt Intrinsic
6823@subsubsection IZExt Intrinsic
6824@cindex IZExt intrinsic
6825@cindex intrinsics, IZExt
6826
6827This intrinsic is not yet implemented.
6828The name is, however, reserved as an intrinsic.
6829Use @samp{EXTERNAL IZExt} to use this name for an
6830external procedure.
6831
6832@node JIAbs Intrinsic
6833@subsubsection JIAbs Intrinsic
6834@cindex JIAbs intrinsic
6835@cindex intrinsics, JIAbs
6836
6837This intrinsic is not yet implemented.
6838The name is, however, reserved as an intrinsic.
6839Use @samp{EXTERNAL JIAbs} to use this name for an
6840external procedure.
6841
6842@node JIAnd Intrinsic
6843@subsubsection JIAnd Intrinsic
6844@cindex JIAnd intrinsic
6845@cindex intrinsics, JIAnd
6846
6847This intrinsic is not yet implemented.
6848The name is, however, reserved as an intrinsic.
6849Use @samp{EXTERNAL JIAnd} to use this name for an
6850external procedure.
6851
6852@node JIBClr Intrinsic
6853@subsubsection JIBClr Intrinsic
6854@cindex JIBClr intrinsic
6855@cindex intrinsics, JIBClr
6856
6857This intrinsic is not yet implemented.
6858The name is, however, reserved as an intrinsic.
6859Use @samp{EXTERNAL JIBClr} to use this name for an
6860external procedure.
6861
6862@node JIBits Intrinsic
6863@subsubsection JIBits Intrinsic
6864@cindex JIBits intrinsic
6865@cindex intrinsics, JIBits
6866
6867This intrinsic is not yet implemented.
6868The name is, however, reserved as an intrinsic.
6869Use @samp{EXTERNAL JIBits} to use this name for an
6870external procedure.
6871
6872@node JIBSet Intrinsic
6873@subsubsection JIBSet Intrinsic
6874@cindex JIBSet intrinsic
6875@cindex intrinsics, JIBSet
6876
6877This intrinsic is not yet implemented.
6878The name is, however, reserved as an intrinsic.
6879Use @samp{EXTERNAL JIBSet} to use this name for an
6880external procedure.
6881
6882@node JIDiM Intrinsic
6883@subsubsection JIDiM Intrinsic
6884@cindex JIDiM intrinsic
6885@cindex intrinsics, JIDiM
6886
6887This intrinsic is not yet implemented.
6888The name is, however, reserved as an intrinsic.
6889Use @samp{EXTERNAL JIDiM} to use this name for an
6890external procedure.
6891
6892@node JIDInt Intrinsic
6893@subsubsection JIDInt Intrinsic
6894@cindex JIDInt intrinsic
6895@cindex intrinsics, JIDInt
6896
6897This intrinsic is not yet implemented.
6898The name is, however, reserved as an intrinsic.
6899Use @samp{EXTERNAL JIDInt} to use this name for an
6900external procedure.
6901
6902@node JIDNnt Intrinsic
6903@subsubsection JIDNnt Intrinsic
6904@cindex JIDNnt intrinsic
6905@cindex intrinsics, JIDNnt
6906
6907This intrinsic is not yet implemented.
6908The name is, however, reserved as an intrinsic.
6909Use @samp{EXTERNAL JIDNnt} to use this name for an
6910external procedure.
6911
6912@node JIEOr Intrinsic
6913@subsubsection JIEOr Intrinsic
6914@cindex JIEOr intrinsic
6915@cindex intrinsics, JIEOr
6916
6917This intrinsic is not yet implemented.
6918The name is, however, reserved as an intrinsic.
6919Use @samp{EXTERNAL JIEOr} to use this name for an
6920external procedure.
6921
6922@node JIFix Intrinsic
6923@subsubsection JIFix Intrinsic
6924@cindex JIFix intrinsic
6925@cindex intrinsics, JIFix
6926
6927This intrinsic is not yet implemented.
6928The name is, however, reserved as an intrinsic.
6929Use @samp{EXTERNAL JIFix} to use this name for an
6930external procedure.
6931
6932@node JInt Intrinsic
6933@subsubsection JInt Intrinsic
6934@cindex JInt intrinsic
6935@cindex intrinsics, JInt
6936
6937This intrinsic is not yet implemented.
6938The name is, however, reserved as an intrinsic.
6939Use @samp{EXTERNAL JInt} to use this name for an
6940external procedure.
6941
6942@node JIOr Intrinsic
6943@subsubsection JIOr Intrinsic
6944@cindex JIOr intrinsic
6945@cindex intrinsics, JIOr
6946
6947This intrinsic is not yet implemented.
6948The name is, however, reserved as an intrinsic.
6949Use @samp{EXTERNAL JIOr} to use this name for an
6950external procedure.
6951
6952@node JIQint Intrinsic
6953@subsubsection JIQint Intrinsic
6954@cindex JIQint intrinsic
6955@cindex intrinsics, JIQint
6956
6957This intrinsic is not yet implemented.
6958The name is, however, reserved as an intrinsic.
6959Use @samp{EXTERNAL JIQint} to use this name for an
6960external procedure.
6961
6962@node JIQNnt Intrinsic
6963@subsubsection JIQNnt Intrinsic
6964@cindex JIQNnt intrinsic
6965@cindex intrinsics, JIQNnt
6966
6967This intrinsic is not yet implemented.
6968The name is, however, reserved as an intrinsic.
6969Use @samp{EXTERNAL JIQNnt} to use this name for an
6970external procedure.
6971
6972@node JIShft Intrinsic
6973@subsubsection JIShft Intrinsic
6974@cindex JIShft intrinsic
6975@cindex intrinsics, JIShft
6976
6977This intrinsic is not yet implemented.
6978The name is, however, reserved as an intrinsic.
6979Use @samp{EXTERNAL JIShft} to use this name for an
6980external procedure.
6981
6982@node JIShftC Intrinsic
6983@subsubsection JIShftC Intrinsic
6984@cindex JIShftC intrinsic
6985@cindex intrinsics, JIShftC
6986
6987This intrinsic is not yet implemented.
6988The name is, however, reserved as an intrinsic.
6989Use @samp{EXTERNAL JIShftC} to use this name for an
6990external procedure.
6991
6992@node JISign Intrinsic
6993@subsubsection JISign Intrinsic
6994@cindex JISign intrinsic
6995@cindex intrinsics, JISign
6996
6997This intrinsic is not yet implemented.
6998The name is, however, reserved as an intrinsic.
6999Use @samp{EXTERNAL JISign} to use this name for an
7000external procedure.
7001
7002@node JMax0 Intrinsic
7003@subsubsection JMax0 Intrinsic
7004@cindex JMax0 intrinsic
7005@cindex intrinsics, JMax0
7006
7007This intrinsic is not yet implemented.
7008The name is, however, reserved as an intrinsic.
7009Use @samp{EXTERNAL JMax0} to use this name for an
7010external procedure.
7011
7012@node JMax1 Intrinsic
7013@subsubsection JMax1 Intrinsic
7014@cindex JMax1 intrinsic
7015@cindex intrinsics, JMax1
7016
7017This intrinsic is not yet implemented.
7018The name is, however, reserved as an intrinsic.
7019Use @samp{EXTERNAL JMax1} to use this name for an
7020external procedure.
7021
7022@node JMin0 Intrinsic
7023@subsubsection JMin0 Intrinsic
7024@cindex JMin0 intrinsic
7025@cindex intrinsics, JMin0
7026
7027This intrinsic is not yet implemented.
7028The name is, however, reserved as an intrinsic.
7029Use @samp{EXTERNAL JMin0} to use this name for an
7030external procedure.
7031
7032@node JMin1 Intrinsic
7033@subsubsection JMin1 Intrinsic
7034@cindex JMin1 intrinsic
7035@cindex intrinsics, JMin1
7036
7037This intrinsic is not yet implemented.
7038The name is, however, reserved as an intrinsic.
7039Use @samp{EXTERNAL JMin1} to use this name for an
7040external procedure.
7041
7042@node JMod Intrinsic
7043@subsubsection JMod Intrinsic
7044@cindex JMod intrinsic
7045@cindex intrinsics, JMod
7046
7047This intrinsic is not yet implemented.
7048The name is, however, reserved as an intrinsic.
7049Use @samp{EXTERNAL JMod} to use this name for an
7050external procedure.
7051
7052@node JNInt Intrinsic
7053@subsubsection JNInt Intrinsic
7054@cindex JNInt intrinsic
7055@cindex intrinsics, JNInt
7056
7057This intrinsic is not yet implemented.
7058The name is, however, reserved as an intrinsic.
7059Use @samp{EXTERNAL JNInt} to use this name for an
7060external procedure.
7061
7062@node JNot Intrinsic
7063@subsubsection JNot Intrinsic
7064@cindex JNot intrinsic
7065@cindex intrinsics, JNot
7066
7067This intrinsic is not yet implemented.
7068The name is, however, reserved as an intrinsic.
7069Use @samp{EXTERNAL JNot} to use this name for an
7070external procedure.
7071
7072@node JZExt Intrinsic
7073@subsubsection JZExt Intrinsic
7074@cindex JZExt intrinsic
7075@cindex intrinsics, JZExt
7076
7077This intrinsic is not yet implemented.
7078The name is, however, reserved as an intrinsic.
7079Use @samp{EXTERNAL JZExt} to use this name for an
7080external procedure.
7081
7082@end ifset
7083@ifset familyF2U
7084@node Kill Intrinsic (subroutine)
7085@subsubsection Kill Intrinsic (subroutine)
7086@cindex Kill intrinsic
7087@cindex intrinsics, Kill
7088
7089@noindent
7090@example
7091CALL Kill(@var{Pid}, @var{Signal}, @var{Status})
7092@end example
7093
7094@noindent
7095@var{Pid}: @code{INTEGER}; scalar; INTENT(IN).
7096
7097@noindent
7098@var{Signal}: @code{INTEGER}; scalar; INTENT(IN).
7099
7100@noindent
7101@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
7102
7103@noindent
7104Intrinsic groups: @code{unix}.
7105
7106@noindent
7107Description:
7108
7109Sends the signal specified by @var{Signal} to the process @var{Pid}.
7110If the @var{Status} argument is supplied, it contains
68e7a7c9 71110 on success or a nonzero error code upon return.
177873a5
JW
7112See @code{kill(2)}.
7113
7114Some non-GNU implementations of Fortran provide this intrinsic as
7115only a function, not as a subroutine, or do not support the
7116(optional) @var{Status} argument.
7117
7118For information on other intrinsics with the same name:
7119@xref{Kill Intrinsic (function)}.
7120
7121@end ifset
7122@ifset familyBADU77
7123@node Kill Intrinsic (function)
7124@subsubsection Kill Intrinsic (function)
7125@cindex Kill intrinsic
7126@cindex intrinsics, Kill
7127
7128@noindent
7129@example
7130Kill(@var{Pid}, @var{Signal})
7131@end example
7132
7133@noindent
7134Kill: @code{INTEGER(KIND=1)} function.
7135
7136@noindent
7137@var{Pid}: @code{INTEGER}; scalar; INTENT(IN).
7138
7139@noindent
7140@var{Signal}: @code{INTEGER}; scalar; INTENT(IN).
7141
7142@noindent
7143Intrinsic groups: @code{badu77}.
7144
7145@noindent
7146Description:
7147
7148Sends the signal specified by @var{Signal} to the process @var{Pid}.
68e7a7c9 7149Returns 0 on success or a nonzero error code.
177873a5
JW
7150See @code{kill(2)}.
7151
7152Due to the side effects performed by this intrinsic, the function
7153form is not recommended.
7154
7155For information on other intrinsics with the same name:
7156@xref{Kill Intrinsic (subroutine)}.
7157
7158@end ifset
7159@ifset familyF90
7160@node Kind Intrinsic
7161@subsubsection Kind Intrinsic
7162@cindex Kind intrinsic
7163@cindex intrinsics, Kind
7164
7165This intrinsic is not yet implemented.
7166The name is, however, reserved as an intrinsic.
7167Use @samp{EXTERNAL Kind} to use this name for an
7168external procedure.
7169
7170@node LBound Intrinsic
7171@subsubsection LBound Intrinsic
7172@cindex LBound intrinsic
7173@cindex intrinsics, LBound
7174
7175This intrinsic is not yet implemented.
7176The name is, however, reserved as an intrinsic.
7177Use @samp{EXTERNAL LBound} to use this name for an
7178external procedure.
7179
7180@end ifset
7181@ifset familyF77
7182@node Len Intrinsic
7183@subsubsection Len Intrinsic
7184@cindex Len intrinsic
7185@cindex intrinsics, Len
7186
7187@noindent
7188@example
7189Len(@var{String})
7190@end example
7191
7192@noindent
7193Len: @code{INTEGER(KIND=1)} function.
7194
7195@noindent
7196@var{String}: @code{CHARACTER}; scalar.
7197
7198@noindent
7199Intrinsic groups: (standard FORTRAN 77).
7200
7201@noindent
7202Description:
7203
7204Returns the length of @var{String}.
7205
7206If @var{String} is an array, the length of an element
7207of @var{String} is returned.
7208
7209Note that @var{String} need not be defined when this
7210intrinsic is invoked, since only the length, not
7211the content, of @var{String} is needed.
7212
7213@xref{Bit_Size Intrinsic}, for the function that determines
7214the size of its argument in bits.
7215
7216@end ifset
7217@ifset familyF90
7218@node Len_Trim Intrinsic
7219@subsubsection Len_Trim Intrinsic
7220@cindex Len_Trim intrinsic
7221@cindex intrinsics, Len_Trim
7222
7223@noindent
7224@example
7225Len_Trim(@var{String})
7226@end example
7227
7228@noindent
7229Len_Trim: @code{INTEGER(KIND=1)} function.
7230
7231@noindent
7232@var{String}: @code{CHARACTER}; scalar; INTENT(IN).
7233
7234@noindent
7235Intrinsic groups: @code{f90}.
7236
7237@noindent
7238Description:
7239
7240Returns the index of the last non-blank character in @var{String}.
7241@code{LNBLNK} and @code{LEN_TRIM} are equivalent.
7242
7243@end ifset
7244@ifset familyF77
7245@node LGe Intrinsic
7246@subsubsection LGe Intrinsic
7247@cindex LGe intrinsic
7248@cindex intrinsics, LGe
7249
7250@noindent
7251@example
7252LGe(@var{String_A}, @var{String_B})
7253@end example
7254
7255@noindent
7256LGe: @code{LOGICAL(KIND=1)} function.
7257
7258@noindent
7259@var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
7260
7261@noindent
7262@var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
7263
7264@noindent
7265Intrinsic groups: (standard FORTRAN 77).
7266
7267@noindent
7268Description:
7269
7270Returns @samp{.TRUE.} if @samp{@var{String_A}.GE.@var{String_B}},
7271@samp{.FALSE.} otherwise.
7272@var{String_A} and @var{String_B} are interpreted as containing
7273ASCII character codes.
7274If either value contains a character not in the ASCII
7275character set, the result is processor dependent.
7276
7277If the @var{String_A} and @var{String_B} are not the same length,
7278the shorter is compared as if spaces were appended to
7279it to form a value that has the same length as the longer.
7280
7281The lexical comparison intrinsics @code{LGe}, @code{LGt},
7282@code{LLe}, and @code{LLt} differ from the corresponding
7283intrinsic operators @code{.GE.}, @code{.GT.},
7284@code{.LE.}, @code{.LT.}.
7285Because the ASCII collating sequence is assumed,
7286the following expressions always return @samp{.TRUE.}:
7287
7288@smallexample
7289LGE ('0', ' ')
7290LGE ('A', '0')
7291LGE ('a', 'A')
7292@end smallexample
7293
7294The following related expressions do @emph{not} always
7295return @samp{.TRUE.}, as they are not necessarily evaluated
7296assuming the arguments use ASCII encoding:
7297
7298@smallexample
7299'0' .GE. ' '
7300'A' .GE. '0'
7301'a' .GE. 'A'
7302@end smallexample
7303
7304The same difference exists
7305between @code{LGt} and @code{.GT.};
7306between @code{LLe} and @code{.LE.}; and
7307between @code{LLt} and @code{.LT.}.
7308
7309@node LGt Intrinsic
7310@subsubsection LGt Intrinsic
7311@cindex LGt intrinsic
7312@cindex intrinsics, LGt
7313
7314@noindent
7315@example
7316LGt(@var{String_A}, @var{String_B})
7317@end example
7318
7319@noindent
7320LGt: @code{LOGICAL(KIND=1)} function.
7321
7322@noindent
7323@var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
7324
7325@noindent
7326@var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
7327
7328@noindent
7329Intrinsic groups: (standard FORTRAN 77).
7330
7331@noindent
7332Description:
7333
7334Returns @samp{.TRUE.} if @samp{@var{String_A}.GT.@var{String_B}},
7335@samp{.FALSE.} otherwise.
7336@var{String_A} and @var{String_B} are interpreted as containing
7337ASCII character codes.
7338If either value contains a character not in the ASCII
7339character set, the result is processor dependent.
7340
7341If the @var{String_A} and @var{String_B} are not the same length,
7342the shorter is compared as if spaces were appended to
7343it to form a value that has the same length as the longer.
7344
7345@xref{LGe Intrinsic}, for information on the distinction
7346between the @code{LGT} intrinsic and the @code{.GT.}
7347operator.
7348
7349@end ifset
7350@ifset familyF2U
7351@node Link Intrinsic (subroutine)
7352@subsubsection Link Intrinsic (subroutine)
7353@cindex Link intrinsic
7354@cindex intrinsics, Link
7355
7356@noindent
7357@example
7358CALL Link(@var{Path1}, @var{Path2}, @var{Status})
7359@end example
7360
7361@noindent
7362@var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
7363
7364@noindent
7365@var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
7366
7367@noindent
7368@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
7369
7370@noindent
7371Intrinsic groups: @code{unix}.
7372
7373@noindent
7374Description:
7375
7376Makes a (hard) link from file @var{Path1} to @var{Path2}.
7377A null character (@samp{CHAR(0)}) marks the end of
7378the names in @var{Path1} and @var{Path2}---otherwise,
7379trailing blanks in @var{Path1} and @var{Path2} are ignored.
7380If the @var{Status} argument is supplied, it contains
68e7a7c9 73810 on success or a nonzero error code upon return.
177873a5
JW
7382See @code{link(2)}.
7383
7384Some non-GNU implementations of Fortran provide this intrinsic as
7385only a function, not as a subroutine, or do not support the
7386(optional) @var{Status} argument.
7387
7388For information on other intrinsics with the same name:
7389@xref{Link Intrinsic (function)}.
7390
7391@end ifset
7392@ifset familyBADU77
7393@node Link Intrinsic (function)
7394@subsubsection Link Intrinsic (function)
7395@cindex Link intrinsic
7396@cindex intrinsics, Link
7397
7398@noindent
7399@example
7400Link(@var{Path1}, @var{Path2})
7401@end example
7402
7403@noindent
7404Link: @code{INTEGER(KIND=1)} function.
7405
7406@noindent
7407@var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
7408
7409@noindent
7410@var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
7411
7412@noindent
7413Intrinsic groups: @code{badu77}.
7414
7415@noindent
7416Description:
7417
7418Makes a (hard) link from file @var{Path1} to @var{Path2}.
7419A null character (@samp{CHAR(0)}) marks the end of
7420the names in @var{Path1} and @var{Path2}---otherwise,
7421trailing blanks in @var{Path1} and @var{Path2} are ignored.
68e7a7c9 7422Returns 0 on success or a nonzero error code.
177873a5
JW
7423See @code{link(2)}.
7424
7425Due to the side effects performed by this intrinsic, the function
7426form is not recommended.
7427
7428For information on other intrinsics with the same name:
7429@xref{Link Intrinsic (subroutine)}.
7430
7431@end ifset
7432@ifset familyF77
7433@node LLe Intrinsic
7434@subsubsection LLe Intrinsic
7435@cindex LLe intrinsic
7436@cindex intrinsics, LLe
7437
7438@noindent
7439@example
7440LLe(@var{String_A}, @var{String_B})
7441@end example
7442
7443@noindent
7444LLe: @code{LOGICAL(KIND=1)} function.
7445
7446@noindent
7447@var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
7448
7449@noindent
7450@var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
7451
7452@noindent
7453Intrinsic groups: (standard FORTRAN 77).
7454
7455@noindent
7456Description:
7457
7458Returns @samp{.TRUE.} if @samp{@var{String_A}.LE.@var{String_B}},
7459@samp{.FALSE.} otherwise.
7460@var{String_A} and @var{String_B} are interpreted as containing
7461ASCII character codes.
7462If either value contains a character not in the ASCII
7463character set, the result is processor dependent.
7464
7465If the @var{String_A} and @var{String_B} are not the same length,
7466the shorter is compared as if spaces were appended to
7467it to form a value that has the same length as the longer.
7468
7469@xref{LGe Intrinsic}, for information on the distinction
7470between the @code{LLE} intrinsic and the @code{.LE.}
7471operator.
7472
7473@node LLt Intrinsic
7474@subsubsection LLt Intrinsic
7475@cindex LLt intrinsic
7476@cindex intrinsics, LLt
7477
7478@noindent
7479@example
7480LLt(@var{String_A}, @var{String_B})
7481@end example
7482
7483@noindent
7484LLt: @code{LOGICAL(KIND=1)} function.
7485
7486@noindent
7487@var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
7488
7489@noindent
7490@var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
7491
7492@noindent
7493Intrinsic groups: (standard FORTRAN 77).
7494
7495@noindent
7496Description:
7497
7498Returns @samp{.TRUE.} if @samp{@var{String_A}.LT.@var{String_B}},
7499@samp{.FALSE.} otherwise.
7500@var{String_A} and @var{String_B} are interpreted as containing
7501ASCII character codes.
7502If either value contains a character not in the ASCII
7503character set, the result is processor dependent.
7504
7505If the @var{String_A} and @var{String_B} are not the same length,
7506the shorter is compared as if spaces were appended to
7507it to form a value that has the same length as the longer.
7508
7509@xref{LGe Intrinsic}, for information on the distinction
7510between the @code{LLT} intrinsic and the @code{.LT.}
7511operator.
7512
7513@end ifset
7514@ifset familyF2U
7515@node LnBlnk Intrinsic
7516@subsubsection LnBlnk Intrinsic
7517@cindex LnBlnk intrinsic
7518@cindex intrinsics, LnBlnk
7519
7520@noindent
7521@example
7522LnBlnk(@var{String})
7523@end example
7524
7525@noindent
7526LnBlnk: @code{INTEGER(KIND=1)} function.
7527
7528@noindent
7529@var{String}: @code{CHARACTER}; scalar; INTENT(IN).
7530
7531@noindent
7532Intrinsic groups: @code{unix}.
7533
7534@noindent
7535Description:
7536
7537Returns the index of the last non-blank character in @var{String}.
7538@code{LNBLNK} and @code{LEN_TRIM} are equivalent.
7539
7540@node Loc Intrinsic
7541@subsubsection Loc Intrinsic
7542@cindex Loc intrinsic
7543@cindex intrinsics, Loc
7544
7545@noindent
7546@example
7547Loc(@var{Entity})
7548@end example
7549
7550@noindent
b244d07c 7551Loc: @code{INTEGER(KIND=7)} function.
177873a5
JW
7552
7553@noindent
7554@var{Entity}: Any type; cannot be a constant or expression.
7555
7556@noindent
7557Intrinsic groups: @code{unix}.
7558
7559@noindent
7560Description:
7561
7562The @code{LOC()} intrinsic works the
7563same way as the @code{%LOC()} construct.
7564@xref{%LOC(),,The @code{%LOC()} Construct}, for
7565more information.
7566
7567@end ifset
7568@ifset familyF77
7569@node Log Intrinsic
7570@subsubsection Log Intrinsic
7571@cindex Log intrinsic
7572@cindex intrinsics, Log
7573
7574@noindent
7575@example
7576Log(@var{X})
7577@end example
7578
7579@noindent
7580Log: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
7581
7582@noindent
7583@var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
7584
7585@noindent
7586Intrinsic groups: (standard FORTRAN 77).
7587
7588@noindent
7589Description:
7590
7591Returns the natural logarithm of @var{X}, which must
7592be greater than zero or, if type @code{COMPLEX}, must not
7593be zero.
7594
7595@xref{Exp Intrinsic}, for the inverse of this function.
7596
9c6ba682 7597@xref{Log10 Intrinsic}, for the `common' (base-10) logarithm function.
177873a5
JW
7598
7599@node Log10 Intrinsic
7600@subsubsection Log10 Intrinsic
7601@cindex Log10 intrinsic
7602@cindex intrinsics, Log10
7603
7604@noindent
7605@example
7606Log10(@var{X})
7607@end example
7608
7609@noindent
7610Log10: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
7611
7612@noindent
7613@var{X}: @code{REAL}; scalar; INTENT(IN).
7614
7615@noindent
7616Intrinsic groups: (standard FORTRAN 77).
7617
7618@noindent
7619Description:
7620
9c6ba682 7621Returns the common logarithm (base 10) of @var{X}, which must
5ecccf3b 7622be greater than zero.
177873a5
JW
7623
7624The inverse of this function is @samp{10. ** LOG10(@var{X})}.
7625
7626@xref{Log Intrinsic}, for the natural logarithm function.
7627
7628@end ifset
7629@ifset familyF90
7630@node Logical Intrinsic
7631@subsubsection Logical Intrinsic
7632@cindex Logical intrinsic
7633@cindex intrinsics, Logical
7634
7635This intrinsic is not yet implemented.
7636The name is, however, reserved as an intrinsic.
7637Use @samp{EXTERNAL Logical} to use this name for an
7638external procedure.
7639
7640@end ifset
7641@ifset familyF2U
7642@node Long Intrinsic
7643@subsubsection Long Intrinsic
7644@cindex Long intrinsic
7645@cindex intrinsics, Long
7646
7647@noindent
7648@example
7649Long(@var{A})
7650@end example
7651
7652@noindent
7653Long: @code{INTEGER(KIND=1)} function.
7654
7655@noindent
7656@var{A}: @code{INTEGER(KIND=6)}; scalar; INTENT(IN).
7657
7658@noindent
7659Intrinsic groups: @code{unix}.
7660
7661@noindent
7662Description:
7663
7664Archaic form of @code{INT()} that is specific
7665to one type for @var{A}.
7666@xref{Int Intrinsic}.
7667
7668The precise meaning of this intrinsic might change
7669in a future version of the GNU Fortran language,
7670as more is learned about how it is used.
7671
7672@end ifset
7673@ifset familyF2C
7674@node LShift Intrinsic
7675@subsubsection LShift Intrinsic
7676@cindex LShift intrinsic
7677@cindex intrinsics, LShift
7678
7679@noindent
7680@example
7681LShift(@var{I}, @var{Shift})
7682@end example
7683
7684@noindent
7685LShift: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
7686
7687@noindent
7688@var{I}: @code{INTEGER}; scalar; INTENT(IN).
7689
7690@noindent
7691@var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
7692
7693@noindent
7694Intrinsic groups: @code{f2c}.
7695
7696@noindent
7697Description:
7698
7699Returns @var{I} shifted to the left
7700@var{Shift} bits.
7701
7702Although similar to the expression
7703@samp{@var{I}*(2**@var{Shift})}, there
7704are important differences.
7705For example, the sign of the result is
7706not necessarily the same as the sign of
7707@var{I}.
7708
7709Currently this intrinsic is defined assuming
7710the underlying representation of @var{I}
7711is as a two's-complement integer.
7712It is unclear at this point whether that
7713definition will apply when a different
7714representation is involved.
7715
7716@xref{LShift Intrinsic}, for the inverse of this function.
7717
7718@xref{IShft Intrinsic}, for information
7719on a more widely available left-shifting
7720intrinsic that is also more precisely defined.
7721
7722@end ifset
7723@ifset familyF2U
7724@node LStat Intrinsic (subroutine)
7725@subsubsection LStat Intrinsic (subroutine)
7726@cindex LStat intrinsic
7727@cindex intrinsics, LStat
7728
7729@noindent
7730@example
7731CALL LStat(@var{File}, @var{SArray}, @var{Status})
7732@end example
7733
7734@noindent
7735@var{File}: @code{CHARACTER}; scalar; INTENT(IN).
7736
7737@noindent
7738@var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
7739
7740@noindent
7741@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
7742
7743@noindent
7744Intrinsic groups: @code{unix}.
7745
7746@noindent
7747Description:
7748
7749Obtains data about the given file @var{File} and places them in the array
7750@var{SArray}.
7751A null character (@samp{CHAR(0)}) marks the end of
7752the name in @var{File}---otherwise,
7753trailing blanks in @var{File} are ignored.
7754If @var{File} is a symbolic link it returns data on the
7755link itself, so the routine is available only on systems that support
7756symbolic links.
7757The values in this array are extracted from the
7758@code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
7759
7760@enumerate
7761@item
b3b2275a 7762Device ID
177873a5
JW
7763
7764@item
7765Inode number
7766
7767@item
b3b2275a 7768File mode
177873a5
JW
7769
7770@item
7771Number of links
7772
7773@item
7774Owner's uid
7775
7776@item
7777Owner's gid
7778
b3b2275a
CB
7779@item
7780ID of device containing directory entry for file
7781(0 if not available)
7782
177873a5
JW
7783@item
7784File size (bytes)
7785
7786@item
7787Last access time
7788
7789@item
7790Last modification time
7791
7792@item
7793Last file status change time
7794
7795@item
b3b2275a 7796Preferred I/O block size (-1 if not available)
177873a5
JW
7797
7798@item
b3b2275a 7799Number of blocks allocated (-1 if not available)
177873a5
JW
7800@end enumerate
7801
7802Not all these elements are relevant on all systems.
7803If an element is not relevant, it is returned as 0.
7804
7805If the @var{Status} argument is supplied, it contains
68e7a7c9 78060 on success or a nonzero error code upon return
177873a5
JW
7807(@code{ENOSYS} if the system does not provide @code{lstat(2)}).
7808
7809Some non-GNU implementations of Fortran provide this intrinsic as
7810only a function, not as a subroutine, or do not support the
7811(optional) @var{Status} argument.
7812
7813For information on other intrinsics with the same name:
7814@xref{LStat Intrinsic (function)}.
7815
7816@node LStat Intrinsic (function)
7817@subsubsection LStat Intrinsic (function)
7818@cindex LStat intrinsic
7819@cindex intrinsics, LStat
7820
7821@noindent
7822@example
7823LStat(@var{File}, @var{SArray})
7824@end example
7825
7826@noindent
7827LStat: @code{INTEGER(KIND=1)} function.
7828
7829@noindent
7830@var{File}: @code{CHARACTER}; scalar; INTENT(IN).
7831
7832@noindent
7833@var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
7834
7835@noindent
7836Intrinsic groups: @code{unix}.
7837
7838@noindent
7839Description:
7840
7841Obtains data about the given file @var{File} and places them in the array
7842@var{SArray}.
7843A null character (@samp{CHAR(0)}) marks the end of
7844the name in @var{File}---otherwise,
7845trailing blanks in @var{File} are ignored.
7846If @var{File} is a symbolic link it returns data on the
7847link itself, so the routine is available only on systems that support
7848symbolic links.
7849The values in this array are extracted from the
7850@code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
7851
7852@enumerate
7853@item
b3b2275a 7854Device ID
177873a5
JW
7855
7856@item
7857Inode number
7858
7859@item
b3b2275a 7860File mode
177873a5
JW
7861
7862@item
7863Number of links
7864
7865@item
7866Owner's uid
7867
7868@item
7869Owner's gid
7870
b3b2275a
CB
7871@item
7872ID of device containing directory entry for file
7873(0 if not available)
7874
177873a5
JW
7875@item
7876File size (bytes)
7877
7878@item
7879Last access time
7880
7881@item
7882Last modification time
7883
7884@item
7885Last file status change time
7886
7887@item
b3b2275a 7888Preferred I/O block size (-1 if not available)
177873a5
JW
7889
7890@item
b3b2275a 7891Number of blocks allocated (-1 if not available)
177873a5
JW
7892@end enumerate
7893
7894Not all these elements are relevant on all systems.
7895If an element is not relevant, it is returned as 0.
7896
68e7a7c9 7897Returns 0 on success or a nonzero error code
177873a5
JW
7898(@code{ENOSYS} if the system does not provide @code{lstat(2)}).
7899
7900For information on other intrinsics with the same name:
7901@xref{LStat Intrinsic (subroutine)}.
7902
7903@node LTime Intrinsic
7904@subsubsection LTime Intrinsic
7905@cindex LTime intrinsic
7906@cindex intrinsics, LTime
7907
7908@noindent
7909@example
7910CALL LTime(@var{STime}, @var{TArray})
7911@end example
7912
7913@noindent
7914@var{STime}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
7915
7916@noindent
7917@var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(9); INTENT(OUT).
7918
7919@noindent
7920Intrinsic groups: @code{unix}.
7921
7922@noindent
7923Description:
7924
7925Given a system time value @var{STime}, fills @var{TArray} with values
7926extracted from it appropriate to the GMT time zone using
7927@code{localtime(3)}.
7928
7929The array elements are as follows:
7930
7931@enumerate
7932@item
7933Seconds after the minute, range 0--59 or 0--61 to allow for leap
7934seconds
7935
7936@item
7937Minutes after the hour, range 0--59
7938
7939@item
7940Hours past midnight, range 0--23
7941
7942@item
7943Day of month, range 0--31
7944
7945@item
7946Number of months since January, range 0--12
7947
7948@item
7949Years since 1900
7950
7951@item
7952Number of days since Sunday, range 0--6
7953
7954@item
7955Days since January 1
7956
7957@item
7958Daylight savings indicator: positive if daylight savings is in effect,
7959zero if not, and negative if the information isn't available.
7960@end enumerate
7961
7962@end ifset
7963@ifset familyF90
7964@node MatMul Intrinsic
7965@subsubsection MatMul Intrinsic
7966@cindex MatMul intrinsic
7967@cindex intrinsics, MatMul
7968
7969This intrinsic is not yet implemented.
7970The name is, however, reserved as an intrinsic.
7971Use @samp{EXTERNAL MatMul} to use this name for an
7972external procedure.
7973
7974@end ifset
7975@ifset familyF77
7976@node Max Intrinsic
7977@subsubsection Max Intrinsic
7978@cindex Max intrinsic
7979@cindex intrinsics, Max
7980
7981@noindent
7982@example
7983Max(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
7984@end example
7985
7986@noindent
7987Max: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
7988types of all the arguments.
7989
7990@noindent
7991@var{A}: @code{INTEGER} or @code{REAL}; at least two such arguments must be provided; scalar; INTENT(IN).
7992
7993@noindent
7994Intrinsic groups: (standard FORTRAN 77).
7995
7996@noindent
7997Description:
7998
7999Returns the argument with the largest value.
8000
8001@xref{Min Intrinsic}, for the opposite function.
8002
8003@node Max0 Intrinsic
8004@subsubsection Max0 Intrinsic
8005@cindex Max0 intrinsic
8006@cindex intrinsics, Max0
8007
8008@noindent
8009@example
8010Max0(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
8011@end example
8012
8013@noindent
8014Max0: @code{INTEGER(KIND=1)} function.
8015
8016@noindent
8017@var{A}: @code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
8018
8019@noindent
8020Intrinsic groups: (standard FORTRAN 77).
8021
8022@noindent
8023Description:
8024
8025Archaic form of @code{MAX()} that is specific
8026to one type for @var{A}.
8027@xref{Max Intrinsic}.
8028
8029@node Max1 Intrinsic
8030@subsubsection Max1 Intrinsic
8031@cindex Max1 intrinsic
8032@cindex intrinsics, Max1
8033
8034@noindent
8035@example
8036Max1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
8037@end example
8038
8039@noindent
8040Max1: @code{INTEGER(KIND=1)} function.
8041
8042@noindent
8043@var{A}: @code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
8044
8045@noindent
8046Intrinsic groups: (standard FORTRAN 77).
8047
8048@noindent
8049Description:
8050
8051Archaic form of @code{MAX()} that is specific
8052to one type for @var{A} and a different return type.
8053@xref{Max Intrinsic}.
8054
8055@end ifset
8056@ifset familyF90
8057@node MaxExponent Intrinsic
8058@subsubsection MaxExponent Intrinsic
8059@cindex MaxExponent intrinsic
8060@cindex intrinsics, MaxExponent
8061
8062This intrinsic is not yet implemented.
8063The name is, however, reserved as an intrinsic.
8064Use @samp{EXTERNAL MaxExponent} to use this name for an
8065external procedure.
8066
8067@node MaxLoc Intrinsic
8068@subsubsection MaxLoc Intrinsic
8069@cindex MaxLoc intrinsic
8070@cindex intrinsics, MaxLoc
8071
8072This intrinsic is not yet implemented.
8073The name is, however, reserved as an intrinsic.
8074Use @samp{EXTERNAL MaxLoc} to use this name for an
8075external procedure.
8076
8077@node MaxVal Intrinsic
8078@subsubsection MaxVal Intrinsic
8079@cindex MaxVal intrinsic
8080@cindex intrinsics, MaxVal
8081
8082This intrinsic is not yet implemented.
8083The name is, however, reserved as an intrinsic.
8084Use @samp{EXTERNAL MaxVal} to use this name for an
8085external procedure.
8086
8087@end ifset
8088@ifset familyF2U
8089@node MClock Intrinsic
8090@subsubsection MClock Intrinsic
8091@cindex MClock intrinsic
8092@cindex intrinsics, MClock
8093
8094@noindent
8095@example
8096MClock()
8097@end example
8098
8099@noindent
8100MClock: @code{INTEGER(KIND=1)} function.
8101
8102@noindent
8103Intrinsic groups: @code{unix}.
8104
8105@noindent
8106Description:
8107
8108Returns the number of clock ticks since the start of the process.
8109Supported on systems with @code{clock(3)} (q.v.).
8110
9c6ba682
UD
8111@cindex wraparound, timings
8112@cindex limits, timings
177873a5
JW
8113This intrinsic is not fully portable, such as to systems
8114with 32-bit @code{INTEGER} types but supporting times
8115wider than 32 bits.
9c6ba682
UD
8116Therefore, the values returned by this intrinsic
8117might be, or become, negative,
8118or numerically less than previous values,
8119during a single run of the compiled program.
8120
177873a5
JW
8121@xref{MClock8 Intrinsic}, for information on a
8122similar intrinsic that might be portable to more
8123GNU Fortran implementations, though to fewer
8124Fortran compilers.
8125
8126If the system does not support @code{clock(3)},
8127-1 is returned.
8128
8129@node MClock8 Intrinsic
8130@subsubsection MClock8 Intrinsic
8131@cindex MClock8 intrinsic
8132@cindex intrinsics, MClock8
8133
8134@noindent
8135@example
8136MClock8()
8137@end example
8138
8139@noindent
8140MClock8: @code{INTEGER(KIND=2)} function.
8141
8142@noindent
8143Intrinsic groups: @code{unix}.
8144
8145@noindent
8146Description:
8147
8148Returns the number of clock ticks since the start of the process.
8149Supported on systems with @code{clock(3)} (q.v.).
8150
9c6ba682
UD
8151@cindex wraparound, timings
8152@cindex limits, timings
8153@emph{Warning:} this intrinsic does not increase the range
8154of the timing values over that returned by @code{clock(3)}.
8155On a system with a 32-bit @code{clock(3)},
8156@code{MCLOCK8} will return a 32-bit value,
8157even though converted to an @samp{INTEGER(KIND=2)} value.
8158That means overflows of the 32-bit value can still occur.
8159Therefore, the values returned by this intrinsic
8160might be, or become, negative,
8161or numerically less than previous values,
8162during a single run of the compiled program.
8163
177873a5
JW
8164No Fortran implementations other than GNU Fortran are
8165known to support this intrinsic at the time of this
8166writing.
8167@xref{MClock Intrinsic}, for information on a
8168similar intrinsic that might be portable to more Fortran
8169compilers, though to fewer GNU Fortran implementations.
8170
8171If the system does not support @code{clock(3)},
8172-1 is returned.
8173
8174@end ifset
8175@ifset familyF90
8176@node Merge Intrinsic
8177@subsubsection Merge Intrinsic
8178@cindex Merge intrinsic
8179@cindex intrinsics, Merge
8180
8181This intrinsic is not yet implemented.
8182The name is, however, reserved as an intrinsic.
8183Use @samp{EXTERNAL Merge} to use this name for an
8184external procedure.
8185
8186@end ifset
8187@ifset familyF77
8188@node Min Intrinsic
8189@subsubsection Min Intrinsic
8190@cindex Min intrinsic
8191@cindex intrinsics, Min
8192
8193@noindent
8194@example
8195Min(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
8196@end example
8197
8198@noindent
8199Min: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
8200types of all the arguments.
8201
8202@noindent
8203@var{A}: @code{INTEGER} or @code{REAL}; at least two such arguments must be provided; scalar; INTENT(IN).
8204
8205@noindent
8206Intrinsic groups: (standard FORTRAN 77).
8207
8208@noindent
8209Description:
8210
8211Returns the argument with the smallest value.
8212
8213@xref{Max Intrinsic}, for the opposite function.
8214
8215@node Min0 Intrinsic
8216@subsubsection Min0 Intrinsic
8217@cindex Min0 intrinsic
8218@cindex intrinsics, Min0
8219
8220@noindent
8221@example
8222Min0(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
8223@end example
8224
8225@noindent
8226Min0: @code{INTEGER(KIND=1)} function.
8227
8228@noindent
8229@var{A}: @code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
8230
8231@noindent
8232Intrinsic groups: (standard FORTRAN 77).
8233
8234@noindent
8235Description:
8236
8237Archaic form of @code{MIN()} that is specific
8238to one type for @var{A}.
8239@xref{Min Intrinsic}.
8240
8241@node Min1 Intrinsic
8242@subsubsection Min1 Intrinsic
8243@cindex Min1 intrinsic
8244@cindex intrinsics, Min1
8245
8246@noindent
8247@example
8248Min1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
8249@end example
8250
8251@noindent
8252Min1: @code{INTEGER(KIND=1)} function.
8253
8254@noindent
8255@var{A}: @code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
8256
8257@noindent
8258Intrinsic groups: (standard FORTRAN 77).
8259
8260@noindent
8261Description:
8262
8263Archaic form of @code{MIN()} that is specific
8264to one type for @var{A} and a different return type.
8265@xref{Min Intrinsic}.
8266
8267@end ifset
8268@ifset familyF90
8269@node MinExponent Intrinsic
8270@subsubsection MinExponent Intrinsic
8271@cindex MinExponent intrinsic
8272@cindex intrinsics, MinExponent
8273
8274This intrinsic is not yet implemented.
8275The name is, however, reserved as an intrinsic.
8276Use @samp{EXTERNAL MinExponent} to use this name for an
8277external procedure.
8278
8279@node MinLoc Intrinsic
8280@subsubsection MinLoc Intrinsic
8281@cindex MinLoc intrinsic
8282@cindex intrinsics, MinLoc
8283
8284This intrinsic is not yet implemented.
8285The name is, however, reserved as an intrinsic.
8286Use @samp{EXTERNAL MinLoc} to use this name for an
8287external procedure.
8288
8289@node MinVal Intrinsic
8290@subsubsection MinVal Intrinsic
8291@cindex MinVal intrinsic
8292@cindex intrinsics, MinVal
8293
8294This intrinsic is not yet implemented.
8295The name is, however, reserved as an intrinsic.
8296Use @samp{EXTERNAL MinVal} to use this name for an
8297external procedure.
8298
8299@end ifset
8300@ifset familyF77
8301@node Mod Intrinsic
8302@subsubsection Mod Intrinsic
8303@cindex Mod intrinsic
8304@cindex intrinsics, Mod
8305
8306@noindent
8307@example
8308Mod(@var{A}, @var{P})
8309@end example
8310
8311@noindent
8312Mod: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
8313types of all the arguments.
8314
8315@noindent
8316@var{A}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
8317
8318@noindent
8319@var{P}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
8320
8321@noindent
8322Intrinsic groups: (standard FORTRAN 77).
8323
8324@noindent
8325Description:
8326
8327Returns remainder calculated as:
8328
8329@smallexample
8330@var{A} - (INT(@var{A} / @var{P}) * @var{P})
8331@end smallexample
8332
8333@var{P} must not be zero.
8334
8335@end ifset
8336@ifset familyF90
8337@node Modulo Intrinsic
8338@subsubsection Modulo Intrinsic
8339@cindex Modulo intrinsic
8340@cindex intrinsics, Modulo
8341
8342This intrinsic is not yet implemented.
8343The name is, however, reserved as an intrinsic.
8344Use @samp{EXTERNAL Modulo} to use this name for an
8345external procedure.
8346
8347@end ifset
8348@ifset familyMIL
8349@node MvBits Intrinsic
8350@subsubsection MvBits Intrinsic
8351@cindex MvBits intrinsic
8352@cindex intrinsics, MvBits
8353
8354@noindent
8355@example
8356CALL MvBits(@var{From}, @var{FromPos}, @var{Len}, @var{TO}, @var{ToPos})
8357@end example
8358
8359@noindent
8360@var{From}: @code{INTEGER}; scalar; INTENT(IN).
8361
8362@noindent
8363@var{FromPos}: @code{INTEGER}; scalar; INTENT(IN).
8364
8365@noindent
8366@var{Len}: @code{INTEGER}; scalar; INTENT(IN).
8367
8368@noindent
8369@var{TO}: @code{INTEGER} with same @samp{KIND=} value as for @var{From}; scalar; INTENT(INOUT).
8370
8371@noindent
8372@var{ToPos}: @code{INTEGER}; scalar; INTENT(IN).
8373
8374@noindent
8375Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
8376
8377@noindent
8378Description:
8379
8380Moves @var{Len} bits from positions @var{FromPos} through
8381@samp{@var{FromPos}+@var{Len}-1} of @var{From} to positions @var{ToPos} through
8382@samp{@var{FromPos}+@var{Len}-1} of @var{TO}. The portion of argument
8383@var{TO} not affected by the movement of bits is unchanged. Arguments
8384@var{From} and @var{TO} are permitted to be the same numeric storage
8385unit. The values of @samp{@var{FromPos}+@var{Len}} and
8386@samp{@var{ToPos}+@var{Len}} must be less than or equal to
8387@samp{BIT_SIZE(@var{From})}.
8388
8389@end ifset
8390@ifset familyF90
8391@node Nearest Intrinsic
8392@subsubsection Nearest Intrinsic
8393@cindex Nearest intrinsic
8394@cindex intrinsics, Nearest
8395
8396This intrinsic is not yet implemented.
8397The name is, however, reserved as an intrinsic.
8398Use @samp{EXTERNAL Nearest} to use this name for an
8399external procedure.
8400
8401@end ifset
8402@ifset familyF77
8403@node NInt Intrinsic
8404@subsubsection NInt Intrinsic
8405@cindex NInt intrinsic
8406@cindex intrinsics, NInt
8407
8408@noindent
8409@example
8410NInt(@var{A})
8411@end example
8412
8413@noindent
8414NInt: @code{INTEGER(KIND=1)} function.
8415
8416@noindent
8417@var{A}: @code{REAL}; scalar; INTENT(IN).
8418
8419@noindent
8420Intrinsic groups: (standard FORTRAN 77).
8421
8422@noindent
8423Description:
8424
8425Returns @var{A} with the fractional portion of its
8426magnitude eliminated by rounding to the nearest whole
8427number and with its sign preserved, converted
8428to type @code{INTEGER(KIND=1)}.
8429
8430If @var{A} is type @code{COMPLEX}, its real part is
8431rounded and converted.
8432
8433A fractional portion exactly equal to
8434@samp{.5} is rounded to the whole number that
8435is larger in magnitude.
8436(Also called ``Fortran round''.)
8437
8438@xref{Int Intrinsic}, for how to convert, truncate to
8439whole number.
8440
8441@xref{ANInt Intrinsic}, for how to round to nearest whole number
8442without converting.
8443
8444@end ifset
8445@ifset familyMIL
8446@node Not Intrinsic
8447@subsubsection Not Intrinsic
8448@cindex Not intrinsic
8449@cindex intrinsics, Not
8450
8451@noindent
8452@example
8453Not(@var{I})
8454@end example
8455
8456@noindent
8457Not: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
8458
8459@noindent
8460@var{I}: @code{INTEGER}; scalar; INTENT(IN).
8461
8462@noindent
8463Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
8464
8465@noindent
8466Description:
8467
8468Returns value resulting from boolean NOT of each bit
8469in @var{I}.
8470
8471@end ifset
8472@ifset familyF2C
8473@node Or Intrinsic
8474@subsubsection Or Intrinsic
8475@cindex Or intrinsic
8476@cindex intrinsics, Or
8477
8478@noindent
8479@example
8480Or(@var{I}, @var{J})
8481@end example
8482
8483@noindent
8484Or: @code{INTEGER} or @code{LOGICAL} function, the exact type being the result of cross-promoting the
8485types of all the arguments.
8486
8487@noindent
8488@var{I}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
8489
8490@noindent
8491@var{J}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
8492
8493@noindent
8494Intrinsic groups: @code{f2c}.
8495
8496@noindent
8497Description:
8498
8499Returns value resulting from boolean OR of
8500pair of bits in each of @var{I} and @var{J}.
8501
8502@end ifset
8503@ifset familyF90
8504@node Pack Intrinsic
8505@subsubsection Pack Intrinsic
8506@cindex Pack intrinsic
8507@cindex intrinsics, Pack
8508
8509This intrinsic is not yet implemented.
8510The name is, however, reserved as an intrinsic.
8511Use @samp{EXTERNAL Pack} to use this name for an
8512external procedure.
8513
8514@end ifset
8515@ifset familyF2U
8516@node PError Intrinsic
8517@subsubsection PError Intrinsic
8518@cindex PError intrinsic
8519@cindex intrinsics, PError
8520
8521@noindent
8522@example
8523CALL PError(@var{String})
8524@end example
8525
8526@noindent
8527@var{String}: @code{CHARACTER}; scalar; INTENT(IN).
8528
8529@noindent
8530Intrinsic groups: @code{unix}.
8531
8532@noindent
8533Description:
8534
8535Prints (on the C @code{stderr} stream) a newline-terminated error
8536message corresponding to the last system error.
8537This is prefixed by @var{String}, a colon and a space.
8538See @code{perror(3)}.
8539
8540@end ifset
8541@ifset familyF90
8542@node Precision Intrinsic
8543@subsubsection Precision Intrinsic
8544@cindex Precision intrinsic
8545@cindex intrinsics, Precision
8546
8547This intrinsic is not yet implemented.
8548The name is, however, reserved as an intrinsic.
8549Use @samp{EXTERNAL Precision} to use this name for an
8550external procedure.
8551
8552@node Present Intrinsic
8553@subsubsection Present Intrinsic
8554@cindex Present intrinsic
8555@cindex intrinsics, Present
8556
8557This intrinsic is not yet implemented.
8558The name is, however, reserved as an intrinsic.
8559Use @samp{EXTERNAL Present} to use this name for an
8560external procedure.
8561
8562@node Product Intrinsic
8563@subsubsection Product Intrinsic
8564@cindex Product intrinsic
8565@cindex intrinsics, Product
8566
8567This intrinsic is not yet implemented.
8568The name is, however, reserved as an intrinsic.
8569Use @samp{EXTERNAL Product} to use this name for an
8570external procedure.
8571
8572@end ifset
8573@ifset familyVXT
8574@node QAbs Intrinsic
8575@subsubsection QAbs Intrinsic
8576@cindex QAbs intrinsic
8577@cindex intrinsics, QAbs
8578
8579This intrinsic is not yet implemented.
8580The name is, however, reserved as an intrinsic.
8581Use @samp{EXTERNAL QAbs} to use this name for an
8582external procedure.
8583
8584@node QACos Intrinsic
8585@subsubsection QACos Intrinsic
8586@cindex QACos intrinsic
8587@cindex intrinsics, QACos
8588
8589This intrinsic is not yet implemented.
8590The name is, however, reserved as an intrinsic.
8591Use @samp{EXTERNAL QACos} to use this name for an
8592external procedure.
8593
8594@node QACosD Intrinsic
8595@subsubsection QACosD Intrinsic
8596@cindex QACosD intrinsic
8597@cindex intrinsics, QACosD
8598
8599This intrinsic is not yet implemented.
8600The name is, however, reserved as an intrinsic.
8601Use @samp{EXTERNAL QACosD} to use this name for an
8602external procedure.
8603
8604@node QASin Intrinsic
8605@subsubsection QASin Intrinsic
8606@cindex QASin intrinsic
8607@cindex intrinsics, QASin
8608
8609This intrinsic is not yet implemented.
8610The name is, however, reserved as an intrinsic.
8611Use @samp{EXTERNAL QASin} to use this name for an
8612external procedure.
8613
8614@node QASinD Intrinsic
8615@subsubsection QASinD Intrinsic
8616@cindex QASinD intrinsic
8617@cindex intrinsics, QASinD
8618
8619This intrinsic is not yet implemented.
8620The name is, however, reserved as an intrinsic.
8621Use @samp{EXTERNAL QASinD} to use this name for an
8622external procedure.
8623
8624@node QATan Intrinsic
8625@subsubsection QATan Intrinsic
8626@cindex QATan intrinsic
8627@cindex intrinsics, QATan
8628
8629This intrinsic is not yet implemented.
8630The name is, however, reserved as an intrinsic.
8631Use @samp{EXTERNAL QATan} to use this name for an
8632external procedure.
8633
8634@node QATan2 Intrinsic
8635@subsubsection QATan2 Intrinsic
8636@cindex QATan2 intrinsic
8637@cindex intrinsics, QATan2
8638
8639This intrinsic is not yet implemented.
8640The name is, however, reserved as an intrinsic.
8641Use @samp{EXTERNAL QATan2} to use this name for an
8642external procedure.
8643
8644@node QATan2D Intrinsic
8645@subsubsection QATan2D Intrinsic
8646@cindex QATan2D intrinsic
8647@cindex intrinsics, QATan2D
8648
8649This intrinsic is not yet implemented.
8650The name is, however, reserved as an intrinsic.
8651Use @samp{EXTERNAL QATan2D} to use this name for an
8652external procedure.
8653
8654@node QATanD Intrinsic
8655@subsubsection QATanD Intrinsic
8656@cindex QATanD intrinsic
8657@cindex intrinsics, QATanD
8658
8659This intrinsic is not yet implemented.
8660The name is, however, reserved as an intrinsic.
8661Use @samp{EXTERNAL QATanD} to use this name for an
8662external procedure.
8663
8664@node QCos Intrinsic
8665@subsubsection QCos Intrinsic
8666@cindex QCos intrinsic
8667@cindex intrinsics, QCos
8668
8669This intrinsic is not yet implemented.
8670The name is, however, reserved as an intrinsic.
8671Use @samp{EXTERNAL QCos} to use this name for an
8672external procedure.
8673
8674@node QCosD Intrinsic
8675@subsubsection QCosD Intrinsic
8676@cindex QCosD intrinsic
8677@cindex intrinsics, QCosD
8678
8679This intrinsic is not yet implemented.
8680The name is, however, reserved as an intrinsic.
8681Use @samp{EXTERNAL QCosD} to use this name for an
8682external procedure.
8683
8684@node QCosH Intrinsic
8685@subsubsection QCosH Intrinsic
8686@cindex QCosH intrinsic
8687@cindex intrinsics, QCosH
8688
8689This intrinsic is not yet implemented.
8690The name is, however, reserved as an intrinsic.
8691Use @samp{EXTERNAL QCosH} to use this name for an
8692external procedure.
8693
8694@node QDiM Intrinsic
8695@subsubsection QDiM Intrinsic
8696@cindex QDiM intrinsic
8697@cindex intrinsics, QDiM
8698
8699This intrinsic is not yet implemented.
8700The name is, however, reserved as an intrinsic.
8701Use @samp{EXTERNAL QDiM} to use this name for an
8702external procedure.
8703
8704@node QExp Intrinsic
8705@subsubsection QExp Intrinsic
8706@cindex QExp intrinsic
8707@cindex intrinsics, QExp
8708
8709This intrinsic is not yet implemented.
8710The name is, however, reserved as an intrinsic.
8711Use @samp{EXTERNAL QExp} to use this name for an
8712external procedure.
8713
8714@node QExt Intrinsic
8715@subsubsection QExt Intrinsic
8716@cindex QExt intrinsic
8717@cindex intrinsics, QExt
8718
8719This intrinsic is not yet implemented.
8720The name is, however, reserved as an intrinsic.
8721Use @samp{EXTERNAL QExt} to use this name for an
8722external procedure.
8723
8724@node QExtD Intrinsic
8725@subsubsection QExtD Intrinsic
8726@cindex QExtD intrinsic
8727@cindex intrinsics, QExtD
8728
8729This intrinsic is not yet implemented.
8730The name is, however, reserved as an intrinsic.
8731Use @samp{EXTERNAL QExtD} to use this name for an
8732external procedure.
8733
8734@node QFloat Intrinsic
8735@subsubsection QFloat Intrinsic
8736@cindex QFloat intrinsic
8737@cindex intrinsics, QFloat
8738
8739This intrinsic is not yet implemented.
8740The name is, however, reserved as an intrinsic.
8741Use @samp{EXTERNAL QFloat} to use this name for an
8742external procedure.
8743
8744@node QInt Intrinsic
8745@subsubsection QInt Intrinsic
8746@cindex QInt intrinsic
8747@cindex intrinsics, QInt
8748
8749This intrinsic is not yet implemented.
8750The name is, however, reserved as an intrinsic.
8751Use @samp{EXTERNAL QInt} to use this name for an
8752external procedure.
8753
8754@node QLog Intrinsic
8755@subsubsection QLog Intrinsic
8756@cindex QLog intrinsic
8757@cindex intrinsics, QLog
8758
8759This intrinsic is not yet implemented.
8760The name is, however, reserved as an intrinsic.
8761Use @samp{EXTERNAL QLog} to use this name for an
8762external procedure.
8763
8764@node QLog10 Intrinsic
8765@subsubsection QLog10 Intrinsic
8766@cindex QLog10 intrinsic
8767@cindex intrinsics, QLog10
8768
8769This intrinsic is not yet implemented.
8770The name is, however, reserved as an intrinsic.
8771Use @samp{EXTERNAL QLog10} to use this name for an
8772external procedure.
8773
8774@node QMax1 Intrinsic
8775@subsubsection QMax1 Intrinsic
8776@cindex QMax1 intrinsic
8777@cindex intrinsics, QMax1
8778
8779This intrinsic is not yet implemented.
8780The name is, however, reserved as an intrinsic.
8781Use @samp{EXTERNAL QMax1} to use this name for an
8782external procedure.
8783
8784@node QMin1 Intrinsic
8785@subsubsection QMin1 Intrinsic
8786@cindex QMin1 intrinsic
8787@cindex intrinsics, QMin1
8788
8789This intrinsic is not yet implemented.
8790The name is, however, reserved as an intrinsic.
8791Use @samp{EXTERNAL QMin1} to use this name for an
8792external procedure.
8793
8794@node QMod Intrinsic
8795@subsubsection QMod Intrinsic
8796@cindex QMod intrinsic
8797@cindex intrinsics, QMod
8798
8799This intrinsic is not yet implemented.
8800The name is, however, reserved as an intrinsic.
8801Use @samp{EXTERNAL QMod} to use this name for an
8802external procedure.
8803
8804@node QNInt Intrinsic
8805@subsubsection QNInt Intrinsic
8806@cindex QNInt intrinsic
8807@cindex intrinsics, QNInt
8808
8809This intrinsic is not yet implemented.
8810The name is, however, reserved as an intrinsic.
8811Use @samp{EXTERNAL QNInt} to use this name for an
8812external procedure.
8813
8814@node QSin Intrinsic
8815@subsubsection QSin Intrinsic
8816@cindex QSin intrinsic
8817@cindex intrinsics, QSin
8818
8819This intrinsic is not yet implemented.
8820The name is, however, reserved as an intrinsic.
8821Use @samp{EXTERNAL QSin} to use this name for an
8822external procedure.
8823
8824@node QSinD Intrinsic
8825@subsubsection QSinD Intrinsic
8826@cindex QSinD intrinsic
8827@cindex intrinsics, QSinD
8828
8829This intrinsic is not yet implemented.
8830The name is, however, reserved as an intrinsic.
8831Use @samp{EXTERNAL QSinD} to use this name for an
8832external procedure.
8833
8834@node QSinH Intrinsic
8835@subsubsection QSinH Intrinsic
8836@cindex QSinH intrinsic
8837@cindex intrinsics, QSinH
8838
8839This intrinsic is not yet implemented.
8840The name is, however, reserved as an intrinsic.
8841Use @samp{EXTERNAL QSinH} to use this name for an
8842external procedure.
8843
8844@node QSqRt Intrinsic
8845@subsubsection QSqRt Intrinsic
8846@cindex QSqRt intrinsic
8847@cindex intrinsics, QSqRt
8848
8849This intrinsic is not yet implemented.
8850The name is, however, reserved as an intrinsic.
8851Use @samp{EXTERNAL QSqRt} to use this name for an
8852external procedure.
8853
8854@node QTan Intrinsic
8855@subsubsection QTan Intrinsic
8856@cindex QTan intrinsic
8857@cindex intrinsics, QTan
8858
8859This intrinsic is not yet implemented.
8860The name is, however, reserved as an intrinsic.
8861Use @samp{EXTERNAL QTan} to use this name for an
8862external procedure.
8863
8864@node QTanD Intrinsic
8865@subsubsection QTanD Intrinsic
8866@cindex QTanD intrinsic
8867@cindex intrinsics, QTanD
8868
8869This intrinsic is not yet implemented.
8870The name is, however, reserved as an intrinsic.
8871Use @samp{EXTERNAL QTanD} to use this name for an
8872external procedure.
8873
8874@node QTanH Intrinsic
8875@subsubsection QTanH Intrinsic
8876@cindex QTanH intrinsic
8877@cindex intrinsics, QTanH
8878
8879This intrinsic is not yet implemented.
8880The name is, however, reserved as an intrinsic.
8881Use @samp{EXTERNAL QTanH} to use this name for an
8882external procedure.
8883
8884@end ifset
8885@ifset familyF90
8886@node Radix Intrinsic
8887@subsubsection Radix Intrinsic
8888@cindex Radix intrinsic
8889@cindex intrinsics, Radix
8890
8891This intrinsic is not yet implemented.
8892The name is, however, reserved as an intrinsic.
8893Use @samp{EXTERNAL Radix} to use this name for an
8894external procedure.
8895
8896@end ifset
8897@ifset familyF2U
8898@node Rand Intrinsic
8899@subsubsection Rand Intrinsic
8900@cindex Rand intrinsic
8901@cindex intrinsics, Rand
8902
8903@noindent
8904@example
8905Rand(@var{Flag})
8906@end example
8907
8908@noindent
8909Rand: @code{REAL(KIND=1)} function.
8910
8911@noindent
8912@var{Flag}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN).
8913
8914@noindent
8915Intrinsic groups: @code{unix}.
8916
8917@noindent
8918Description:
8919
8920Returns a uniform quasi-random number between 0 and 1.
8921If @var{Flag} is 0, the next number in sequence is returned; if
8922@var{Flag} is 1, the generator is restarted by calling @samp{srand(0)};
8923if @var{Flag} has any other value, it is used as a new seed with
8924@code{srand}.
8925
8926@xref{SRand Intrinsic}.
8927
8928@emph{Note:} As typically implemented (by the routine of the same
8929name in the C library), this random number generator is a very poor
8930one, though the BSD and GNU libraries provide a much better
8931implementation than the `traditional' one.
8932On a different system you
8933almost certainly want to use something better.
8934
8935@end ifset
8936@ifset familyF90
8937@node Random_Number Intrinsic
8938@subsubsection Random_Number Intrinsic
8939@cindex Random_Number intrinsic
8940@cindex intrinsics, Random_Number
8941
8942This intrinsic is not yet implemented.
8943The name is, however, reserved as an intrinsic.
8944Use @samp{EXTERNAL Random_Number} to use this name for an
8945external procedure.
8946
8947@node Random_Seed Intrinsic
8948@subsubsection Random_Seed Intrinsic
8949@cindex Random_Seed intrinsic
8950@cindex intrinsics, Random_Seed
8951
8952This intrinsic is not yet implemented.
8953The name is, however, reserved as an intrinsic.
8954Use @samp{EXTERNAL Random_Seed} to use this name for an
8955external procedure.
8956
8957@node Range Intrinsic
8958@subsubsection Range Intrinsic
8959@cindex Range intrinsic
8960@cindex intrinsics, Range
8961
8962This intrinsic is not yet implemented.
8963The name is, however, reserved as an intrinsic.
8964Use @samp{EXTERNAL Range} to use this name for an
8965external procedure.
8966
8967@end ifset
8968@ifset familyF77
8969@node Real Intrinsic
8970@subsubsection Real Intrinsic
8971@cindex Real intrinsic
8972@cindex intrinsics, Real
8973
8974@noindent
8975@example
8976Real(@var{A})
8977@end example
8978
8979@noindent
8980Real: @code{REAL} function.
8981The exact type is @samp{REAL(KIND=1)} when argument @var{A} is
8982any type other than @code{COMPLEX}, or when it is @code{COMPLEX(KIND=1)}.
8983When @var{A} is any @code{COMPLEX} type other than @code{COMPLEX(KIND=1)},
8984this intrinsic is valid only when used as the argument to
8985@code{REAL()}, as explained below.
8986
8987@noindent
8988@var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
8989
8990@noindent
8991Intrinsic groups: (standard FORTRAN 77).
8992
8993@noindent
8994Description:
8995
8996Converts @var{A} to @code{REAL(KIND=1)}.
8997
8998Use of @code{REAL()} with a @code{COMPLEX} argument
8999(other than @code{COMPLEX(KIND=1)}) is restricted to the following case:
9000
9001@example
9002REAL(REAL(A))
9003@end example
9004
9005@noindent
9006This expression converts the real part of A to
9007@code{REAL(KIND=1)}.
9008
9009@xref{RealPart Intrinsic}, for information on a GNU Fortran
9010intrinsic that extracts the real part of an arbitrary
9011@code{COMPLEX} value.
9012
9013@xref{REAL() and AIMAG() of Complex}, for more information.
9014
9015@end ifset
9016@ifset familyGNU
9017@node RealPart Intrinsic
9018@subsubsection RealPart Intrinsic
9019@cindex RealPart intrinsic
9020@cindex intrinsics, RealPart
9021
9022@noindent
9023@example
9024RealPart(@var{Z})
9025@end example
9026
9027@noindent
9028RealPart: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{Z}.
9029
9030@noindent
9031@var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
9032
9033@noindent
9034Intrinsic groups: @code{gnu}.
9035
9036@noindent
9037Description:
9038
9039The real part of @var{Z} is returned, without conversion.
9040
9041@emph{Note:} The way to do this in standard Fortran 90
9042is @samp{REAL(@var{Z})}.
9043However, when, for example, @var{Z} is @code{COMPLEX(KIND=2)},
9044@samp{REAL(@var{Z})} means something different for some compilers
9045that are not true Fortran 90 compilers but offer some
9046extensions standardized by Fortran 90 (such as the
9047@code{DOUBLE COMPLEX} type, also known as @code{COMPLEX(KIND=2)}).
9048
9049The advantage of @code{REALPART()} is that, while not necessarily
9050more or less portable than @code{REAL()}, it is more likely to
9051cause a compiler that doesn't support it to produce a diagnostic
9052than generate incorrect code.
9053
9054@xref{REAL() and AIMAG() of Complex}, for more information.
9055
9056@end ifset
9057@ifset familyF2U
9058@node Rename Intrinsic (subroutine)
9059@subsubsection Rename Intrinsic (subroutine)
9060@cindex Rename intrinsic
9061@cindex intrinsics, Rename
9062
9063@noindent
9064@example
9065CALL Rename(@var{Path1}, @var{Path2}, @var{Status})
9066@end example
9067
9068@noindent
9069@var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
9070
9071@noindent
9072@var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
9073
9074@noindent
9075@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
9076
9077@noindent
9078Intrinsic groups: @code{unix}.
9079
9080@noindent
9081Description:
9082
9083Renames the file @var{Path1} to @var{Path2}.
9084A null character (@samp{CHAR(0)}) marks the end of
9085the names in @var{Path1} and @var{Path2}---otherwise,
9086trailing blanks in @var{Path1} and @var{Path2} are ignored.
9087See @code{rename(2)}.
9088If the @var{Status} argument is supplied, it contains
68e7a7c9 90890 on success or a nonzero error code upon return.
177873a5
JW
9090
9091Some non-GNU implementations of Fortran provide this intrinsic as
9092only a function, not as a subroutine, or do not support the
9093(optional) @var{Status} argument.
9094
9095For information on other intrinsics with the same name:
9096@xref{Rename Intrinsic (function)}.
9097
9098@end ifset
9099@ifset familyBADU77
9100@node Rename Intrinsic (function)
9101@subsubsection Rename Intrinsic (function)
9102@cindex Rename intrinsic
9103@cindex intrinsics, Rename
9104
9105@noindent
9106@example
9107Rename(@var{Path1}, @var{Path2})
9108@end example
9109
9110@noindent
9111Rename: @code{INTEGER(KIND=1)} function.
9112
9113@noindent
9114@var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
9115
9116@noindent
9117@var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
9118
9119@noindent
9120Intrinsic groups: @code{badu77}.
9121
9122@noindent
9123Description:
9124
9125Renames the file @var{Path1} to @var{Path2}.
9126A null character (@samp{CHAR(0)}) marks the end of
9127the names in @var{Path1} and @var{Path2}---otherwise,
9128trailing blanks in @var{Path1} and @var{Path2} are ignored.
9129See @code{rename(2)}.
68e7a7c9 9130Returns 0 on success or a nonzero error code.
177873a5
JW
9131
9132Due to the side effects performed by this intrinsic, the function
9133form is not recommended.
9134
9135For information on other intrinsics with the same name:
9136@xref{Rename Intrinsic (subroutine)}.
9137
9138@end ifset
9139@ifset familyF90
9140@node Repeat Intrinsic
9141@subsubsection Repeat Intrinsic
9142@cindex Repeat intrinsic
9143@cindex intrinsics, Repeat
9144
9145This intrinsic is not yet implemented.
9146The name is, however, reserved as an intrinsic.
9147Use @samp{EXTERNAL Repeat} to use this name for an
9148external procedure.
9149
9150@node Reshape Intrinsic
9151@subsubsection Reshape Intrinsic
9152@cindex Reshape intrinsic
9153@cindex intrinsics, Reshape
9154
9155This intrinsic is not yet implemented.
9156The name is, however, reserved as an intrinsic.
9157Use @samp{EXTERNAL Reshape} to use this name for an
9158external procedure.
9159
9160@node RRSpacing Intrinsic
9161@subsubsection RRSpacing Intrinsic
9162@cindex RRSpacing intrinsic
9163@cindex intrinsics, RRSpacing
9164
9165This intrinsic is not yet implemented.
9166The name is, however, reserved as an intrinsic.
9167Use @samp{EXTERNAL RRSpacing} to use this name for an
9168external procedure.
9169
9170@end ifset
9171@ifset familyF2C
9172@node RShift Intrinsic
9173@subsubsection RShift Intrinsic
9174@cindex RShift intrinsic
9175@cindex intrinsics, RShift
9176
9177@noindent
9178@example
9179RShift(@var{I}, @var{Shift})
9180@end example
9181
9182@noindent
9183RShift: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
9184
9185@noindent
9186@var{I}: @code{INTEGER}; scalar; INTENT(IN).
9187
9188@noindent
9189@var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
9190
9191@noindent
9192Intrinsic groups: @code{f2c}.
9193
9194@noindent
9195Description:
9196
9197Returns @var{I} shifted to the right
9198@var{Shift} bits.
9199
9200Although similar to the expression
9201@samp{@var{I}/(2**@var{Shift})}, there
9202are important differences.
9203For example, the sign of the result is
9204undefined.
9205
9206Currently this intrinsic is defined assuming
9207the underlying representation of @var{I}
9208is as a two's-complement integer.
9209It is unclear at this point whether that
9210definition will apply when a different
9211representation is involved.
9212
9213@xref{RShift Intrinsic}, for the inverse of this function.
9214
9215@xref{IShft Intrinsic}, for information
9216on a more widely available right-shifting
9217intrinsic that is also more precisely defined.
9218
9219@end ifset
9220@ifset familyF90
9221@node Scale Intrinsic
9222@subsubsection Scale Intrinsic
9223@cindex Scale intrinsic
9224@cindex intrinsics, Scale
9225
9226This intrinsic is not yet implemented.
9227The name is, however, reserved as an intrinsic.
9228Use @samp{EXTERNAL Scale} to use this name for an
9229external procedure.
9230
9231@node Scan Intrinsic
9232@subsubsection Scan Intrinsic
9233@cindex Scan intrinsic
9234@cindex intrinsics, Scan
9235
9236This intrinsic is not yet implemented.
9237The name is, however, reserved as an intrinsic.
9238Use @samp{EXTERNAL Scan} to use this name for an
9239external procedure.
9240
9241@end ifset
9242@ifset familyVXT
9243@node Secnds Intrinsic
9244@subsubsection Secnds Intrinsic
9245@cindex Secnds intrinsic
9246@cindex intrinsics, Secnds
9247
9248@noindent
9249@example
9250Secnds(@var{T})
9251@end example
9252
9253@noindent
9254Secnds: @code{REAL(KIND=1)} function.
9255
9256@noindent
9257@var{T}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
9258
9259@noindent
9260Intrinsic groups: @code{vxt}.
9261
9262@noindent
9263Description:
9264
9265Returns the local time in seconds since midnight minus the value
9266@var{T}.
9267
9c6ba682
UD
9268@cindex wraparound, timings
9269@cindex limits, timings
9270This values returned by this intrinsic
9271become numerically less than previous values
9272(they wrap around) during a single run of the
9273compiler program, under normal circumstances
9274(such as running through the midnight hour).
9275
177873a5
JW
9276@end ifset
9277@ifset familyF2U
9278@node Second Intrinsic (function)
9279@subsubsection Second Intrinsic (function)
9280@cindex Second intrinsic
9281@cindex intrinsics, Second
9282
9283@noindent
9284@example
9285Second()
9286@end example
9287
9288@noindent
9289Second: @code{REAL(KIND=1)} function.
9290
9291@noindent
9292Intrinsic groups: @code{unix}.
9293
9294@noindent
9295Description:
9296
9297Returns the process's runtime in seconds---the same value as the
9298UNIX function @code{etime} returns.
9299
9c6ba682
UD
9300@cindex wraparound, timings
9301@cindex limits, timings
9302On some systems, the underlying timings are represented
9303using types with sufficiently small limits that overflows
9304(wraparounds) are possible, such as 32-bit types.
9305Therefore, the values returned by this intrinsic
9306might be, or become, negative,
9307or numerically less than previous values,
9308during a single run of the compiled program.
9309
177873a5
JW
9310For information on other intrinsics with the same name:
9311@xref{Second Intrinsic (subroutine)}.
9312
9313@node Second Intrinsic (subroutine)
9314@subsubsection Second Intrinsic (subroutine)
9315@cindex Second intrinsic
9316@cindex intrinsics, Second
9317
9318@noindent
9319@example
9320CALL Second(@var{Seconds})
9321@end example
9322
9323@noindent
44d2eabc 9324@var{Seconds}: @code{REAL}; scalar; INTENT(OUT).
177873a5
JW
9325
9326@noindent
9327Intrinsic groups: @code{unix}.
9328
9329@noindent
9330Description:
9331
9332Returns the process's runtime in seconds in @var{Seconds}---the same value
9333as the UNIX function @code{etime} returns.
9334
9c6ba682
UD
9335@cindex wraparound, timings
9336@cindex limits, timings
9337On some systems, the underlying timings are represented
9338using types with sufficiently small limits that overflows
9339(wraparounds) are possible, such as 32-bit types.
9340Therefore, the values returned by this intrinsic
9341might be, or become, negative,
9342or numerically less than previous values,
9343during a single run of the compiled program.
9344
a515a901 9345This routine is known from Cray Fortran. @xref{CPU_Time Intrinsic},
177873a5
JW
9346for a standard equivalent.
9347
9348For information on other intrinsics with the same name:
9349@xref{Second Intrinsic (function)}.
9350
9351@end ifset
9352@ifset familyF90
9353@node Selected_Int_Kind Intrinsic
9354@subsubsection Selected_Int_Kind Intrinsic
9355@cindex Selected_Int_Kind intrinsic
9356@cindex intrinsics, Selected_Int_Kind
9357
9358This intrinsic is not yet implemented.
9359The name is, however, reserved as an intrinsic.
9360Use @samp{EXTERNAL Selected_Int_Kind} to use this name for an
9361external procedure.
9362
9363@node Selected_Real_Kind Intrinsic
9364@subsubsection Selected_Real_Kind Intrinsic
9365@cindex Selected_Real_Kind intrinsic
9366@cindex intrinsics, Selected_Real_Kind
9367
9368This intrinsic is not yet implemented.
9369The name is, however, reserved as an intrinsic.
9370Use @samp{EXTERNAL Selected_Real_Kind} to use this name for an
9371external procedure.
9372
9373@node Set_Exponent Intrinsic
9374@subsubsection Set_Exponent Intrinsic
9375@cindex Set_Exponent intrinsic
9376@cindex intrinsics, Set_Exponent
9377
9378This intrinsic is not yet implemented.
9379The name is, however, reserved as an intrinsic.
9380Use @samp{EXTERNAL Set_Exponent} to use this name for an
9381external procedure.
9382
9383@node Shape Intrinsic
9384@subsubsection Shape Intrinsic
9385@cindex Shape intrinsic
9386@cindex intrinsics, Shape
9387
9388This intrinsic is not yet implemented.
9389The name is, however, reserved as an intrinsic.
9390Use @samp{EXTERNAL Shape} to use this name for an
9391external procedure.
9392
9393@end ifset
9394@ifset familyF2U
9395@node Short Intrinsic
9396@subsubsection Short Intrinsic
9397@cindex Short intrinsic
9398@cindex intrinsics, Short
9399
9400@noindent
9401@example
9402Short(@var{A})
9403@end example
9404
9405@noindent
9406Short: @code{INTEGER(KIND=6)} function.
9407
9408@noindent
9409@var{A}: @code{INTEGER}; scalar; INTENT(IN).
9410
9411@noindent
9412Intrinsic groups: @code{unix}.
9413
9414@noindent
9415Description:
9416
9417Returns @var{A} with the fractional portion of its
9418magnitude truncated and its sign preserved, converted
9419to type @code{INTEGER(KIND=6)}.
9420
9421If @var{A} is type @code{COMPLEX}, its real part
e1618452 9422is truncated and converted, and its imaginary part is disregarded.
177873a5
JW
9423
9424@xref{Int Intrinsic}.
9425
9426The precise meaning of this intrinsic might change
9427in a future version of the GNU Fortran language,
9428as more is learned about how it is used.
9429
9430@end ifset
9431@ifset familyF77
9432@node Sign Intrinsic
9433@subsubsection Sign Intrinsic
9434@cindex Sign intrinsic
9435@cindex intrinsics, Sign
9436
9437@noindent
9438@example
9439Sign(@var{A}, @var{B})
9440@end example
9441
9442@noindent
9443Sign: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
9444types of all the arguments.
9445
9446@noindent
9447@var{A}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
9448
9449@noindent
9450@var{B}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
9451
9452@noindent
9453Intrinsic groups: (standard FORTRAN 77).
9454
9455@noindent
9456Description:
9457
9458Returns @samp{ABS(@var{A})*@var{s}}, where
9459@var{s} is +1 if @samp{@var{B}.GE.0},
9460-1 otherwise.
9461
9462@xref{Abs Intrinsic}, for the function that returns
9463the magnitude of a value.
9464
9465@end ifset
9466@ifset familyF2U
9467@node Signal Intrinsic (subroutine)
9468@subsubsection Signal Intrinsic (subroutine)
9469@cindex Signal intrinsic
9470@cindex intrinsics, Signal
9471
9472@noindent
9473@example
9474CALL Signal(@var{Number}, @var{Handler}, @var{Status})
9475@end example
9476
9477@noindent
9478@var{Number}: @code{INTEGER}; scalar; INTENT(IN).
9479
9480@noindent
9481@var{Handler}: Signal handler (@code{INTEGER FUNCTION} or @code{SUBROUTINE})
9482or dummy/global @code{INTEGER(KIND=1)} scalar.
9483
9484@noindent
b244d07c 9485@var{Status}: @code{INTEGER(KIND=7)}; OPTIONAL; scalar; INTENT(OUT).
177873a5
JW
9486
9487@noindent
9488Intrinsic groups: @code{unix}.
9489
9490@noindent
9491Description:
9492
9493If @var{Handler} is a an @code{EXTERNAL} routine, arranges for it to be
9494invoked with a single integer argument (of system-dependent length)
9495when signal @var{Number} occurs.
b244d07c
JW
9496If @var{Handler} is an integer, it can be
9497used to turn off handling of signal @var{Number} or revert to its default
177873a5
JW
9498action.
9499See @code{signal(2)}.
9500
b244d07c
JW
9501Note that @var{Handler} will be called using C conventions,
9502so the value of its argument in Fortran terms
f95bd8e2 9503Fortran terms is obtained by applying @code{%LOC()} (or @code{LOC()}) to it.
177873a5
JW
9504
9505The value returned by @code{signal(2)} is written to @var{Status}, if
9506that argument is supplied.
9507Otherwise the return value is ignored.
9508
9509Some non-GNU implementations of Fortran provide this intrinsic as
9510only a function, not as a subroutine, or do not support the
9511(optional) @var{Status} argument.
9512
b244d07c
JW
9513@emph{Warning:} Use of the @code{libf2c} run-time library function
9514@samp{signal_} directly
9515(such as via @samp{EXTERNAL SIGNAL})
9516requires use of the @code{%VAL()} construct
9517to pass an @code{INTEGER} value
9518(such as @samp{SIG_IGN} or @samp{SIG_DFL})
9519for the @var{Handler} argument.
9520
9521However, while @samp{CALL SIGNAL(@var{signum}, %VAL(SIG_IGN))}
9522works when @samp{SIGNAL} is treated as an external procedure
9523(and resolves, at link time, to @code{libf2c}'s @samp{signal_} routine),
9524this construct is not valid when @samp{SIGNAL} is recognized
9525as the intrinsic of that name.
9526
9527Therefore, for maximum portability and reliability,
9528code such references to the @samp{SIGNAL} facility as follows:
9529
9530@smallexample
9531INTRINSIC SIGNAL
9532@dots{}
9533CALL SIGNAL(@var{signum}, SIG_IGN)
9534@end smallexample
9535
9536@code{g77} will compile such a call correctly,
9537while other compilers will generally either do so as well
9538or reject the @samp{INTRINSIC SIGNAL} statement via a diagnostic,
9539allowing you to take appropriate action.
9540
177873a5
JW
9541For information on other intrinsics with the same name:
9542@xref{Signal Intrinsic (function)}.
9543
9544@end ifset
9545@ifset familyBADU77
9546@node Signal Intrinsic (function)
9547@subsubsection Signal Intrinsic (function)
9548@cindex Signal intrinsic
9549@cindex intrinsics, Signal
9550
9551@noindent
9552@example
9553Signal(@var{Number}, @var{Handler})
9554@end example
9555
9556@noindent
b244d07c 9557Signal: @code{INTEGER(KIND=7)} function.
177873a5
JW
9558
9559@noindent
9560@var{Number}: @code{INTEGER}; scalar; INTENT(IN).
9561
9562@noindent
9563@var{Handler}: Signal handler (@code{INTEGER FUNCTION} or @code{SUBROUTINE})
9564or dummy/global @code{INTEGER(KIND=1)} scalar.
9565
9566@noindent
9567Intrinsic groups: @code{badu77}.
9568
9569@noindent
9570Description:
9571
9572If @var{Handler} is a an @code{EXTERNAL} routine, arranges for it to be
9573invoked with a single integer argument (of system-dependent length)
9574when signal @var{Number} occurs.
b244d07c
JW
9575If @var{Handler} is an integer, it can be
9576used to turn off handling of signal @var{Number} or revert to its default
177873a5
JW
9577action.
9578See @code{signal(2)}.
9579
b244d07c
JW
9580Note that @var{Handler} will be called using C conventions,
9581so the value of its argument in Fortran terms
f95bd8e2 9582is obtained by applying @code{%LOC()} (or @code{LOC()}) to it.
177873a5
JW
9583
9584The value returned by @code{signal(2)} is returned.
9585
9586Due to the side effects performed by this intrinsic, the function
9587form is not recommended.
9588
b244d07c
JW
9589@emph{Warning:} If the returned value is stored in
9590an @code{INTEGER(KIND=1)} (default @code{INTEGER}) argument,
9591truncation of the original return value occurs on some systems
9592(such as Alphas, which have 64-bit pointers but 32-bit default integers),
9593with no warning issued by @code{g77} under normal circumstances.
9594
9595Therefore, the following code fragment might silently fail on
9596some systems:
9597
9598@smallexample
9599INTEGER RTN
9600EXTERNAL MYHNDL
9601RTN = SIGNAL(@var{signum}, MYHNDL)
9602@dots{}
9603! Restore original handler:
9604RTN = SIGNAL(@var{signum}, RTN)
9605@end smallexample
9606
9607The reason for the failure is that @samp{RTN} might not hold
9608all the information on the original handler for the signal,
9609thus restoring an invalid handler.
9610This bug could manifest itself as a spurious run-time failure
9611at an arbitrary point later during the program's execution,
9612for example.
9613
9614@emph{Warning:} Use of the @code{libf2c} run-time library function
9615@samp{signal_} directly
9616(such as via @samp{EXTERNAL SIGNAL})
9617requires use of the @code{%VAL()} construct
9618to pass an @code{INTEGER} value
9619(such as @samp{SIG_IGN} or @samp{SIG_DFL})
9620for the @var{Handler} argument.
9621
9622However, while @samp{RTN = SIGNAL(@var{signum}, %VAL(SIG_IGN))}
9623works when @samp{SIGNAL} is treated as an external procedure
9624(and resolves, at link time, to @code{libf2c}'s @samp{signal_} routine),
9625this construct is not valid when @samp{SIGNAL} is recognized
9626as the intrinsic of that name.
9627
9628Therefore, for maximum portability and reliability,
9629code such references to the @samp{SIGNAL} facility as follows:
9630
9631@smallexample
9632INTRINSIC SIGNAL
9633@dots{}
9634RTN = SIGNAL(@var{signum}, SIG_IGN)
9635@end smallexample
9636
9637@code{g77} will compile such a call correctly,
9638while other compilers will generally either do so as well
9639or reject the @samp{INTRINSIC SIGNAL} statement via a diagnostic,
9640allowing you to take appropriate action.
9641
177873a5
JW
9642For information on other intrinsics with the same name:
9643@xref{Signal Intrinsic (subroutine)}.
9644
9645@end ifset
9646@ifset familyF77
9647@node Sin Intrinsic
9648@subsubsection Sin Intrinsic
9649@cindex Sin intrinsic
9650@cindex intrinsics, Sin
9651
9652@noindent
9653@example
9654Sin(@var{X})
9655@end example
9656
9657@noindent
9658Sin: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
9659
9660@noindent
9661@var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
9662
9663@noindent
9664Intrinsic groups: (standard FORTRAN 77).
9665
9666@noindent
9667Description:
9668
9669Returns the sine of @var{X}, an angle measured
9670in radians.
9671
9672@xref{ASin Intrinsic}, for the inverse of this function.
9673
9674@end ifset
9675@ifset familyVXT
9676@node SinD Intrinsic
9677@subsubsection SinD Intrinsic
9678@cindex SinD intrinsic
9679@cindex intrinsics, SinD
9680
9681This intrinsic is not yet implemented.
9682The name is, however, reserved as an intrinsic.
9683Use @samp{EXTERNAL SinD} to use this name for an
9684external procedure.
9685
9686@end ifset
9687@ifset familyF77
9688@node SinH Intrinsic
9689@subsubsection SinH Intrinsic
9690@cindex SinH intrinsic
9691@cindex intrinsics, SinH
9692
9693@noindent
9694@example
9695SinH(@var{X})
9696@end example
9697
9698@noindent
9699SinH: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
9700
9701@noindent
9702@var{X}: @code{REAL}; scalar; INTENT(IN).
9703
9704@noindent
9705Intrinsic groups: (standard FORTRAN 77).
9706
9707@noindent
9708Description:
9709
9710Returns the hyperbolic sine of @var{X}.
9711
9712@end ifset
9713@ifset familyF2U
9714@node Sleep Intrinsic
9715@subsubsection Sleep Intrinsic
9716@cindex Sleep intrinsic
9717@cindex intrinsics, Sleep
9718
9719@noindent
9720@example
9721CALL Sleep(@var{Seconds})
9722@end example
9723
9724@noindent
9725@var{Seconds}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
9726
9727@noindent
9728Intrinsic groups: @code{unix}.
9729
9730@noindent
9731Description:
9732
9733Causes the process to pause for @var{Seconds} seconds.
9734See @code{sleep(2)}.
9735
9736@end ifset
9737@ifset familyF77
9738@node Sngl Intrinsic
9739@subsubsection Sngl Intrinsic
9740@cindex Sngl intrinsic
9741@cindex intrinsics, Sngl
9742
9743@noindent
9744@example
9745Sngl(@var{A})
9746@end example
9747
9748@noindent
9749Sngl: @code{REAL(KIND=1)} function.
9750
9751@noindent
9752@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
9753
9754@noindent
9755Intrinsic groups: (standard FORTRAN 77).
9756
9757@noindent
9758Description:
9759
9760Archaic form of @code{REAL()} that is specific
9761to one type for @var{A}.
9762@xref{Real Intrinsic}.
9763
9764@end ifset
9765@ifset familyVXT
9766@node SnglQ Intrinsic
9767@subsubsection SnglQ Intrinsic
9768@cindex SnglQ intrinsic
9769@cindex intrinsics, SnglQ
9770
9771This intrinsic is not yet implemented.
9772The name is, however, reserved as an intrinsic.
9773Use @samp{EXTERNAL SnglQ} to use this name for an
9774external procedure.
9775
9776@end ifset
9777@ifset familyF90
9778@node Spacing Intrinsic
9779@subsubsection Spacing Intrinsic
9780@cindex Spacing intrinsic
9781@cindex intrinsics, Spacing
9782
9783This intrinsic is not yet implemented.
9784The name is, however, reserved as an intrinsic.
9785Use @samp{EXTERNAL Spacing} to use this name for an
9786external procedure.
9787
9788@node Spread Intrinsic
9789@subsubsection Spread Intrinsic
9790@cindex Spread intrinsic
9791@cindex intrinsics, Spread
9792
9793This intrinsic is not yet implemented.
9794The name is, however, reserved as an intrinsic.
9795Use @samp{EXTERNAL Spread} to use this name for an
9796external procedure.
9797
9798@end ifset
9799@ifset familyF77
9800@node SqRt Intrinsic
9801@subsubsection SqRt Intrinsic
9802@cindex SqRt intrinsic
9803@cindex intrinsics, SqRt
9804
9805@noindent
9806@example
9807SqRt(@var{X})
9808@end example
9809
9810@noindent
9811SqRt: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
9812
9813@noindent
9814@var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
9815
9816@noindent
9817Intrinsic groups: (standard FORTRAN 77).
9818
9819@noindent
9820Description:
9821
9822Returns the square root of @var{X}, which must
9823not be negative.
9824
9825To calculate and represent the square root of a negative
9826number, complex arithmetic must be used.
9827For example, @samp{SQRT(COMPLEX(@var{X}))}.
9828
9829The inverse of this function is @samp{SQRT(@var{X}) * SQRT(@var{X})}.
9830
9831@end ifset
9832@ifset familyF2U
9833@node SRand Intrinsic
9834@subsubsection SRand Intrinsic
9835@cindex SRand intrinsic
9836@cindex intrinsics, SRand
9837
9838@noindent
9839@example
9840CALL SRand(@var{Seed})
9841@end example
9842
9843@noindent
9844@var{Seed}: @code{INTEGER}; scalar; INTENT(IN).
9845
9846@noindent
9847Intrinsic groups: @code{unix}.
9848
9849@noindent
9850Description:
9851
6578c581 9852Reinitializes the generator with the seed in @var{Seed}.
177873a5
JW
9853@xref{IRand Intrinsic}.
9854@xref{Rand Intrinsic}.
9855
9856@node Stat Intrinsic (subroutine)
9857@subsubsection Stat Intrinsic (subroutine)
9858@cindex Stat intrinsic
9859@cindex intrinsics, Stat
9860
9861@noindent
9862@example
9863CALL Stat(@var{File}, @var{SArray}, @var{Status})
9864@end example
9865
9866@noindent
9867@var{File}: @code{CHARACTER}; scalar; INTENT(IN).
9868
9869@noindent
9870@var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
9871
9872@noindent
9873@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
9874
9875@noindent
9876Intrinsic groups: @code{unix}.
9877
9878@noindent
9879Description:
9880
9881Obtains data about the given file @var{File} and places them in the array
9882@var{SArray}.
9883A null character (@samp{CHAR(0)}) marks the end of
9884the name in @var{File}---otherwise,
9885trailing blanks in @var{File} are ignored.
9886The values in this array are extracted from the
9887@code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
9888
9889@enumerate
9890@item
b3b2275a 9891Device ID
177873a5
JW
9892
9893@item
9894Inode number
9895
9896@item
b3b2275a 9897File mode
177873a5
JW
9898
9899@item
9900Number of links
9901
9902@item
9903Owner's uid
9904
9905@item
9906Owner's gid
9907
b3b2275a
CB
9908@item
9909ID of device containing directory entry for file
9910(0 if not available)
9911
177873a5
JW
9912@item
9913File size (bytes)
9914
9915@item
9916Last access time
9917
9918@item
9919Last modification time
9920
9921@item
9922Last file status change time
9923
9924@item
b3b2275a 9925Preferred I/O block size (-1 if not available)
177873a5
JW
9926
9927@item
b3b2275a 9928Number of blocks allocated (-1 if not available)
177873a5
JW
9929@end enumerate
9930
9931Not all these elements are relevant on all systems.
9932If an element is not relevant, it is returned as 0.
9933
9934If the @var{Status} argument is supplied, it contains
68e7a7c9 99350 on success or a nonzero error code upon return.
177873a5
JW
9936
9937Some non-GNU implementations of Fortran provide this intrinsic as
9938only a function, not as a subroutine, or do not support the
9939(optional) @var{Status} argument.
9940
9941For information on other intrinsics with the same name:
9942@xref{Stat Intrinsic (function)}.
9943
9944@node Stat Intrinsic (function)
9945@subsubsection Stat Intrinsic (function)
9946@cindex Stat intrinsic
9947@cindex intrinsics, Stat
9948
9949@noindent
9950@example
9951Stat(@var{File}, @var{SArray})
9952@end example
9953
9954@noindent
9955Stat: @code{INTEGER(KIND=1)} function.
9956
9957@noindent
9958@var{File}: @code{CHARACTER}; scalar; INTENT(IN).
9959
9960@noindent
9961@var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
9962
9963@noindent
9964Intrinsic groups: @code{unix}.
9965
9966@noindent
9967Description:
9968
9969Obtains data about the given file @var{File} and places them in the array
9970@var{SArray}.
9971A null character (@samp{CHAR(0)}) marks the end of
9972the name in @var{File}---otherwise,
9973trailing blanks in @var{File} are ignored.
9974The values in this array are extracted from the
9975@code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
9976
9977@enumerate
9978@item
b3b2275a 9979Device ID
177873a5
JW
9980
9981@item
9982Inode number
9983
9984@item
b3b2275a 9985File mode
177873a5
JW
9986
9987@item
9988Number of links
9989
9990@item
9991Owner's uid
9992
9993@item
9994Owner's gid
9995
b3b2275a
CB
9996@item
9997ID of device containing directory entry for file
9998(0 if not available)
9999
177873a5
JW
10000@item
10001File size (bytes)
10002
10003@item
10004Last access time
10005
10006@item
10007Last modification time
10008
10009@item
10010Last file status change time
10011
10012@item
b3b2275a 10013Preferred I/O block size (-1 if not available)
177873a5
JW
10014
10015@item
b3b2275a 10016Number of blocks allocated (-1 if not available)
177873a5
JW
10017@end enumerate
10018
10019Not all these elements are relevant on all systems.
10020If an element is not relevant, it is returned as 0.
10021
68e7a7c9 10022Returns 0 on success or a nonzero error code.
177873a5
JW
10023
10024For information on other intrinsics with the same name:
10025@xref{Stat Intrinsic (subroutine)}.
10026
10027@end ifset
10028@ifset familyF90
10029@node Sum Intrinsic
10030@subsubsection Sum Intrinsic
10031@cindex Sum intrinsic
10032@cindex intrinsics, Sum
10033
10034This intrinsic is not yet implemented.
10035The name is, however, reserved as an intrinsic.
10036Use @samp{EXTERNAL Sum} to use this name for an
10037external procedure.
10038
10039@end ifset
10040@ifset familyF2U
10041@node SymLnk Intrinsic (subroutine)
10042@subsubsection SymLnk Intrinsic (subroutine)
10043@cindex SymLnk intrinsic
10044@cindex intrinsics, SymLnk
10045
10046@noindent
10047@example
10048CALL SymLnk(@var{Path1}, @var{Path2}, @var{Status})
10049@end example
10050
10051@noindent
10052@var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
10053
10054@noindent
10055@var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
10056
10057@noindent
10058@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
10059
10060@noindent
10061Intrinsic groups: @code{unix}.
10062
10063@noindent
10064Description:
10065
10066Makes a symbolic link from file @var{Path1} to @var{Path2}.
10067A null character (@samp{CHAR(0)}) marks the end of
10068the names in @var{Path1} and @var{Path2}---otherwise,
10069trailing blanks in @var{Path1} and @var{Path2} are ignored.
10070If the @var{Status} argument is supplied, it contains
68e7a7c9 100710 on success or a nonzero error code upon return
177873a5
JW
10072(@code{ENOSYS} if the system does not provide @code{symlink(2)}).
10073
10074Some non-GNU implementations of Fortran provide this intrinsic as
10075only a function, not as a subroutine, or do not support the
10076(optional) @var{Status} argument.
10077
10078For information on other intrinsics with the same name:
10079@xref{SymLnk Intrinsic (function)}.
10080
10081@end ifset
10082@ifset familyBADU77
10083@node SymLnk Intrinsic (function)
10084@subsubsection SymLnk Intrinsic (function)
10085@cindex SymLnk intrinsic
10086@cindex intrinsics, SymLnk
10087
10088@noindent
10089@example
10090SymLnk(@var{Path1}, @var{Path2})
10091@end example
10092
10093@noindent
10094SymLnk: @code{INTEGER(KIND=1)} function.
10095
10096@noindent
10097@var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
10098
10099@noindent
10100@var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
10101
10102@noindent
10103Intrinsic groups: @code{badu77}.
10104
10105@noindent
10106Description:
10107
10108Makes a symbolic link from file @var{Path1} to @var{Path2}.
10109A null character (@samp{CHAR(0)}) marks the end of
10110the names in @var{Path1} and @var{Path2}---otherwise,
10111trailing blanks in @var{Path1} and @var{Path2} are ignored.
68e7a7c9 10112Returns 0 on success or a nonzero error code
177873a5
JW
10113(@code{ENOSYS} if the system does not provide @code{symlink(2)}).
10114
10115Due to the side effects performed by this intrinsic, the function
10116form is not recommended.
10117
10118For information on other intrinsics with the same name:
10119@xref{SymLnk Intrinsic (subroutine)}.
10120
10121@end ifset
10122@ifset familyF2U
10123@node System Intrinsic (subroutine)
10124@subsubsection System Intrinsic (subroutine)
10125@cindex System intrinsic
10126@cindex intrinsics, System
10127
10128@noindent
10129@example
10130CALL System(@var{Command}, @var{Status})
10131@end example
10132
10133@noindent
10134@var{Command}: @code{CHARACTER}; scalar; INTENT(IN).
10135
10136@noindent
10137@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
10138
10139@noindent
10140Intrinsic groups: @code{unix}.
10141
10142@noindent
10143Description:
10144
10145Passes the command @var{Command} to a shell (see @code{system(3)}).
10146If argument @var{Status} is present, it contains the value returned by
10147@code{system(3)}, presumably 0 if the shell command succeeded.
10148Note that which shell is used to invoke the command is system-dependent
10149and environment-dependent.
10150
10151Some non-GNU implementations of Fortran provide this intrinsic as
10152only a function, not as a subroutine, or do not support the
10153(optional) @var{Status} argument.
10154
10155For information on other intrinsics with the same name:
10156@xref{System Intrinsic (function)}.
10157
10158@end ifset
10159@ifset familyBADU77
10160@node System Intrinsic (function)
10161@subsubsection System Intrinsic (function)
10162@cindex System intrinsic
10163@cindex intrinsics, System
10164
10165@noindent
10166@example
10167System(@var{Command})
10168@end example
10169
10170@noindent
10171System: @code{INTEGER(KIND=1)} function.
10172
10173@noindent
10174@var{Command}: @code{CHARACTER}; scalar; INTENT(IN).
10175
10176@noindent
10177Intrinsic groups: @code{badu77}.
10178
10179@noindent
10180Description:
10181
10182Passes the command @var{Command} to a shell (see @code{system(3)}).
10183Returns the value returned by
10184@code{system(3)}, presumably 0 if the shell command succeeded.
10185Note that which shell is used to invoke the command is system-dependent
10186and environment-dependent.
10187
10188Due to the side effects performed by this intrinsic, the function
10189form is not recommended.
10190However, the function form can be valid in cases where the
10191actual side effects performed by the call are unimportant to
10192the application.
10193
10194For example, on a UNIX system, @samp{SAME = SYSTEM('cmp a b')}
10195does not perform any side effects likely to be important to the
10196program, so the programmer would not care if the actual system
10197call (and invocation of @code{cmp}) was optimized away in a situation
10198where the return value could be determined otherwise, or was not
10199actually needed (@samp{SAME} not actually referenced after the
10200sample assignment statement).
10201
10202For information on other intrinsics with the same name:
10203@xref{System Intrinsic (subroutine)}.
10204
10205@end ifset
10206@ifset familyF90
10207@node System_Clock Intrinsic
10208@subsubsection System_Clock Intrinsic
10209@cindex System_Clock intrinsic
10210@cindex intrinsics, System_Clock
10211
10212@noindent
10213@example
10214CALL System_Clock(@var{Count}, @var{Rate}, @var{Max})
10215@end example
10216
10217@noindent
10218@var{Count}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
10219
10220@noindent
9e8e701d 10221@var{Rate}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
177873a5
JW
10222
10223@noindent
9e8e701d 10224@var{Max}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
177873a5
JW
10225
10226@noindent
10227Intrinsic groups: @code{f90}.
10228
10229@noindent
10230Description:
10231
10232Returns in @var{Count} the current value of the system clock; this is
10233the value returned by the UNIX function @code{times(2)}
10234in this implementation, but
10235isn't in general.
10236@var{Rate} is the number of clock ticks per second and
10237@var{Max} is the maximum value this can take, which isn't very useful
10238in this implementation since it's just the maximum C @code{unsigned
10239int} value.
10240
9c6ba682
UD
10241@cindex wraparound, timings
10242@cindex limits, timings
10243On some systems, the underlying timings are represented
10244using types with sufficiently small limits that overflows
10245(wraparounds) are possible, such as 32-bit types.
10246Therefore, the values returned by this intrinsic
10247might be, or become, negative,
10248or numerically less than previous values,
10249during a single run of the compiled program.
10250
177873a5
JW
10251@end ifset
10252@ifset familyF77
10253@node Tan Intrinsic
10254@subsubsection Tan Intrinsic
10255@cindex Tan intrinsic
10256@cindex intrinsics, Tan
10257
10258@noindent
10259@example
10260Tan(@var{X})
10261@end example
10262
10263@noindent
10264Tan: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
10265
10266@noindent
10267@var{X}: @code{REAL}; scalar; INTENT(IN).
10268
10269@noindent
10270Intrinsic groups: (standard FORTRAN 77).
10271
10272@noindent
10273Description:
10274
10275Returns the tangent of @var{X}, an angle measured
10276in radians.
10277
10278@xref{ATan Intrinsic}, for the inverse of this function.
10279
10280@end ifset
10281@ifset familyVXT
10282@node TanD Intrinsic
10283@subsubsection TanD Intrinsic
10284@cindex TanD intrinsic
10285@cindex intrinsics, TanD
10286
10287This intrinsic is not yet implemented.
10288The name is, however, reserved as an intrinsic.
10289Use @samp{EXTERNAL TanD} to use this name for an
10290external procedure.
10291
10292@end ifset
10293@ifset familyF77
10294@node TanH Intrinsic
10295@subsubsection TanH Intrinsic
10296@cindex TanH intrinsic
10297@cindex intrinsics, TanH
10298
10299@noindent
10300@example
10301TanH(@var{X})
10302@end example
10303
10304@noindent
10305TanH: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
10306
10307@noindent
10308@var{X}: @code{REAL}; scalar; INTENT(IN).
10309
10310@noindent
10311Intrinsic groups: (standard FORTRAN 77).
10312
10313@noindent
10314Description:
10315
10316Returns the hyperbolic tangent of @var{X}.
10317
10318@end ifset
10319@ifset familyF2U
10320@node Time Intrinsic (UNIX)
10321@subsubsection Time Intrinsic (UNIX)
10322@cindex Time intrinsic
10323@cindex intrinsics, Time
10324
10325@noindent
10326@example
10327Time()
10328@end example
10329
10330@noindent
10331Time: @code{INTEGER(KIND=1)} function.
10332
10333@noindent
10334Intrinsic groups: @code{unix}.
10335
10336@noindent
10337Description:
10338
10339Returns the current time encoded as an integer
10340(in the manner of the UNIX function @code{time(3)}).
10341This value is suitable for passing to @code{CTIME},
10342@code{GMTIME}, and @code{LTIME}.
10343
9c6ba682
UD
10344@cindex wraparound, timings
10345@cindex limits, timings
177873a5
JW
10346This intrinsic is not fully portable, such as to systems
10347with 32-bit @code{INTEGER} types but supporting times
10348wider than 32 bits.
9c6ba682
UD
10349Therefore, the values returned by this intrinsic
10350might be, or become, negative,
10351or numerically less than previous values,
10352during a single run of the compiled program.
10353
177873a5
JW
10354@xref{Time8 Intrinsic}, for information on a
10355similar intrinsic that might be portable to more
10356GNU Fortran implementations, though to fewer
10357Fortran compilers.
10358
10359For information on other intrinsics with the same name:
10360@xref{Time Intrinsic (VXT)}.
10361
10362@end ifset
10363@ifset familyVXT
10364@node Time Intrinsic (VXT)
10365@subsubsection Time Intrinsic (VXT)
10366@cindex Time intrinsic
10367@cindex intrinsics, Time
10368
10369@noindent
10370@example
10371CALL Time(@var{Time})
10372@end example
10373
10374@noindent
10375@var{Time}: @code{CHARACTER*8}; scalar; INTENT(OUT).
10376
10377@noindent
10378Intrinsic groups: @code{vxt}.
10379
10380@noindent
10381Description:
10382
10383Returns in @var{Time} a character representation of the current time as
10384obtained from @code{ctime(3)}.
10385
9c6ba682
UD
10386@cindex Y10K compliance
10387@cindex Year 10000 compliance
10388@cindex wraparound, Y10K
10389@cindex limits, Y10K
10390Programs making use of this intrinsic
10391might not be Year 10000 (Y10K) compliant.
10392For example, the date might appear,
10393to such programs, to wrap around
10394(change from a larger value to a smaller one)
10395as of the Year 10000.
10396
10c6276f 10397@xref{FDate Intrinsic (subroutine)}, for an equivalent routine.
177873a5
JW
10398
10399For information on other intrinsics with the same name:
10400@xref{Time Intrinsic (UNIX)}.
10401
10402@end ifset
10403@ifset familyF2U
10404@node Time8 Intrinsic
10405@subsubsection Time8 Intrinsic
10406@cindex Time8 intrinsic
10407@cindex intrinsics, Time8
10408
10409@noindent
10410@example
10411Time8()
10412@end example
10413
10414@noindent
10415Time8: @code{INTEGER(KIND=2)} function.
10416
10417@noindent
10418Intrinsic groups: @code{unix}.
10419
10420@noindent
10421Description:
10422
10423Returns the current time encoded as a long integer
10424(in the manner of the UNIX function @code{time(3)}).
10425This value is suitable for passing to @code{CTIME},
10426@code{GMTIME}, and @code{LTIME}.
10427
9c6ba682
UD
10428@cindex wraparound, timings
10429@cindex limits, timings
10430@emph{Warning:} this intrinsic does not increase the range
10431of the timing values over that returned by @code{time(3)}.
10432On a system with a 32-bit @code{time(3)},
10433@code{TIME8} will return a 32-bit value,
10434even though converted to an @samp{INTEGER(KIND=2)} value.
10435That means overflows of the 32-bit value can still occur.
10436Therefore, the values returned by this intrinsic
10437might be, or become, negative,
10438or numerically less than previous values,
10439during a single run of the compiled program.
10440
177873a5
JW
10441No Fortran implementations other than GNU Fortran are
10442known to support this intrinsic at the time of this
10443writing.
10444@xref{Time Intrinsic (UNIX)}, for information on a
10445similar intrinsic that might be portable to more Fortran
10446compilers, though to fewer GNU Fortran implementations.
10447
10448@end ifset
10449@ifset familyF90
10450@node Tiny Intrinsic
10451@subsubsection Tiny Intrinsic
10452@cindex Tiny intrinsic
10453@cindex intrinsics, Tiny
10454
10455This intrinsic is not yet implemented.
10456The name is, however, reserved as an intrinsic.
10457Use @samp{EXTERNAL Tiny} to use this name for an
10458external procedure.
10459
10460@node Transfer Intrinsic
10461@subsubsection Transfer Intrinsic
10462@cindex Transfer intrinsic
10463@cindex intrinsics, Transfer
10464
10465This intrinsic is not yet implemented.
10466The name is, however, reserved as an intrinsic.
10467Use @samp{EXTERNAL Transfer} to use this name for an
10468external procedure.
10469
10470@node Transpose Intrinsic
10471@subsubsection Transpose Intrinsic
10472@cindex Transpose intrinsic
10473@cindex intrinsics, Transpose
10474
10475This intrinsic is not yet implemented.
10476The name is, however, reserved as an intrinsic.
10477Use @samp{EXTERNAL Transpose} to use this name for an
10478external procedure.
10479
10480@node Trim Intrinsic
10481@subsubsection Trim Intrinsic
10482@cindex Trim intrinsic
10483@cindex intrinsics, Trim
10484
10485This intrinsic is not yet implemented.
10486The name is, however, reserved as an intrinsic.
10487Use @samp{EXTERNAL Trim} to use this name for an
10488external procedure.
10489
10490@end ifset
10491@ifset familyF2U
10492@node TtyNam Intrinsic (subroutine)
10493@subsubsection TtyNam Intrinsic (subroutine)
10494@cindex TtyNam intrinsic
10495@cindex intrinsics, TtyNam
10496
10497@noindent
10498@example
e0f0f526 10499CALL TtyNam(@var{Unit}, @var{Name})
177873a5
JW
10500@end example
10501
10502@noindent
e0f0f526 10503@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
177873a5
JW
10504
10505@noindent
e0f0f526 10506@var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
177873a5
JW
10507
10508@noindent
10509Intrinsic groups: @code{unix}.
10510
10511@noindent
10512Description:
10513
10514Sets @var{Name} to the name of the terminal device open on logical unit
e0f0f526 10515@var{Unit} or to a blank string if @var{Unit} is not connected to a
177873a5
JW
10516terminal.
10517
10518Some non-GNU implementations of Fortran provide this intrinsic as
10519only a function, not as a subroutine.
10520
10521For information on other intrinsics with the same name:
10522@xref{TtyNam Intrinsic (function)}.
10523
10524@node TtyNam Intrinsic (function)
10525@subsubsection TtyNam Intrinsic (function)
10526@cindex TtyNam intrinsic
10527@cindex intrinsics, TtyNam
10528
10529@noindent
10530@example
10531TtyNam(@var{Unit})
10532@end example
10533
10534@noindent
10535TtyNam: @code{CHARACTER*(*)} function.
10536
10537@noindent
10538@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
10539
10540@noindent
10541Intrinsic groups: @code{unix}.
10542
10543@noindent
10544Description:
10545
10546Returns the name of the terminal device open on logical unit
10547@var{Unit} or a blank string if @var{Unit} is not connected to a
10548terminal.
10549
10550For information on other intrinsics with the same name:
10551@xref{TtyNam Intrinsic (subroutine)}.
10552
10553@end ifset
10554@ifset familyF90
10555@node UBound Intrinsic
10556@subsubsection UBound Intrinsic
10557@cindex UBound intrinsic
10558@cindex intrinsics, UBound
10559
10560This intrinsic is not yet implemented.
10561The name is, however, reserved as an intrinsic.
10562Use @samp{EXTERNAL UBound} to use this name for an
10563external procedure.
10564
10565@end ifset
10566@ifset familyF2U
10567@node UMask Intrinsic (subroutine)
10568@subsubsection UMask Intrinsic (subroutine)
10569@cindex UMask intrinsic
10570@cindex intrinsics, UMask
10571
10572@noindent
10573@example
10574CALL UMask(@var{Mask}, @var{Old})
10575@end example
10576
10577@noindent
10578@var{Mask}: @code{INTEGER}; scalar; INTENT(IN).
10579
10580@noindent
10581@var{Old}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
10582
10583@noindent
10584Intrinsic groups: @code{unix}.
10585
10586@noindent
10587Description:
10588
10589Sets the file creation mask to @var{Mask} and returns the old value in
10590argument @var{Old} if it is supplied.
10591See @code{umask(2)}.
10592
10593Some non-GNU implementations of Fortran provide this intrinsic as
10594only a function, not as a subroutine.
10595
10596For information on other intrinsics with the same name:
10597@xref{UMask Intrinsic (function)}.
10598
10599@end ifset
10600@ifset familyBADU77
10601@node UMask Intrinsic (function)
10602@subsubsection UMask Intrinsic (function)
10603@cindex UMask intrinsic
10604@cindex intrinsics, UMask
10605
10606@noindent
10607@example
10608UMask(@var{Mask})
10609@end example
10610
10611@noindent
10612UMask: @code{INTEGER(KIND=1)} function.
10613
10614@noindent
10615@var{Mask}: @code{INTEGER}; scalar; INTENT(IN).
10616
10617@noindent
10618Intrinsic groups: @code{badu77}.
10619
10620@noindent
10621Description:
10622
10623Sets the file creation mask to @var{Mask} and returns the old value.
10624See @code{umask(2)}.
10625
10626Due to the side effects performed by this intrinsic, the function
10627form is not recommended.
10628
10629For information on other intrinsics with the same name:
10630@xref{UMask Intrinsic (subroutine)}.
10631
10632@end ifset
10633@ifset familyF2U
10634@node Unlink Intrinsic (subroutine)
10635@subsubsection Unlink Intrinsic (subroutine)
10636@cindex Unlink intrinsic
10637@cindex intrinsics, Unlink
10638
10639@noindent
10640@example
10641CALL Unlink(@var{File}, @var{Status})
10642@end example
10643
10644@noindent
10645@var{File}: @code{CHARACTER}; scalar; INTENT(IN).
10646
10647@noindent
10648@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
10649
10650@noindent
10651Intrinsic groups: @code{unix}.
10652
10653@noindent
10654Description:
10655
10656Unlink the file @var{File}.
10657A null character (@samp{CHAR(0)}) marks the end of
10658the name in @var{File}---otherwise,
10659trailing blanks in @var{File} are ignored.
10660If the @var{Status} argument is supplied, it contains
68e7a7c9 106610 on success or a nonzero error code upon return.
177873a5
JW
10662See @code{unlink(2)}.
10663
10664Some non-GNU implementations of Fortran provide this intrinsic as
10665only a function, not as a subroutine, or do not support the
10666(optional) @var{Status} argument.
10667
10668For information on other intrinsics with the same name:
10669@xref{Unlink Intrinsic (function)}.
10670
10671@end ifset
10672@ifset familyBADU77
10673@node Unlink Intrinsic (function)
10674@subsubsection Unlink Intrinsic (function)
10675@cindex Unlink intrinsic
10676@cindex intrinsics, Unlink
10677
10678@noindent
10679@example
10680Unlink(@var{File})
10681@end example
10682
10683@noindent
10684Unlink: @code{INTEGER(KIND=1)} function.
10685
10686@noindent
10687@var{File}: @code{CHARACTER}; scalar; INTENT(IN).
10688
10689@noindent
10690Intrinsic groups: @code{badu77}.
10691
10692@noindent
10693Description:
10694
10695Unlink the file @var{File}.
10696A null character (@samp{CHAR(0)}) marks the end of
10697the name in @var{File}---otherwise,
10698trailing blanks in @var{File} are ignored.
68e7a7c9 10699Returns 0 on success or a nonzero error code.
177873a5
JW
10700See @code{unlink(2)}.
10701
10702Due to the side effects performed by this intrinsic, the function
10703form is not recommended.
10704
10705For information on other intrinsics with the same name:
10706@xref{Unlink Intrinsic (subroutine)}.
10707
10708@end ifset
10709@ifset familyF90
10710@node Unpack Intrinsic
10711@subsubsection Unpack Intrinsic
10712@cindex Unpack intrinsic
10713@cindex intrinsics, Unpack
10714
10715This intrinsic is not yet implemented.
10716The name is, however, reserved as an intrinsic.
10717Use @samp{EXTERNAL Unpack} to use this name for an
10718external procedure.
10719
10720@node Verify Intrinsic
10721@subsubsection Verify Intrinsic
10722@cindex Verify intrinsic
10723@cindex intrinsics, Verify
10724
10725This intrinsic is not yet implemented.
10726The name is, however, reserved as an intrinsic.
10727Use @samp{EXTERNAL Verify} to use this name for an
10728external procedure.
10729
10730@end ifset
10731@ifset familyF2C
10732@node XOr Intrinsic
10733@subsubsection XOr Intrinsic
10734@cindex XOr intrinsic
10735@cindex intrinsics, XOr
10736
10737@noindent
10738@example
10739XOr(@var{I}, @var{J})
10740@end example
10741
10742@noindent
10743XOr: @code{INTEGER} or @code{LOGICAL} function, the exact type being the result of cross-promoting the
10744types of all the arguments.
10745
10746@noindent
10747@var{I}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
10748
10749@noindent
10750@var{J}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
10751
10752@noindent
10753Intrinsic groups: @code{f2c}.
10754
10755@noindent
10756Description:
10757
10758Returns value resulting from boolean exclusive-OR of
10759pair of bits in each of @var{I} and @var{J}.
10760
10761@node ZAbs Intrinsic
10762@subsubsection ZAbs Intrinsic
10763@cindex ZAbs intrinsic
10764@cindex intrinsics, ZAbs
10765
10766@noindent
10767@example
10768ZAbs(@var{A})
10769@end example
10770
10771@noindent
10772ZAbs: @code{REAL(KIND=2)} function.
10773
10774@noindent
10775@var{A}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10776
10777@noindent
10778Intrinsic groups: @code{f2c}.
10779
10780@noindent
10781Description:
10782
10783Archaic form of @code{ABS()} that is specific
10784to one type for @var{A}.
10785@xref{Abs Intrinsic}.
10786
10787@node ZCos Intrinsic
10788@subsubsection ZCos Intrinsic
10789@cindex ZCos intrinsic
10790@cindex intrinsics, ZCos
10791
10792@noindent
10793@example
10794ZCos(@var{X})
10795@end example
10796
10797@noindent
10798ZCos: @code{COMPLEX(KIND=2)} function.
10799
10800@noindent
10801@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10802
10803@noindent
10804Intrinsic groups: @code{f2c}.
10805
10806@noindent
10807Description:
10808
10809Archaic form of @code{COS()} that is specific
10810to one type for @var{X}.
10811@xref{Cos Intrinsic}.
10812
10813@node ZExp Intrinsic
10814@subsubsection ZExp Intrinsic
10815@cindex ZExp intrinsic
10816@cindex intrinsics, ZExp
10817
10818@noindent
10819@example
10820ZExp(@var{X})
10821@end example
10822
10823@noindent
10824ZExp: @code{COMPLEX(KIND=2)} function.
10825
10826@noindent
10827@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10828
10829@noindent
10830Intrinsic groups: @code{f2c}.
10831
10832@noindent
10833Description:
10834
10835Archaic form of @code{EXP()} that is specific
10836to one type for @var{X}.
10837@xref{Exp Intrinsic}.
10838
10839@end ifset
10840@ifset familyVXT
10841@node ZExt Intrinsic
10842@subsubsection ZExt Intrinsic
10843@cindex ZExt intrinsic
10844@cindex intrinsics, ZExt
10845
10846This intrinsic is not yet implemented.
10847The name is, however, reserved as an intrinsic.
10848Use @samp{EXTERNAL ZExt} to use this name for an
10849external procedure.
10850
10851@end ifset
10852@ifset familyF2C
10853@node ZLog Intrinsic
10854@subsubsection ZLog Intrinsic
10855@cindex ZLog intrinsic
10856@cindex intrinsics, ZLog
10857
10858@noindent
10859@example
10860ZLog(@var{X})
10861@end example
10862
10863@noindent
10864ZLog: @code{COMPLEX(KIND=2)} function.
10865
10866@noindent
10867@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10868
10869@noindent
10870Intrinsic groups: @code{f2c}.
10871
10872@noindent
10873Description:
10874
10875Archaic form of @code{LOG()} that is specific
10876to one type for @var{X}.
10877@xref{Log Intrinsic}.
10878
10879@node ZSin Intrinsic
10880@subsubsection ZSin Intrinsic
10881@cindex ZSin intrinsic
10882@cindex intrinsics, ZSin
10883
10884@noindent
10885@example
10886ZSin(@var{X})
10887@end example
10888
10889@noindent
10890ZSin: @code{COMPLEX(KIND=2)} function.
10891
10892@noindent
10893@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10894
10895@noindent
10896Intrinsic groups: @code{f2c}.
10897
10898@noindent
10899Description:
10900
10901Archaic form of @code{SIN()} that is specific
10902to one type for @var{X}.
10903@xref{Sin Intrinsic}.
10904
10905@node ZSqRt Intrinsic
10906@subsubsection ZSqRt Intrinsic
10907@cindex ZSqRt intrinsic
10908@cindex intrinsics, ZSqRt
10909
10910@noindent
10911@example
10912ZSqRt(@var{X})
10913@end example
10914
10915@noindent
10916ZSqRt: @code{COMPLEX(KIND=2)} function.
10917
10918@noindent
10919@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10920
10921@noindent
10922Intrinsic groups: @code{f2c}.
10923
10924@noindent
10925Description:
10926
10927Archaic form of @code{SQRT()} that is specific
10928to one type for @var{X}.
10929@xref{SqRt Intrinsic}.
10930
10931@end ifset