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