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