home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / g77doc.zip / intdoc.tex < prev    next >
Text File  |  1998-03-15  |  242KB  |  10,679 lines

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