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