]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/f/intdoc.texi
typo typo fixes fixes
[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).
49* ALog10 Intrinsic:: Natural logarithm (archaic).
50* AMax0 Intrinsic:: Maximum value (archaic).
51* AMax1 Intrinsic:: Maximum value (archaic).
52* AMin0 Intrinsic:: Minimum value (archaic).
53* AMin1 Intrinsic:: Minimum value (archaic).
54* AMod Intrinsic:: Remainder (archaic).
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
187* Date_and_Time Intrinsic:: (Reserved for future use.)
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).
243* DLog10 Intrinsic:: Natural logarithm (archaic).
244* DMax1 Intrinsic:: Maximum value (archaic).
245* DMin1 Intrinsic:: Minimum value (archaic).
246* DMod Intrinsic:: Remainder (archaic).
247* DNInt Intrinsic:: Round to nearest whole number (archaic).
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
277* Dtime Intrinsic (subroutine):: Get elapsed time since last time.
278@end ifset
279@ifset familyBADU77
280* Dtime Intrinsic (function):: Get elapsed time since last time.
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
300* Fdate Intrinsic (subroutine):: Get current time as Day Mon dd hh:mm:ss yyyy.
301* Fdate Intrinsic (function):: Get current time as Day Mon dd hh:mm:ss yyyy.
302* FGet Intrinsic (subroutine):: Read a character from unit 5 stream-wise.
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.
533* Log10 Intrinsic:: Natural logarithm.
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
871SQRT(REALPART(@var{A})**2, IMAGPART(@var{A})**2)
872@end example
873
874@noindent
875Otherwise, it is computed by negating the @var{A} if
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
1676@var{N}: @code{INTEGER}; scalar; INTENT(IN).
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
1751@var{N}: @code{INTEGER}; scalar; INTENT(IN).
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
2229on success or a non-zero error code otherwise upon return.
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
2234because the I/O library may reopen files by name.
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}.
2268Returns 0 on success or a non-zero error code.
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
2273because the I/O library may reopen files by name.
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
23180 on success or a non-zero error code upon return.
2319
2320Note that this currently works
2321by actually invoking @code{/bin/chmod} (or the @code{chmod} found when
2322the library was configured) and so may fail in some circumstances and
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
2368Returns 0 on success or a non-zero error code otherwise.
2369
2370Note that this currently works
2371by actually invoking @code{/bin/chmod} (or the @code{chmod} found when
2372the library was configured) and so may fail in some circumstances and
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
2629@node CShift Intrinsic
2630@subsubsection CShift Intrinsic
2631@cindex CShift intrinsic
2632@cindex intrinsics, CShift
2633
2634This intrinsic is not yet implemented.
2635The name is, however, reserved as an intrinsic.
2636Use @samp{EXTERNAL CShift} to use this name for an
2637external procedure.
2638
2639@end ifset
2640@ifset familyF77
2641@node CSin Intrinsic
2642@subsubsection CSin Intrinsic
2643@cindex CSin intrinsic
2644@cindex intrinsics, CSin
2645
2646@noindent
2647@example
2648CSin(@var{X})
2649@end example
2650
2651@noindent
2652CSin: @code{COMPLEX(KIND=1)} function.
2653
2654@noindent
2655@var{X}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
2656
2657@noindent
2658Intrinsic groups: (standard FORTRAN 77).
2659
2660@noindent
2661Description:
2662
2663Archaic form of @code{SIN()} that is specific
2664to one type for @var{X}.
2665@xref{Sin Intrinsic}.
2666
2667@node CSqRt Intrinsic
2668@subsubsection CSqRt Intrinsic
2669@cindex CSqRt intrinsic
2670@cindex intrinsics, CSqRt
2671
2672@noindent
2673@example
2674CSqRt(@var{X})
2675@end example
2676
2677@noindent
2678CSqRt: @code{COMPLEX(KIND=1)} function.
2679
2680@noindent
2681@var{X}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
2682
2683@noindent
2684Intrinsic groups: (standard FORTRAN 77).
2685
2686@noindent
2687Description:
2688
2689Archaic form of @code{SQRT()} that is specific
2690to one type for @var{X}.
2691@xref{SqRt Intrinsic}.
2692
2693@end ifset
2694@ifset familyF2U
2695@node CTime Intrinsic (subroutine)
2696@subsubsection CTime Intrinsic (subroutine)
2697@cindex CTime intrinsic
2698@cindex intrinsics, CTime
2699
2700@noindent
2701@example
2702CALL CTime(@var{Result}, @var{STime})
2703@end example
2704
2705@noindent
2706@var{Result}: @code{CHARACTER}; scalar; INTENT(OUT).
2707
2708@noindent
2709@var{STime}: @code{INTEGER}; scalar; INTENT(IN).
2710
2711@noindent
2712Intrinsic groups: @code{unix}.
2713
2714@noindent
2715Description:
2716
2717Converts @var{STime}, a system time value, such as returned by
2718@code{TIME8()}, to a string of the form @samp{Sat Aug 19 18:13:14 1995},
2719and returns that string in @var{Result}.
2720
2721@xref{Time8 Intrinsic}.
2722
2723Some non-GNU implementations of Fortran provide this intrinsic as
2724only a function, not as a subroutine.
2725
2726For information on other intrinsics with the same name:
2727@xref{CTime Intrinsic (function)}.
2728
2729@node CTime Intrinsic (function)
2730@subsubsection CTime Intrinsic (function)
2731@cindex CTime intrinsic
2732@cindex intrinsics, CTime
2733
2734@noindent
2735@example
2736CTime(@var{STime})
2737@end example
2738
2739@noindent
2740CTime: @code{CHARACTER*(*)} function.
2741
2742@noindent
2743@var{STime}: @code{INTEGER}; scalar; INTENT(IN).
2744
2745@noindent
2746Intrinsic groups: @code{unix}.
2747
2748@noindent
2749Description:
2750
2751Converts @var{STime}, a system time value, such as returned by
2752@code{TIME8()}, to a string of the form @samp{Sat Aug 19 18:13:14 1995},
2753and returns that string as the function value.
2754
2755@xref{Time8 Intrinsic}.
2756
2757For information on other intrinsics with the same name:
2758@xref{CTime Intrinsic (subroutine)}.
2759
2760@end ifset
2761@ifset familyF77
2762@node DAbs Intrinsic
2763@subsubsection DAbs Intrinsic
2764@cindex DAbs intrinsic
2765@cindex intrinsics, DAbs
2766
2767@noindent
2768@example
2769DAbs(@var{A})
2770@end example
2771
2772@noindent
2773DAbs: @code{REAL(KIND=2)} function.
2774
2775@noindent
2776@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2777
2778@noindent
2779Intrinsic groups: (standard FORTRAN 77).
2780
2781@noindent
2782Description:
2783
2784Archaic form of @code{ABS()} that is specific
2785to one type for @var{A}.
2786@xref{Abs Intrinsic}.
2787
2788@node DACos Intrinsic
2789@subsubsection DACos Intrinsic
2790@cindex DACos intrinsic
2791@cindex intrinsics, DACos
2792
2793@noindent
2794@example
2795DACos(@var{X})
2796@end example
2797
2798@noindent
2799DACos: @code{REAL(KIND=2)} function.
2800
2801@noindent
2802@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2803
2804@noindent
2805Intrinsic groups: (standard FORTRAN 77).
2806
2807@noindent
2808Description:
2809
2810Archaic form of @code{ACOS()} that is specific
2811to one type for @var{X}.
2812@xref{ACos Intrinsic}.
2813
2814@end ifset
2815@ifset familyVXT
2816@node DACosD Intrinsic
2817@subsubsection DACosD Intrinsic
2818@cindex DACosD intrinsic
2819@cindex intrinsics, DACosD
2820
2821This intrinsic is not yet implemented.
2822The name is, however, reserved as an intrinsic.
2823Use @samp{EXTERNAL DACosD} to use this name for an
2824external procedure.
2825
2826@end ifset
2827@ifset familyF77
2828@node DASin Intrinsic
2829@subsubsection DASin Intrinsic
2830@cindex DASin intrinsic
2831@cindex intrinsics, DASin
2832
2833@noindent
2834@example
2835DASin(@var{X})
2836@end example
2837
2838@noindent
2839DASin: @code{REAL(KIND=2)} function.
2840
2841@noindent
2842@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2843
2844@noindent
2845Intrinsic groups: (standard FORTRAN 77).
2846
2847@noindent
2848Description:
2849
2850Archaic form of @code{ASIN()} that is specific
2851to one type for @var{X}.
2852@xref{ASin Intrinsic}.
2853
2854@end ifset
2855@ifset familyVXT
2856@node DASinD Intrinsic
2857@subsubsection DASinD Intrinsic
2858@cindex DASinD intrinsic
2859@cindex intrinsics, DASinD
2860
2861This intrinsic is not yet implemented.
2862The name is, however, reserved as an intrinsic.
2863Use @samp{EXTERNAL DASinD} to use this name for an
2864external procedure.
2865
2866@end ifset
2867@ifset familyF77
2868@node DATan Intrinsic
2869@subsubsection DATan Intrinsic
2870@cindex DATan intrinsic
2871@cindex intrinsics, DATan
2872
2873@noindent
2874@example
2875DATan(@var{X})
2876@end example
2877
2878@noindent
2879DATan: @code{REAL(KIND=2)} function.
2880
2881@noindent
2882@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2883
2884@noindent
2885Intrinsic groups: (standard FORTRAN 77).
2886
2887@noindent
2888Description:
2889
2890Archaic form of @code{ATAN()} that is specific
2891to one type for @var{X}.
2892@xref{ATan Intrinsic}.
2893
2894@node DATan2 Intrinsic
2895@subsubsection DATan2 Intrinsic
2896@cindex DATan2 intrinsic
2897@cindex intrinsics, DATan2
2898
2899@noindent
2900@example
2901DATan2(@var{Y}, @var{X})
2902@end example
2903
2904@noindent
2905DATan2: @code{REAL(KIND=2)} function.
2906
2907@noindent
2908@var{Y}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2909
2910@noindent
2911@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
2912
2913@noindent
2914Intrinsic groups: (standard FORTRAN 77).
2915
2916@noindent
2917Description:
2918
2919Archaic form of @code{ATAN2()} that is specific
2920to one type for @var{Y} and @var{X}.
2921@xref{ATan2 Intrinsic}.
2922
2923@end ifset
2924@ifset familyVXT
2925@node DATan2D Intrinsic
2926@subsubsection DATan2D Intrinsic
2927@cindex DATan2D intrinsic
2928@cindex intrinsics, DATan2D
2929
2930This intrinsic is not yet implemented.
2931The name is, however, reserved as an intrinsic.
2932Use @samp{EXTERNAL DATan2D} to use this name for an
2933external procedure.
2934
2935@node DATanD Intrinsic
2936@subsubsection DATanD Intrinsic
2937@cindex DATanD intrinsic
2938@cindex intrinsics, DATanD
2939
2940This intrinsic is not yet implemented.
2941The name is, however, reserved as an intrinsic.
2942Use @samp{EXTERNAL DATanD} to use this name for an
2943external procedure.
2944
2945@node Date Intrinsic
2946@subsubsection Date Intrinsic
2947@cindex Date intrinsic
2948@cindex intrinsics, Date
2949
2950@noindent
2951@example
2952CALL Date(@var{Date})
2953@end example
2954
2955@noindent
2956@var{Date}: @code{CHARACTER}; scalar; INTENT(OUT).
2957
2958@noindent
2959Intrinsic groups: @code{vxt}.
2960
2961@noindent
2962Description:
2963
2964Returns @var{Date} in the form @samp{@var{dd}-@var{mmm}-@var{yy}},
2965representing the numeric day of the month @var{dd}, a three-character
2966abbreviation of the month name @var{mmm} and the last two digits of
2967the year @var{yy}, e.g.@ @samp{25-Nov-96}.
2968
2969This intrinsic is not recommended, due to the year 2000 approaching.
2970@xref{CTime Intrinsic (subroutine)}, for information on obtaining more digits
2971for the current (or any) date.
2972
2973@end ifset
2974@ifset familyF90
2975@node Date_and_Time Intrinsic
2976@subsubsection Date_and_Time Intrinsic
2977@cindex Date_and_Time intrinsic
2978@cindex intrinsics, Date_and_Time
2979
2980This intrinsic is not yet implemented.
2981The name is, however, reserved as an intrinsic.
2982Use @samp{EXTERNAL Date_and_Time} to use this name for an
2983external procedure.
2984
2985@end ifset
2986@ifset familyF2U
2987@node DbesJ0 Intrinsic
2988@subsubsection DbesJ0 Intrinsic
2989@cindex DbesJ0 intrinsic
2990@cindex intrinsics, DbesJ0
2991
2992@noindent
2993@example
2994DbesJ0(@var{X})
2995@end example
2996
2997@noindent
2998DbesJ0: @code{REAL(KIND=2)} function.
2999
3000@noindent
3001@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3002
3003@noindent
3004Intrinsic groups: @code{unix}.
3005
3006@noindent
3007Description:
3008
3009Archaic form of @code{BESJ0()} that is specific
3010to one type for @var{X}.
3011@xref{BesJ0 Intrinsic}.
3012
3013@node DbesJ1 Intrinsic
3014@subsubsection DbesJ1 Intrinsic
3015@cindex DbesJ1 intrinsic
3016@cindex intrinsics, DbesJ1
3017
3018@noindent
3019@example
3020DbesJ1(@var{X})
3021@end example
3022
3023@noindent
3024DbesJ1: @code{REAL(KIND=2)} function.
3025
3026@noindent
3027@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3028
3029@noindent
3030Intrinsic groups: @code{unix}.
3031
3032@noindent
3033Description:
3034
3035Archaic form of @code{BESJ1()} that is specific
3036to one type for @var{X}.
3037@xref{BesJ1 Intrinsic}.
3038
3039@node DbesJN Intrinsic
3040@subsubsection DbesJN Intrinsic
3041@cindex DbesJN intrinsic
3042@cindex intrinsics, DbesJN
3043
3044@noindent
3045@example
3046DbesJN(@var{N}, @var{X})
3047@end example
3048
3049@noindent
3050DbesJN: @code{REAL(KIND=2)} function.
3051
3052@noindent
3053@var{N}: @code{INTEGER}; scalar; INTENT(IN).
3054
3055@noindent
3056@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3057
3058@noindent
3059Intrinsic groups: @code{unix}.
3060
3061@noindent
3062Description:
3063
3064Archaic form of @code{BESJN()} that is specific
3065to one type for @var{X}.
3066@xref{BesJN Intrinsic}.
3067
3068@node DbesY0 Intrinsic
3069@subsubsection DbesY0 Intrinsic
3070@cindex DbesY0 intrinsic
3071@cindex intrinsics, DbesY0
3072
3073@noindent
3074@example
3075DbesY0(@var{X})
3076@end example
3077
3078@noindent
3079DbesY0: @code{REAL(KIND=2)} function.
3080
3081@noindent
3082@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3083
3084@noindent
3085Intrinsic groups: @code{unix}.
3086
3087@noindent
3088Description:
3089
3090Archaic form of @code{BESY0()} that is specific
3091to one type for @var{X}.
3092@xref{BesY0 Intrinsic}.
3093
3094@node DbesY1 Intrinsic
3095@subsubsection DbesY1 Intrinsic
3096@cindex DbesY1 intrinsic
3097@cindex intrinsics, DbesY1
3098
3099@noindent
3100@example
3101DbesY1(@var{X})
3102@end example
3103
3104@noindent
3105DbesY1: @code{REAL(KIND=2)} function.
3106
3107@noindent
3108@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3109
3110@noindent
3111Intrinsic groups: @code{unix}.
3112
3113@noindent
3114Description:
3115
3116Archaic form of @code{BESY1()} that is specific
3117to one type for @var{X}.
3118@xref{BesY1 Intrinsic}.
3119
3120@node DbesYN Intrinsic
3121@subsubsection DbesYN Intrinsic
3122@cindex DbesYN intrinsic
3123@cindex intrinsics, DbesYN
3124
3125@noindent
3126@example
3127DbesYN(@var{N}, @var{X})
3128@end example
3129
3130@noindent
3131DbesYN: @code{REAL(KIND=2)} function.
3132
3133@noindent
3134@var{N}: @code{INTEGER}; scalar; INTENT(IN).
3135
3136@noindent
3137@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3138
3139@noindent
3140Intrinsic groups: @code{unix}.
3141
3142@noindent
3143Description:
3144
3145Archaic form of @code{BESYN()} that is specific
3146to one type for @var{X}.
3147@xref{BesYN Intrinsic}.
3148
3149@end ifset
3150@ifset familyF77
3151@node Dble Intrinsic
3152@subsubsection Dble Intrinsic
3153@cindex Dble intrinsic
3154@cindex intrinsics, Dble
3155
3156@noindent
3157@example
3158Dble(@var{A})
3159@end example
3160
3161@noindent
3162Dble: @code{REAL(KIND=2)} function.
3163
3164@noindent
3165@var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
3166
3167@noindent
3168Intrinsic groups: (standard FORTRAN 77).
3169
3170@noindent
3171Description:
3172
3173Returns @var{A} converted to double precision
3174(@code{REAL(KIND=2)}).
3175If @var{A} is @code{COMPLEX}, the real part of
3176@var{A} is used for the conversion
3177and the imaginary part disregarded.
3178
3179@xref{Sngl Intrinsic}, for the function that converts
3180to single precision.
3181
3182@xref{Int Intrinsic}, for the function that converts
3183to @code{INTEGER}.
3184
3185@xref{Complex Intrinsic}, for the function that converts
3186to @code{COMPLEX}.
3187
3188@end ifset
3189@ifset familyVXT
3190@node DbleQ Intrinsic
3191@subsubsection DbleQ Intrinsic
3192@cindex DbleQ intrinsic
3193@cindex intrinsics, DbleQ
3194
3195This intrinsic is not yet implemented.
3196The name is, however, reserved as an intrinsic.
3197Use @samp{EXTERNAL DbleQ} to use this name for an
3198external procedure.
3199
3200@end ifset
3201@ifset familyFVZ
3202@node DCmplx Intrinsic
3203@subsubsection DCmplx Intrinsic
3204@cindex DCmplx intrinsic
3205@cindex intrinsics, DCmplx
3206
3207@noindent
3208@example
3209DCmplx(@var{X}, @var{Y})
3210@end example
3211
3212@noindent
3213DCmplx: @code{COMPLEX(KIND=2)} function.
3214
3215@noindent
3216@var{X}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
3217
3218@noindent
3219@var{Y}: @code{INTEGER} or @code{REAL}; OPTIONAL (must be omitted if @var{X} is @code{COMPLEX}); scalar; INTENT(IN).
3220
3221@noindent
3222Intrinsic groups: @code{f2c}, @code{vxt}.
3223
3224@noindent
3225Description:
3226
3227If @var{X} is not type @code{COMPLEX},
3228constructs a value of type @code{COMPLEX(KIND=2)} from the
3229real and imaginary values specified by @var{X} and
3230@var{Y}, respectively.
3231If @var{Y} is omitted, @samp{0D0} is assumed.
3232
3233If @var{X} is type @code{COMPLEX},
3234converts it to type @code{COMPLEX(KIND=2)}.
3235
3236Although this intrinsic is not standard Fortran,
3237it is a popular extension offered by many compilers
3238that support @code{DOUBLE COMPLEX}, since it offers
3239the easiest way to convert to @code{DOUBLE COMPLEX}
3240without using Fortran 90 features (such as the @samp{KIND=}
3241argument to the @code{CMPLX()} intrinsic).
3242
3243(@samp{CMPLX(0D0, 0D0)} returns a single-precision
3244@code{COMPLEX} result, as required by standard FORTRAN 77.
3245That's why so many compilers provide @code{DCMPLX()}, since
3246@samp{DCMPLX(0D0, 0D0)} returns a @code{DOUBLE COMPLEX}
3247result.
3248Still, @code{DCMPLX()} converts even @code{REAL*16} arguments
3249to their @code{REAL*8} equivalents in most dialects of
3250Fortran, so neither it nor @code{CMPLX()} allow easy
3251construction of arbitrary-precision values without
3252potentially forcing a conversion involving extending or
3253reducing precision.
3254GNU Fortran provides such an intrinsic, called @code{COMPLEX()}.)
3255
3256@xref{Complex Intrinsic}, for information on easily constructing
3257a @code{COMPLEX} value of arbitrary precision from @code{REAL}
3258arguments.
3259
3260@node DConjg Intrinsic
3261@subsubsection DConjg Intrinsic
3262@cindex DConjg intrinsic
3263@cindex intrinsics, DConjg
3264
3265@noindent
3266@example
3267DConjg(@var{Z})
3268@end example
3269
3270@noindent
3271DConjg: @code{COMPLEX(KIND=2)} function.
3272
3273@noindent
3274@var{Z}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
3275
3276@noindent
3277Intrinsic groups: @code{f2c}, @code{vxt}.
3278
3279@noindent
3280Description:
3281
3282Archaic form of @code{CONJG()} that is specific
3283to one type for @var{Z}.
0c65e50c 3284@xref{Conjg Intrinsic}.
177873a5
JW
3285
3286@end ifset
3287@ifset familyF77
3288@node DCos Intrinsic
3289@subsubsection DCos Intrinsic
3290@cindex DCos intrinsic
3291@cindex intrinsics, DCos
3292
3293@noindent
3294@example
3295DCos(@var{X})
3296@end example
3297
3298@noindent
3299DCos: @code{REAL(KIND=2)} function.
3300
3301@noindent
3302@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3303
3304@noindent
3305Intrinsic groups: (standard FORTRAN 77).
3306
3307@noindent
3308Description:
3309
3310Archaic form of @code{COS()} that is specific
3311to one type for @var{X}.
3312@xref{Cos Intrinsic}.
3313
3314@end ifset
3315@ifset familyVXT
3316@node DCosD Intrinsic
3317@subsubsection DCosD Intrinsic
3318@cindex DCosD intrinsic
3319@cindex intrinsics, DCosD
3320
3321This intrinsic is not yet implemented.
3322The name is, however, reserved as an intrinsic.
3323Use @samp{EXTERNAL DCosD} to use this name for an
3324external procedure.
3325
3326@end ifset
3327@ifset familyF77
3328@node DCosH Intrinsic
3329@subsubsection DCosH Intrinsic
3330@cindex DCosH intrinsic
3331@cindex intrinsics, DCosH
3332
3333@noindent
3334@example
3335DCosH(@var{X})
3336@end example
3337
3338@noindent
3339DCosH: @code{REAL(KIND=2)} function.
3340
3341@noindent
3342@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3343
3344@noindent
3345Intrinsic groups: (standard FORTRAN 77).
3346
3347@noindent
3348Description:
3349
3350Archaic form of @code{COSH()} that is specific
3351to one type for @var{X}.
3352@xref{CosH Intrinsic}.
3353
3354@node DDiM Intrinsic
3355@subsubsection DDiM Intrinsic
3356@cindex DDiM intrinsic
3357@cindex intrinsics, DDiM
3358
3359@noindent
3360@example
3361DDiM(@var{X}, @var{Y})
3362@end example
3363
3364@noindent
3365DDiM: @code{REAL(KIND=2)} function.
3366
3367@noindent
3368@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3369
3370@noindent
3371@var{Y}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3372
3373@noindent
3374Intrinsic groups: (standard FORTRAN 77).
3375
3376@noindent
3377Description:
3378
3379Archaic form of @code{DIM()} that is specific
3380to one type for @var{X} and @var{Y}.
3381@xref{DiM Intrinsic}.
3382
3383@end ifset
3384@ifset familyF2U
3385@node DErF Intrinsic
3386@subsubsection DErF Intrinsic
3387@cindex DErF intrinsic
3388@cindex intrinsics, DErF
3389
3390@noindent
3391@example
3392DErF(@var{X})
3393@end example
3394
3395@noindent
3396DErF: @code{REAL(KIND=2)} function.
3397
3398@noindent
3399@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3400
3401@noindent
3402Intrinsic groups: @code{unix}.
3403
3404@noindent
3405Description:
3406
3407Archaic form of @code{ERF()} that is specific
3408to one type for @var{X}.
3409@xref{ErF Intrinsic}.
3410
3411@node DErFC Intrinsic
3412@subsubsection DErFC Intrinsic
3413@cindex DErFC intrinsic
3414@cindex intrinsics, DErFC
3415
3416@noindent
3417@example
3418DErFC(@var{X})
3419@end example
3420
3421@noindent
3422DErFC: @code{REAL(KIND=2)} function.
3423
3424@noindent
3425@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3426
3427@noindent
3428Intrinsic groups: @code{unix}.
3429
3430@noindent
3431Description:
3432
3433Archaic form of @code{ERFC()} that is specific
3434to one type for @var{X}.
3435@xref{ErFC Intrinsic}.
3436
3437@end ifset
3438@ifset familyF77
3439@node DExp Intrinsic
3440@subsubsection DExp Intrinsic
3441@cindex DExp intrinsic
3442@cindex intrinsics, DExp
3443
3444@noindent
3445@example
3446DExp(@var{X})
3447@end example
3448
3449@noindent
3450DExp: @code{REAL(KIND=2)} function.
3451
3452@noindent
3453@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3454
3455@noindent
3456Intrinsic groups: (standard FORTRAN 77).
3457
3458@noindent
3459Description:
3460
3461Archaic form of @code{EXP()} that is specific
3462to one type for @var{X}.
3463@xref{Exp Intrinsic}.
3464
3465@end ifset
3466@ifset familyFVZ
3467@node DFloat Intrinsic
3468@subsubsection DFloat Intrinsic
3469@cindex DFloat intrinsic
3470@cindex intrinsics, DFloat
3471
3472@noindent
3473@example
3474DFloat(@var{A})
3475@end example
3476
3477@noindent
3478DFloat: @code{REAL(KIND=2)} function.
3479
3480@noindent
3481@var{A}: @code{INTEGER}; scalar; INTENT(IN).
3482
3483@noindent
3484Intrinsic groups: @code{f2c}, @code{vxt}.
3485
3486@noindent
3487Description:
3488
3489Archaic form of @code{REAL()} that is specific
3490to one type for @var{A}.
3491@xref{Real Intrinsic}.
3492
3493@end ifset
3494@ifset familyVXT
3495@node DFlotI Intrinsic
3496@subsubsection DFlotI Intrinsic
3497@cindex DFlotI intrinsic
3498@cindex intrinsics, DFlotI
3499
3500This intrinsic is not yet implemented.
3501The name is, however, reserved as an intrinsic.
3502Use @samp{EXTERNAL DFlotI} to use this name for an
3503external procedure.
3504
3505@node DFlotJ Intrinsic
3506@subsubsection DFlotJ Intrinsic
3507@cindex DFlotJ intrinsic
3508@cindex intrinsics, DFlotJ
3509
3510This intrinsic is not yet implemented.
3511The name is, however, reserved as an intrinsic.
3512Use @samp{EXTERNAL DFlotJ} to use this name for an
3513external procedure.
3514
3515@end ifset
3516@ifset familyF90
3517@node Digits Intrinsic
3518@subsubsection Digits Intrinsic
3519@cindex Digits intrinsic
3520@cindex intrinsics, Digits
3521
3522This intrinsic is not yet implemented.
3523The name is, however, reserved as an intrinsic.
3524Use @samp{EXTERNAL Digits} to use this name for an
3525external procedure.
3526
3527@end ifset
3528@ifset familyF77
3529@node DiM Intrinsic
3530@subsubsection DiM Intrinsic
3531@cindex DiM intrinsic
3532@cindex intrinsics, DiM
3533
3534@noindent
3535@example
3536DiM(@var{X}, @var{Y})
3537@end example
3538
3539@noindent
3540DiM: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
3541types of all the arguments.
3542
3543@noindent
3544@var{X}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
3545
3546@noindent
3547@var{Y}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
3548
3549@noindent
3550Intrinsic groups: (standard FORTRAN 77).
3551
3552@noindent
3553Description:
3554
3555Returns @samp{@var{X}-@var{Y}} if @var{X} is greater than
3556@var{Y}; otherwise returns zero.
3557
3558@end ifset
3559@ifset familyFVZ
3560@node DImag Intrinsic
3561@subsubsection DImag Intrinsic
3562@cindex DImag intrinsic
3563@cindex intrinsics, DImag
3564
3565@noindent
3566@example
3567DImag(@var{Z})
3568@end example
3569
3570@noindent
3571DImag: @code{REAL(KIND=2)} function.
3572
3573@noindent
3574@var{Z}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
3575
3576@noindent
3577Intrinsic groups: @code{f2c}, @code{vxt}.
3578
3579@noindent
3580Description:
3581
3582Archaic form of @code{AIMAG()} that is specific
3583to one type for @var{Z}.
3584@xref{AImag Intrinsic}.
3585
3586@end ifset
3587@ifset familyF77
3588@node DInt Intrinsic
3589@subsubsection DInt Intrinsic
3590@cindex DInt intrinsic
3591@cindex intrinsics, DInt
3592
3593@noindent
3594@example
3595DInt(@var{A})
3596@end example
3597
3598@noindent
3599DInt: @code{REAL(KIND=2)} function.
3600
3601@noindent
3602@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3603
3604@noindent
3605Intrinsic groups: (standard FORTRAN 77).
3606
3607@noindent
3608Description:
3609
3610Archaic form of @code{AINT()} that is specific
3611to one type for @var{A}.
3612@xref{AInt Intrinsic}.
3613
3614@node DLog Intrinsic
3615@subsubsection DLog Intrinsic
3616@cindex DLog intrinsic
3617@cindex intrinsics, DLog
3618
3619@noindent
3620@example
3621DLog(@var{X})
3622@end example
3623
3624@noindent
3625DLog: @code{REAL(KIND=2)} function.
3626
3627@noindent
3628@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3629
3630@noindent
3631Intrinsic groups: (standard FORTRAN 77).
3632
3633@noindent
3634Description:
3635
3636Archaic form of @code{LOG()} that is specific
3637to one type for @var{X}.
3638@xref{Log Intrinsic}.
3639
3640@node DLog10 Intrinsic
3641@subsubsection DLog10 Intrinsic
3642@cindex DLog10 intrinsic
3643@cindex intrinsics, DLog10
3644
3645@noindent
3646@example
3647DLog10(@var{X})
3648@end example
3649
3650@noindent
3651DLog10: @code{REAL(KIND=2)} function.
3652
3653@noindent
3654@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3655
3656@noindent
3657Intrinsic groups: (standard FORTRAN 77).
3658
3659@noindent
3660Description:
3661
3662Archaic form of @code{LOG10()} that is specific
3663to one type for @var{X}.
3664@xref{Log10 Intrinsic}.
3665
3666@node DMax1 Intrinsic
3667@subsubsection DMax1 Intrinsic
3668@cindex DMax1 intrinsic
3669@cindex intrinsics, DMax1
3670
3671@noindent
3672@example
3673DMax1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
3674@end example
3675
3676@noindent
3677DMax1: @code{REAL(KIND=2)} function.
3678
3679@noindent
3680@var{A}: @code{REAL(KIND=2)}; at least two such arguments must be provided; scalar; INTENT(IN).
3681
3682@noindent
3683Intrinsic groups: (standard FORTRAN 77).
3684
3685@noindent
3686Description:
3687
3688Archaic form of @code{MAX()} that is specific
3689to one type for @var{A}.
3690@xref{Max Intrinsic}.
3691
3692@node DMin1 Intrinsic
3693@subsubsection DMin1 Intrinsic
3694@cindex DMin1 intrinsic
3695@cindex intrinsics, DMin1
3696
3697@noindent
3698@example
3699DMin1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
3700@end example
3701
3702@noindent
3703DMin1: @code{REAL(KIND=2)} function.
3704
3705@noindent
3706@var{A}: @code{REAL(KIND=2)}; at least two such arguments must be provided; scalar; INTENT(IN).
3707
3708@noindent
3709Intrinsic groups: (standard FORTRAN 77).
3710
3711@noindent
3712Description:
3713
3714Archaic form of @code{MIN()} that is specific
3715to one type for @var{A}.
3716@xref{Min Intrinsic}.
3717
3718@node DMod Intrinsic
3719@subsubsection DMod Intrinsic
3720@cindex DMod intrinsic
3721@cindex intrinsics, DMod
3722
3723@noindent
3724@example
3725DMod(@var{A}, @var{P})
3726@end example
3727
3728@noindent
3729DMod: @code{REAL(KIND=2)} function.
3730
3731@noindent
3732@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3733
3734@noindent
3735@var{P}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3736
3737@noindent
3738Intrinsic groups: (standard FORTRAN 77).
3739
3740@noindent
3741Description:
3742
3743Archaic form of @code{MOD()} that is specific
3744to one type for @var{A}.
3745@xref{Mod Intrinsic}.
3746
3747@node DNInt Intrinsic
3748@subsubsection DNInt Intrinsic
3749@cindex DNInt intrinsic
3750@cindex intrinsics, DNInt
3751
3752@noindent
3753@example
3754DNInt(@var{A})
3755@end example
3756
3757@noindent
3758DNInt: @code{REAL(KIND=2)} function.
3759
3760@noindent
3761@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3762
3763@noindent
3764Intrinsic groups: (standard FORTRAN 77).
3765
3766@noindent
3767Description:
3768
3769Archaic form of @code{ANINT()} that is specific
3770to one type for @var{A}.
3771@xref{ANInt Intrinsic}.
3772
3773@end ifset
3774@ifset familyF90
3775@node Dot_Product Intrinsic
3776@subsubsection Dot_Product Intrinsic
3777@cindex Dot_Product intrinsic
3778@cindex intrinsics, Dot_Product
3779
3780This intrinsic is not yet implemented.
3781The name is, however, reserved as an intrinsic.
3782Use @samp{EXTERNAL Dot_Product} to use this name for an
3783external procedure.
3784
3785@end ifset
3786@ifset familyF77
3787@node DProd Intrinsic
3788@subsubsection DProd Intrinsic
3789@cindex DProd intrinsic
3790@cindex intrinsics, DProd
3791
3792@noindent
3793@example
3794DProd(@var{X}, @var{Y})
3795@end example
3796
3797@noindent
3798DProd: @code{REAL(KIND=2)} function.
3799
3800@noindent
3801@var{X}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
3802
3803@noindent
3804@var{Y}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
3805
3806@noindent
3807Intrinsic groups: (standard FORTRAN 77).
3808
3809@noindent
3810Description:
3811
3812Returns @samp{DBLE(@var{X})*DBLE(@var{Y})}.
3813
3814@end ifset
3815@ifset familyVXT
3816@node DReal Intrinsic
3817@subsubsection DReal Intrinsic
3818@cindex DReal intrinsic
3819@cindex intrinsics, DReal
3820
3821@noindent
3822@example
3823DReal(@var{A})
3824@end example
3825
3826@noindent
3827DReal: @code{REAL(KIND=2)} function.
3828
3829@noindent
3830@var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
3831
3832@noindent
3833Intrinsic groups: @code{vxt}.
3834
3835@noindent
3836Description:
3837
3838Converts @var{A} to @code{REAL(KIND=2)}.
3839
3840If @var{A} is type @code{COMPLEX}, its real part
3841is converted (if necessary) to @code{REAL(KIND=2)},
3842and its imaginary part is disregarded.
3843
3844Although this intrinsic is not standard Fortran,
3845it is a popular extension offered by many compilers
3846that support @code{DOUBLE COMPLEX}, since it offers
3847the easiest way to extract the real part of a @code{DOUBLE COMPLEX}
3848value without using the Fortran 90 @code{REAL()} intrinsic
3849in a way that produces a return value inconsistent with
3850the way many FORTRAN 77 compilers handle @code{REAL()} of
3851a @code{DOUBLE COMPLEX} value.
3852
3853@xref{RealPart Intrinsic}, for information on a GNU Fortran
3854intrinsic that avoids these areas of confusion.
3855
0c65e50c
JW
3856@xref{Dble Intrinsic}, for information on the standard FORTRAN 77
3857replacement for @code{DREAL()}.
3858
177873a5
JW
3859@xref{REAL() and AIMAG() of Complex}, for more information on
3860this issue.
3861
3862@end ifset
3863@ifset familyF77
3864@node DSign Intrinsic
3865@subsubsection DSign Intrinsic
3866@cindex DSign intrinsic
3867@cindex intrinsics, DSign
3868
3869@noindent
3870@example
3871DSign(@var{A}, @var{B})
3872@end example
3873
3874@noindent
3875DSign: @code{REAL(KIND=2)} function.
3876
3877@noindent
3878@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3879
3880@noindent
3881@var{B}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3882
3883@noindent
3884Intrinsic groups: (standard FORTRAN 77).
3885
3886@noindent
3887Description:
3888
3889Archaic form of @code{SIGN()} that is specific
3890to one type for @var{A} and @var{B}.
3891@xref{Sign Intrinsic}.
3892
3893@node DSin Intrinsic
3894@subsubsection DSin Intrinsic
3895@cindex DSin intrinsic
3896@cindex intrinsics, DSin
3897
3898@noindent
3899@example
3900DSin(@var{X})
3901@end example
3902
3903@noindent
3904DSin: @code{REAL(KIND=2)} function.
3905
3906@noindent
3907@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3908
3909@noindent
3910Intrinsic groups: (standard FORTRAN 77).
3911
3912@noindent
3913Description:
3914
3915Archaic form of @code{SIN()} that is specific
3916to one type for @var{X}.
3917@xref{Sin Intrinsic}.
3918
3919@end ifset
3920@ifset familyVXT
3921@node DSinD Intrinsic
3922@subsubsection DSinD Intrinsic
3923@cindex DSinD intrinsic
3924@cindex intrinsics, DSinD
3925
3926This intrinsic is not yet implemented.
3927The name is, however, reserved as an intrinsic.
3928Use @samp{EXTERNAL DSinD} to use this name for an
3929external procedure.
3930
3931@end ifset
3932@ifset familyF77
3933@node DSinH Intrinsic
3934@subsubsection DSinH Intrinsic
3935@cindex DSinH intrinsic
3936@cindex intrinsics, DSinH
3937
3938@noindent
3939@example
3940DSinH(@var{X})
3941@end example
3942
3943@noindent
3944DSinH: @code{REAL(KIND=2)} function.
3945
3946@noindent
3947@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3948
3949@noindent
3950Intrinsic groups: (standard FORTRAN 77).
3951
3952@noindent
3953Description:
3954
3955Archaic form of @code{SINH()} that is specific
3956to one type for @var{X}.
3957@xref{SinH Intrinsic}.
3958
3959@node DSqRt Intrinsic
3960@subsubsection DSqRt Intrinsic
3961@cindex DSqRt intrinsic
3962@cindex intrinsics, DSqRt
3963
3964@noindent
3965@example
3966DSqRt(@var{X})
3967@end example
3968
3969@noindent
3970DSqRt: @code{REAL(KIND=2)} function.
3971
3972@noindent
3973@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
3974
3975@noindent
3976Intrinsic groups: (standard FORTRAN 77).
3977
3978@noindent
3979Description:
3980
3981Archaic form of @code{SQRT()} that is specific
3982to one type for @var{X}.
3983@xref{SqRt Intrinsic}.
3984
3985@node DTan Intrinsic
3986@subsubsection DTan Intrinsic
3987@cindex DTan intrinsic
3988@cindex intrinsics, DTan
3989
3990@noindent
3991@example
3992DTan(@var{X})
3993@end example
3994
3995@noindent
3996DTan: @code{REAL(KIND=2)} function.
3997
3998@noindent
3999@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
4000
4001@noindent
4002Intrinsic groups: (standard FORTRAN 77).
4003
4004@noindent
4005Description:
4006
4007Archaic form of @code{TAN()} that is specific
4008to one type for @var{X}.
4009@xref{Tan Intrinsic}.
4010
4011@end ifset
4012@ifset familyVXT
4013@node DTanD Intrinsic
4014@subsubsection DTanD Intrinsic
4015@cindex DTanD intrinsic
4016@cindex intrinsics, DTanD
4017
4018This intrinsic is not yet implemented.
4019The name is, however, reserved as an intrinsic.
4020Use @samp{EXTERNAL DTanD} to use this name for an
4021external procedure.
4022
4023@end ifset
4024@ifset familyF77
4025@node DTanH Intrinsic
4026@subsubsection DTanH Intrinsic
4027@cindex DTanH intrinsic
4028@cindex intrinsics, DTanH
4029
4030@noindent
4031@example
4032DTanH(@var{X})
4033@end example
4034
4035@noindent
4036DTanH: @code{REAL(KIND=2)} function.
4037
4038@noindent
4039@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
4040
4041@noindent
4042Intrinsic groups: (standard FORTRAN 77).
4043
4044@noindent
4045Description:
4046
4047Archaic form of @code{TANH()} that is specific
4048to one type for @var{X}.
4049@xref{TanH Intrinsic}.
4050
4051@end ifset
4052@ifset familyF2U
4053@node Dtime Intrinsic (subroutine)
4054@subsubsection Dtime Intrinsic (subroutine)
4055@cindex Dtime intrinsic
4056@cindex intrinsics, Dtime
4057
4058@noindent
4059@example
4060CALL Dtime(@var{Result}, @var{TArray})
4061@end example
4062
4063@noindent
4064@var{Result}: @code{REAL(KIND=1)}; scalar; INTENT(OUT).
4065
4066@noindent
4067@var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
4068
4069@noindent
4070Intrinsic groups: @code{unix}.
4071
4072@noindent
4073Description:
4074
4075Initially, return the number of seconds of runtime
4076since the start of the process's execution
4077in @var{Result},
4078and the user and system components of this in @samp{@var{TArray}(1)}
4079and @samp{@var{TArray}(2)} respectively.
4080The value of @var{Result} is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
4081
4082Subsequent invocations of @samp{DTIME()} set values based on accumulations
4083since the previous invocation.
4084
4085Some non-GNU implementations of Fortran provide this intrinsic as
4086only a function, not as a subroutine.
4087
4088For information on other intrinsics with the same name:
4089@xref{Dtime Intrinsic (function)}.
4090
4091@end ifset
4092@ifset familyBADU77
4093@node Dtime Intrinsic (function)
4094@subsubsection Dtime Intrinsic (function)
4095@cindex Dtime intrinsic
4096@cindex intrinsics, Dtime
4097
4098@noindent
4099@example
4100Dtime(@var{TArray})
4101@end example
4102
4103@noindent
4104Dtime: @code{REAL(KIND=1)} function.
4105
4106@noindent
4107@var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
4108
4109@noindent
4110Intrinsic groups: @code{badu77}.
4111
4112@noindent
4113Description:
4114
4115Initially, return the number of seconds of runtime
4116since the start of the process's execution
4117as the function value,
4118and the user and system components of this in @samp{@var{TArray}(1)}
4119and @samp{@var{TArray}(2)} respectively.
4120The functions' value is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
4121
4122Subsequent invocations of @samp{DTIME()} return values accumulated since the
4123previous invocation.
4124
4125Due to the side effects performed by this intrinsic, the function
4126form is not recommended.
4127
4128For information on other intrinsics with the same name:
4129@xref{Dtime Intrinsic (subroutine)}.
4130
4131@end ifset
4132@ifset familyF90
4133@node EOShift Intrinsic
4134@subsubsection EOShift Intrinsic
4135@cindex EOShift intrinsic
4136@cindex intrinsics, EOShift
4137
4138This intrinsic is not yet implemented.
4139The name is, however, reserved as an intrinsic.
4140Use @samp{EXTERNAL EOShift} to use this name for an
4141external procedure.
4142
4143@node Epsilon Intrinsic
4144@subsubsection Epsilon Intrinsic
4145@cindex Epsilon intrinsic
4146@cindex intrinsics, Epsilon
4147
4148This intrinsic is not yet implemented.
4149The name is, however, reserved as an intrinsic.
4150Use @samp{EXTERNAL Epsilon} to use this name for an
4151external procedure.
4152
4153@end ifset
4154@ifset familyF2U
4155@node ErF Intrinsic
4156@subsubsection ErF Intrinsic
4157@cindex ErF intrinsic
4158@cindex intrinsics, ErF
4159
4160@noindent
4161@example
4162ErF(@var{X})
4163@end example
4164
4165@noindent
4166ErF: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
4167
4168@noindent
4169@var{X}: @code{REAL}; scalar; INTENT(IN).
4170
4171@noindent
4172Intrinsic groups: @code{unix}.
4173
4174@noindent
4175Description:
4176
4177Returns the error function of @var{X}.
4178See @code{erf(3m)}, which provides the implementation.
4179
4180@node ErFC Intrinsic
4181@subsubsection ErFC Intrinsic
4182@cindex ErFC intrinsic
4183@cindex intrinsics, ErFC
4184
4185@noindent
4186@example
4187ErFC(@var{X})
4188@end example
4189
4190@noindent
4191ErFC: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
4192
4193@noindent
4194@var{X}: @code{REAL}; scalar; INTENT(IN).
4195
4196@noindent
4197Intrinsic groups: @code{unix}.
4198
4199@noindent
4200Description:
4201
4202Returns the complementary error function of @var{X}:
4203@samp{ERFC(R) = 1 - ERF(R)} (except that the result may be more
4204accurate than explicitly evaluating that formulae would give).
4205See @code{erfc(3m)}, which provides the implementation.
4206
4207@node ETime Intrinsic (subroutine)
4208@subsubsection ETime Intrinsic (subroutine)
4209@cindex ETime intrinsic
4210@cindex intrinsics, ETime
4211
4212@noindent
4213@example
4214CALL ETime(@var{Result}, @var{TArray})
4215@end example
4216
4217@noindent
4218@var{Result}: @code{REAL(KIND=1)}; scalar; INTENT(OUT).
4219
4220@noindent
4221@var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
4222
4223@noindent
4224Intrinsic groups: @code{unix}.
4225
4226@noindent
4227Description:
4228
4229Return the number of seconds of runtime
4230since the start of the process's execution
4231in @var{Result},
4232and the user and system components of this in @samp{@var{TArray}(1)}
4233and @samp{@var{TArray}(2)} respectively.
4234The value of @var{Result} is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
4235
4236Some non-GNU implementations of Fortran provide this intrinsic as
4237only a function, not as a subroutine.
4238
4239For information on other intrinsics with the same name:
4240@xref{ETime Intrinsic (function)}.
4241
4242@node ETime Intrinsic (function)
4243@subsubsection ETime Intrinsic (function)
4244@cindex ETime intrinsic
4245@cindex intrinsics, ETime
4246
4247@noindent
4248@example
4249ETime(@var{TArray})
4250@end example
4251
4252@noindent
4253ETime: @code{REAL(KIND=1)} function.
4254
4255@noindent
4256@var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
4257
4258@noindent
4259Intrinsic groups: @code{unix}.
4260
4261@noindent
4262Description:
4263
4264Return the number of seconds of runtime
4265since the start of the process's execution
4266as the function value,
4267and the user and system components of this in @samp{@var{TArray}(1)}
4268and @samp{@var{TArray}(2)} respectively.
4269The functions' value is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
4270
4271For information on other intrinsics with the same name:
4272@xref{ETime Intrinsic (subroutine)}.
4273
4274@node Exit Intrinsic
4275@subsubsection Exit Intrinsic
4276@cindex Exit intrinsic
4277@cindex intrinsics, Exit
4278
4279@noindent
4280@example
4281CALL Exit(@var{Status})
4282@end example
4283
4284@noindent
4285@var{Status}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN).
4286
4287@noindent
4288Intrinsic groups: @code{unix}.
4289
4290@noindent
4291Description:
4292
4293Exit the program with status @var{Status} after closing open Fortran
4294I/O units and otherwise behaving as @code{exit(2)}.
4295If @var{Status} is omitted the canonical `success' value
4296will be returned to the system.
4297
4298@end ifset
4299@ifset familyF77
4300@node Exp Intrinsic
4301@subsubsection Exp Intrinsic
4302@cindex Exp intrinsic
4303@cindex intrinsics, Exp
4304
4305@noindent
4306@example
4307Exp(@var{X})
4308@end example
4309
4310@noindent
4311Exp: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
4312
4313@noindent
4314@var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
4315
4316@noindent
4317Intrinsic groups: (standard FORTRAN 77).
4318
4319@noindent
4320Description:
4321
4322Returns @samp{@var{e}**@var{X}}, where
4323@var{e} is approximately 2.7182818.
4324
4325@xref{Log Intrinsic}, for the inverse of this function.
4326
4327@end ifset
4328@ifset familyF90
4329@node Exponent Intrinsic
4330@subsubsection Exponent Intrinsic
4331@cindex Exponent intrinsic
4332@cindex intrinsics, Exponent
4333
4334This intrinsic is not yet implemented.
4335The name is, however, reserved as an intrinsic.
4336Use @samp{EXTERNAL Exponent} to use this name for an
4337external procedure.
4338
4339@end ifset
4340@ifset familyF2U
4341@node Fdate Intrinsic (subroutine)
4342@subsubsection Fdate Intrinsic (subroutine)
4343@cindex Fdate intrinsic
4344@cindex intrinsics, Fdate
4345
4346@noindent
4347@example
4348CALL Fdate(@var{Date})
4349@end example
4350
4351@noindent
4352@var{Date}: @code{CHARACTER}; scalar; INTENT(OUT).
4353
4354@noindent
4355Intrinsic groups: @code{unix}.
4356
4357@noindent
4358Description:
4359
4360Returns the current date (using the same format as @code{CTIME()})
4361in @var{Date}.
4362
4363Equivalent to:
4364
4365@example
4366CALL CTIME(@var{Date}, TIME8())
4367@end example
4368
4369@xref{CTime Intrinsic (subroutine)}.
4370
4371Some non-GNU implementations of Fortran provide this intrinsic as
4372only a function, not as a subroutine.
4373
4374For information on other intrinsics with the same name:
4375@xref{Fdate Intrinsic (function)}.
4376
4377@node Fdate Intrinsic (function)
4378@subsubsection Fdate Intrinsic (function)
4379@cindex Fdate intrinsic
4380@cindex intrinsics, Fdate
4381
4382@noindent
4383@example
4384Fdate()
4385@end example
4386
4387@noindent
4388Fdate: @code{CHARACTER*(*)} function.
4389
4390@noindent
4391Intrinsic groups: @code{unix}.
4392
4393@noindent
4394Description:
4395
4396Returns the current date (using the same format as @code{CTIME()}).
4397
4398Equivalent to:
4399
4400@example
4401CTIME(TIME8())
4402@end example
4403
4404@xref{CTime Intrinsic (function)}.
4405
4406For information on other intrinsics with the same name:
4407@xref{Fdate Intrinsic (subroutine)}.
4408
4409@node FGet Intrinsic (subroutine)
4410@subsubsection FGet Intrinsic (subroutine)
4411@cindex FGet intrinsic
4412@cindex intrinsics, FGet
4413
4414@noindent
4415@example
4416CALL FGet(@var{C}, @var{Status})
4417@end example
4418
4419@noindent
4420@var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
4421
4422@noindent
4423@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
4424
4425@noindent
4426Intrinsic groups: @code{unix}.
4427
4428@noindent
4429Description:
4430
4431Reads a single character into @var{C} in stream mode from unit 5
4432(by-passing normal formatted output) using @code{getc(3)}.
4433Returns in
4434@var{Status} 0 on success, @minus{}1 on end-of-file, and the error code
4435from @code{ferror(3)} otherwise.
4436
4437Stream I/O should not be mixed with normal record-oriented (formatted or
4438unformatted) I/O on the same unit; the results are unpredictable.
4439
4440For information on other intrinsics with the same name:
4441@xref{FGet Intrinsic (function)}.
4442
4443@end ifset
4444@ifset familyBADU77
4445@node FGet Intrinsic (function)
4446@subsubsection FGet Intrinsic (function)
4447@cindex FGet intrinsic
4448@cindex intrinsics, FGet
4449
4450@noindent
4451@example
4452FGet(@var{C})
4453@end example
4454
4455@noindent
4456FGet: @code{INTEGER(KIND=1)} function.
4457
4458@noindent
4459@var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
4460
4461@noindent
4462Intrinsic groups: @code{badu77}.
4463
4464@noindent
4465Description:
4466
4467Reads a single character into @var{C} in stream mode from unit 5
4468(by-passing normal formatted input) using @code{getc(3)}.
4469Returns 0 on
4470success, @minus{}1 on end-of-file, and the error code from
4471@code{ferror(3)} otherwise.
4472
4473Stream I/O should not be mixed with normal record-oriented (formatted or
4474unformatted) I/O on the same unit; the results are unpredictable.
4475
4476For information on other intrinsics with the same name:
4477@xref{FGet Intrinsic (subroutine)}.
4478
4479@end ifset
4480@ifset familyF2U
4481@node FGetC Intrinsic (subroutine)
4482@subsubsection FGetC Intrinsic (subroutine)
4483@cindex FGetC intrinsic
4484@cindex intrinsics, FGetC
4485
4486@noindent
4487@example
4488CALL FGetC(@var{Unit}, @var{C}, @var{Status})
4489@end example
4490
4491@noindent
4492@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4493
4494@noindent
4495@var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
4496
4497@noindent
4498@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
4499
4500@noindent
4501Intrinsic groups: @code{unix}.
4502
4503@noindent
4504Description:
4505
4506Reads a single character into @var{C} in stream mode from unit @var{Unit}
4507(by-passing normal formatted output) using @code{getc(3)}.
4508Returns in
4509@var{Status} 0 on success, @minus{}1 on end-of-file, and the error code from
4510@code{ferror(3)} otherwise.
4511
4512Stream I/O should not be mixed with normal record-oriented (formatted or
4513unformatted) I/O on the same unit; the results are unpredictable.
4514
4515For information on other intrinsics with the same name:
4516@xref{FGetC Intrinsic (function)}.
4517
4518@end ifset
4519@ifset familyBADU77
4520@node FGetC Intrinsic (function)
4521@subsubsection FGetC Intrinsic (function)
4522@cindex FGetC intrinsic
4523@cindex intrinsics, FGetC
4524
4525@noindent
4526@example
4527FGetC(@var{Unit}, @var{C})
4528@end example
4529
4530@noindent
4531FGetC: @code{INTEGER(KIND=1)} function.
4532
4533@noindent
4534@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4535
4536@noindent
4537@var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
4538
4539@noindent
4540Intrinsic groups: @code{badu77}.
4541
4542@noindent
4543Description:
4544
4545Reads a single character into @var{C} in stream mode from unit @var{Unit}
4546(by-passing normal formatted output) using @code{getc(3)}.
4547Returns 0 on
4548success, @minus{}1 on end-of-file, and the error code from
4549@code{ferror(3)} otherwise.
4550
4551Stream I/O should not be mixed with normal record-oriented (formatted or
4552unformatted) I/O on the same unit; the results are unpredictable.
4553
4554For information on other intrinsics with the same name:
4555@xref{FGetC Intrinsic (subroutine)}.
4556
4557@end ifset
4558@ifset familyF77
4559@node Float Intrinsic
4560@subsubsection Float Intrinsic
4561@cindex Float intrinsic
4562@cindex intrinsics, Float
4563
4564@noindent
4565@example
4566Float(@var{A})
4567@end example
4568
4569@noindent
4570Float: @code{REAL(KIND=1)} function.
4571
4572@noindent
4573@var{A}: @code{INTEGER}; scalar; INTENT(IN).
4574
4575@noindent
4576Intrinsic groups: (standard FORTRAN 77).
4577
4578@noindent
4579Description:
4580
4581Archaic form of @code{REAL()} that is specific
4582to one type for @var{A}.
4583@xref{Real Intrinsic}.
4584
4585@end ifset
4586@ifset familyVXT
4587@node FloatI Intrinsic
4588@subsubsection FloatI Intrinsic
4589@cindex FloatI intrinsic
4590@cindex intrinsics, FloatI
4591
4592This intrinsic is not yet implemented.
4593The name is, however, reserved as an intrinsic.
4594Use @samp{EXTERNAL FloatI} to use this name for an
4595external procedure.
4596
4597@node FloatJ Intrinsic
4598@subsubsection FloatJ Intrinsic
4599@cindex FloatJ intrinsic
4600@cindex intrinsics, FloatJ
4601
4602This intrinsic is not yet implemented.
4603The name is, however, reserved as an intrinsic.
4604Use @samp{EXTERNAL FloatJ} to use this name for an
4605external procedure.
4606
4607@end ifset
4608@ifset familyF90
4609@node Floor Intrinsic
4610@subsubsection Floor Intrinsic
4611@cindex Floor intrinsic
4612@cindex intrinsics, Floor
4613
4614This intrinsic is not yet implemented.
4615The name is, however, reserved as an intrinsic.
4616Use @samp{EXTERNAL Floor} to use this name for an
4617external procedure.
4618
4619@end ifset
4620@ifset familyF2U
4621@node Flush Intrinsic
4622@subsubsection Flush Intrinsic
4623@cindex Flush intrinsic
4624@cindex intrinsics, Flush
4625
4626@noindent
4627@example
4628CALL Flush(@var{Unit})
4629@end example
4630
4631@noindent
4632@var{Unit}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN).
4633
4634@noindent
4635Intrinsic groups: @code{unix}.
4636
4637@noindent
4638Description:
4639
4640Flushes Fortran unit(s) currently open for output.
4641Without the optional argument, all such units are flushed,
4642otherwise just the unit specified by @var{Unit}.
4643
4644Some non-GNU implementations of Fortran provide this intrinsic
4645as a library procedure that might or might not support the
4646(optional) @var{Unit} argument.
4647
4648@node FNum Intrinsic
4649@subsubsection FNum Intrinsic
4650@cindex FNum intrinsic
4651@cindex intrinsics, FNum
4652
4653@noindent
4654@example
4655FNum(@var{Unit})
4656@end example
4657
4658@noindent
4659FNum: @code{INTEGER(KIND=1)} function.
4660
4661@noindent
4662@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4663
4664@noindent
4665Intrinsic groups: @code{unix}.
4666
4667@noindent
4668Description:
4669
4670Returns the Unix file descriptor number corresponding to the open
4671Fortran I/O unit @var{Unit}.
4672This could be passed to an interface to C I/O routines.
4673
4674@node FPut Intrinsic (subroutine)
4675@subsubsection FPut Intrinsic (subroutine)
4676@cindex FPut intrinsic
4677@cindex intrinsics, FPut
4678
4679@noindent
4680@example
4681CALL FPut(@var{C}, @var{Status})
4682@end example
4683
4684@noindent
4685@var{C}: @code{CHARACTER}; scalar; INTENT(IN).
4686
4687@noindent
4688@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
4689
4690@noindent
4691Intrinsic groups: @code{unix}.
4692
4693@noindent
4694Description:
4695
4696Writes the single character @var{C} in stream mode to unit 6
4697(by-passing normal formatted output) using @code{putc(3)}.
4698Returns in
4699@var{Status} 0 on success, the error code from @code{ferror(3)} otherwise.
4700
4701Stream I/O should not be mixed with normal record-oriented (formatted or
4702unformatted) I/O on the same unit; the results are unpredictable.
4703
4704For information on other intrinsics with the same name:
4705@xref{FPut Intrinsic (function)}.
4706
4707@end ifset
4708@ifset familyBADU77
4709@node FPut Intrinsic (function)
4710@subsubsection FPut Intrinsic (function)
4711@cindex FPut intrinsic
4712@cindex intrinsics, FPut
4713
4714@noindent
4715@example
4716FPut(@var{C})
4717@end example
4718
4719@noindent
4720FPut: @code{INTEGER(KIND=1)} function.
4721
4722@noindent
4723@var{C}: @code{CHARACTER}; scalar; INTENT(IN).
4724
4725@noindent
4726Intrinsic groups: @code{badu77}.
4727
4728@noindent
4729Description:
4730
4731Writes the single character @var{C} in stream mode to unit 6
4732(by-passing normal formatted output) using @code{getc(3)}.
4733Returns 0 on
4734success, the error code from @code{ferror(3)} otherwise.
4735
4736Stream I/O should not be mixed with normal record-oriented (formatted or
4737unformatted) I/O on the same unit; the results are unpredictable.
4738
4739For information on other intrinsics with the same name:
4740@xref{FPut Intrinsic (subroutine)}.
4741
4742@end ifset
4743@ifset familyF2U
4744@node FPutC Intrinsic (subroutine)
4745@subsubsection FPutC Intrinsic (subroutine)
4746@cindex FPutC intrinsic
4747@cindex intrinsics, FPutC
4748
4749@noindent
4750@example
4751CALL FPutC(@var{Unit}, @var{C}, @var{Status})
4752@end example
4753
4754@noindent
4755@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4756
4757@noindent
4758@var{C}: @code{CHARACTER}; scalar; INTENT(IN).
4759
4760@noindent
4761@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
4762
4763@noindent
4764Intrinsic groups: @code{unix}.
4765
4766@noindent
4767Description:
4768
4769Writes the single character @var{Unit} in stream mode to unit 6
4770(by-passing normal formatted output) using @code{putc(3)}.
4771Returns in
4772@var{C} 0 on success, the error code from @code{ferror(3)} otherwise.
4773
4774Stream I/O should not be mixed with normal record-oriented (formatted or
4775unformatted) I/O on the same unit; the results are unpredictable.
4776
4777For information on other intrinsics with the same name:
4778@xref{FPutC Intrinsic (function)}.
4779
4780@end ifset
4781@ifset familyBADU77
4782@node FPutC Intrinsic (function)
4783@subsubsection FPutC Intrinsic (function)
4784@cindex FPutC intrinsic
4785@cindex intrinsics, FPutC
4786
4787@noindent
4788@example
4789FPutC(@var{Unit}, @var{C})
4790@end example
4791
4792@noindent
4793FPutC: @code{INTEGER(KIND=1)} function.
4794
4795@noindent
4796@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4797
4798@noindent
4799@var{C}: @code{CHARACTER}; scalar; INTENT(IN).
4800
4801@noindent
4802Intrinsic groups: @code{badu77}.
4803
4804@noindent
4805Description:
4806
4807Writes the single character @var{C} in stream mode to unit @var{Unit}
4808(by-passing normal formatted output) using @code{putc(3)}.
4809Returns 0 on
4810success, the error code from @code{ferror(3)} otherwise.
4811
4812Stream I/O should not be mixed with normal record-oriented (formatted or
4813unformatted) I/O on the same unit; the results are unpredictable.
4814
4815For information on other intrinsics with the same name:
4816@xref{FPutC Intrinsic (subroutine)}.
4817
4818@end ifset
4819@ifset familyF90
4820@node Fraction Intrinsic
4821@subsubsection Fraction Intrinsic
4822@cindex Fraction intrinsic
4823@cindex intrinsics, Fraction
4824
4825This intrinsic is not yet implemented.
4826The name is, however, reserved as an intrinsic.
4827Use @samp{EXTERNAL Fraction} to use this name for an
4828external procedure.
4829
4830@end ifset
4831@ifset familyF2U
4832@node FSeek Intrinsic
4833@subsubsection FSeek Intrinsic
4834@cindex FSeek intrinsic
4835@cindex intrinsics, FSeek
4836
4837@noindent
4838@example
4839CALL FSeek(@var{Unit}, @var{Offset}, @var{Whence}, @var{ErrLab})
4840@end example
4841
4842@noindent
4843@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4844
4845@noindent
4846@var{Offset}: @code{INTEGER}; scalar; INTENT(IN).
4847
4848@noindent
4849@var{Whence}: @code{INTEGER}; scalar; INTENT(IN).
4850
4851@noindent
4852@var{ErrLab}: @samp{*@var{label}}, where @var{label} is the label
4853of an executable statement; OPTIONAL.
4854
4855@noindent
4856Intrinsic groups: @code{unix}.
4857
4858@noindent
4859Description:
4860
4861Attempts to move Fortran unit @var{Unit} to the specified
4862@var{Offset}: absolute offset if @var{Offset}=0; relative to the
4863current offset if @var{Offset}=1; relative to the end of the file if
4864@var{Offset}=2.
4865It branches to label @var{Whence} if @var{Unit} is
4866not open or if the call otherwise fails.
4867
4868@node FStat Intrinsic (subroutine)
4869@subsubsection FStat Intrinsic (subroutine)
4870@cindex FStat intrinsic
4871@cindex intrinsics, FStat
4872
4873@noindent
4874@example
4875CALL FStat(@var{Unit}, @var{SArray}, @var{Status})
4876@end example
4877
4878@noindent
4879@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4880
4881@noindent
4882@var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
4883
4884@noindent
4885@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
4886
4887@noindent
4888Intrinsic groups: @code{unix}.
4889
4890@noindent
4891Description:
4892
4893Obtains data about the file open on Fortran I/O unit @var{Unit} and
4894places them in the array @var{SArray}.
4895The values in this array are
4896extracted from the @code{stat} structure as returned by
4897@code{fstat(2)} q.v., as follows:
4898
4899@enumerate
4900@item
4901File mode
4902
4903@item
4904Inode number
4905
4906@item
4907ID of device containing directory entry for file
4908
4909@item
4910Device id (if relevant)
4911
4912@item
4913Number of links
4914
4915@item
4916Owner's uid
4917
4918@item
4919Owner's gid
4920
4921@item
4922File size (bytes)
4923
4924@item
4925Last access time
4926
4927@item
4928Last modification time
4929
4930@item
4931Last file status change time
4932
4933@item
4934Preferred I/O block size
4935
4936@item
4937Number of blocks allocated
4938@end enumerate
4939
4940Not all these elements are relevant on all systems.
4941If an element is not relevant, it is returned as 0.
4942
4943If the @var{Status} argument is supplied, it contains
49440 on success or a non-zero error code upon return.
4945
4946Some non-GNU implementations of Fortran provide this intrinsic as
4947only a function, not as a subroutine, or do not support the
4948(optional) @var{Status} argument.
4949
4950For information on other intrinsics with the same name:
4951@xref{FStat Intrinsic (function)}.
4952
4953@node FStat Intrinsic (function)
4954@subsubsection FStat Intrinsic (function)
4955@cindex FStat intrinsic
4956@cindex intrinsics, FStat
4957
4958@noindent
4959@example
4960FStat(@var{Unit}, @var{SArray})
4961@end example
4962
4963@noindent
4964FStat: @code{INTEGER(KIND=1)} function.
4965
4966@noindent
4967@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
4968
4969@noindent
4970@var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
4971
4972@noindent
4973Intrinsic groups: @code{unix}.
4974
4975@noindent
4976Description:
4977
4978Obtains data about the file open on Fortran I/O unit @var{Unit} and
4979places them in the array @var{SArray}.
4980The values in this array are
4981extracted from the @code{stat} structure as returned by
4982@code{fstat(2)} q.v., as follows:
4983
4984@enumerate
4985@item
4986File mode
4987
4988@item
4989Inode number
4990
4991@item
4992ID of device containing directory entry for file
4993
4994@item
4995Device id (if relevant)
4996
4997@item
4998Number of links
4999
5000@item
5001Owner's uid
5002
5003@item
5004Owner's gid
5005
5006@item
5007File size (bytes)
5008
5009@item
5010Last access time
5011
5012@item
5013Last modification time
5014
5015@item
5016Last file status change time
5017
5018@item
5019Preferred I/O block size
5020
5021@item
5022Number of blocks allocated
5023@end enumerate
5024
5025Not all these elements are relevant on all systems.
5026If an element is not relevant, it is returned as 0.
5027
5028Returns 0 on success or a non-zero error code.
5029
5030For information on other intrinsics with the same name:
5031@xref{FStat Intrinsic (subroutine)}.
5032
5033@node FTell Intrinsic (subroutine)
5034@subsubsection FTell Intrinsic (subroutine)
5035@cindex FTell intrinsic
5036@cindex intrinsics, FTell
5037
5038@noindent
5039@example
5040CALL FTell(@var{Unit}, @var{Offset})
5041@end example
5042
5043@noindent
5044@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
5045
5046@noindent
5047@var{Offset}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
5048
5049@noindent
5050Intrinsic groups: @code{unix}.
5051
5052@noindent
5053Description:
5054
5055Sets @var{Offset} to the current offset of Fortran unit @var{Unit}
5056(or to @minus{}1 if @var{Unit} is not open).
5057
5058Some non-GNU implementations of Fortran provide this intrinsic as
5059only a function, not as a subroutine.
5060
5061For information on other intrinsics with the same name:
5062@xref{FTell Intrinsic (function)}.
5063
5064@node FTell Intrinsic (function)
5065@subsubsection FTell Intrinsic (function)
5066@cindex FTell intrinsic
5067@cindex intrinsics, FTell
5068
5069@noindent
5070@example
5071FTell(@var{Unit})
5072@end example
5073
5074@noindent
5075FTell: @code{INTEGER(KIND=1)} function.
5076
5077@noindent
5078@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
5079
5080@noindent
5081Intrinsic groups: @code{unix}.
5082
5083@noindent
5084Description:
5085
5086Returns the current offset of Fortran unit @var{Unit}
5087(or @minus{}1 if @var{Unit} is not open).
5088
5089For information on other intrinsics with the same name:
5090@xref{FTell Intrinsic (subroutine)}.
5091
5092@node GError Intrinsic
5093@subsubsection GError Intrinsic
5094@cindex GError intrinsic
5095@cindex intrinsics, GError
5096
5097@noindent
5098@example
5099CALL GError(@var{Message})
5100@end example
5101
5102@noindent
5103@var{Message}: @code{CHARACTER}; scalar; INTENT(OUT).
5104
5105@noindent
5106Intrinsic groups: @code{unix}.
5107
5108@noindent
5109Description:
5110
5111Returns the system error message corresponding to the last system
5112error (C @code{errno}).
5113
5114@node GetArg Intrinsic
5115@subsubsection GetArg Intrinsic
5116@cindex GetArg intrinsic
5117@cindex intrinsics, GetArg
5118
5119@noindent
5120@example
5121CALL GetArg(@var{Pos}, @var{Value})
5122@end example
5123
5124@noindent
5125@var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
5126
5127@noindent
5128@var{Value}: @code{CHARACTER}; scalar; INTENT(OUT).
5129
5130@noindent
5131Intrinsic groups: @code{unix}.
5132
5133@noindent
5134Description:
5135
5136Sets @var{Value} to the @var{Pos}-th command-line argument (or to all
5137blanks if there are fewer than @var{Value} command-line arguments);
5138@code{CALL GETARG(0, @var{value})} sets @var{value} to the name of the
5139program (on systems that support this feature).
5140
5141@xref{IArgC Intrinsic}, for information on how to get the number
5142of arguments.
5143
5144@node GetCWD Intrinsic (subroutine)
5145@subsubsection GetCWD Intrinsic (subroutine)
5146@cindex GetCWD intrinsic
5147@cindex intrinsics, GetCWD
5148
5149@noindent
5150@example
5151CALL GetCWD(@var{Name}, @var{Status})
5152@end example
5153
5154@noindent
5155@var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
5156
5157@noindent
5158@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
5159
5160@noindent
5161Intrinsic groups: @code{unix}.
5162
5163@noindent
5164Description:
5165
5166Places the current working directory in @var{Name}.
5167If the @var{Status} argument is supplied, it contains 0
5168success or a non-zero error code upon return
5169(@code{ENOSYS} if the system does not provide @code{getcwd(3)}
5170or @code{getwd(3)}).
5171
5172Some non-GNU implementations of Fortran provide this intrinsic as
5173only a function, not as a subroutine, or do not support the
5174(optional) @var{Status} argument.
5175
5176For information on other intrinsics with the same name:
5177@xref{GetCWD Intrinsic (function)}.
5178
5179@node GetCWD Intrinsic (function)
5180@subsubsection GetCWD Intrinsic (function)
5181@cindex GetCWD intrinsic
5182@cindex intrinsics, GetCWD
5183
5184@noindent
5185@example
5186GetCWD(@var{Name})
5187@end example
5188
5189@noindent
5190GetCWD: @code{INTEGER(KIND=1)} function.
5191
5192@noindent
5193@var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
5194
5195@noindent
5196Intrinsic groups: @code{unix}.
5197
5198@noindent
5199Description:
5200
5201Places the current working directory in @var{Name}.
5202Returns 0 on
5203success, otherwise a non-zero error code
5204(@code{ENOSYS} if the system does not provide @code{getcwd(3)}
5205or @code{getwd(3)}).
5206
5207For information on other intrinsics with the same name:
5208@xref{GetCWD Intrinsic (subroutine)}.
5209
5210@node GetEnv Intrinsic
5211@subsubsection GetEnv Intrinsic
5212@cindex GetEnv intrinsic
5213@cindex intrinsics, GetEnv
5214
5215@noindent
5216@example
5217CALL GetEnv(@var{Name}, @var{Value})
5218@end example
5219
5220@noindent
5221@var{Name}: @code{CHARACTER}; scalar; INTENT(IN).
5222
5223@noindent
5224@var{Value}: @code{CHARACTER}; scalar; INTENT(OUT).
5225
5226@noindent
5227Intrinsic groups: @code{unix}.
5228
5229@noindent
5230Description:
5231
5232Sets @var{Value} to the value of environment variable given by the
5233value of @var{Name} (@code{$name} in shell terms) or to blanks if
5234@code{$name} has not been set.
5235A null character (@samp{CHAR(0)}) marks the end of
5236the name in @var{Name}---otherwise,
5237trailing blanks in @var{Name} are ignored.
5238
5239@node GetGId Intrinsic
5240@subsubsection GetGId Intrinsic
5241@cindex GetGId intrinsic
5242@cindex intrinsics, GetGId
5243
5244@noindent
5245@example
5246GetGId()
5247@end example
5248
5249@noindent
5250GetGId: @code{INTEGER(KIND=1)} function.
5251
5252@noindent
5253Intrinsic groups: @code{unix}.
5254
5255@noindent
5256Description:
5257
5258Returns the group id for the current process.
5259
5260@node GetLog Intrinsic
5261@subsubsection GetLog Intrinsic
5262@cindex GetLog intrinsic
5263@cindex intrinsics, GetLog
5264
5265@noindent
5266@example
5267CALL GetLog(@var{Login})
5268@end example
5269
5270@noindent
5271@var{Login}: @code{CHARACTER}; scalar; INTENT(OUT).
5272
5273@noindent
5274Intrinsic groups: @code{unix}.
5275
5276@noindent
5277Description:
5278
5279Returns the login name for the process in @var{Login}.
5280
44d2eabc
JL
5281@emph{Caution:} On some systems, the @code{getlogin(3)}
5282function, which this intrinsic calls at run time,
5283is either not implemented or returns a null pointer.
5284In the latter case, this intrinsic returns blanks
5285in @var{Login}.
5286
177873a5
JW
5287@node GetPId Intrinsic
5288@subsubsection GetPId Intrinsic
5289@cindex GetPId intrinsic
5290@cindex intrinsics, GetPId
5291
5292@noindent
5293@example
5294GetPId()
5295@end example
5296
5297@noindent
5298GetPId: @code{INTEGER(KIND=1)} function.
5299
5300@noindent
5301Intrinsic groups: @code{unix}.
5302
5303@noindent
5304Description:
5305
5306Returns the process id for the current process.
5307
5308@node GetUId Intrinsic
5309@subsubsection GetUId Intrinsic
5310@cindex GetUId intrinsic
5311@cindex intrinsics, GetUId
5312
5313@noindent
5314@example
5315GetUId()
5316@end example
5317
5318@noindent
5319GetUId: @code{INTEGER(KIND=1)} function.
5320
5321@noindent
5322Intrinsic groups: @code{unix}.
5323
5324@noindent
5325Description:
5326
5327Returns the user id for the current process.
5328
5329@node GMTime Intrinsic
5330@subsubsection GMTime Intrinsic
5331@cindex GMTime intrinsic
5332@cindex intrinsics, GMTime
5333
5334@noindent
5335@example
5336CALL GMTime(@var{STime}, @var{TArray})
5337@end example
5338
5339@noindent
5340@var{STime}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
5341
5342@noindent
5343@var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(9); INTENT(OUT).
5344
5345@noindent
5346Intrinsic groups: @code{unix}.
5347
5348@noindent
5349Description:
5350
5351Given a system time value @var{STime}, fills @var{TArray} with values
5352extracted from it appropriate to the GMT time zone using
5353@code{gmtime(3)}.
5354
5355The array elements are as follows:
5356
5357@enumerate
5358@item
5359Seconds after the minute, range 0--59 or 0--61 to allow for leap
5360seconds
5361
5362@item
5363Minutes after the hour, range 0--59
5364
5365@item
5366Hours past midnight, range 0--23
5367
5368@item
5369Day of month, range 0--31
5370
5371@item
5372Number of months since January, range 0--12
5373
5374@item
5375Years since 1900
5376
5377@item
5378Number of days since Sunday, range 0--6
5379
5380@item
5381Days since January 1
5382
5383@item
5384Daylight savings indicator: positive if daylight savings is in effect,
5385zero if not, and negative if the information isn't available.
5386@end enumerate
5387
5388@node HostNm Intrinsic (subroutine)
5389@subsubsection HostNm Intrinsic (subroutine)
5390@cindex HostNm intrinsic
5391@cindex intrinsics, HostNm
5392
5393@noindent
5394@example
5395CALL HostNm(@var{Name}, @var{Status})
5396@end example
5397
5398@noindent
5399@var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
5400
5401@noindent
5402@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
5403
5404@noindent
5405Intrinsic groups: @code{unix}.
5406
5407@noindent
5408Description:
5409
5410Fills @var{Name} with the system's host name returned by
5411@code{gethostname(2)}.
5412If the @var{Status} argument is supplied, it contains
54130 on success or a non-zero error code upon return
5414(@code{ENOSYS} if the system does not provide @code{gethostname(2)}).
5415
177873a5
JW
5416Some non-GNU implementations of Fortran provide this intrinsic as
5417only a function, not as a subroutine, or do not support the
5418(optional) @var{Status} argument.
5419
5420For information on other intrinsics with the same name:
5421@xref{HostNm Intrinsic (function)}.
5422
5423@node HostNm Intrinsic (function)
5424@subsubsection HostNm Intrinsic (function)
5425@cindex HostNm intrinsic
5426@cindex intrinsics, HostNm
5427
5428@noindent
5429@example
5430HostNm(@var{Name})
5431@end example
5432
5433@noindent
5434HostNm: @code{INTEGER(KIND=1)} function.
5435
5436@noindent
5437@var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
5438
5439@noindent
5440Intrinsic groups: @code{unix}.
5441
5442@noindent
5443Description:
5444
5445Fills @var{Name} with the system's host name returned by
5446@code{gethostname(2)}, returning 0 on success or a non-zero error code
5447(@code{ENOSYS} if the system does not provide @code{gethostname(2)}).
5448
177873a5
JW
5449For information on other intrinsics with the same name:
5450@xref{HostNm Intrinsic (subroutine)}.
5451
5452@end ifset
5453@ifset familyF90
5454@node Huge Intrinsic
5455@subsubsection Huge Intrinsic
5456@cindex Huge intrinsic
5457@cindex intrinsics, Huge
5458
5459This intrinsic is not yet implemented.
5460The name is, however, reserved as an intrinsic.
5461Use @samp{EXTERNAL Huge} to use this name for an
5462external procedure.
5463
5464@end ifset
5465@ifset familyF77
5466@node IAbs Intrinsic
5467@subsubsection IAbs Intrinsic
5468@cindex IAbs intrinsic
5469@cindex intrinsics, IAbs
5470
5471@noindent
5472@example
5473IAbs(@var{A})
5474@end example
5475
5476@noindent
5477IAbs: @code{INTEGER(KIND=1)} function.
5478
5479@noindent
5480@var{A}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
5481
5482@noindent
5483Intrinsic groups: (standard FORTRAN 77).
5484
5485@noindent
5486Description:
5487
5488Archaic form of @code{ABS()} that is specific
5489to one type for @var{A}.
5490@xref{Abs Intrinsic}.
5491
5492@end ifset
5493@ifset familyASC
5494@node IAChar Intrinsic
5495@subsubsection IAChar Intrinsic
5496@cindex IAChar intrinsic
5497@cindex intrinsics, IAChar
5498
5499@noindent
5500@example
5501IAChar(@var{C})
5502@end example
5503
5504@noindent
5505IAChar: @code{INTEGER(KIND=1)} function.
5506
5507@noindent
5508@var{C}: @code{CHARACTER}; scalar; INTENT(IN).
5509
5510@noindent
5511Intrinsic groups: @code{f2c}, @code{f90}.
5512
5513@noindent
5514Description:
5515
5516Returns the code for the ASCII character in the
5517first character position of @var{C}.
5518
5519@xref{AChar Intrinsic}, for the inverse of this function.
5520
5521@xref{IChar Intrinsic}, for the function corresponding
5522to the system's native character set.
5523
5524@end ifset
5525@ifset familyMIL
5526@node IAnd Intrinsic
5527@subsubsection IAnd Intrinsic
5528@cindex IAnd intrinsic
5529@cindex intrinsics, IAnd
5530
5531@noindent
5532@example
5533IAnd(@var{I}, @var{J})
5534@end example
5535
5536@noindent
5537IAnd: @code{INTEGER} function, the exact type being the result of cross-promoting the
5538types of all the arguments.
5539
5540@noindent
5541@var{I}: @code{INTEGER}; scalar; INTENT(IN).
5542
5543@noindent
5544@var{J}: @code{INTEGER}; scalar; INTENT(IN).
5545
5546@noindent
5547Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
5548
5549@noindent
5550Description:
5551
5552Returns value resulting from boolean AND of
5553pair of bits in each of @var{I} and @var{J}.
5554
5555@end ifset
5556@ifset familyF2U
5557@node IArgC Intrinsic
5558@subsubsection IArgC Intrinsic
5559@cindex IArgC intrinsic
5560@cindex intrinsics, IArgC
5561
5562@noindent
5563@example
5564IArgC()
5565@end example
5566
5567@noindent
5568IArgC: @code{INTEGER(KIND=1)} function.
5569
5570@noindent
5571Intrinsic groups: @code{unix}.
5572
5573@noindent
5574Description:
5575
5576Returns the number of command-line arguments.
5577
5578This count does not include the specification of the program
5579name itself.
5580
5581@end ifset
5582@ifset familyMIL
5583@node IBClr Intrinsic
5584@subsubsection IBClr Intrinsic
5585@cindex IBClr intrinsic
5586@cindex intrinsics, IBClr
5587
5588@noindent
5589@example
5590IBClr(@var{I}, @var{Pos})
5591@end example
5592
5593@noindent
5594IBClr: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
5595
5596@noindent
5597@var{I}: @code{INTEGER}; scalar; INTENT(IN).
5598
5599@noindent
5600@var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
5601
5602@noindent
5603Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
5604
5605@noindent
5606Description:
5607
5608Returns the value of @var{I} with bit @var{Pos} cleared (set to
5609zero).
5610@xref{BTest Intrinsic} for information on bit positions.
5611
5612@node IBits Intrinsic
5613@subsubsection IBits Intrinsic
5614@cindex IBits intrinsic
5615@cindex intrinsics, IBits
5616
5617@noindent
5618@example
5619IBits(@var{I}, @var{Pos}, @var{Len})
5620@end example
5621
5622@noindent
5623IBits: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
5624
5625@noindent
5626@var{I}: @code{INTEGER}; scalar; INTENT(IN).
5627
5628@noindent
5629@var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
5630
5631@noindent
5632@var{Len}: @code{INTEGER}; scalar; INTENT(IN).
5633
5634@noindent
5635Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
5636
5637@noindent
5638Description:
5639
5640Extracts a subfield of length @var{Len} from @var{I}, starting from
5641bit position @var{Pos} and extending left for @var{Len} bits.
5642The result is right-justified and the remaining bits are zeroed.
5643The value
5644of @samp{@var{Pos}+@var{Len}} must be less than or equal to the value
5645@samp{BIT_SIZE(@var{I})}.
5646@xref{Bit_Size Intrinsic}.
5647
5648@node IBSet Intrinsic
5649@subsubsection IBSet Intrinsic
5650@cindex IBSet intrinsic
5651@cindex intrinsics, IBSet
5652
5653@noindent
5654@example
5655IBSet(@var{I}, @var{Pos})
5656@end example
5657
5658@noindent
5659IBSet: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
5660
5661@noindent
5662@var{I}: @code{INTEGER}; scalar; INTENT(IN).
5663
5664@noindent
5665@var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
5666
5667@noindent
5668Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
5669
5670@noindent
5671Description:
5672
5673Returns the value of @var{I} with bit @var{Pos} set (to one).
5674@xref{BTest Intrinsic} for information on bit positions.
5675
5676@end ifset
5677@ifset familyF77
5678@node IChar Intrinsic
5679@subsubsection IChar Intrinsic
5680@cindex IChar intrinsic
5681@cindex intrinsics, IChar
5682
5683@noindent
5684@example
5685IChar(@var{C})
5686@end example
5687
5688@noindent
5689IChar: @code{INTEGER(KIND=1)} function.
5690
5691@noindent
5692@var{C}: @code{CHARACTER}; scalar; INTENT(IN).
5693
5694@noindent
5695Intrinsic groups: (standard FORTRAN 77).
5696
5697@noindent
5698Description:
5699
5700Returns the code for the character in the
5701first character position of @var{C}.
5702
5703Because the system's native character set is used,
5704the correspondence between character and their codes
5705is not necessarily the same between GNU Fortran
5706implementations.
5707
5708Note that no intrinsic exists to convert a printable
5709character string to a numerical value.
5710For example, there is no intrinsic that, given
5711the @code{CHARACTER} value @samp{'154'}, returns an
5712@code{INTEGER} or @code{REAL} value with the value @samp{154}.
5713
5714Instead, you can use internal-file I/O to do this kind
5715of conversion.
5716For example:
5717
5718@smallexample
5719INTEGER VALUE
5720CHARACTER*10 STRING
5721STRING = '154'
5722READ (STRING, '(I10)'), VALUE
5723PRINT *, VALUE
5724END
5725@end smallexample
5726
5727The above program, when run, prints:
5728
5729@smallexample
5730 154
5731@end smallexample
5732
5733@xref{Char Intrinsic}, for the inverse of the @code{ICHAR} function.
5734
5735@xref{IAChar Intrinsic}, for the function corresponding
5736to the ASCII character set.
5737
5738@end ifset
5739@ifset familyF2U
5740@node IDate Intrinsic (UNIX)
5741@subsubsection IDate Intrinsic (UNIX)
5742@cindex IDate intrinsic
5743@cindex intrinsics, IDate
5744
5745@noindent
5746@example
5747CALL IDate(@var{TArray})
5748@end example
5749
5750@noindent
5751@var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(3); INTENT(OUT).
5752
5753@noindent
5754Intrinsic groups: @code{unix}.
5755
5756@noindent
5757Description:
5758
5759Fills @var{TArray} with the numerical values at the current local time
5760of day, month (in the range 1--12), and year in elements 1, 2, and 3,
5761respectively.
5762The year has four significant digits.
5763
5764For information on other intrinsics with the same name:
5765@xref{IDate Intrinsic (VXT)}.
5766
5767@end ifset
5768@ifset familyVXT
5769@node IDate Intrinsic (VXT)
5770@subsubsection IDate Intrinsic (VXT)
5771@cindex IDate intrinsic
5772@cindex intrinsics, IDate
5773
5774@noindent
5775@example
5776CALL IDate(@var{M}, @var{D}, @var{Y})
5777@end example
5778
5779@noindent
5780@var{M}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
5781
5782@noindent
5783@var{D}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
5784
5785@noindent
5786@var{Y}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
5787
5788@noindent
5789Intrinsic groups: @code{vxt}.
5790
5791@noindent
5792Description:
5793
5794Returns the numerical values of the current local time.
5795The month (in the range 1--12) is returned in @var{M},
5796the day (in the range 1--7) in @var{D},
5797and the year in @var{Y} (in the range 0--99).
5798
5799This intrinsic is not recommended, due to the year 2000 approaching.
5800
5801For information on other intrinsics with the same name:
5802@xref{IDate Intrinsic (UNIX)}.
5803
5804@end ifset
5805@ifset familyF77
5806@node IDiM Intrinsic
5807@subsubsection IDiM Intrinsic
5808@cindex IDiM intrinsic
5809@cindex intrinsics, IDiM
5810
5811@noindent
5812@example
5813IDiM(@var{X}, @var{Y})
5814@end example
5815
5816@noindent
5817IDiM: @code{INTEGER(KIND=1)} function.
5818
5819@noindent
5820@var{X}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
5821
5822@noindent
5823@var{Y}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
5824
5825@noindent
5826Intrinsic groups: (standard FORTRAN 77).
5827
5828@noindent
5829Description:
5830
0c65e50c 5831Archaic form of @code{DIM()} that is specific
177873a5 5832to one type for @var{X} and @var{Y}.
0c65e50c 5833@xref{DiM Intrinsic}.
177873a5
JW
5834
5835@node IDInt Intrinsic
5836@subsubsection IDInt Intrinsic
5837@cindex IDInt intrinsic
5838@cindex intrinsics, IDInt
5839
5840@noindent
5841@example
5842IDInt(@var{A})
5843@end example
5844
5845@noindent
5846IDInt: @code{INTEGER(KIND=1)} function.
5847
5848@noindent
5849@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
5850
5851@noindent
5852Intrinsic groups: (standard FORTRAN 77).
5853
5854@noindent
5855Description:
5856
5857Archaic form of @code{INT()} that is specific
5858to one type for @var{A}.
5859@xref{Int Intrinsic}.
5860
5861@node IDNInt Intrinsic
5862@subsubsection IDNInt Intrinsic
5863@cindex IDNInt intrinsic
5864@cindex intrinsics, IDNInt
5865
5866@noindent
5867@example
5868IDNInt(@var{A})
5869@end example
5870
5871@noindent
5872IDNInt: @code{INTEGER(KIND=1)} function.
5873
5874@noindent
5875@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
5876
5877@noindent
5878Intrinsic groups: (standard FORTRAN 77).
5879
5880@noindent
5881Description:
5882
5883Archaic form of @code{NINT()} that is specific
5884to one type for @var{A}.
5885@xref{NInt Intrinsic}.
5886
5887@end ifset
5888@ifset familyMIL
5889@node IEOr Intrinsic
5890@subsubsection IEOr Intrinsic
5891@cindex IEOr intrinsic
5892@cindex intrinsics, IEOr
5893
5894@noindent
5895@example
5896IEOr(@var{I}, @var{J})
5897@end example
5898
5899@noindent
5900IEOr: @code{INTEGER} function, the exact type being the result of cross-promoting the
5901types of all the arguments.
5902
5903@noindent
5904@var{I}: @code{INTEGER}; scalar; INTENT(IN).
5905
5906@noindent
5907@var{J}: @code{INTEGER}; scalar; INTENT(IN).
5908
5909@noindent
5910Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
5911
5912@noindent
5913Description:
5914
5915Returns value resulting from boolean exclusive-OR of
5916pair of bits in each of @var{I} and @var{J}.
5917
5918@end ifset
5919@ifset familyF2U
5920@node IErrNo Intrinsic
5921@subsubsection IErrNo Intrinsic
5922@cindex IErrNo intrinsic
5923@cindex intrinsics, IErrNo
5924
5925@noindent
5926@example
5927IErrNo()
5928@end example
5929
5930@noindent
5931IErrNo: @code{INTEGER(KIND=1)} function.
5932
5933@noindent
5934Intrinsic groups: @code{unix}.
5935
5936@noindent
5937Description:
5938
5939Returns the last system error number (corresponding to the C
5940@code{errno}).
5941
5942@end ifset
5943@ifset familyF77
5944@node IFix Intrinsic
5945@subsubsection IFix Intrinsic
5946@cindex IFix intrinsic
5947@cindex intrinsics, IFix
5948
5949@noindent
5950@example
5951IFix(@var{A})
5952@end example
5953
5954@noindent
5955IFix: @code{INTEGER(KIND=1)} function.
5956
5957@noindent
5958@var{A}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
5959
5960@noindent
5961Intrinsic groups: (standard FORTRAN 77).
5962
5963@noindent
5964Description:
5965
5966Archaic form of @code{INT()} that is specific
5967to one type for @var{A}.
5968@xref{Int Intrinsic}.
5969
5970@end ifset
5971@ifset familyVXT
5972@node IIAbs Intrinsic
5973@subsubsection IIAbs Intrinsic
5974@cindex IIAbs intrinsic
5975@cindex intrinsics, IIAbs
5976
5977This intrinsic is not yet implemented.
5978The name is, however, reserved as an intrinsic.
5979Use @samp{EXTERNAL IIAbs} to use this name for an
5980external procedure.
5981
5982@node IIAnd Intrinsic
5983@subsubsection IIAnd Intrinsic
5984@cindex IIAnd intrinsic
5985@cindex intrinsics, IIAnd
5986
5987This intrinsic is not yet implemented.
5988The name is, however, reserved as an intrinsic.
5989Use @samp{EXTERNAL IIAnd} to use this name for an
5990external procedure.
5991
5992@node IIBClr Intrinsic
5993@subsubsection IIBClr Intrinsic
5994@cindex IIBClr intrinsic
5995@cindex intrinsics, IIBClr
5996
5997This intrinsic is not yet implemented.
5998The name is, however, reserved as an intrinsic.
5999Use @samp{EXTERNAL IIBClr} to use this name for an
6000external procedure.
6001
6002@node IIBits Intrinsic
6003@subsubsection IIBits Intrinsic
6004@cindex IIBits intrinsic
6005@cindex intrinsics, IIBits
6006
6007This intrinsic is not yet implemented.
6008The name is, however, reserved as an intrinsic.
6009Use @samp{EXTERNAL IIBits} to use this name for an
6010external procedure.
6011
6012@node IIBSet Intrinsic
6013@subsubsection IIBSet Intrinsic
6014@cindex IIBSet intrinsic
6015@cindex intrinsics, IIBSet
6016
6017This intrinsic is not yet implemented.
6018The name is, however, reserved as an intrinsic.
6019Use @samp{EXTERNAL IIBSet} to use this name for an
6020external procedure.
6021
6022@node IIDiM Intrinsic
6023@subsubsection IIDiM Intrinsic
6024@cindex IIDiM intrinsic
6025@cindex intrinsics, IIDiM
6026
6027This intrinsic is not yet implemented.
6028The name is, however, reserved as an intrinsic.
6029Use @samp{EXTERNAL IIDiM} to use this name for an
6030external procedure.
6031
6032@node IIDInt Intrinsic
6033@subsubsection IIDInt Intrinsic
6034@cindex IIDInt intrinsic
6035@cindex intrinsics, IIDInt
6036
6037This intrinsic is not yet implemented.
6038The name is, however, reserved as an intrinsic.
6039Use @samp{EXTERNAL IIDInt} to use this name for an
6040external procedure.
6041
6042@node IIDNnt Intrinsic
6043@subsubsection IIDNnt Intrinsic
6044@cindex IIDNnt intrinsic
6045@cindex intrinsics, IIDNnt
6046
6047This intrinsic is not yet implemented.
6048The name is, however, reserved as an intrinsic.
6049Use @samp{EXTERNAL IIDNnt} to use this name for an
6050external procedure.
6051
6052@node IIEOr Intrinsic
6053@subsubsection IIEOr Intrinsic
6054@cindex IIEOr intrinsic
6055@cindex intrinsics, IIEOr
6056
6057This intrinsic is not yet implemented.
6058The name is, however, reserved as an intrinsic.
6059Use @samp{EXTERNAL IIEOr} to use this name for an
6060external procedure.
6061
6062@node IIFix Intrinsic
6063@subsubsection IIFix Intrinsic
6064@cindex IIFix intrinsic
6065@cindex intrinsics, IIFix
6066
6067This intrinsic is not yet implemented.
6068The name is, however, reserved as an intrinsic.
6069Use @samp{EXTERNAL IIFix} to use this name for an
6070external procedure.
6071
6072@node IInt Intrinsic
6073@subsubsection IInt Intrinsic
6074@cindex IInt intrinsic
6075@cindex intrinsics, IInt
6076
6077This intrinsic is not yet implemented.
6078The name is, however, reserved as an intrinsic.
6079Use @samp{EXTERNAL IInt} to use this name for an
6080external procedure.
6081
6082@node IIOr Intrinsic
6083@subsubsection IIOr Intrinsic
6084@cindex IIOr intrinsic
6085@cindex intrinsics, IIOr
6086
6087This intrinsic is not yet implemented.
6088The name is, however, reserved as an intrinsic.
6089Use @samp{EXTERNAL IIOr} to use this name for an
6090external procedure.
6091
6092@node IIQint Intrinsic
6093@subsubsection IIQint Intrinsic
6094@cindex IIQint intrinsic
6095@cindex intrinsics, IIQint
6096
6097This intrinsic is not yet implemented.
6098The name is, however, reserved as an intrinsic.
6099Use @samp{EXTERNAL IIQint} to use this name for an
6100external procedure.
6101
6102@node IIQNnt Intrinsic
6103@subsubsection IIQNnt Intrinsic
6104@cindex IIQNnt intrinsic
6105@cindex intrinsics, IIQNnt
6106
6107This intrinsic is not yet implemented.
6108The name is, however, reserved as an intrinsic.
6109Use @samp{EXTERNAL IIQNnt} to use this name for an
6110external procedure.
6111
6112@node IIShftC Intrinsic
6113@subsubsection IIShftC Intrinsic
6114@cindex IIShftC intrinsic
6115@cindex intrinsics, IIShftC
6116
6117This intrinsic is not yet implemented.
6118The name is, however, reserved as an intrinsic.
6119Use @samp{EXTERNAL IIShftC} to use this name for an
6120external procedure.
6121
6122@node IISign Intrinsic
6123@subsubsection IISign Intrinsic
6124@cindex IISign intrinsic
6125@cindex intrinsics, IISign
6126
6127This intrinsic is not yet implemented.
6128The name is, however, reserved as an intrinsic.
6129Use @samp{EXTERNAL IISign} to use this name for an
6130external procedure.
6131
6132@end ifset
6133@ifset familyF2C
6134@node Imag Intrinsic
6135@subsubsection Imag Intrinsic
6136@cindex Imag intrinsic
6137@cindex intrinsics, Imag
6138
6139@noindent
6140@example
6141Imag(@var{Z})
6142@end example
6143
6144@noindent
6145Imag: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{Z}.
6146
6147@noindent
6148@var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
6149
6150@noindent
6151Intrinsic groups: @code{f2c}.
6152
6153@noindent
6154Description:
6155
6156The imaginary part of @var{Z} is returned, without conversion.
6157
6158@emph{Note:} The way to do this in standard Fortran 90
6159is @samp{AIMAG(@var{Z})}.
6160However, when, for example, @var{Z} is @code{DOUBLE COMPLEX},
6161@samp{AIMAG(@var{Z})} means something different for some compilers
6162that are not true Fortran 90 compilers but offer some
6163extensions standardized by Fortran 90 (such as the
6164@code{DOUBLE COMPLEX} type, also known as @code{COMPLEX(KIND=2)}).
6165
6166The advantage of @code{IMAG()} is that, while not necessarily
6167more or less portable than @code{AIMAG()}, it is more likely to
6168cause a compiler that doesn't support it to produce a diagnostic
6169than generate incorrect code.
6170
6171@xref{REAL() and AIMAG() of Complex}, for more information.
6172
6173@end ifset
6174@ifset familyGNU
6175@node ImagPart Intrinsic
6176@subsubsection ImagPart Intrinsic
6177@cindex ImagPart intrinsic
6178@cindex intrinsics, ImagPart
6179
6180@noindent
6181@example
6182ImagPart(@var{Z})
6183@end example
6184
6185@noindent
6186ImagPart: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{Z}.
6187
6188@noindent
6189@var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
6190
6191@noindent
6192Intrinsic groups: @code{gnu}.
6193
6194@noindent
6195Description:
6196
6197The imaginary part of @var{Z} is returned, without conversion.
6198
6199@emph{Note:} The way to do this in standard Fortran 90
6200is @samp{AIMAG(@var{Z})}.
6201However, when, for example, @var{Z} is @code{DOUBLE COMPLEX},
6202@samp{AIMAG(@var{Z})} means something different for some compilers
6203that are not true Fortran 90 compilers but offer some
6204extensions standardized by Fortran 90 (such as the
6205@code{DOUBLE COMPLEX} type, also known as @code{COMPLEX(KIND=2)}).
6206
6207The advantage of @code{IMAGPART()} is that, while not necessarily
6208more or less portable than @code{AIMAG()}, it is more likely to
6209cause a compiler that doesn't support it to produce a diagnostic
6210than generate incorrect code.
6211
6212@xref{REAL() and AIMAG() of Complex}, for more information.
6213
6214@end ifset
6215@ifset familyVXT
6216@node IMax0 Intrinsic
6217@subsubsection IMax0 Intrinsic
6218@cindex IMax0 intrinsic
6219@cindex intrinsics, IMax0
6220
6221This intrinsic is not yet implemented.
6222The name is, however, reserved as an intrinsic.
6223Use @samp{EXTERNAL IMax0} to use this name for an
6224external procedure.
6225
6226@node IMax1 Intrinsic
6227@subsubsection IMax1 Intrinsic
6228@cindex IMax1 intrinsic
6229@cindex intrinsics, IMax1
6230
6231This intrinsic is not yet implemented.
6232The name is, however, reserved as an intrinsic.
6233Use @samp{EXTERNAL IMax1} to use this name for an
6234external procedure.
6235
6236@node IMin0 Intrinsic
6237@subsubsection IMin0 Intrinsic
6238@cindex IMin0 intrinsic
6239@cindex intrinsics, IMin0
6240
6241This intrinsic is not yet implemented.
6242The name is, however, reserved as an intrinsic.
6243Use @samp{EXTERNAL IMin0} to use this name for an
6244external procedure.
6245
6246@node IMin1 Intrinsic
6247@subsubsection IMin1 Intrinsic
6248@cindex IMin1 intrinsic
6249@cindex intrinsics, IMin1
6250
6251This intrinsic is not yet implemented.
6252The name is, however, reserved as an intrinsic.
6253Use @samp{EXTERNAL IMin1} to use this name for an
6254external procedure.
6255
6256@node IMod Intrinsic
6257@subsubsection IMod Intrinsic
6258@cindex IMod intrinsic
6259@cindex intrinsics, IMod
6260
6261This intrinsic is not yet implemented.
6262The name is, however, reserved as an intrinsic.
6263Use @samp{EXTERNAL IMod} to use this name for an
6264external procedure.
6265
6266@end ifset
6267@ifset familyF77
6268@node Index Intrinsic
6269@subsubsection Index Intrinsic
6270@cindex Index intrinsic
6271@cindex intrinsics, Index
6272
6273@noindent
6274@example
6275Index(@var{String}, @var{Substring})
6276@end example
6277
6278@noindent
6279Index: @code{INTEGER(KIND=1)} function.
6280
6281@noindent
6282@var{String}: @code{CHARACTER}; scalar; INTENT(IN).
6283
6284@noindent
6285@var{Substring}: @code{CHARACTER}; scalar; INTENT(IN).
6286
6287@noindent
6288Intrinsic groups: (standard FORTRAN 77).
6289
6290@noindent
6291Description:
6292
6293Returns the position of the start of the first occurrence of string
6294@var{Substring} as a substring in @var{String}, counting from one.
6295If @var{Substring} doesn't occur in @var{String}, zero is returned.
6296
6297@end ifset
6298@ifset familyVXT
6299@node INInt Intrinsic
6300@subsubsection INInt Intrinsic
6301@cindex INInt intrinsic
6302@cindex intrinsics, INInt
6303
6304This intrinsic is not yet implemented.
6305The name is, however, reserved as an intrinsic.
6306Use @samp{EXTERNAL INInt} to use this name for an
6307external procedure.
6308
6309@node INot Intrinsic
6310@subsubsection INot Intrinsic
6311@cindex INot intrinsic
6312@cindex intrinsics, INot
6313
6314This intrinsic is not yet implemented.
6315The name is, however, reserved as an intrinsic.
6316Use @samp{EXTERNAL INot} to use this name for an
6317external procedure.
6318
6319@end ifset
6320@ifset familyF77
6321@node Int Intrinsic
6322@subsubsection Int Intrinsic
6323@cindex Int intrinsic
6324@cindex intrinsics, Int
6325
6326@noindent
6327@example
6328Int(@var{A})
6329@end example
6330
6331@noindent
6332Int: @code{INTEGER(KIND=1)} function.
6333
6334@noindent
6335@var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
6336
6337@noindent
6338Intrinsic groups: (standard FORTRAN 77).
6339
6340@noindent
6341Description:
6342
6343Returns @var{A} with the fractional portion of its
6344magnitude truncated and its sign preserved, converted
6345to type @code{INTEGER(KIND=1)}.
6346
6347If @var{A} is type @code{COMPLEX}, its real part is
6348truncated and converted, and its imaginary part is disregarded.
6349
6350@xref{NInt Intrinsic}, for how to convert, rounded to nearest
6351whole number.
6352
6353@xref{AInt Intrinsic}, for how to truncate to whole number
6354without converting.
6355
6356@end ifset
6357@ifset familyGNU
6358@node Int2 Intrinsic
6359@subsubsection Int2 Intrinsic
6360@cindex Int2 intrinsic
6361@cindex intrinsics, Int2
6362
6363@noindent
6364@example
6365Int2(@var{A})
6366@end example
6367
6368@noindent
6369Int2: @code{INTEGER(KIND=6)} function.
6370
6371@noindent
81797aba 6372@var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
177873a5
JW
6373
6374@noindent
6375Intrinsic groups: @code{gnu}.
6376
6377@noindent
6378Description:
6379
6380Returns @var{A} with the fractional portion of its
6381magnitude truncated and its sign preserved, converted
6382to type @code{INTEGER(KIND=6)}.
6383
6384If @var{A} is type @code{COMPLEX}, its real part
6385is truncated and converted, and its imaginary part is disgregarded.
6386
6387@xref{Int Intrinsic}.
6388
6389The precise meaning of this intrinsic might change
6390in a future version of the GNU Fortran language,
6391as more is learned about how it is used.
6392
6393@node Int8 Intrinsic
6394@subsubsection Int8 Intrinsic
6395@cindex Int8 intrinsic
6396@cindex intrinsics, Int8
6397
6398@noindent
6399@example
6400Int8(@var{A})
6401@end example
6402
6403@noindent
6404Int8: @code{INTEGER(KIND=2)} function.
6405
6406@noindent
81797aba 6407@var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
177873a5
JW
6408
6409@noindent
6410Intrinsic groups: @code{gnu}.
6411
6412@noindent
6413Description:
6414
6415Returns @var{A} with the fractional portion of its
6416magnitude truncated and its sign preserved, converted
6417to type @code{INTEGER(KIND=2)}.
6418
6419If @var{A} is type @code{COMPLEX}, its real part
6420is truncated and converted, and its imaginary part is disgregarded.
6421
6422@xref{Int Intrinsic}.
6423
6424The precise meaning of this intrinsic might change
6425in a future version of the GNU Fortran language,
6426as more is learned about how it is used.
6427
6428@end ifset
6429@ifset familyMIL
6430@node IOr Intrinsic
6431@subsubsection IOr Intrinsic
6432@cindex IOr intrinsic
6433@cindex intrinsics, IOr
6434
6435@noindent
6436@example
6437IOr(@var{I}, @var{J})
6438@end example
6439
6440@noindent
6441IOr: @code{INTEGER} function, the exact type being the result of cross-promoting the
6442types of all the arguments.
6443
6444@noindent
6445@var{I}: @code{INTEGER}; scalar; INTENT(IN).
6446
6447@noindent
6448@var{J}: @code{INTEGER}; scalar; INTENT(IN).
6449
6450@noindent
6451Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
6452
6453@noindent
6454Description:
6455
6456Returns value resulting from boolean OR of
6457pair of bits in each of @var{I} and @var{J}.
6458
6459@end ifset
6460@ifset familyF2U
6461@node IRand Intrinsic
6462@subsubsection IRand Intrinsic
6463@cindex IRand intrinsic
6464@cindex intrinsics, IRand
6465
6466@noindent
6467@example
6468IRand(@var{Flag})
6469@end example
6470
6471@noindent
6472IRand: @code{INTEGER(KIND=1)} function.
6473
6474@noindent
6475@var{Flag}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN).
6476
6477@noindent
6478Intrinsic groups: @code{unix}.
6479
6480@noindent
6481Description:
6482
6483Returns a uniform quasi-random number up to a system-dependent limit.
6484If @var{Flag} is 0, the next number in sequence is returned; if
6485@var{Flag} is 1, the generator is restarted by calling the UNIX function
6486@samp{srand(0)}; if @var{Flag} has any other value,
6487it is used as a new seed with @code{srand()}.
6488
6489@xref{SRand Intrinsic}.
6490
6491@emph{Note:} As typically implemented (by the routine of the same
6492name in the C library), this random number generator is a very poor
6493one, though the BSD and GNU libraries provide a much better
6494implementation than the `traditional' one.
6495On a different system you almost certainly want to use something better.
6496
6497@node IsaTty Intrinsic
6498@subsubsection IsaTty Intrinsic
6499@cindex IsaTty intrinsic
6500@cindex intrinsics, IsaTty
6501
6502@noindent
6503@example
6504IsaTty(@var{Unit})
6505@end example
6506
6507@noindent
6508IsaTty: @code{LOGICAL(KIND=1)} function.
6509
6510@noindent
6511@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
6512
6513@noindent
6514Intrinsic groups: @code{unix}.
6515
6516@noindent
6517Description:
6518
6519Returns @code{.TRUE.} if and only if the Fortran I/O unit
6520specified by @var{Unit} is connected
6521to a terminal device.
6522See @code{isatty(3)}.
6523
6524@end ifset
6525@ifset familyMIL
6526@node IShft Intrinsic
6527@subsubsection IShft Intrinsic
6528@cindex IShft intrinsic
6529@cindex intrinsics, IShft
6530
6531@noindent
6532@example
6533IShft(@var{I}, @var{Shift})
6534@end example
6535
6536@noindent
6537IShft: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
6538
6539@noindent
6540@var{I}: @code{INTEGER}; scalar; INTENT(IN).
6541
6542@noindent
6543@var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
6544
6545@noindent
6546Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
6547
6548@noindent
6549Description:
6550
6551All bits representing @var{I} are shifted @var{Shift} places.
6552@samp{@var{Shift}.GT.0} indicates a left shift, @samp{@var{Shift}.EQ.0}
6553indicates no shift and @samp{@var{Shift}.LT.0} indicates a right shift.
6554If the absolute value of the shift count is greater than
6555@samp{BIT_SIZE(@var{I})}, the result is undefined.
6556Bits shifted out from the left end or the right end, as the case may be,
6557are lost.
6558Zeros are shifted in from the opposite end.
6559
6560@xref{IShftC Intrinsic} for the circular-shift equivalent.
6561
6562@node IShftC Intrinsic
6563@subsubsection IShftC Intrinsic
6564@cindex IShftC intrinsic
6565@cindex intrinsics, IShftC
6566
6567@noindent
6568@example
6569IShftC(@var{I}, @var{Shift}, @var{Size})
6570@end example
6571
6572@noindent
6573IShftC: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
6574
6575@noindent
6576@var{I}: @code{INTEGER}; scalar; INTENT(IN).
6577
6578@noindent
6579@var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
6580
6581@noindent
6582@var{Size}: @code{INTEGER}; scalar; INTENT(IN).
6583
6584@noindent
6585Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
6586
6587@noindent
6588Description:
6589
6590The rightmost @var{Size} bits of the argument @var{I}
6591are shifted circularly @var{Shift}
6592places, i.e.@ the bits shifted out of one end are shifted into
6593the opposite end.
6594No bits are lost.
6595The unshifted bits of the result are the same as
6596the unshifted bits of @var{I}.
6597The absolute value of the argument @var{Shift}
6598must be less than or equal to @var{Size}.
6599The value of @var{Size} must be greater than or equal to one and less than
6600or equal to @samp{BIT_SIZE(@var{I})}.
6601
6602@xref{IShft Intrinsic} for the logical shift equivalent.
6603
6604@end ifset
6605@ifset familyF77
6606@node ISign Intrinsic
6607@subsubsection ISign Intrinsic
6608@cindex ISign intrinsic
6609@cindex intrinsics, ISign
6610
6611@noindent
6612@example
6613ISign(@var{A}, @var{B})
6614@end example
6615
6616@noindent
6617ISign: @code{INTEGER(KIND=1)} function.
6618
6619@noindent
6620@var{A}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
6621
6622@noindent
6623@var{B}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
6624
6625@noindent
6626Intrinsic groups: (standard FORTRAN 77).
6627
6628@noindent
6629Description:
6630
0c65e50c 6631Archaic form of @code{SIGN()} that is specific
177873a5 6632to one type for @var{A} and @var{B}.
0c65e50c 6633@xref{Sign Intrinsic}.
177873a5
JW
6634
6635@end ifset
6636@ifset familyF2U
6637@node ITime Intrinsic
6638@subsubsection ITime Intrinsic
6639@cindex ITime intrinsic
6640@cindex intrinsics, ITime
6641
6642@noindent
6643@example
6644CALL ITime(@var{TArray})
6645@end example
6646
6647@noindent
6648@var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(3); INTENT(OUT).
6649
6650@noindent
6651Intrinsic groups: @code{unix}.
6652
6653@noindent
6654Description:
6655
6656Returns the current local time hour, minutes, and seconds in elements
66571, 2, and 3 of @var{TArray}, respectively.
6658
6659@end ifset
6660@ifset familyVXT
6661@node IZExt Intrinsic
6662@subsubsection IZExt Intrinsic
6663@cindex IZExt intrinsic
6664@cindex intrinsics, IZExt
6665
6666This intrinsic is not yet implemented.
6667The name is, however, reserved as an intrinsic.
6668Use @samp{EXTERNAL IZExt} to use this name for an
6669external procedure.
6670
6671@node JIAbs Intrinsic
6672@subsubsection JIAbs Intrinsic
6673@cindex JIAbs intrinsic
6674@cindex intrinsics, JIAbs
6675
6676This intrinsic is not yet implemented.
6677The name is, however, reserved as an intrinsic.
6678Use @samp{EXTERNAL JIAbs} to use this name for an
6679external procedure.
6680
6681@node JIAnd Intrinsic
6682@subsubsection JIAnd Intrinsic
6683@cindex JIAnd intrinsic
6684@cindex intrinsics, JIAnd
6685
6686This intrinsic is not yet implemented.
6687The name is, however, reserved as an intrinsic.
6688Use @samp{EXTERNAL JIAnd} to use this name for an
6689external procedure.
6690
6691@node JIBClr Intrinsic
6692@subsubsection JIBClr Intrinsic
6693@cindex JIBClr intrinsic
6694@cindex intrinsics, JIBClr
6695
6696This intrinsic is not yet implemented.
6697The name is, however, reserved as an intrinsic.
6698Use @samp{EXTERNAL JIBClr} to use this name for an
6699external procedure.
6700
6701@node JIBits Intrinsic
6702@subsubsection JIBits Intrinsic
6703@cindex JIBits intrinsic
6704@cindex intrinsics, JIBits
6705
6706This intrinsic is not yet implemented.
6707The name is, however, reserved as an intrinsic.
6708Use @samp{EXTERNAL JIBits} to use this name for an
6709external procedure.
6710
6711@node JIBSet Intrinsic
6712@subsubsection JIBSet Intrinsic
6713@cindex JIBSet intrinsic
6714@cindex intrinsics, JIBSet
6715
6716This intrinsic is not yet implemented.
6717The name is, however, reserved as an intrinsic.
6718Use @samp{EXTERNAL JIBSet} to use this name for an
6719external procedure.
6720
6721@node JIDiM Intrinsic
6722@subsubsection JIDiM Intrinsic
6723@cindex JIDiM intrinsic
6724@cindex intrinsics, JIDiM
6725
6726This intrinsic is not yet implemented.
6727The name is, however, reserved as an intrinsic.
6728Use @samp{EXTERNAL JIDiM} to use this name for an
6729external procedure.
6730
6731@node JIDInt Intrinsic
6732@subsubsection JIDInt Intrinsic
6733@cindex JIDInt intrinsic
6734@cindex intrinsics, JIDInt
6735
6736This intrinsic is not yet implemented.
6737The name is, however, reserved as an intrinsic.
6738Use @samp{EXTERNAL JIDInt} to use this name for an
6739external procedure.
6740
6741@node JIDNnt Intrinsic
6742@subsubsection JIDNnt Intrinsic
6743@cindex JIDNnt intrinsic
6744@cindex intrinsics, JIDNnt
6745
6746This intrinsic is not yet implemented.
6747The name is, however, reserved as an intrinsic.
6748Use @samp{EXTERNAL JIDNnt} to use this name for an
6749external procedure.
6750
6751@node JIEOr Intrinsic
6752@subsubsection JIEOr Intrinsic
6753@cindex JIEOr intrinsic
6754@cindex intrinsics, JIEOr
6755
6756This intrinsic is not yet implemented.
6757The name is, however, reserved as an intrinsic.
6758Use @samp{EXTERNAL JIEOr} to use this name for an
6759external procedure.
6760
6761@node JIFix Intrinsic
6762@subsubsection JIFix Intrinsic
6763@cindex JIFix intrinsic
6764@cindex intrinsics, JIFix
6765
6766This intrinsic is not yet implemented.
6767The name is, however, reserved as an intrinsic.
6768Use @samp{EXTERNAL JIFix} to use this name for an
6769external procedure.
6770
6771@node JInt Intrinsic
6772@subsubsection JInt Intrinsic
6773@cindex JInt intrinsic
6774@cindex intrinsics, JInt
6775
6776This intrinsic is not yet implemented.
6777The name is, however, reserved as an intrinsic.
6778Use @samp{EXTERNAL JInt} to use this name for an
6779external procedure.
6780
6781@node JIOr Intrinsic
6782@subsubsection JIOr Intrinsic
6783@cindex JIOr intrinsic
6784@cindex intrinsics, JIOr
6785
6786This intrinsic is not yet implemented.
6787The name is, however, reserved as an intrinsic.
6788Use @samp{EXTERNAL JIOr} to use this name for an
6789external procedure.
6790
6791@node JIQint Intrinsic
6792@subsubsection JIQint Intrinsic
6793@cindex JIQint intrinsic
6794@cindex intrinsics, JIQint
6795
6796This intrinsic is not yet implemented.
6797The name is, however, reserved as an intrinsic.
6798Use @samp{EXTERNAL JIQint} to use this name for an
6799external procedure.
6800
6801@node JIQNnt Intrinsic
6802@subsubsection JIQNnt Intrinsic
6803@cindex JIQNnt intrinsic
6804@cindex intrinsics, JIQNnt
6805
6806This intrinsic is not yet implemented.
6807The name is, however, reserved as an intrinsic.
6808Use @samp{EXTERNAL JIQNnt} to use this name for an
6809external procedure.
6810
6811@node JIShft Intrinsic
6812@subsubsection JIShft Intrinsic
6813@cindex JIShft intrinsic
6814@cindex intrinsics, JIShft
6815
6816This intrinsic is not yet implemented.
6817The name is, however, reserved as an intrinsic.
6818Use @samp{EXTERNAL JIShft} to use this name for an
6819external procedure.
6820
6821@node JIShftC Intrinsic
6822@subsubsection JIShftC Intrinsic
6823@cindex JIShftC intrinsic
6824@cindex intrinsics, JIShftC
6825
6826This intrinsic is not yet implemented.
6827The name is, however, reserved as an intrinsic.
6828Use @samp{EXTERNAL JIShftC} to use this name for an
6829external procedure.
6830
6831@node JISign Intrinsic
6832@subsubsection JISign Intrinsic
6833@cindex JISign intrinsic
6834@cindex intrinsics, JISign
6835
6836This intrinsic is not yet implemented.
6837The name is, however, reserved as an intrinsic.
6838Use @samp{EXTERNAL JISign} to use this name for an
6839external procedure.
6840
6841@node JMax0 Intrinsic
6842@subsubsection JMax0 Intrinsic
6843@cindex JMax0 intrinsic
6844@cindex intrinsics, JMax0
6845
6846This intrinsic is not yet implemented.
6847The name is, however, reserved as an intrinsic.
6848Use @samp{EXTERNAL JMax0} to use this name for an
6849external procedure.
6850
6851@node JMax1 Intrinsic
6852@subsubsection JMax1 Intrinsic
6853@cindex JMax1 intrinsic
6854@cindex intrinsics, JMax1
6855
6856This intrinsic is not yet implemented.
6857The name is, however, reserved as an intrinsic.
6858Use @samp{EXTERNAL JMax1} to use this name for an
6859external procedure.
6860
6861@node JMin0 Intrinsic
6862@subsubsection JMin0 Intrinsic
6863@cindex JMin0 intrinsic
6864@cindex intrinsics, JMin0
6865
6866This intrinsic is not yet implemented.
6867The name is, however, reserved as an intrinsic.
6868Use @samp{EXTERNAL JMin0} to use this name for an
6869external procedure.
6870
6871@node JMin1 Intrinsic
6872@subsubsection JMin1 Intrinsic
6873@cindex JMin1 intrinsic
6874@cindex intrinsics, JMin1
6875
6876This intrinsic is not yet implemented.
6877The name is, however, reserved as an intrinsic.
6878Use @samp{EXTERNAL JMin1} to use this name for an
6879external procedure.
6880
6881@node JMod Intrinsic
6882@subsubsection JMod Intrinsic
6883@cindex JMod intrinsic
6884@cindex intrinsics, JMod
6885
6886This intrinsic is not yet implemented.
6887The name is, however, reserved as an intrinsic.
6888Use @samp{EXTERNAL JMod} to use this name for an
6889external procedure.
6890
6891@node JNInt Intrinsic
6892@subsubsection JNInt Intrinsic
6893@cindex JNInt intrinsic
6894@cindex intrinsics, JNInt
6895
6896This intrinsic is not yet implemented.
6897The name is, however, reserved as an intrinsic.
6898Use @samp{EXTERNAL JNInt} to use this name for an
6899external procedure.
6900
6901@node JNot Intrinsic
6902@subsubsection JNot Intrinsic
6903@cindex JNot intrinsic
6904@cindex intrinsics, JNot
6905
6906This intrinsic is not yet implemented.
6907The name is, however, reserved as an intrinsic.
6908Use @samp{EXTERNAL JNot} to use this name for an
6909external procedure.
6910
6911@node JZExt Intrinsic
6912@subsubsection JZExt Intrinsic
6913@cindex JZExt intrinsic
6914@cindex intrinsics, JZExt
6915
6916This intrinsic is not yet implemented.
6917The name is, however, reserved as an intrinsic.
6918Use @samp{EXTERNAL JZExt} to use this name for an
6919external procedure.
6920
6921@end ifset
6922@ifset familyF2U
6923@node Kill Intrinsic (subroutine)
6924@subsubsection Kill Intrinsic (subroutine)
6925@cindex Kill intrinsic
6926@cindex intrinsics, Kill
6927
6928@noindent
6929@example
6930CALL Kill(@var{Pid}, @var{Signal}, @var{Status})
6931@end example
6932
6933@noindent
6934@var{Pid}: @code{INTEGER}; scalar; INTENT(IN).
6935
6936@noindent
6937@var{Signal}: @code{INTEGER}; scalar; INTENT(IN).
6938
6939@noindent
6940@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
6941
6942@noindent
6943Intrinsic groups: @code{unix}.
6944
6945@noindent
6946Description:
6947
6948Sends the signal specified by @var{Signal} to the process @var{Pid}.
6949If the @var{Status} argument is supplied, it contains
69500 on success or a non-zero error code upon return.
6951See @code{kill(2)}.
6952
6953Some non-GNU implementations of Fortran provide this intrinsic as
6954only a function, not as a subroutine, or do not support the
6955(optional) @var{Status} argument.
6956
6957For information on other intrinsics with the same name:
6958@xref{Kill Intrinsic (function)}.
6959
6960@end ifset
6961@ifset familyBADU77
6962@node Kill Intrinsic (function)
6963@subsubsection Kill Intrinsic (function)
6964@cindex Kill intrinsic
6965@cindex intrinsics, Kill
6966
6967@noindent
6968@example
6969Kill(@var{Pid}, @var{Signal})
6970@end example
6971
6972@noindent
6973Kill: @code{INTEGER(KIND=1)} function.
6974
6975@noindent
6976@var{Pid}: @code{INTEGER}; scalar; INTENT(IN).
6977
6978@noindent
6979@var{Signal}: @code{INTEGER}; scalar; INTENT(IN).
6980
6981@noindent
6982Intrinsic groups: @code{badu77}.
6983
6984@noindent
6985Description:
6986
6987Sends the signal specified by @var{Signal} to the process @var{Pid}.
6988Returns 0 on success or a non-zero error code.
6989See @code{kill(2)}.
6990
6991Due to the side effects performed by this intrinsic, the function
6992form is not recommended.
6993
6994For information on other intrinsics with the same name:
6995@xref{Kill Intrinsic (subroutine)}.
6996
6997@end ifset
6998@ifset familyF90
6999@node Kind Intrinsic
7000@subsubsection Kind Intrinsic
7001@cindex Kind intrinsic
7002@cindex intrinsics, Kind
7003
7004This intrinsic is not yet implemented.
7005The name is, however, reserved as an intrinsic.
7006Use @samp{EXTERNAL Kind} to use this name for an
7007external procedure.
7008
7009@node LBound Intrinsic
7010@subsubsection LBound Intrinsic
7011@cindex LBound intrinsic
7012@cindex intrinsics, LBound
7013
7014This intrinsic is not yet implemented.
7015The name is, however, reserved as an intrinsic.
7016Use @samp{EXTERNAL LBound} to use this name for an
7017external procedure.
7018
7019@end ifset
7020@ifset familyF77
7021@node Len Intrinsic
7022@subsubsection Len Intrinsic
7023@cindex Len intrinsic
7024@cindex intrinsics, Len
7025
7026@noindent
7027@example
7028Len(@var{String})
7029@end example
7030
7031@noindent
7032Len: @code{INTEGER(KIND=1)} function.
7033
7034@noindent
7035@var{String}: @code{CHARACTER}; scalar.
7036
7037@noindent
7038Intrinsic groups: (standard FORTRAN 77).
7039
7040@noindent
7041Description:
7042
7043Returns the length of @var{String}.
7044
7045If @var{String} is an array, the length of an element
7046of @var{String} is returned.
7047
7048Note that @var{String} need not be defined when this
7049intrinsic is invoked, since only the length, not
7050the content, of @var{String} is needed.
7051
7052@xref{Bit_Size Intrinsic}, for the function that determines
7053the size of its argument in bits.
7054
7055@end ifset
7056@ifset familyF90
7057@node Len_Trim Intrinsic
7058@subsubsection Len_Trim Intrinsic
7059@cindex Len_Trim intrinsic
7060@cindex intrinsics, Len_Trim
7061
7062@noindent
7063@example
7064Len_Trim(@var{String})
7065@end example
7066
7067@noindent
7068Len_Trim: @code{INTEGER(KIND=1)} function.
7069
7070@noindent
7071@var{String}: @code{CHARACTER}; scalar; INTENT(IN).
7072
7073@noindent
7074Intrinsic groups: @code{f90}.
7075
7076@noindent
7077Description:
7078
7079Returns the index of the last non-blank character in @var{String}.
7080@code{LNBLNK} and @code{LEN_TRIM} are equivalent.
7081
7082@end ifset
7083@ifset familyF77
7084@node LGe Intrinsic
7085@subsubsection LGe Intrinsic
7086@cindex LGe intrinsic
7087@cindex intrinsics, LGe
7088
7089@noindent
7090@example
7091LGe(@var{String_A}, @var{String_B})
7092@end example
7093
7094@noindent
7095LGe: @code{LOGICAL(KIND=1)} function.
7096
7097@noindent
7098@var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
7099
7100@noindent
7101@var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
7102
7103@noindent
7104Intrinsic groups: (standard FORTRAN 77).
7105
7106@noindent
7107Description:
7108
7109Returns @samp{.TRUE.} if @samp{@var{String_A}.GE.@var{String_B}},
7110@samp{.FALSE.} otherwise.
7111@var{String_A} and @var{String_B} are interpreted as containing
7112ASCII character codes.
7113If either value contains a character not in the ASCII
7114character set, the result is processor dependent.
7115
7116If the @var{String_A} and @var{String_B} are not the same length,
7117the shorter is compared as if spaces were appended to
7118it to form a value that has the same length as the longer.
7119
7120The lexical comparison intrinsics @code{LGe}, @code{LGt},
7121@code{LLe}, and @code{LLt} differ from the corresponding
7122intrinsic operators @code{.GE.}, @code{.GT.},
7123@code{.LE.}, @code{.LT.}.
7124Because the ASCII collating sequence is assumed,
7125the following expressions always return @samp{.TRUE.}:
7126
7127@smallexample
7128LGE ('0', ' ')
7129LGE ('A', '0')
7130LGE ('a', 'A')
7131@end smallexample
7132
7133The following related expressions do @emph{not} always
7134return @samp{.TRUE.}, as they are not necessarily evaluated
7135assuming the arguments use ASCII encoding:
7136
7137@smallexample
7138'0' .GE. ' '
7139'A' .GE. '0'
7140'a' .GE. 'A'
7141@end smallexample
7142
7143The same difference exists
7144between @code{LGt} and @code{.GT.};
7145between @code{LLe} and @code{.LE.}; and
7146between @code{LLt} and @code{.LT.}.
7147
7148@node LGt Intrinsic
7149@subsubsection LGt Intrinsic
7150@cindex LGt intrinsic
7151@cindex intrinsics, LGt
7152
7153@noindent
7154@example
7155LGt(@var{String_A}, @var{String_B})
7156@end example
7157
7158@noindent
7159LGt: @code{LOGICAL(KIND=1)} function.
7160
7161@noindent
7162@var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
7163
7164@noindent
7165@var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
7166
7167@noindent
7168Intrinsic groups: (standard FORTRAN 77).
7169
7170@noindent
7171Description:
7172
7173Returns @samp{.TRUE.} if @samp{@var{String_A}.GT.@var{String_B}},
7174@samp{.FALSE.} otherwise.
7175@var{String_A} and @var{String_B} are interpreted as containing
7176ASCII character codes.
7177If either value contains a character not in the ASCII
7178character set, the result is processor dependent.
7179
7180If the @var{String_A} and @var{String_B} are not the same length,
7181the shorter is compared as if spaces were appended to
7182it to form a value that has the same length as the longer.
7183
7184@xref{LGe Intrinsic}, for information on the distinction
7185between the @code{LGT} intrinsic and the @code{.GT.}
7186operator.
7187
7188@end ifset
7189@ifset familyF2U
7190@node Link Intrinsic (subroutine)
7191@subsubsection Link Intrinsic (subroutine)
7192@cindex Link intrinsic
7193@cindex intrinsics, Link
7194
7195@noindent
7196@example
7197CALL Link(@var{Path1}, @var{Path2}, @var{Status})
7198@end example
7199
7200@noindent
7201@var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
7202
7203@noindent
7204@var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
7205
7206@noindent
7207@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
7208
7209@noindent
7210Intrinsic groups: @code{unix}.
7211
7212@noindent
7213Description:
7214
7215Makes a (hard) link from file @var{Path1} to @var{Path2}.
7216A null character (@samp{CHAR(0)}) marks the end of
7217the names in @var{Path1} and @var{Path2}---otherwise,
7218trailing blanks in @var{Path1} and @var{Path2} are ignored.
7219If the @var{Status} argument is supplied, it contains
72200 on success or a non-zero error code upon return.
7221See @code{link(2)}.
7222
7223Some non-GNU implementations of Fortran provide this intrinsic as
7224only a function, not as a subroutine, or do not support the
7225(optional) @var{Status} argument.
7226
7227For information on other intrinsics with the same name:
7228@xref{Link Intrinsic (function)}.
7229
7230@end ifset
7231@ifset familyBADU77
7232@node Link Intrinsic (function)
7233@subsubsection Link Intrinsic (function)
7234@cindex Link intrinsic
7235@cindex intrinsics, Link
7236
7237@noindent
7238@example
7239Link(@var{Path1}, @var{Path2})
7240@end example
7241
7242@noindent
7243Link: @code{INTEGER(KIND=1)} function.
7244
7245@noindent
7246@var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
7247
7248@noindent
7249@var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
7250
7251@noindent
7252Intrinsic groups: @code{badu77}.
7253
7254@noindent
7255Description:
7256
7257Makes a (hard) link from file @var{Path1} to @var{Path2}.
7258A null character (@samp{CHAR(0)}) marks the end of
7259the names in @var{Path1} and @var{Path2}---otherwise,
7260trailing blanks in @var{Path1} and @var{Path2} are ignored.
7261Returns 0 on success or a non-zero error code.
7262See @code{link(2)}.
7263
7264Due to the side effects performed by this intrinsic, the function
7265form is not recommended.
7266
7267For information on other intrinsics with the same name:
7268@xref{Link Intrinsic (subroutine)}.
7269
7270@end ifset
7271@ifset familyF77
7272@node LLe Intrinsic
7273@subsubsection LLe Intrinsic
7274@cindex LLe intrinsic
7275@cindex intrinsics, LLe
7276
7277@noindent
7278@example
7279LLe(@var{String_A}, @var{String_B})
7280@end example
7281
7282@noindent
7283LLe: @code{LOGICAL(KIND=1)} function.
7284
7285@noindent
7286@var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
7287
7288@noindent
7289@var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
7290
7291@noindent
7292Intrinsic groups: (standard FORTRAN 77).
7293
7294@noindent
7295Description:
7296
7297Returns @samp{.TRUE.} if @samp{@var{String_A}.LE.@var{String_B}},
7298@samp{.FALSE.} otherwise.
7299@var{String_A} and @var{String_B} are interpreted as containing
7300ASCII character codes.
7301If either value contains a character not in the ASCII
7302character set, the result is processor dependent.
7303
7304If the @var{String_A} and @var{String_B} are not the same length,
7305the shorter is compared as if spaces were appended to
7306it to form a value that has the same length as the longer.
7307
7308@xref{LGe Intrinsic}, for information on the distinction
7309between the @code{LLE} intrinsic and the @code{.LE.}
7310operator.
7311
7312@node LLt Intrinsic
7313@subsubsection LLt Intrinsic
7314@cindex LLt intrinsic
7315@cindex intrinsics, LLt
7316
7317@noindent
7318@example
7319LLt(@var{String_A}, @var{String_B})
7320@end example
7321
7322@noindent
7323LLt: @code{LOGICAL(KIND=1)} function.
7324
7325@noindent
7326@var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
7327
7328@noindent
7329@var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
7330
7331@noindent
7332Intrinsic groups: (standard FORTRAN 77).
7333
7334@noindent
7335Description:
7336
7337Returns @samp{.TRUE.} if @samp{@var{String_A}.LT.@var{String_B}},
7338@samp{.FALSE.} otherwise.
7339@var{String_A} and @var{String_B} are interpreted as containing
7340ASCII character codes.
7341If either value contains a character not in the ASCII
7342character set, the result is processor dependent.
7343
7344If the @var{String_A} and @var{String_B} are not the same length,
7345the shorter is compared as if spaces were appended to
7346it to form a value that has the same length as the longer.
7347
7348@xref{LGe Intrinsic}, for information on the distinction
7349between the @code{LLT} intrinsic and the @code{.LT.}
7350operator.
7351
7352@end ifset
7353@ifset familyF2U
7354@node LnBlnk Intrinsic
7355@subsubsection LnBlnk Intrinsic
7356@cindex LnBlnk intrinsic
7357@cindex intrinsics, LnBlnk
7358
7359@noindent
7360@example
7361LnBlnk(@var{String})
7362@end example
7363
7364@noindent
7365LnBlnk: @code{INTEGER(KIND=1)} function.
7366
7367@noindent
7368@var{String}: @code{CHARACTER}; scalar; INTENT(IN).
7369
7370@noindent
7371Intrinsic groups: @code{unix}.
7372
7373@noindent
7374Description:
7375
7376Returns the index of the last non-blank character in @var{String}.
7377@code{LNBLNK} and @code{LEN_TRIM} are equivalent.
7378
7379@node Loc Intrinsic
7380@subsubsection Loc Intrinsic
7381@cindex Loc intrinsic
7382@cindex intrinsics, Loc
7383
7384@noindent
7385@example
7386Loc(@var{Entity})
7387@end example
7388
7389@noindent
b244d07c 7390Loc: @code{INTEGER(KIND=7)} function.
177873a5
JW
7391
7392@noindent
7393@var{Entity}: Any type; cannot be a constant or expression.
7394
7395@noindent
7396Intrinsic groups: @code{unix}.
7397
7398@noindent
7399Description:
7400
7401The @code{LOC()} intrinsic works the
7402same way as the @code{%LOC()} construct.
7403@xref{%LOC(),,The @code{%LOC()} Construct}, for
7404more information.
7405
7406@end ifset
7407@ifset familyF77
7408@node Log Intrinsic
7409@subsubsection Log Intrinsic
7410@cindex Log intrinsic
7411@cindex intrinsics, Log
7412
7413@noindent
7414@example
7415Log(@var{X})
7416@end example
7417
7418@noindent
7419Log: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
7420
7421@noindent
7422@var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
7423
7424@noindent
7425Intrinsic groups: (standard FORTRAN 77).
7426
7427@noindent
7428Description:
7429
7430Returns the natural logarithm of @var{X}, which must
7431be greater than zero or, if type @code{COMPLEX}, must not
7432be zero.
7433
7434@xref{Exp Intrinsic}, for the inverse of this function.
7435
7436@xref{Log10 Intrinsic}, for the base-10 logarithm function.
7437
7438@node Log10 Intrinsic
7439@subsubsection Log10 Intrinsic
7440@cindex Log10 intrinsic
7441@cindex intrinsics, Log10
7442
7443@noindent
7444@example
7445Log10(@var{X})
7446@end example
7447
7448@noindent
7449Log10: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
7450
7451@noindent
7452@var{X}: @code{REAL}; scalar; INTENT(IN).
7453
7454@noindent
7455Intrinsic groups: (standard FORTRAN 77).
7456
7457@noindent
7458Description:
7459
7460Returns the natural logarithm of @var{X}, which must
7461be greater than zero or, if type @code{COMPLEX}, must not
7462be zero.
7463
7464The inverse of this function is @samp{10. ** LOG10(@var{X})}.
7465
7466@xref{Log Intrinsic}, for the natural logarithm function.
7467
7468@end ifset
7469@ifset familyF90
7470@node Logical Intrinsic
7471@subsubsection Logical Intrinsic
7472@cindex Logical intrinsic
7473@cindex intrinsics, Logical
7474
7475This intrinsic is not yet implemented.
7476The name is, however, reserved as an intrinsic.
7477Use @samp{EXTERNAL Logical} to use this name for an
7478external procedure.
7479
7480@end ifset
7481@ifset familyF2U
7482@node Long Intrinsic
7483@subsubsection Long Intrinsic
7484@cindex Long intrinsic
7485@cindex intrinsics, Long
7486
7487@noindent
7488@example
7489Long(@var{A})
7490@end example
7491
7492@noindent
7493Long: @code{INTEGER(KIND=1)} function.
7494
7495@noindent
7496@var{A}: @code{INTEGER(KIND=6)}; scalar; INTENT(IN).
7497
7498@noindent
7499Intrinsic groups: @code{unix}.
7500
7501@noindent
7502Description:
7503
7504Archaic form of @code{INT()} that is specific
7505to one type for @var{A}.
7506@xref{Int Intrinsic}.
7507
7508The precise meaning of this intrinsic might change
7509in a future version of the GNU Fortran language,
7510as more is learned about how it is used.
7511
7512@end ifset
7513@ifset familyF2C
7514@node LShift Intrinsic
7515@subsubsection LShift Intrinsic
7516@cindex LShift intrinsic
7517@cindex intrinsics, LShift
7518
7519@noindent
7520@example
7521LShift(@var{I}, @var{Shift})
7522@end example
7523
7524@noindent
7525LShift: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
7526
7527@noindent
7528@var{I}: @code{INTEGER}; scalar; INTENT(IN).
7529
7530@noindent
7531@var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
7532
7533@noindent
7534Intrinsic groups: @code{f2c}.
7535
7536@noindent
7537Description:
7538
7539Returns @var{I} shifted to the left
7540@var{Shift} bits.
7541
7542Although similar to the expression
7543@samp{@var{I}*(2**@var{Shift})}, there
7544are important differences.
7545For example, the sign of the result is
7546not necessarily the same as the sign of
7547@var{I}.
7548
7549Currently this intrinsic is defined assuming
7550the underlying representation of @var{I}
7551is as a two's-complement integer.
7552It is unclear at this point whether that
7553definition will apply when a different
7554representation is involved.
7555
7556@xref{LShift Intrinsic}, for the inverse of this function.
7557
7558@xref{IShft Intrinsic}, for information
7559on a more widely available left-shifting
7560intrinsic that is also more precisely defined.
7561
7562@end ifset
7563@ifset familyF2U
7564@node LStat Intrinsic (subroutine)
7565@subsubsection LStat Intrinsic (subroutine)
7566@cindex LStat intrinsic
7567@cindex intrinsics, LStat
7568
7569@noindent
7570@example
7571CALL LStat(@var{File}, @var{SArray}, @var{Status})
7572@end example
7573
7574@noindent
7575@var{File}: @code{CHARACTER}; scalar; INTENT(IN).
7576
7577@noindent
7578@var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
7579
7580@noindent
7581@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
7582
7583@noindent
7584Intrinsic groups: @code{unix}.
7585
7586@noindent
7587Description:
7588
7589Obtains data about the given file @var{File} and places them in the array
7590@var{SArray}.
7591A null character (@samp{CHAR(0)}) marks the end of
7592the name in @var{File}---otherwise,
7593trailing blanks in @var{File} are ignored.
7594If @var{File} is a symbolic link it returns data on the
7595link itself, so the routine is available only on systems that support
7596symbolic links.
7597The values in this array are extracted from the
7598@code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
7599
7600@enumerate
7601@item
7602File mode
7603
7604@item
7605Inode number
7606
7607@item
7608ID of device containing directory entry for file
7609
7610@item
7611Device id (if relevant)
7612
7613@item
7614Number of links
7615
7616@item
7617Owner's uid
7618
7619@item
7620Owner's gid
7621
7622@item
7623File size (bytes)
7624
7625@item
7626Last access time
7627
7628@item
7629Last modification time
7630
7631@item
7632Last file status change time
7633
7634@item
7635Preferred I/O block size
7636
7637@item
7638Number of blocks allocated
7639@end enumerate
7640
7641Not all these elements are relevant on all systems.
7642If an element is not relevant, it is returned as 0.
7643
7644If the @var{Status} argument is supplied, it contains
76450 on success or a non-zero error code upon return
7646(@code{ENOSYS} if the system does not provide @code{lstat(2)}).
7647
7648Some non-GNU implementations of Fortran provide this intrinsic as
7649only a function, not as a subroutine, or do not support the
7650(optional) @var{Status} argument.
7651
7652For information on other intrinsics with the same name:
7653@xref{LStat Intrinsic (function)}.
7654
7655@node LStat Intrinsic (function)
7656@subsubsection LStat Intrinsic (function)
7657@cindex LStat intrinsic
7658@cindex intrinsics, LStat
7659
7660@noindent
7661@example
7662LStat(@var{File}, @var{SArray})
7663@end example
7664
7665@noindent
7666LStat: @code{INTEGER(KIND=1)} function.
7667
7668@noindent
7669@var{File}: @code{CHARACTER}; scalar; INTENT(IN).
7670
7671@noindent
7672@var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
7673
7674@noindent
7675Intrinsic groups: @code{unix}.
7676
7677@noindent
7678Description:
7679
7680Obtains data about the given file @var{File} and places them in the array
7681@var{SArray}.
7682A null character (@samp{CHAR(0)}) marks the end of
7683the name in @var{File}---otherwise,
7684trailing blanks in @var{File} are ignored.
7685If @var{File} is a symbolic link it returns data on the
7686link itself, so the routine is available only on systems that support
7687symbolic links.
7688The values in this array are extracted from the
7689@code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
7690
7691@enumerate
7692@item
7693File mode
7694
7695@item
7696Inode number
7697
7698@item
7699ID of device containing directory entry for file
7700
7701@item
7702Device id (if relevant)
7703
7704@item
7705Number of links
7706
7707@item
7708Owner's uid
7709
7710@item
7711Owner's gid
7712
7713@item
7714File size (bytes)
7715
7716@item
7717Last access time
7718
7719@item
7720Last modification time
7721
7722@item
7723Last file status change time
7724
7725@item
7726Preferred I/O block size
7727
7728@item
7729Number of blocks allocated
7730@end enumerate
7731
7732Not all these elements are relevant on all systems.
7733If an element is not relevant, it is returned as 0.
7734
7735Returns 0 on success or a non-zero error code
7736(@code{ENOSYS} if the system does not provide @code{lstat(2)}).
7737
7738For information on other intrinsics with the same name:
7739@xref{LStat Intrinsic (subroutine)}.
7740
7741@node LTime Intrinsic
7742@subsubsection LTime Intrinsic
7743@cindex LTime intrinsic
7744@cindex intrinsics, LTime
7745
7746@noindent
7747@example
7748CALL LTime(@var{STime}, @var{TArray})
7749@end example
7750
7751@noindent
7752@var{STime}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
7753
7754@noindent
7755@var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(9); INTENT(OUT).
7756
7757@noindent
7758Intrinsic groups: @code{unix}.
7759
7760@noindent
7761Description:
7762
7763Given a system time value @var{STime}, fills @var{TArray} with values
7764extracted from it appropriate to the GMT time zone using
7765@code{localtime(3)}.
7766
7767The array elements are as follows:
7768
7769@enumerate
7770@item
7771Seconds after the minute, range 0--59 or 0--61 to allow for leap
7772seconds
7773
7774@item
7775Minutes after the hour, range 0--59
7776
7777@item
7778Hours past midnight, range 0--23
7779
7780@item
7781Day of month, range 0--31
7782
7783@item
7784Number of months since January, range 0--12
7785
7786@item
7787Years since 1900
7788
7789@item
7790Number of days since Sunday, range 0--6
7791
7792@item
7793Days since January 1
7794
7795@item
7796Daylight savings indicator: positive if daylight savings is in effect,
7797zero if not, and negative if the information isn't available.
7798@end enumerate
7799
7800@end ifset
7801@ifset familyF90
7802@node MatMul Intrinsic
7803@subsubsection MatMul Intrinsic
7804@cindex MatMul intrinsic
7805@cindex intrinsics, MatMul
7806
7807This intrinsic is not yet implemented.
7808The name is, however, reserved as an intrinsic.
7809Use @samp{EXTERNAL MatMul} to use this name for an
7810external procedure.
7811
7812@end ifset
7813@ifset familyF77
7814@node Max Intrinsic
7815@subsubsection Max Intrinsic
7816@cindex Max intrinsic
7817@cindex intrinsics, Max
7818
7819@noindent
7820@example
7821Max(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
7822@end example
7823
7824@noindent
7825Max: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
7826types of all the arguments.
7827
7828@noindent
7829@var{A}: @code{INTEGER} or @code{REAL}; at least two such arguments must be provided; scalar; INTENT(IN).
7830
7831@noindent
7832Intrinsic groups: (standard FORTRAN 77).
7833
7834@noindent
7835Description:
7836
7837Returns the argument with the largest value.
7838
7839@xref{Min Intrinsic}, for the opposite function.
7840
7841@node Max0 Intrinsic
7842@subsubsection Max0 Intrinsic
7843@cindex Max0 intrinsic
7844@cindex intrinsics, Max0
7845
7846@noindent
7847@example
7848Max0(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
7849@end example
7850
7851@noindent
7852Max0: @code{INTEGER(KIND=1)} function.
7853
7854@noindent
7855@var{A}: @code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
7856
7857@noindent
7858Intrinsic groups: (standard FORTRAN 77).
7859
7860@noindent
7861Description:
7862
7863Archaic form of @code{MAX()} that is specific
7864to one type for @var{A}.
7865@xref{Max Intrinsic}.
7866
7867@node Max1 Intrinsic
7868@subsubsection Max1 Intrinsic
7869@cindex Max1 intrinsic
7870@cindex intrinsics, Max1
7871
7872@noindent
7873@example
7874Max1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
7875@end example
7876
7877@noindent
7878Max1: @code{INTEGER(KIND=1)} function.
7879
7880@noindent
7881@var{A}: @code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
7882
7883@noindent
7884Intrinsic groups: (standard FORTRAN 77).
7885
7886@noindent
7887Description:
7888
7889Archaic form of @code{MAX()} that is specific
7890to one type for @var{A} and a different return type.
7891@xref{Max Intrinsic}.
7892
7893@end ifset
7894@ifset familyF90
7895@node MaxExponent Intrinsic
7896@subsubsection MaxExponent Intrinsic
7897@cindex MaxExponent intrinsic
7898@cindex intrinsics, MaxExponent
7899
7900This intrinsic is not yet implemented.
7901The name is, however, reserved as an intrinsic.
7902Use @samp{EXTERNAL MaxExponent} to use this name for an
7903external procedure.
7904
7905@node MaxLoc Intrinsic
7906@subsubsection MaxLoc Intrinsic
7907@cindex MaxLoc intrinsic
7908@cindex intrinsics, MaxLoc
7909
7910This intrinsic is not yet implemented.
7911The name is, however, reserved as an intrinsic.
7912Use @samp{EXTERNAL MaxLoc} to use this name for an
7913external procedure.
7914
7915@node MaxVal Intrinsic
7916@subsubsection MaxVal Intrinsic
7917@cindex MaxVal intrinsic
7918@cindex intrinsics, MaxVal
7919
7920This intrinsic is not yet implemented.
7921The name is, however, reserved as an intrinsic.
7922Use @samp{EXTERNAL MaxVal} to use this name for an
7923external procedure.
7924
7925@end ifset
7926@ifset familyF2U
7927@node MClock Intrinsic
7928@subsubsection MClock Intrinsic
7929@cindex MClock intrinsic
7930@cindex intrinsics, MClock
7931
7932@noindent
7933@example
7934MClock()
7935@end example
7936
7937@noindent
7938MClock: @code{INTEGER(KIND=1)} function.
7939
7940@noindent
7941Intrinsic groups: @code{unix}.
7942
7943@noindent
7944Description:
7945
7946Returns the number of clock ticks since the start of the process.
7947Supported on systems with @code{clock(3)} (q.v.).
7948
7949This intrinsic is not fully portable, such as to systems
7950with 32-bit @code{INTEGER} types but supporting times
7951wider than 32 bits.
7952@xref{MClock8 Intrinsic}, for information on a
7953similar intrinsic that might be portable to more
7954GNU Fortran implementations, though to fewer
7955Fortran compilers.
7956
7957If the system does not support @code{clock(3)},
7958-1 is returned.
7959
7960@node MClock8 Intrinsic
7961@subsubsection MClock8 Intrinsic
7962@cindex MClock8 intrinsic
7963@cindex intrinsics, MClock8
7964
7965@noindent
7966@example
7967MClock8()
7968@end example
7969
7970@noindent
7971MClock8: @code{INTEGER(KIND=2)} function.
7972
7973@noindent
7974Intrinsic groups: @code{unix}.
7975
7976@noindent
7977Description:
7978
7979Returns the number of clock ticks since the start of the process.
7980Supported on systems with @code{clock(3)} (q.v.).
7981
7982No Fortran implementations other than GNU Fortran are
7983known to support this intrinsic at the time of this
7984writing.
7985@xref{MClock Intrinsic}, for information on a
7986similar intrinsic that might be portable to more Fortran
7987compilers, though to fewer GNU Fortran implementations.
7988
7989If the system does not support @code{clock(3)},
7990-1 is returned.
7991
7992@end ifset
7993@ifset familyF90
7994@node Merge Intrinsic
7995@subsubsection Merge Intrinsic
7996@cindex Merge intrinsic
7997@cindex intrinsics, Merge
7998
7999This intrinsic is not yet implemented.
8000The name is, however, reserved as an intrinsic.
8001Use @samp{EXTERNAL Merge} to use this name for an
8002external procedure.
8003
8004@end ifset
8005@ifset familyF77
8006@node Min Intrinsic
8007@subsubsection Min Intrinsic
8008@cindex Min intrinsic
8009@cindex intrinsics, Min
8010
8011@noindent
8012@example
8013Min(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
8014@end example
8015
8016@noindent
8017Min: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
8018types of all the arguments.
8019
8020@noindent
8021@var{A}: @code{INTEGER} or @code{REAL}; at least two such arguments must be provided; scalar; INTENT(IN).
8022
8023@noindent
8024Intrinsic groups: (standard FORTRAN 77).
8025
8026@noindent
8027Description:
8028
8029Returns the argument with the smallest value.
8030
8031@xref{Max Intrinsic}, for the opposite function.
8032
8033@node Min0 Intrinsic
8034@subsubsection Min0 Intrinsic
8035@cindex Min0 intrinsic
8036@cindex intrinsics, Min0
8037
8038@noindent
8039@example
8040Min0(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
8041@end example
8042
8043@noindent
8044Min0: @code{INTEGER(KIND=1)} function.
8045
8046@noindent
8047@var{A}: @code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
8048
8049@noindent
8050Intrinsic groups: (standard FORTRAN 77).
8051
8052@noindent
8053Description:
8054
8055Archaic form of @code{MIN()} that is specific
8056to one type for @var{A}.
8057@xref{Min Intrinsic}.
8058
8059@node Min1 Intrinsic
8060@subsubsection Min1 Intrinsic
8061@cindex Min1 intrinsic
8062@cindex intrinsics, Min1
8063
8064@noindent
8065@example
8066Min1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
8067@end example
8068
8069@noindent
8070Min1: @code{INTEGER(KIND=1)} function.
8071
8072@noindent
8073@var{A}: @code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
8074
8075@noindent
8076Intrinsic groups: (standard FORTRAN 77).
8077
8078@noindent
8079Description:
8080
8081Archaic form of @code{MIN()} that is specific
8082to one type for @var{A} and a different return type.
8083@xref{Min Intrinsic}.
8084
8085@end ifset
8086@ifset familyF90
8087@node MinExponent Intrinsic
8088@subsubsection MinExponent Intrinsic
8089@cindex MinExponent intrinsic
8090@cindex intrinsics, MinExponent
8091
8092This intrinsic is not yet implemented.
8093The name is, however, reserved as an intrinsic.
8094Use @samp{EXTERNAL MinExponent} to use this name for an
8095external procedure.
8096
8097@node MinLoc Intrinsic
8098@subsubsection MinLoc Intrinsic
8099@cindex MinLoc intrinsic
8100@cindex intrinsics, MinLoc
8101
8102This intrinsic is not yet implemented.
8103The name is, however, reserved as an intrinsic.
8104Use @samp{EXTERNAL MinLoc} to use this name for an
8105external procedure.
8106
8107@node MinVal Intrinsic
8108@subsubsection MinVal Intrinsic
8109@cindex MinVal intrinsic
8110@cindex intrinsics, MinVal
8111
8112This intrinsic is not yet implemented.
8113The name is, however, reserved as an intrinsic.
8114Use @samp{EXTERNAL MinVal} to use this name for an
8115external procedure.
8116
8117@end ifset
8118@ifset familyF77
8119@node Mod Intrinsic
8120@subsubsection Mod Intrinsic
8121@cindex Mod intrinsic
8122@cindex intrinsics, Mod
8123
8124@noindent
8125@example
8126Mod(@var{A}, @var{P})
8127@end example
8128
8129@noindent
8130Mod: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
8131types of all the arguments.
8132
8133@noindent
8134@var{A}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
8135
8136@noindent
8137@var{P}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
8138
8139@noindent
8140Intrinsic groups: (standard FORTRAN 77).
8141
8142@noindent
8143Description:
8144
8145Returns remainder calculated as:
8146
8147@smallexample
8148@var{A} - (INT(@var{A} / @var{P}) * @var{P})
8149@end smallexample
8150
8151@var{P} must not be zero.
8152
8153@end ifset
8154@ifset familyF90
8155@node Modulo Intrinsic
8156@subsubsection Modulo Intrinsic
8157@cindex Modulo intrinsic
8158@cindex intrinsics, Modulo
8159
8160This intrinsic is not yet implemented.
8161The name is, however, reserved as an intrinsic.
8162Use @samp{EXTERNAL Modulo} to use this name for an
8163external procedure.
8164
8165@end ifset
8166@ifset familyMIL
8167@node MvBits Intrinsic
8168@subsubsection MvBits Intrinsic
8169@cindex MvBits intrinsic
8170@cindex intrinsics, MvBits
8171
8172@noindent
8173@example
8174CALL MvBits(@var{From}, @var{FromPos}, @var{Len}, @var{TO}, @var{ToPos})
8175@end example
8176
8177@noindent
8178@var{From}: @code{INTEGER}; scalar; INTENT(IN).
8179
8180@noindent
8181@var{FromPos}: @code{INTEGER}; scalar; INTENT(IN).
8182
8183@noindent
8184@var{Len}: @code{INTEGER}; scalar; INTENT(IN).
8185
8186@noindent
8187@var{TO}: @code{INTEGER} with same @samp{KIND=} value as for @var{From}; scalar; INTENT(INOUT).
8188
8189@noindent
8190@var{ToPos}: @code{INTEGER}; scalar; INTENT(IN).
8191
8192@noindent
8193Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
8194
8195@noindent
8196Description:
8197
8198Moves @var{Len} bits from positions @var{FromPos} through
8199@samp{@var{FromPos}+@var{Len}-1} of @var{From} to positions @var{ToPos} through
8200@samp{@var{FromPos}+@var{Len}-1} of @var{TO}. The portion of argument
8201@var{TO} not affected by the movement of bits is unchanged. Arguments
8202@var{From} and @var{TO} are permitted to be the same numeric storage
8203unit. The values of @samp{@var{FromPos}+@var{Len}} and
8204@samp{@var{ToPos}+@var{Len}} must be less than or equal to
8205@samp{BIT_SIZE(@var{From})}.
8206
8207@end ifset
8208@ifset familyF90
8209@node Nearest Intrinsic
8210@subsubsection Nearest Intrinsic
8211@cindex Nearest intrinsic
8212@cindex intrinsics, Nearest
8213
8214This intrinsic is not yet implemented.
8215The name is, however, reserved as an intrinsic.
8216Use @samp{EXTERNAL Nearest} to use this name for an
8217external procedure.
8218
8219@end ifset
8220@ifset familyF77
8221@node NInt Intrinsic
8222@subsubsection NInt Intrinsic
8223@cindex NInt intrinsic
8224@cindex intrinsics, NInt
8225
8226@noindent
8227@example
8228NInt(@var{A})
8229@end example
8230
8231@noindent
8232NInt: @code{INTEGER(KIND=1)} function.
8233
8234@noindent
8235@var{A}: @code{REAL}; scalar; INTENT(IN).
8236
8237@noindent
8238Intrinsic groups: (standard FORTRAN 77).
8239
8240@noindent
8241Description:
8242
8243Returns @var{A} with the fractional portion of its
8244magnitude eliminated by rounding to the nearest whole
8245number and with its sign preserved, converted
8246to type @code{INTEGER(KIND=1)}.
8247
8248If @var{A} is type @code{COMPLEX}, its real part is
8249rounded and converted.
8250
8251A fractional portion exactly equal to
8252@samp{.5} is rounded to the whole number that
8253is larger in magnitude.
8254(Also called ``Fortran round''.)
8255
8256@xref{Int Intrinsic}, for how to convert, truncate to
8257whole number.
8258
8259@xref{ANInt Intrinsic}, for how to round to nearest whole number
8260without converting.
8261
8262@end ifset
8263@ifset familyMIL
8264@node Not Intrinsic
8265@subsubsection Not Intrinsic
8266@cindex Not intrinsic
8267@cindex intrinsics, Not
8268
8269@noindent
8270@example
8271Not(@var{I})
8272@end example
8273
8274@noindent
8275Not: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
8276
8277@noindent
8278@var{I}: @code{INTEGER}; scalar; INTENT(IN).
8279
8280@noindent
8281Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
8282
8283@noindent
8284Description:
8285
8286Returns value resulting from boolean NOT of each bit
8287in @var{I}.
8288
8289@end ifset
8290@ifset familyF2C
8291@node Or Intrinsic
8292@subsubsection Or Intrinsic
8293@cindex Or intrinsic
8294@cindex intrinsics, Or
8295
8296@noindent
8297@example
8298Or(@var{I}, @var{J})
8299@end example
8300
8301@noindent
8302Or: @code{INTEGER} or @code{LOGICAL} function, the exact type being the result of cross-promoting the
8303types of all the arguments.
8304
8305@noindent
8306@var{I}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
8307
8308@noindent
8309@var{J}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
8310
8311@noindent
8312Intrinsic groups: @code{f2c}.
8313
8314@noindent
8315Description:
8316
8317Returns value resulting from boolean OR of
8318pair of bits in each of @var{I} and @var{J}.
8319
8320@end ifset
8321@ifset familyF90
8322@node Pack Intrinsic
8323@subsubsection Pack Intrinsic
8324@cindex Pack intrinsic
8325@cindex intrinsics, Pack
8326
8327This intrinsic is not yet implemented.
8328The name is, however, reserved as an intrinsic.
8329Use @samp{EXTERNAL Pack} to use this name for an
8330external procedure.
8331
8332@end ifset
8333@ifset familyF2U
8334@node PError Intrinsic
8335@subsubsection PError Intrinsic
8336@cindex PError intrinsic
8337@cindex intrinsics, PError
8338
8339@noindent
8340@example
8341CALL PError(@var{String})
8342@end example
8343
8344@noindent
8345@var{String}: @code{CHARACTER}; scalar; INTENT(IN).
8346
8347@noindent
8348Intrinsic groups: @code{unix}.
8349
8350@noindent
8351Description:
8352
8353Prints (on the C @code{stderr} stream) a newline-terminated error
8354message corresponding to the last system error.
8355This is prefixed by @var{String}, a colon and a space.
8356See @code{perror(3)}.
8357
8358@end ifset
8359@ifset familyF90
8360@node Precision Intrinsic
8361@subsubsection Precision Intrinsic
8362@cindex Precision intrinsic
8363@cindex intrinsics, Precision
8364
8365This intrinsic is not yet implemented.
8366The name is, however, reserved as an intrinsic.
8367Use @samp{EXTERNAL Precision} to use this name for an
8368external procedure.
8369
8370@node Present Intrinsic
8371@subsubsection Present Intrinsic
8372@cindex Present intrinsic
8373@cindex intrinsics, Present
8374
8375This intrinsic is not yet implemented.
8376The name is, however, reserved as an intrinsic.
8377Use @samp{EXTERNAL Present} to use this name for an
8378external procedure.
8379
8380@node Product Intrinsic
8381@subsubsection Product Intrinsic
8382@cindex Product intrinsic
8383@cindex intrinsics, Product
8384
8385This intrinsic is not yet implemented.
8386The name is, however, reserved as an intrinsic.
8387Use @samp{EXTERNAL Product} to use this name for an
8388external procedure.
8389
8390@end ifset
8391@ifset familyVXT
8392@node QAbs Intrinsic
8393@subsubsection QAbs Intrinsic
8394@cindex QAbs intrinsic
8395@cindex intrinsics, QAbs
8396
8397This intrinsic is not yet implemented.
8398The name is, however, reserved as an intrinsic.
8399Use @samp{EXTERNAL QAbs} to use this name for an
8400external procedure.
8401
8402@node QACos Intrinsic
8403@subsubsection QACos Intrinsic
8404@cindex QACos intrinsic
8405@cindex intrinsics, QACos
8406
8407This intrinsic is not yet implemented.
8408The name is, however, reserved as an intrinsic.
8409Use @samp{EXTERNAL QACos} to use this name for an
8410external procedure.
8411
8412@node QACosD Intrinsic
8413@subsubsection QACosD Intrinsic
8414@cindex QACosD intrinsic
8415@cindex intrinsics, QACosD
8416
8417This intrinsic is not yet implemented.
8418The name is, however, reserved as an intrinsic.
8419Use @samp{EXTERNAL QACosD} to use this name for an
8420external procedure.
8421
8422@node QASin Intrinsic
8423@subsubsection QASin Intrinsic
8424@cindex QASin intrinsic
8425@cindex intrinsics, QASin
8426
8427This intrinsic is not yet implemented.
8428The name is, however, reserved as an intrinsic.
8429Use @samp{EXTERNAL QASin} to use this name for an
8430external procedure.
8431
8432@node QASinD Intrinsic
8433@subsubsection QASinD Intrinsic
8434@cindex QASinD intrinsic
8435@cindex intrinsics, QASinD
8436
8437This intrinsic is not yet implemented.
8438The name is, however, reserved as an intrinsic.
8439Use @samp{EXTERNAL QASinD} to use this name for an
8440external procedure.
8441
8442@node QATan Intrinsic
8443@subsubsection QATan Intrinsic
8444@cindex QATan intrinsic
8445@cindex intrinsics, QATan
8446
8447This intrinsic is not yet implemented.
8448The name is, however, reserved as an intrinsic.
8449Use @samp{EXTERNAL QATan} to use this name for an
8450external procedure.
8451
8452@node QATan2 Intrinsic
8453@subsubsection QATan2 Intrinsic
8454@cindex QATan2 intrinsic
8455@cindex intrinsics, QATan2
8456
8457This intrinsic is not yet implemented.
8458The name is, however, reserved as an intrinsic.
8459Use @samp{EXTERNAL QATan2} to use this name for an
8460external procedure.
8461
8462@node QATan2D Intrinsic
8463@subsubsection QATan2D Intrinsic
8464@cindex QATan2D intrinsic
8465@cindex intrinsics, QATan2D
8466
8467This intrinsic is not yet implemented.
8468The name is, however, reserved as an intrinsic.
8469Use @samp{EXTERNAL QATan2D} to use this name for an
8470external procedure.
8471
8472@node QATanD Intrinsic
8473@subsubsection QATanD Intrinsic
8474@cindex QATanD intrinsic
8475@cindex intrinsics, QATanD
8476
8477This intrinsic is not yet implemented.
8478The name is, however, reserved as an intrinsic.
8479Use @samp{EXTERNAL QATanD} to use this name for an
8480external procedure.
8481
8482@node QCos Intrinsic
8483@subsubsection QCos Intrinsic
8484@cindex QCos intrinsic
8485@cindex intrinsics, QCos
8486
8487This intrinsic is not yet implemented.
8488The name is, however, reserved as an intrinsic.
8489Use @samp{EXTERNAL QCos} to use this name for an
8490external procedure.
8491
8492@node QCosD Intrinsic
8493@subsubsection QCosD Intrinsic
8494@cindex QCosD intrinsic
8495@cindex intrinsics, QCosD
8496
8497This intrinsic is not yet implemented.
8498The name is, however, reserved as an intrinsic.
8499Use @samp{EXTERNAL QCosD} to use this name for an
8500external procedure.
8501
8502@node QCosH Intrinsic
8503@subsubsection QCosH Intrinsic
8504@cindex QCosH intrinsic
8505@cindex intrinsics, QCosH
8506
8507This intrinsic is not yet implemented.
8508The name is, however, reserved as an intrinsic.
8509Use @samp{EXTERNAL QCosH} to use this name for an
8510external procedure.
8511
8512@node QDiM Intrinsic
8513@subsubsection QDiM Intrinsic
8514@cindex QDiM intrinsic
8515@cindex intrinsics, QDiM
8516
8517This intrinsic is not yet implemented.
8518The name is, however, reserved as an intrinsic.
8519Use @samp{EXTERNAL QDiM} to use this name for an
8520external procedure.
8521
8522@node QExp Intrinsic
8523@subsubsection QExp Intrinsic
8524@cindex QExp intrinsic
8525@cindex intrinsics, QExp
8526
8527This intrinsic is not yet implemented.
8528The name is, however, reserved as an intrinsic.
8529Use @samp{EXTERNAL QExp} to use this name for an
8530external procedure.
8531
8532@node QExt Intrinsic
8533@subsubsection QExt Intrinsic
8534@cindex QExt intrinsic
8535@cindex intrinsics, QExt
8536
8537This intrinsic is not yet implemented.
8538The name is, however, reserved as an intrinsic.
8539Use @samp{EXTERNAL QExt} to use this name for an
8540external procedure.
8541
8542@node QExtD Intrinsic
8543@subsubsection QExtD Intrinsic
8544@cindex QExtD intrinsic
8545@cindex intrinsics, QExtD
8546
8547This intrinsic is not yet implemented.
8548The name is, however, reserved as an intrinsic.
8549Use @samp{EXTERNAL QExtD} to use this name for an
8550external procedure.
8551
8552@node QFloat Intrinsic
8553@subsubsection QFloat Intrinsic
8554@cindex QFloat intrinsic
8555@cindex intrinsics, QFloat
8556
8557This intrinsic is not yet implemented.
8558The name is, however, reserved as an intrinsic.
8559Use @samp{EXTERNAL QFloat} to use this name for an
8560external procedure.
8561
8562@node QInt Intrinsic
8563@subsubsection QInt Intrinsic
8564@cindex QInt intrinsic
8565@cindex intrinsics, QInt
8566
8567This intrinsic is not yet implemented.
8568The name is, however, reserved as an intrinsic.
8569Use @samp{EXTERNAL QInt} to use this name for an
8570external procedure.
8571
8572@node QLog Intrinsic
8573@subsubsection QLog Intrinsic
8574@cindex QLog intrinsic
8575@cindex intrinsics, QLog
8576
8577This intrinsic is not yet implemented.
8578The name is, however, reserved as an intrinsic.
8579Use @samp{EXTERNAL QLog} to use this name for an
8580external procedure.
8581
8582@node QLog10 Intrinsic
8583@subsubsection QLog10 Intrinsic
8584@cindex QLog10 intrinsic
8585@cindex intrinsics, QLog10
8586
8587This intrinsic is not yet implemented.
8588The name is, however, reserved as an intrinsic.
8589Use @samp{EXTERNAL QLog10} to use this name for an
8590external procedure.
8591
8592@node QMax1 Intrinsic
8593@subsubsection QMax1 Intrinsic
8594@cindex QMax1 intrinsic
8595@cindex intrinsics, QMax1
8596
8597This intrinsic is not yet implemented.
8598The name is, however, reserved as an intrinsic.
8599Use @samp{EXTERNAL QMax1} to use this name for an
8600external procedure.
8601
8602@node QMin1 Intrinsic
8603@subsubsection QMin1 Intrinsic
8604@cindex QMin1 intrinsic
8605@cindex intrinsics, QMin1
8606
8607This intrinsic is not yet implemented.
8608The name is, however, reserved as an intrinsic.
8609Use @samp{EXTERNAL QMin1} to use this name for an
8610external procedure.
8611
8612@node QMod Intrinsic
8613@subsubsection QMod Intrinsic
8614@cindex QMod intrinsic
8615@cindex intrinsics, QMod
8616
8617This intrinsic is not yet implemented.
8618The name is, however, reserved as an intrinsic.
8619Use @samp{EXTERNAL QMod} to use this name for an
8620external procedure.
8621
8622@node QNInt Intrinsic
8623@subsubsection QNInt Intrinsic
8624@cindex QNInt intrinsic
8625@cindex intrinsics, QNInt
8626
8627This intrinsic is not yet implemented.
8628The name is, however, reserved as an intrinsic.
8629Use @samp{EXTERNAL QNInt} to use this name for an
8630external procedure.
8631
8632@node QSin Intrinsic
8633@subsubsection QSin Intrinsic
8634@cindex QSin intrinsic
8635@cindex intrinsics, QSin
8636
8637This intrinsic is not yet implemented.
8638The name is, however, reserved as an intrinsic.
8639Use @samp{EXTERNAL QSin} to use this name for an
8640external procedure.
8641
8642@node QSinD Intrinsic
8643@subsubsection QSinD Intrinsic
8644@cindex QSinD intrinsic
8645@cindex intrinsics, QSinD
8646
8647This intrinsic is not yet implemented.
8648The name is, however, reserved as an intrinsic.
8649Use @samp{EXTERNAL QSinD} to use this name for an
8650external procedure.
8651
8652@node QSinH Intrinsic
8653@subsubsection QSinH Intrinsic
8654@cindex QSinH intrinsic
8655@cindex intrinsics, QSinH
8656
8657This intrinsic is not yet implemented.
8658The name is, however, reserved as an intrinsic.
8659Use @samp{EXTERNAL QSinH} to use this name for an
8660external procedure.
8661
8662@node QSqRt Intrinsic
8663@subsubsection QSqRt Intrinsic
8664@cindex QSqRt intrinsic
8665@cindex intrinsics, QSqRt
8666
8667This intrinsic is not yet implemented.
8668The name is, however, reserved as an intrinsic.
8669Use @samp{EXTERNAL QSqRt} to use this name for an
8670external procedure.
8671
8672@node QTan Intrinsic
8673@subsubsection QTan Intrinsic
8674@cindex QTan intrinsic
8675@cindex intrinsics, QTan
8676
8677This intrinsic is not yet implemented.
8678The name is, however, reserved as an intrinsic.
8679Use @samp{EXTERNAL QTan} to use this name for an
8680external procedure.
8681
8682@node QTanD Intrinsic
8683@subsubsection QTanD Intrinsic
8684@cindex QTanD intrinsic
8685@cindex intrinsics, QTanD
8686
8687This intrinsic is not yet implemented.
8688The name is, however, reserved as an intrinsic.
8689Use @samp{EXTERNAL QTanD} to use this name for an
8690external procedure.
8691
8692@node QTanH Intrinsic
8693@subsubsection QTanH Intrinsic
8694@cindex QTanH intrinsic
8695@cindex intrinsics, QTanH
8696
8697This intrinsic is not yet implemented.
8698The name is, however, reserved as an intrinsic.
8699Use @samp{EXTERNAL QTanH} to use this name for an
8700external procedure.
8701
8702@end ifset
8703@ifset familyF90
8704@node Radix Intrinsic
8705@subsubsection Radix Intrinsic
8706@cindex Radix intrinsic
8707@cindex intrinsics, Radix
8708
8709This intrinsic is not yet implemented.
8710The name is, however, reserved as an intrinsic.
8711Use @samp{EXTERNAL Radix} to use this name for an
8712external procedure.
8713
8714@end ifset
8715@ifset familyF2U
8716@node Rand Intrinsic
8717@subsubsection Rand Intrinsic
8718@cindex Rand intrinsic
8719@cindex intrinsics, Rand
8720
8721@noindent
8722@example
8723Rand(@var{Flag})
8724@end example
8725
8726@noindent
8727Rand: @code{REAL(KIND=1)} function.
8728
8729@noindent
8730@var{Flag}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN).
8731
8732@noindent
8733Intrinsic groups: @code{unix}.
8734
8735@noindent
8736Description:
8737
8738Returns a uniform quasi-random number between 0 and 1.
8739If @var{Flag} is 0, the next number in sequence is returned; if
8740@var{Flag} is 1, the generator is restarted by calling @samp{srand(0)};
8741if @var{Flag} has any other value, it is used as a new seed with
8742@code{srand}.
8743
8744@xref{SRand Intrinsic}.
8745
8746@emph{Note:} As typically implemented (by the routine of the same
8747name in the C library), this random number generator is a very poor
8748one, though the BSD and GNU libraries provide a much better
8749implementation than the `traditional' one.
8750On a different system you
8751almost certainly want to use something better.
8752
8753@end ifset
8754@ifset familyF90
8755@node Random_Number Intrinsic
8756@subsubsection Random_Number Intrinsic
8757@cindex Random_Number intrinsic
8758@cindex intrinsics, Random_Number
8759
8760This intrinsic is not yet implemented.
8761The name is, however, reserved as an intrinsic.
8762Use @samp{EXTERNAL Random_Number} to use this name for an
8763external procedure.
8764
8765@node Random_Seed Intrinsic
8766@subsubsection Random_Seed Intrinsic
8767@cindex Random_Seed intrinsic
8768@cindex intrinsics, Random_Seed
8769
8770This intrinsic is not yet implemented.
8771The name is, however, reserved as an intrinsic.
8772Use @samp{EXTERNAL Random_Seed} to use this name for an
8773external procedure.
8774
8775@node Range Intrinsic
8776@subsubsection Range Intrinsic
8777@cindex Range intrinsic
8778@cindex intrinsics, Range
8779
8780This intrinsic is not yet implemented.
8781The name is, however, reserved as an intrinsic.
8782Use @samp{EXTERNAL Range} to use this name for an
8783external procedure.
8784
8785@end ifset
8786@ifset familyF77
8787@node Real Intrinsic
8788@subsubsection Real Intrinsic
8789@cindex Real intrinsic
8790@cindex intrinsics, Real
8791
8792@noindent
8793@example
8794Real(@var{A})
8795@end example
8796
8797@noindent
8798Real: @code{REAL} function.
8799The exact type is @samp{REAL(KIND=1)} when argument @var{A} is
8800any type other than @code{COMPLEX}, or when it is @code{COMPLEX(KIND=1)}.
8801When @var{A} is any @code{COMPLEX} type other than @code{COMPLEX(KIND=1)},
8802this intrinsic is valid only when used as the argument to
8803@code{REAL()}, as explained below.
8804
8805@noindent
8806@var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
8807
8808@noindent
8809Intrinsic groups: (standard FORTRAN 77).
8810
8811@noindent
8812Description:
8813
8814Converts @var{A} to @code{REAL(KIND=1)}.
8815
8816Use of @code{REAL()} with a @code{COMPLEX} argument
8817(other than @code{COMPLEX(KIND=1)}) is restricted to the following case:
8818
8819@example
8820REAL(REAL(A))
8821@end example
8822
8823@noindent
8824This expression converts the real part of A to
8825@code{REAL(KIND=1)}.
8826
8827@xref{RealPart Intrinsic}, for information on a GNU Fortran
8828intrinsic that extracts the real part of an arbitrary
8829@code{COMPLEX} value.
8830
8831@xref{REAL() and AIMAG() of Complex}, for more information.
8832
8833@end ifset
8834@ifset familyGNU
8835@node RealPart Intrinsic
8836@subsubsection RealPart Intrinsic
8837@cindex RealPart intrinsic
8838@cindex intrinsics, RealPart
8839
8840@noindent
8841@example
8842RealPart(@var{Z})
8843@end example
8844
8845@noindent
8846RealPart: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{Z}.
8847
8848@noindent
8849@var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
8850
8851@noindent
8852Intrinsic groups: @code{gnu}.
8853
8854@noindent
8855Description:
8856
8857The real part of @var{Z} is returned, without conversion.
8858
8859@emph{Note:} The way to do this in standard Fortran 90
8860is @samp{REAL(@var{Z})}.
8861However, when, for example, @var{Z} is @code{COMPLEX(KIND=2)},
8862@samp{REAL(@var{Z})} means something different for some compilers
8863that are not true Fortran 90 compilers but offer some
8864extensions standardized by Fortran 90 (such as the
8865@code{DOUBLE COMPLEX} type, also known as @code{COMPLEX(KIND=2)}).
8866
8867The advantage of @code{REALPART()} is that, while not necessarily
8868more or less portable than @code{REAL()}, it is more likely to
8869cause a compiler that doesn't support it to produce a diagnostic
8870than generate incorrect code.
8871
8872@xref{REAL() and AIMAG() of Complex}, for more information.
8873
8874@end ifset
8875@ifset familyF2U
8876@node Rename Intrinsic (subroutine)
8877@subsubsection Rename Intrinsic (subroutine)
8878@cindex Rename intrinsic
8879@cindex intrinsics, Rename
8880
8881@noindent
8882@example
8883CALL Rename(@var{Path1}, @var{Path2}, @var{Status})
8884@end example
8885
8886@noindent
8887@var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
8888
8889@noindent
8890@var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
8891
8892@noindent
8893@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
8894
8895@noindent
8896Intrinsic groups: @code{unix}.
8897
8898@noindent
8899Description:
8900
8901Renames the file @var{Path1} to @var{Path2}.
8902A null character (@samp{CHAR(0)}) marks the end of
8903the names in @var{Path1} and @var{Path2}---otherwise,
8904trailing blanks in @var{Path1} and @var{Path2} are ignored.
8905See @code{rename(2)}.
8906If the @var{Status} argument is supplied, it contains
89070 on success or a non-zero error code upon return.
8908
8909Some non-GNU implementations of Fortran provide this intrinsic as
8910only a function, not as a subroutine, or do not support the
8911(optional) @var{Status} argument.
8912
8913For information on other intrinsics with the same name:
8914@xref{Rename Intrinsic (function)}.
8915
8916@end ifset
8917@ifset familyBADU77
8918@node Rename Intrinsic (function)
8919@subsubsection Rename Intrinsic (function)
8920@cindex Rename intrinsic
8921@cindex intrinsics, Rename
8922
8923@noindent
8924@example
8925Rename(@var{Path1}, @var{Path2})
8926@end example
8927
8928@noindent
8929Rename: @code{INTEGER(KIND=1)} function.
8930
8931@noindent
8932@var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
8933
8934@noindent
8935@var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
8936
8937@noindent
8938Intrinsic groups: @code{badu77}.
8939
8940@noindent
8941Description:
8942
8943Renames the file @var{Path1} to @var{Path2}.
8944A null character (@samp{CHAR(0)}) marks the end of
8945the names in @var{Path1} and @var{Path2}---otherwise,
8946trailing blanks in @var{Path1} and @var{Path2} are ignored.
8947See @code{rename(2)}.
8948Returns 0 on success or a non-zero error code.
8949
8950Due to the side effects performed by this intrinsic, the function
8951form is not recommended.
8952
8953For information on other intrinsics with the same name:
8954@xref{Rename Intrinsic (subroutine)}.
8955
8956@end ifset
8957@ifset familyF90
8958@node Repeat Intrinsic
8959@subsubsection Repeat Intrinsic
8960@cindex Repeat intrinsic
8961@cindex intrinsics, Repeat
8962
8963This intrinsic is not yet implemented.
8964The name is, however, reserved as an intrinsic.
8965Use @samp{EXTERNAL Repeat} to use this name for an
8966external procedure.
8967
8968@node Reshape Intrinsic
8969@subsubsection Reshape Intrinsic
8970@cindex Reshape intrinsic
8971@cindex intrinsics, Reshape
8972
8973This intrinsic is not yet implemented.
8974The name is, however, reserved as an intrinsic.
8975Use @samp{EXTERNAL Reshape} to use this name for an
8976external procedure.
8977
8978@node RRSpacing Intrinsic
8979@subsubsection RRSpacing Intrinsic
8980@cindex RRSpacing intrinsic
8981@cindex intrinsics, RRSpacing
8982
8983This intrinsic is not yet implemented.
8984The name is, however, reserved as an intrinsic.
8985Use @samp{EXTERNAL RRSpacing} to use this name for an
8986external procedure.
8987
8988@end ifset
8989@ifset familyF2C
8990@node RShift Intrinsic
8991@subsubsection RShift Intrinsic
8992@cindex RShift intrinsic
8993@cindex intrinsics, RShift
8994
8995@noindent
8996@example
8997RShift(@var{I}, @var{Shift})
8998@end example
8999
9000@noindent
9001RShift: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
9002
9003@noindent
9004@var{I}: @code{INTEGER}; scalar; INTENT(IN).
9005
9006@noindent
9007@var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
9008
9009@noindent
9010Intrinsic groups: @code{f2c}.
9011
9012@noindent
9013Description:
9014
9015Returns @var{I} shifted to the right
9016@var{Shift} bits.
9017
9018Although similar to the expression
9019@samp{@var{I}/(2**@var{Shift})}, there
9020are important differences.
9021For example, the sign of the result is
9022undefined.
9023
9024Currently this intrinsic is defined assuming
9025the underlying representation of @var{I}
9026is as a two's-complement integer.
9027It is unclear at this point whether that
9028definition will apply when a different
9029representation is involved.
9030
9031@xref{RShift Intrinsic}, for the inverse of this function.
9032
9033@xref{IShft Intrinsic}, for information
9034on a more widely available right-shifting
9035intrinsic that is also more precisely defined.
9036
9037@end ifset
9038@ifset familyF90
9039@node Scale Intrinsic
9040@subsubsection Scale Intrinsic
9041@cindex Scale intrinsic
9042@cindex intrinsics, Scale
9043
9044This intrinsic is not yet implemented.
9045The name is, however, reserved as an intrinsic.
9046Use @samp{EXTERNAL Scale} to use this name for an
9047external procedure.
9048
9049@node Scan Intrinsic
9050@subsubsection Scan Intrinsic
9051@cindex Scan intrinsic
9052@cindex intrinsics, Scan
9053
9054This intrinsic is not yet implemented.
9055The name is, however, reserved as an intrinsic.
9056Use @samp{EXTERNAL Scan} to use this name for an
9057external procedure.
9058
9059@end ifset
9060@ifset familyVXT
9061@node Secnds Intrinsic
9062@subsubsection Secnds Intrinsic
9063@cindex Secnds intrinsic
9064@cindex intrinsics, Secnds
9065
9066@noindent
9067@example
9068Secnds(@var{T})
9069@end example
9070
9071@noindent
9072Secnds: @code{REAL(KIND=1)} function.
9073
9074@noindent
9075@var{T}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
9076
9077@noindent
9078Intrinsic groups: @code{vxt}.
9079
9080@noindent
9081Description:
9082
9083Returns the local time in seconds since midnight minus the value
9084@var{T}.
9085
9086@end ifset
9087@ifset familyF2U
9088@node Second Intrinsic (function)
9089@subsubsection Second Intrinsic (function)
9090@cindex Second intrinsic
9091@cindex intrinsics, Second
9092
9093@noindent
9094@example
9095Second()
9096@end example
9097
9098@noindent
9099Second: @code{REAL(KIND=1)} function.
9100
9101@noindent
9102Intrinsic groups: @code{unix}.
9103
9104@noindent
9105Description:
9106
9107Returns the process's runtime in seconds---the same value as the
9108UNIX function @code{etime} returns.
9109
177873a5
JW
9110For information on other intrinsics with the same name:
9111@xref{Second Intrinsic (subroutine)}.
9112
9113@node Second Intrinsic (subroutine)
9114@subsubsection Second Intrinsic (subroutine)
9115@cindex Second intrinsic
9116@cindex intrinsics, Second
9117
9118@noindent
9119@example
9120CALL Second(@var{Seconds})
9121@end example
9122
9123@noindent
44d2eabc 9124@var{Seconds}: @code{REAL}; scalar; INTENT(OUT).
177873a5
JW
9125
9126@noindent
9127Intrinsic groups: @code{unix}.
9128
9129@noindent
9130Description:
9131
9132Returns the process's runtime in seconds in @var{Seconds}---the same value
9133as the UNIX function @code{etime} returns.
9134
44d2eabc 9135This routine is known from Cray Fortran. @xref{CPU_Time Intrinsic}
177873a5
JW
9136for a standard equivalent.
9137
9138For information on other intrinsics with the same name:
9139@xref{Second Intrinsic (function)}.
9140
9141@end ifset
9142@ifset familyF90
9143@node Selected_Int_Kind Intrinsic
9144@subsubsection Selected_Int_Kind Intrinsic
9145@cindex Selected_Int_Kind intrinsic
9146@cindex intrinsics, Selected_Int_Kind
9147
9148This intrinsic is not yet implemented.
9149The name is, however, reserved as an intrinsic.
9150Use @samp{EXTERNAL Selected_Int_Kind} to use this name for an
9151external procedure.
9152
9153@node Selected_Real_Kind Intrinsic
9154@subsubsection Selected_Real_Kind Intrinsic
9155@cindex Selected_Real_Kind intrinsic
9156@cindex intrinsics, Selected_Real_Kind
9157
9158This intrinsic is not yet implemented.
9159The name is, however, reserved as an intrinsic.
9160Use @samp{EXTERNAL Selected_Real_Kind} to use this name for an
9161external procedure.
9162
9163@node Set_Exponent Intrinsic
9164@subsubsection Set_Exponent Intrinsic
9165@cindex Set_Exponent intrinsic
9166@cindex intrinsics, Set_Exponent
9167
9168This intrinsic is not yet implemented.
9169The name is, however, reserved as an intrinsic.
9170Use @samp{EXTERNAL Set_Exponent} to use this name for an
9171external procedure.
9172
9173@node Shape Intrinsic
9174@subsubsection Shape Intrinsic
9175@cindex Shape intrinsic
9176@cindex intrinsics, Shape
9177
9178This intrinsic is not yet implemented.
9179The name is, however, reserved as an intrinsic.
9180Use @samp{EXTERNAL Shape} to use this name for an
9181external procedure.
9182
9183@end ifset
9184@ifset familyF2U
9185@node Short Intrinsic
9186@subsubsection Short Intrinsic
9187@cindex Short intrinsic
9188@cindex intrinsics, Short
9189
9190@noindent
9191@example
9192Short(@var{A})
9193@end example
9194
9195@noindent
9196Short: @code{INTEGER(KIND=6)} function.
9197
9198@noindent
9199@var{A}: @code{INTEGER}; scalar; INTENT(IN).
9200
9201@noindent
9202Intrinsic groups: @code{unix}.
9203
9204@noindent
9205Description:
9206
9207Returns @var{A} with the fractional portion of its
9208magnitude truncated and its sign preserved, converted
9209to type @code{INTEGER(KIND=6)}.
9210
9211If @var{A} is type @code{COMPLEX}, its real part
9212is truncated and converted, and its imaginary part is disgregarded.
9213
9214@xref{Int Intrinsic}.
9215
9216The precise meaning of this intrinsic might change
9217in a future version of the GNU Fortran language,
9218as more is learned about how it is used.
9219
9220@end ifset
9221@ifset familyF77
9222@node Sign Intrinsic
9223@subsubsection Sign Intrinsic
9224@cindex Sign intrinsic
9225@cindex intrinsics, Sign
9226
9227@noindent
9228@example
9229Sign(@var{A}, @var{B})
9230@end example
9231
9232@noindent
9233Sign: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
9234types of all the arguments.
9235
9236@noindent
9237@var{A}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
9238
9239@noindent
9240@var{B}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
9241
9242@noindent
9243Intrinsic groups: (standard FORTRAN 77).
9244
9245@noindent
9246Description:
9247
9248Returns @samp{ABS(@var{A})*@var{s}}, where
9249@var{s} is +1 if @samp{@var{B}.GE.0},
9250-1 otherwise.
9251
9252@xref{Abs Intrinsic}, for the function that returns
9253the magnitude of a value.
9254
9255@end ifset
9256@ifset familyF2U
9257@node Signal Intrinsic (subroutine)
9258@subsubsection Signal Intrinsic (subroutine)
9259@cindex Signal intrinsic
9260@cindex intrinsics, Signal
9261
9262@noindent
9263@example
9264CALL Signal(@var{Number}, @var{Handler}, @var{Status})
9265@end example
9266
9267@noindent
9268@var{Number}: @code{INTEGER}; scalar; INTENT(IN).
9269
9270@noindent
9271@var{Handler}: Signal handler (@code{INTEGER FUNCTION} or @code{SUBROUTINE})
9272or dummy/global @code{INTEGER(KIND=1)} scalar.
9273
9274@noindent
b244d07c 9275@var{Status}: @code{INTEGER(KIND=7)}; OPTIONAL; scalar; INTENT(OUT).
177873a5
JW
9276
9277@noindent
9278Intrinsic groups: @code{unix}.
9279
9280@noindent
9281Description:
9282
9283If @var{Handler} is a an @code{EXTERNAL} routine, arranges for it to be
9284invoked with a single integer argument (of system-dependent length)
9285when signal @var{Number} occurs.
b244d07c
JW
9286If @var{Handler} is an integer, it can be
9287used to turn off handling of signal @var{Number} or revert to its default
177873a5
JW
9288action.
9289See @code{signal(2)}.
9290
b244d07c
JW
9291Note that @var{Handler} will be called using C conventions,
9292so the value of its argument in Fortran terms
177873a5
JW
9293Fortran terms is obtained by applying @code{%LOC()} (or @var{LOC()}) to it.
9294
9295The value returned by @code{signal(2)} is written to @var{Status}, if
9296that argument is supplied.
9297Otherwise the return value is ignored.
9298
9299Some non-GNU implementations of Fortran provide this intrinsic as
9300only a function, not as a subroutine, or do not support the
9301(optional) @var{Status} argument.
9302
b244d07c
JW
9303@emph{Warning:} Use of the @code{libf2c} run-time library function
9304@samp{signal_} directly
9305(such as via @samp{EXTERNAL SIGNAL})
9306requires use of the @code{%VAL()} construct
9307to pass an @code{INTEGER} value
9308(such as @samp{SIG_IGN} or @samp{SIG_DFL})
9309for the @var{Handler} argument.
9310
9311However, while @samp{CALL SIGNAL(@var{signum}, %VAL(SIG_IGN))}
9312works when @samp{SIGNAL} is treated as an external procedure
9313(and resolves, at link time, to @code{libf2c}'s @samp{signal_} routine),
9314this construct is not valid when @samp{SIGNAL} is recognized
9315as the intrinsic of that name.
9316
9317Therefore, for maximum portability and reliability,
9318code such references to the @samp{SIGNAL} facility as follows:
9319
9320@smallexample
9321INTRINSIC SIGNAL
9322@dots{}
9323CALL SIGNAL(@var{signum}, SIG_IGN)
9324@end smallexample
9325
9326@code{g77} will compile such a call correctly,
9327while other compilers will generally either do so as well
9328or reject the @samp{INTRINSIC SIGNAL} statement via a diagnostic,
9329allowing you to take appropriate action.
9330
177873a5
JW
9331For information on other intrinsics with the same name:
9332@xref{Signal Intrinsic (function)}.
9333
9334@end ifset
9335@ifset familyBADU77
9336@node Signal Intrinsic (function)
9337@subsubsection Signal Intrinsic (function)
9338@cindex Signal intrinsic
9339@cindex intrinsics, Signal
9340
9341@noindent
9342@example
9343Signal(@var{Number}, @var{Handler})
9344@end example
9345
9346@noindent
b244d07c 9347Signal: @code{INTEGER(KIND=7)} function.
177873a5
JW
9348
9349@noindent
9350@var{Number}: @code{INTEGER}; scalar; INTENT(IN).
9351
9352@noindent
9353@var{Handler}: Signal handler (@code{INTEGER FUNCTION} or @code{SUBROUTINE})
9354or dummy/global @code{INTEGER(KIND=1)} scalar.
9355
9356@noindent
9357Intrinsic groups: @code{badu77}.
9358
9359@noindent
9360Description:
9361
9362If @var{Handler} is a an @code{EXTERNAL} routine, arranges for it to be
9363invoked with a single integer argument (of system-dependent length)
9364when signal @var{Number} occurs.
b244d07c
JW
9365If @var{Handler} is an integer, it can be
9366used to turn off handling of signal @var{Number} or revert to its default
177873a5
JW
9367action.
9368See @code{signal(2)}.
9369
b244d07c
JW
9370Note that @var{Handler} will be called using C conventions,
9371so the value of its argument in Fortran terms
9372is obtained by applying @code{%LOC()} (or @var{LOC()}) to it.
177873a5
JW
9373
9374The value returned by @code{signal(2)} is returned.
9375
9376Due to the side effects performed by this intrinsic, the function
9377form is not recommended.
9378
b244d07c
JW
9379@emph{Warning:} If the returned value is stored in
9380an @code{INTEGER(KIND=1)} (default @code{INTEGER}) argument,
9381truncation of the original return value occurs on some systems
9382(such as Alphas, which have 64-bit pointers but 32-bit default integers),
9383with no warning issued by @code{g77} under normal circumstances.
9384
9385Therefore, the following code fragment might silently fail on
9386some systems:
9387
9388@smallexample
9389INTEGER RTN
9390EXTERNAL MYHNDL
9391RTN = SIGNAL(@var{signum}, MYHNDL)
9392@dots{}
9393! Restore original handler:
9394RTN = SIGNAL(@var{signum}, RTN)
9395@end smallexample
9396
9397The reason for the failure is that @samp{RTN} might not hold
9398all the information on the original handler for the signal,
9399thus restoring an invalid handler.
9400This bug could manifest itself as a spurious run-time failure
9401at an arbitrary point later during the program's execution,
9402for example.
9403
9404@emph{Warning:} Use of the @code{libf2c} run-time library function
9405@samp{signal_} directly
9406(such as via @samp{EXTERNAL SIGNAL})
9407requires use of the @code{%VAL()} construct
9408to pass an @code{INTEGER} value
9409(such as @samp{SIG_IGN} or @samp{SIG_DFL})
9410for the @var{Handler} argument.
9411
9412However, while @samp{RTN = SIGNAL(@var{signum}, %VAL(SIG_IGN))}
9413works when @samp{SIGNAL} is treated as an external procedure
9414(and resolves, at link time, to @code{libf2c}'s @samp{signal_} routine),
9415this construct is not valid when @samp{SIGNAL} is recognized
9416as the intrinsic of that name.
9417
9418Therefore, for maximum portability and reliability,
9419code such references to the @samp{SIGNAL} facility as follows:
9420
9421@smallexample
9422INTRINSIC SIGNAL
9423@dots{}
9424RTN = SIGNAL(@var{signum}, SIG_IGN)
9425@end smallexample
9426
9427@code{g77} will compile such a call correctly,
9428while other compilers will generally either do so as well
9429or reject the @samp{INTRINSIC SIGNAL} statement via a diagnostic,
9430allowing you to take appropriate action.
9431
177873a5
JW
9432For information on other intrinsics with the same name:
9433@xref{Signal Intrinsic (subroutine)}.
9434
9435@end ifset
9436@ifset familyF77
9437@node Sin Intrinsic
9438@subsubsection Sin Intrinsic
9439@cindex Sin intrinsic
9440@cindex intrinsics, Sin
9441
9442@noindent
9443@example
9444Sin(@var{X})
9445@end example
9446
9447@noindent
9448Sin: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
9449
9450@noindent
9451@var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
9452
9453@noindent
9454Intrinsic groups: (standard FORTRAN 77).
9455
9456@noindent
9457Description:
9458
9459Returns the sine of @var{X}, an angle measured
9460in radians.
9461
9462@xref{ASin Intrinsic}, for the inverse of this function.
9463
9464@end ifset
9465@ifset familyVXT
9466@node SinD Intrinsic
9467@subsubsection SinD Intrinsic
9468@cindex SinD intrinsic
9469@cindex intrinsics, SinD
9470
9471This intrinsic is not yet implemented.
9472The name is, however, reserved as an intrinsic.
9473Use @samp{EXTERNAL SinD} to use this name for an
9474external procedure.
9475
9476@end ifset
9477@ifset familyF77
9478@node SinH Intrinsic
9479@subsubsection SinH Intrinsic
9480@cindex SinH intrinsic
9481@cindex intrinsics, SinH
9482
9483@noindent
9484@example
9485SinH(@var{X})
9486@end example
9487
9488@noindent
9489SinH: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
9490
9491@noindent
9492@var{X}: @code{REAL}; scalar; INTENT(IN).
9493
9494@noindent
9495Intrinsic groups: (standard FORTRAN 77).
9496
9497@noindent
9498Description:
9499
9500Returns the hyperbolic sine of @var{X}.
9501
9502@end ifset
9503@ifset familyF2U
9504@node Sleep Intrinsic
9505@subsubsection Sleep Intrinsic
9506@cindex Sleep intrinsic
9507@cindex intrinsics, Sleep
9508
9509@noindent
9510@example
9511CALL Sleep(@var{Seconds})
9512@end example
9513
9514@noindent
9515@var{Seconds}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
9516
9517@noindent
9518Intrinsic groups: @code{unix}.
9519
9520@noindent
9521Description:
9522
9523Causes the process to pause for @var{Seconds} seconds.
9524See @code{sleep(2)}.
9525
9526@end ifset
9527@ifset familyF77
9528@node Sngl Intrinsic
9529@subsubsection Sngl Intrinsic
9530@cindex Sngl intrinsic
9531@cindex intrinsics, Sngl
9532
9533@noindent
9534@example
9535Sngl(@var{A})
9536@end example
9537
9538@noindent
9539Sngl: @code{REAL(KIND=1)} function.
9540
9541@noindent
9542@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
9543
9544@noindent
9545Intrinsic groups: (standard FORTRAN 77).
9546
9547@noindent
9548Description:
9549
9550Archaic form of @code{REAL()} that is specific
9551to one type for @var{A}.
9552@xref{Real Intrinsic}.
9553
9554@end ifset
9555@ifset familyVXT
9556@node SnglQ Intrinsic
9557@subsubsection SnglQ Intrinsic
9558@cindex SnglQ intrinsic
9559@cindex intrinsics, SnglQ
9560
9561This intrinsic is not yet implemented.
9562The name is, however, reserved as an intrinsic.
9563Use @samp{EXTERNAL SnglQ} to use this name for an
9564external procedure.
9565
9566@end ifset
9567@ifset familyF90
9568@node Spacing Intrinsic
9569@subsubsection Spacing Intrinsic
9570@cindex Spacing intrinsic
9571@cindex intrinsics, Spacing
9572
9573This intrinsic is not yet implemented.
9574The name is, however, reserved as an intrinsic.
9575Use @samp{EXTERNAL Spacing} to use this name for an
9576external procedure.
9577
9578@node Spread Intrinsic
9579@subsubsection Spread Intrinsic
9580@cindex Spread intrinsic
9581@cindex intrinsics, Spread
9582
9583This intrinsic is not yet implemented.
9584The name is, however, reserved as an intrinsic.
9585Use @samp{EXTERNAL Spread} to use this name for an
9586external procedure.
9587
9588@end ifset
9589@ifset familyF77
9590@node SqRt Intrinsic
9591@subsubsection SqRt Intrinsic
9592@cindex SqRt intrinsic
9593@cindex intrinsics, SqRt
9594
9595@noindent
9596@example
9597SqRt(@var{X})
9598@end example
9599
9600@noindent
9601SqRt: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
9602
9603@noindent
9604@var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
9605
9606@noindent
9607Intrinsic groups: (standard FORTRAN 77).
9608
9609@noindent
9610Description:
9611
9612Returns the square root of @var{X}, which must
9613not be negative.
9614
9615To calculate and represent the square root of a negative
9616number, complex arithmetic must be used.
9617For example, @samp{SQRT(COMPLEX(@var{X}))}.
9618
9619The inverse of this function is @samp{SQRT(@var{X}) * SQRT(@var{X})}.
9620
9621@end ifset
9622@ifset familyF2U
9623@node SRand Intrinsic
9624@subsubsection SRand Intrinsic
9625@cindex SRand intrinsic
9626@cindex intrinsics, SRand
9627
9628@noindent
9629@example
9630CALL SRand(@var{Seed})
9631@end example
9632
9633@noindent
9634@var{Seed}: @code{INTEGER}; scalar; INTENT(IN).
9635
9636@noindent
9637Intrinsic groups: @code{unix}.
9638
9639@noindent
9640Description:
9641
9642Reinitialises the generator with the seed in @var{Seed}.
9643@xref{IRand Intrinsic}.
9644@xref{Rand Intrinsic}.
9645
9646@node Stat Intrinsic (subroutine)
9647@subsubsection Stat Intrinsic (subroutine)
9648@cindex Stat intrinsic
9649@cindex intrinsics, Stat
9650
9651@noindent
9652@example
9653CALL Stat(@var{File}, @var{SArray}, @var{Status})
9654@end example
9655
9656@noindent
9657@var{File}: @code{CHARACTER}; scalar; INTENT(IN).
9658
9659@noindent
9660@var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
9661
9662@noindent
9663@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
9664
9665@noindent
9666Intrinsic groups: @code{unix}.
9667
9668@noindent
9669Description:
9670
9671Obtains data about the given file @var{File} and places them in the array
9672@var{SArray}.
9673A null character (@samp{CHAR(0)}) marks the end of
9674the name in @var{File}---otherwise,
9675trailing blanks in @var{File} are ignored.
9676The values in this array are extracted from the
9677@code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
9678
9679@enumerate
9680@item
9681File mode
9682
9683@item
9684Inode number
9685
9686@item
9687ID of device containing directory entry for file
9688
9689@item
9690Device id (if relevant)
9691
9692@item
9693Number of links
9694
9695@item
9696Owner's uid
9697
9698@item
9699Owner's gid
9700
9701@item
9702File size (bytes)
9703
9704@item
9705Last access time
9706
9707@item
9708Last modification time
9709
9710@item
9711Last file status change time
9712
9713@item
9714Preferred I/O block size
9715
9716@item
9717Number of blocks allocated
9718@end enumerate
9719
9720Not all these elements are relevant on all systems.
9721If an element is not relevant, it is returned as 0.
9722
9723If the @var{Status} argument is supplied, it contains
97240 on success or a non-zero error code upon return.
9725
9726Some non-GNU implementations of Fortran provide this intrinsic as
9727only a function, not as a subroutine, or do not support the
9728(optional) @var{Status} argument.
9729
9730For information on other intrinsics with the same name:
9731@xref{Stat Intrinsic (function)}.
9732
9733@node Stat Intrinsic (function)
9734@subsubsection Stat Intrinsic (function)
9735@cindex Stat intrinsic
9736@cindex intrinsics, Stat
9737
9738@noindent
9739@example
9740Stat(@var{File}, @var{SArray})
9741@end example
9742
9743@noindent
9744Stat: @code{INTEGER(KIND=1)} function.
9745
9746@noindent
9747@var{File}: @code{CHARACTER}; scalar; INTENT(IN).
9748
9749@noindent
9750@var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
9751
9752@noindent
9753Intrinsic groups: @code{unix}.
9754
9755@noindent
9756Description:
9757
9758Obtains data about the given file @var{File} and places them in the array
9759@var{SArray}.
9760A null character (@samp{CHAR(0)}) marks the end of
9761the name in @var{File}---otherwise,
9762trailing blanks in @var{File} are ignored.
9763The values in this array are extracted from the
9764@code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
9765
9766@enumerate
9767@item
9768File mode
9769
9770@item
9771Inode number
9772
9773@item
9774ID of device containing directory entry for file
9775
9776@item
9777Device id (if relevant)
9778
9779@item
9780Number of links
9781
9782@item
9783Owner's uid
9784
9785@item
9786Owner's gid
9787
9788@item
9789File size (bytes)
9790
9791@item
9792Last access time
9793
9794@item
9795Last modification time
9796
9797@item
9798Last file status change time
9799
9800@item
9801Preferred I/O block size
9802
9803@item
9804Number of blocks allocated
9805@end enumerate
9806
9807Not all these elements are relevant on all systems.
9808If an element is not relevant, it is returned as 0.
9809
9810Returns 0 on success or a non-zero error code.
9811
9812For information on other intrinsics with the same name:
9813@xref{Stat Intrinsic (subroutine)}.
9814
9815@end ifset
9816@ifset familyF90
9817@node Sum Intrinsic
9818@subsubsection Sum Intrinsic
9819@cindex Sum intrinsic
9820@cindex intrinsics, Sum
9821
9822This intrinsic is not yet implemented.
9823The name is, however, reserved as an intrinsic.
9824Use @samp{EXTERNAL Sum} to use this name for an
9825external procedure.
9826
9827@end ifset
9828@ifset familyF2U
9829@node SymLnk Intrinsic (subroutine)
9830@subsubsection SymLnk Intrinsic (subroutine)
9831@cindex SymLnk intrinsic
9832@cindex intrinsics, SymLnk
9833
9834@noindent
9835@example
9836CALL SymLnk(@var{Path1}, @var{Path2}, @var{Status})
9837@end example
9838
9839@noindent
9840@var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
9841
9842@noindent
9843@var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
9844
9845@noindent
9846@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
9847
9848@noindent
9849Intrinsic groups: @code{unix}.
9850
9851@noindent
9852Description:
9853
9854Makes a symbolic link from file @var{Path1} to @var{Path2}.
9855A null character (@samp{CHAR(0)}) marks the end of
9856the names in @var{Path1} and @var{Path2}---otherwise,
9857trailing blanks in @var{Path1} and @var{Path2} are ignored.
9858If the @var{Status} argument is supplied, it contains
98590 on success or a non-zero error code upon return
9860(@code{ENOSYS} if the system does not provide @code{symlink(2)}).
9861
9862Some non-GNU implementations of Fortran provide this intrinsic as
9863only a function, not as a subroutine, or do not support the
9864(optional) @var{Status} argument.
9865
9866For information on other intrinsics with the same name:
9867@xref{SymLnk Intrinsic (function)}.
9868
9869@end ifset
9870@ifset familyBADU77
9871@node SymLnk Intrinsic (function)
9872@subsubsection SymLnk Intrinsic (function)
9873@cindex SymLnk intrinsic
9874@cindex intrinsics, SymLnk
9875
9876@noindent
9877@example
9878SymLnk(@var{Path1}, @var{Path2})
9879@end example
9880
9881@noindent
9882SymLnk: @code{INTEGER(KIND=1)} function.
9883
9884@noindent
9885@var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
9886
9887@noindent
9888@var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
9889
9890@noindent
9891Intrinsic groups: @code{badu77}.
9892
9893@noindent
9894Description:
9895
9896Makes a symbolic link from file @var{Path1} to @var{Path2}.
9897A null character (@samp{CHAR(0)}) marks the end of
9898the names in @var{Path1} and @var{Path2}---otherwise,
9899trailing blanks in @var{Path1} and @var{Path2} are ignored.
9900Returns 0 on success or a non-zero error code
9901(@code{ENOSYS} if the system does not provide @code{symlink(2)}).
9902
9903Due to the side effects performed by this intrinsic, the function
9904form is not recommended.
9905
9906For information on other intrinsics with the same name:
9907@xref{SymLnk Intrinsic (subroutine)}.
9908
9909@end ifset
9910@ifset familyF2U
9911@node System Intrinsic (subroutine)
9912@subsubsection System Intrinsic (subroutine)
9913@cindex System intrinsic
9914@cindex intrinsics, System
9915
9916@noindent
9917@example
9918CALL System(@var{Command}, @var{Status})
9919@end example
9920
9921@noindent
9922@var{Command}: @code{CHARACTER}; scalar; INTENT(IN).
9923
9924@noindent
9925@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
9926
9927@noindent
9928Intrinsic groups: @code{unix}.
9929
9930@noindent
9931Description:
9932
9933Passes the command @var{Command} to a shell (see @code{system(3)}).
9934If argument @var{Status} is present, it contains the value returned by
9935@code{system(3)}, presumably 0 if the shell command succeeded.
9936Note that which shell is used to invoke the command is system-dependent
9937and environment-dependent.
9938
9939Some non-GNU implementations of Fortran provide this intrinsic as
9940only a function, not as a subroutine, or do not support the
9941(optional) @var{Status} argument.
9942
9943For information on other intrinsics with the same name:
9944@xref{System Intrinsic (function)}.
9945
9946@end ifset
9947@ifset familyBADU77
9948@node System Intrinsic (function)
9949@subsubsection System Intrinsic (function)
9950@cindex System intrinsic
9951@cindex intrinsics, System
9952
9953@noindent
9954@example
9955System(@var{Command})
9956@end example
9957
9958@noindent
9959System: @code{INTEGER(KIND=1)} function.
9960
9961@noindent
9962@var{Command}: @code{CHARACTER}; scalar; INTENT(IN).
9963
9964@noindent
9965Intrinsic groups: @code{badu77}.
9966
9967@noindent
9968Description:
9969
9970Passes the command @var{Command} to a shell (see @code{system(3)}).
9971Returns the value returned by
9972@code{system(3)}, presumably 0 if the shell command succeeded.
9973Note that which shell is used to invoke the command is system-dependent
9974and environment-dependent.
9975
9976Due to the side effects performed by this intrinsic, the function
9977form is not recommended.
9978However, the function form can be valid in cases where the
9979actual side effects performed by the call are unimportant to
9980the application.
9981
9982For example, on a UNIX system, @samp{SAME = SYSTEM('cmp a b')}
9983does not perform any side effects likely to be important to the
9984program, so the programmer would not care if the actual system
9985call (and invocation of @code{cmp}) was optimized away in a situation
9986where the return value could be determined otherwise, or was not
9987actually needed (@samp{SAME} not actually referenced after the
9988sample assignment statement).
9989
9990For information on other intrinsics with the same name:
9991@xref{System Intrinsic (subroutine)}.
9992
9993@end ifset
9994@ifset familyF90
9995@node System_Clock Intrinsic
9996@subsubsection System_Clock Intrinsic
9997@cindex System_Clock intrinsic
9998@cindex intrinsics, System_Clock
9999
10000@noindent
10001@example
10002CALL System_Clock(@var{Count}, @var{Rate}, @var{Max})
10003@end example
10004
10005@noindent
10006@var{Count}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
10007
10008@noindent
10009@var{Rate}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
10010
10011@noindent
10012@var{Max}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
10013
10014@noindent
10015Intrinsic groups: @code{f90}.
10016
10017@noindent
10018Description:
10019
10020Returns in @var{Count} the current value of the system clock; this is
10021the value returned by the UNIX function @code{times(2)}
10022in this implementation, but
10023isn't in general.
10024@var{Rate} is the number of clock ticks per second and
10025@var{Max} is the maximum value this can take, which isn't very useful
10026in this implementation since it's just the maximum C @code{unsigned
10027int} value.
10028
10029@end ifset
10030@ifset familyF77
10031@node Tan Intrinsic
10032@subsubsection Tan Intrinsic
10033@cindex Tan intrinsic
10034@cindex intrinsics, Tan
10035
10036@noindent
10037@example
10038Tan(@var{X})
10039@end example
10040
10041@noindent
10042Tan: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
10043
10044@noindent
10045@var{X}: @code{REAL}; scalar; INTENT(IN).
10046
10047@noindent
10048Intrinsic groups: (standard FORTRAN 77).
10049
10050@noindent
10051Description:
10052
10053Returns the tangent of @var{X}, an angle measured
10054in radians.
10055
10056@xref{ATan Intrinsic}, for the inverse of this function.
10057
10058@end ifset
10059@ifset familyVXT
10060@node TanD Intrinsic
10061@subsubsection TanD Intrinsic
10062@cindex TanD intrinsic
10063@cindex intrinsics, TanD
10064
10065This intrinsic is not yet implemented.
10066The name is, however, reserved as an intrinsic.
10067Use @samp{EXTERNAL TanD} to use this name for an
10068external procedure.
10069
10070@end ifset
10071@ifset familyF77
10072@node TanH Intrinsic
10073@subsubsection TanH Intrinsic
10074@cindex TanH intrinsic
10075@cindex intrinsics, TanH
10076
10077@noindent
10078@example
10079TanH(@var{X})
10080@end example
10081
10082@noindent
10083TanH: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
10084
10085@noindent
10086@var{X}: @code{REAL}; scalar; INTENT(IN).
10087
10088@noindent
10089Intrinsic groups: (standard FORTRAN 77).
10090
10091@noindent
10092Description:
10093
10094Returns the hyperbolic tangent of @var{X}.
10095
10096@end ifset
10097@ifset familyF2U
10098@node Time Intrinsic (UNIX)
10099@subsubsection Time Intrinsic (UNIX)
10100@cindex Time intrinsic
10101@cindex intrinsics, Time
10102
10103@noindent
10104@example
10105Time()
10106@end example
10107
10108@noindent
10109Time: @code{INTEGER(KIND=1)} function.
10110
10111@noindent
10112Intrinsic groups: @code{unix}.
10113
10114@noindent
10115Description:
10116
10117Returns the current time encoded as an integer
10118(in the manner of the UNIX function @code{time(3)}).
10119This value is suitable for passing to @code{CTIME},
10120@code{GMTIME}, and @code{LTIME}.
10121
10122This intrinsic is not fully portable, such as to systems
10123with 32-bit @code{INTEGER} types but supporting times
10124wider than 32 bits.
10125@xref{Time8 Intrinsic}, for information on a
10126similar intrinsic that might be portable to more
10127GNU Fortran implementations, though to fewer
10128Fortran compilers.
10129
10130For information on other intrinsics with the same name:
10131@xref{Time Intrinsic (VXT)}.
10132
10133@end ifset
10134@ifset familyVXT
10135@node Time Intrinsic (VXT)
10136@subsubsection Time Intrinsic (VXT)
10137@cindex Time intrinsic
10138@cindex intrinsics, Time
10139
10140@noindent
10141@example
10142CALL Time(@var{Time})
10143@end example
10144
10145@noindent
10146@var{Time}: @code{CHARACTER*8}; scalar; INTENT(OUT).
10147
10148@noindent
10149Intrinsic groups: @code{vxt}.
10150
10151@noindent
10152Description:
10153
10154Returns in @var{Time} a character representation of the current time as
10155obtained from @code{ctime(3)}.
10156
10157@xref{Fdate Intrinsic (subroutine)} for an equivalent routine.
10158
10159For information on other intrinsics with the same name:
10160@xref{Time Intrinsic (UNIX)}.
10161
10162@end ifset
10163@ifset familyF2U
10164@node Time8 Intrinsic
10165@subsubsection Time8 Intrinsic
10166@cindex Time8 intrinsic
10167@cindex intrinsics, Time8
10168
10169@noindent
10170@example
10171Time8()
10172@end example
10173
10174@noindent
10175Time8: @code{INTEGER(KIND=2)} function.
10176
10177@noindent
10178Intrinsic groups: @code{unix}.
10179
10180@noindent
10181Description:
10182
10183Returns the current time encoded as a long integer
10184(in the manner of the UNIX function @code{time(3)}).
10185This value is suitable for passing to @code{CTIME},
10186@code{GMTIME}, and @code{LTIME}.
10187
10188No Fortran implementations other than GNU Fortran are
10189known to support this intrinsic at the time of this
10190writing.
10191@xref{Time Intrinsic (UNIX)}, for information on a
10192similar intrinsic that might be portable to more Fortran
10193compilers, though to fewer GNU Fortran implementations.
10194
10195@end ifset
10196@ifset familyF90
10197@node Tiny Intrinsic
10198@subsubsection Tiny Intrinsic
10199@cindex Tiny intrinsic
10200@cindex intrinsics, Tiny
10201
10202This intrinsic is not yet implemented.
10203The name is, however, reserved as an intrinsic.
10204Use @samp{EXTERNAL Tiny} to use this name for an
10205external procedure.
10206
10207@node Transfer Intrinsic
10208@subsubsection Transfer Intrinsic
10209@cindex Transfer intrinsic
10210@cindex intrinsics, Transfer
10211
10212This intrinsic is not yet implemented.
10213The name is, however, reserved as an intrinsic.
10214Use @samp{EXTERNAL Transfer} to use this name for an
10215external procedure.
10216
10217@node Transpose Intrinsic
10218@subsubsection Transpose Intrinsic
10219@cindex Transpose intrinsic
10220@cindex intrinsics, Transpose
10221
10222This intrinsic is not yet implemented.
10223The name is, however, reserved as an intrinsic.
10224Use @samp{EXTERNAL Transpose} to use this name for an
10225external procedure.
10226
10227@node Trim Intrinsic
10228@subsubsection Trim Intrinsic
10229@cindex Trim intrinsic
10230@cindex intrinsics, Trim
10231
10232This intrinsic is not yet implemented.
10233The name is, however, reserved as an intrinsic.
10234Use @samp{EXTERNAL Trim} to use this name for an
10235external procedure.
10236
10237@end ifset
10238@ifset familyF2U
10239@node TtyNam Intrinsic (subroutine)
10240@subsubsection TtyNam Intrinsic (subroutine)
10241@cindex TtyNam intrinsic
10242@cindex intrinsics, TtyNam
10243
10244@noindent
10245@example
10246CALL TtyNam(@var{Name}, @var{Unit})
10247@end example
10248
10249@noindent
10250@var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
10251
10252@noindent
10253@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
10254
10255@noindent
10256Intrinsic groups: @code{unix}.
10257
10258@noindent
10259Description:
10260
10261Sets @var{Name} to the name of the terminal device open on logical unit
10262@var{Unit} or a blank string if @var{Unit} is not connected to a
10263terminal.
10264
10265Some non-GNU implementations of Fortran provide this intrinsic as
10266only a function, not as a subroutine.
10267
10268For information on other intrinsics with the same name:
10269@xref{TtyNam Intrinsic (function)}.
10270
10271@node TtyNam Intrinsic (function)
10272@subsubsection TtyNam Intrinsic (function)
10273@cindex TtyNam intrinsic
10274@cindex intrinsics, TtyNam
10275
10276@noindent
10277@example
10278TtyNam(@var{Unit})
10279@end example
10280
10281@noindent
10282TtyNam: @code{CHARACTER*(*)} function.
10283
10284@noindent
10285@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
10286
10287@noindent
10288Intrinsic groups: @code{unix}.
10289
10290@noindent
10291Description:
10292
10293Returns the name of the terminal device open on logical unit
10294@var{Unit} or a blank string if @var{Unit} is not connected to a
10295terminal.
10296
10297For information on other intrinsics with the same name:
10298@xref{TtyNam Intrinsic (subroutine)}.
10299
10300@end ifset
10301@ifset familyF90
10302@node UBound Intrinsic
10303@subsubsection UBound Intrinsic
10304@cindex UBound intrinsic
10305@cindex intrinsics, UBound
10306
10307This intrinsic is not yet implemented.
10308The name is, however, reserved as an intrinsic.
10309Use @samp{EXTERNAL UBound} to use this name for an
10310external procedure.
10311
10312@end ifset
10313@ifset familyF2U
10314@node UMask Intrinsic (subroutine)
10315@subsubsection UMask Intrinsic (subroutine)
10316@cindex UMask intrinsic
10317@cindex intrinsics, UMask
10318
10319@noindent
10320@example
10321CALL UMask(@var{Mask}, @var{Old})
10322@end example
10323
10324@noindent
10325@var{Mask}: @code{INTEGER}; scalar; INTENT(IN).
10326
10327@noindent
10328@var{Old}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
10329
10330@noindent
10331Intrinsic groups: @code{unix}.
10332
10333@noindent
10334Description:
10335
10336Sets the file creation mask to @var{Mask} and returns the old value in
10337argument @var{Old} if it is supplied.
10338See @code{umask(2)}.
10339
10340Some non-GNU implementations of Fortran provide this intrinsic as
10341only a function, not as a subroutine.
10342
10343For information on other intrinsics with the same name:
10344@xref{UMask Intrinsic (function)}.
10345
10346@end ifset
10347@ifset familyBADU77
10348@node UMask Intrinsic (function)
10349@subsubsection UMask Intrinsic (function)
10350@cindex UMask intrinsic
10351@cindex intrinsics, UMask
10352
10353@noindent
10354@example
10355UMask(@var{Mask})
10356@end example
10357
10358@noindent
10359UMask: @code{INTEGER(KIND=1)} function.
10360
10361@noindent
10362@var{Mask}: @code{INTEGER}; scalar; INTENT(IN).
10363
10364@noindent
10365Intrinsic groups: @code{badu77}.
10366
10367@noindent
10368Description:
10369
10370Sets the file creation mask to @var{Mask} and returns the old value.
10371See @code{umask(2)}.
10372
10373Due to the side effects performed by this intrinsic, the function
10374form is not recommended.
10375
10376For information on other intrinsics with the same name:
10377@xref{UMask Intrinsic (subroutine)}.
10378
10379@end ifset
10380@ifset familyF2U
10381@node Unlink Intrinsic (subroutine)
10382@subsubsection Unlink Intrinsic (subroutine)
10383@cindex Unlink intrinsic
10384@cindex intrinsics, Unlink
10385
10386@noindent
10387@example
10388CALL Unlink(@var{File}, @var{Status})
10389@end example
10390
10391@noindent
10392@var{File}: @code{CHARACTER}; scalar; INTENT(IN).
10393
10394@noindent
10395@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
10396
10397@noindent
10398Intrinsic groups: @code{unix}.
10399
10400@noindent
10401Description:
10402
10403Unlink the file @var{File}.
10404A null character (@samp{CHAR(0)}) marks the end of
10405the name in @var{File}---otherwise,
10406trailing blanks in @var{File} are ignored.
10407If the @var{Status} argument is supplied, it contains
104080 on success or a non-zero error code upon return.
10409See @code{unlink(2)}.
10410
10411Some non-GNU implementations of Fortran provide this intrinsic as
10412only a function, not as a subroutine, or do not support the
10413(optional) @var{Status} argument.
10414
10415For information on other intrinsics with the same name:
10416@xref{Unlink Intrinsic (function)}.
10417
10418@end ifset
10419@ifset familyBADU77
10420@node Unlink Intrinsic (function)
10421@subsubsection Unlink Intrinsic (function)
10422@cindex Unlink intrinsic
10423@cindex intrinsics, Unlink
10424
10425@noindent
10426@example
10427Unlink(@var{File})
10428@end example
10429
10430@noindent
10431Unlink: @code{INTEGER(KIND=1)} function.
10432
10433@noindent
10434@var{File}: @code{CHARACTER}; scalar; INTENT(IN).
10435
10436@noindent
10437Intrinsic groups: @code{badu77}.
10438
10439@noindent
10440Description:
10441
10442Unlink the file @var{File}.
10443A null character (@samp{CHAR(0)}) marks the end of
10444the name in @var{File}---otherwise,
10445trailing blanks in @var{File} are ignored.
10446Returns 0 on success or a non-zero error code.
10447See @code{unlink(2)}.
10448
10449Due to the side effects performed by this intrinsic, the function
10450form is not recommended.
10451
10452For information on other intrinsics with the same name:
10453@xref{Unlink Intrinsic (subroutine)}.
10454
10455@end ifset
10456@ifset familyF90
10457@node Unpack Intrinsic
10458@subsubsection Unpack Intrinsic
10459@cindex Unpack intrinsic
10460@cindex intrinsics, Unpack
10461
10462This intrinsic is not yet implemented.
10463The name is, however, reserved as an intrinsic.
10464Use @samp{EXTERNAL Unpack} to use this name for an
10465external procedure.
10466
10467@node Verify Intrinsic
10468@subsubsection Verify Intrinsic
10469@cindex Verify intrinsic
10470@cindex intrinsics, Verify
10471
10472This intrinsic is not yet implemented.
10473The name is, however, reserved as an intrinsic.
10474Use @samp{EXTERNAL Verify} to use this name for an
10475external procedure.
10476
10477@end ifset
10478@ifset familyF2C
10479@node XOr Intrinsic
10480@subsubsection XOr Intrinsic
10481@cindex XOr intrinsic
10482@cindex intrinsics, XOr
10483
10484@noindent
10485@example
10486XOr(@var{I}, @var{J})
10487@end example
10488
10489@noindent
10490XOr: @code{INTEGER} or @code{LOGICAL} function, the exact type being the result of cross-promoting the
10491types of all the arguments.
10492
10493@noindent
10494@var{I}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
10495
10496@noindent
10497@var{J}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
10498
10499@noindent
10500Intrinsic groups: @code{f2c}.
10501
10502@noindent
10503Description:
10504
10505Returns value resulting from boolean exclusive-OR of
10506pair of bits in each of @var{I} and @var{J}.
10507
10508@node ZAbs Intrinsic
10509@subsubsection ZAbs Intrinsic
10510@cindex ZAbs intrinsic
10511@cindex intrinsics, ZAbs
10512
10513@noindent
10514@example
10515ZAbs(@var{A})
10516@end example
10517
10518@noindent
10519ZAbs: @code{REAL(KIND=2)} function.
10520
10521@noindent
10522@var{A}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10523
10524@noindent
10525Intrinsic groups: @code{f2c}.
10526
10527@noindent
10528Description:
10529
10530Archaic form of @code{ABS()} that is specific
10531to one type for @var{A}.
10532@xref{Abs Intrinsic}.
10533
10534@node ZCos Intrinsic
10535@subsubsection ZCos Intrinsic
10536@cindex ZCos intrinsic
10537@cindex intrinsics, ZCos
10538
10539@noindent
10540@example
10541ZCos(@var{X})
10542@end example
10543
10544@noindent
10545ZCos: @code{COMPLEX(KIND=2)} function.
10546
10547@noindent
10548@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10549
10550@noindent
10551Intrinsic groups: @code{f2c}.
10552
10553@noindent
10554Description:
10555
10556Archaic form of @code{COS()} that is specific
10557to one type for @var{X}.
10558@xref{Cos Intrinsic}.
10559
10560@node ZExp Intrinsic
10561@subsubsection ZExp Intrinsic
10562@cindex ZExp intrinsic
10563@cindex intrinsics, ZExp
10564
10565@noindent
10566@example
10567ZExp(@var{X})
10568@end example
10569
10570@noindent
10571ZExp: @code{COMPLEX(KIND=2)} function.
10572
10573@noindent
10574@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10575
10576@noindent
10577Intrinsic groups: @code{f2c}.
10578
10579@noindent
10580Description:
10581
10582Archaic form of @code{EXP()} that is specific
10583to one type for @var{X}.
10584@xref{Exp Intrinsic}.
10585
10586@end ifset
10587@ifset familyVXT
10588@node ZExt Intrinsic
10589@subsubsection ZExt Intrinsic
10590@cindex ZExt intrinsic
10591@cindex intrinsics, ZExt
10592
10593This intrinsic is not yet implemented.
10594The name is, however, reserved as an intrinsic.
10595Use @samp{EXTERNAL ZExt} to use this name for an
10596external procedure.
10597
10598@end ifset
10599@ifset familyF2C
10600@node ZLog Intrinsic
10601@subsubsection ZLog Intrinsic
10602@cindex ZLog intrinsic
10603@cindex intrinsics, ZLog
10604
10605@noindent
10606@example
10607ZLog(@var{X})
10608@end example
10609
10610@noindent
10611ZLog: @code{COMPLEX(KIND=2)} function.
10612
10613@noindent
10614@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10615
10616@noindent
10617Intrinsic groups: @code{f2c}.
10618
10619@noindent
10620Description:
10621
10622Archaic form of @code{LOG()} that is specific
10623to one type for @var{X}.
10624@xref{Log Intrinsic}.
10625
10626@node ZSin Intrinsic
10627@subsubsection ZSin Intrinsic
10628@cindex ZSin intrinsic
10629@cindex intrinsics, ZSin
10630
10631@noindent
10632@example
10633ZSin(@var{X})
10634@end example
10635
10636@noindent
10637ZSin: @code{COMPLEX(KIND=2)} function.
10638
10639@noindent
10640@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10641
10642@noindent
10643Intrinsic groups: @code{f2c}.
10644
10645@noindent
10646Description:
10647
10648Archaic form of @code{SIN()} that is specific
10649to one type for @var{X}.
10650@xref{Sin Intrinsic}.
10651
10652@node ZSqRt Intrinsic
10653@subsubsection ZSqRt Intrinsic
10654@cindex ZSqRt intrinsic
10655@cindex intrinsics, ZSqRt
10656
10657@noindent
10658@example
10659ZSqRt(@var{X})
10660@end example
10661
10662@noindent
10663ZSqRt: @code{COMPLEX(KIND=2)} function.
10664
10665@noindent
10666@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
10667
10668@noindent
10669Intrinsic groups: @code{f2c}.
10670
10671@noindent
10672Description:
10673
10674Archaic form of @code{SQRT()} that is specific
10675to one type for @var{X}.
10676@xref{SqRt Intrinsic}.
10677
10678@end ifset