i1mach.f 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889
  1. *DECK I1MACH
  2. INTEGER FUNCTION I1MACH (I)
  3. C***BEGIN PROLOGUE I1MACH
  4. C***PURPOSE Return integer machine dependent constants.
  5. C***LIBRARY SLATEC
  6. C***CATEGORY R1
  7. C***TYPE INTEGER (I1MACH-I)
  8. C***KEYWORDS MACHINE CONSTANTS
  9. C***AUTHOR Fox, P. A., (Bell Labs)
  10. C Hall, A. D., (Bell Labs)
  11. C Schryer, N. L., (Bell Labs)
  12. C***DESCRIPTION
  13. C
  14. C I1MACH can be used to obtain machine-dependent parameters for the
  15. C local machine environment. It is a function subprogram with one
  16. C (input) argument and can be referenced as follows:
  17. C
  18. C K = I1MACH(I)
  19. C
  20. C where I=1,...,16. The (output) value of K above is determined by
  21. C the (input) value of I. The results for various values of I are
  22. C discussed below.
  23. C
  24. C I/O unit numbers:
  25. C I1MACH( 1) = the standard input unit.
  26. C I1MACH( 2) = the standard output unit.
  27. C I1MACH( 3) = the standard punch unit.
  28. C I1MACH( 4) = the standard error message unit.
  29. C
  30. C Words:
  31. C I1MACH( 5) = the number of bits per integer storage unit.
  32. C I1MACH( 6) = the number of characters per integer storage unit.
  33. C
  34. C Integers:
  35. C assume integers are represented in the S-digit, base-A form
  36. C
  37. C sign ( X(S-1)*A**(S-1) + ... + X(1)*A + X(0) )
  38. C
  39. C where 0 .LE. X(I) .LT. A for I=0,...,S-1.
  40. C I1MACH( 7) = A, the base.
  41. C I1MACH( 8) = S, the number of base-A digits.
  42. C I1MACH( 9) = A**S - 1, the largest magnitude.
  43. C
  44. C Floating-Point Numbers:
  45. C Assume floating-point numbers are represented in the T-digit,
  46. C base-B form
  47. C sign (B**E)*( (X(1)/B) + ... + (X(T)/B**T) )
  48. C
  49. C where 0 .LE. X(I) .LT. B for I=1,...,T,
  50. C 0 .LT. X(1), and EMIN .LE. E .LE. EMAX.
  51. C I1MACH(10) = B, the base.
  52. C
  53. C Single-Precision:
  54. C I1MACH(11) = T, the number of base-B digits.
  55. C I1MACH(12) = EMIN, the smallest exponent E.
  56. C I1MACH(13) = EMAX, the largest exponent E.
  57. C
  58. C Double-Precision:
  59. C I1MACH(14) = T, the number of base-B digits.
  60. C I1MACH(15) = EMIN, the smallest exponent E.
  61. C I1MACH(16) = EMAX, the largest exponent E.
  62. C
  63. C To alter this function for a particular environment, the desired
  64. C set of DATA statements should be activated by removing the C from
  65. C column 1. Also, the values of I1MACH(1) - I1MACH(4) should be
  66. C checked for consistency with the local operating system.
  67. C
  68. C***REFERENCES P. A. Fox, A. D. Hall and N. L. Schryer, Framework for
  69. C a portable library, ACM Transactions on Mathematical
  70. C Software 4, 2 (June 1978), pp. 177-188.
  71. C***ROUTINES CALLED (NONE)
  72. C***REVISION HISTORY (YYMMDD)
  73. C 750101 DATE WRITTEN
  74. C 891012 Added VAX G-floating constants. (WRB)
  75. C 891012 REVISION DATE from Version 3.2
  76. C 891214 Prologue converted to Version 4.0 format. (BAB)
  77. C 900618 Added DEC RISC constants. (WRB)
  78. C 900723 Added IBM RS 6000 constants. (WRB)
  79. C 901009 Correct I1MACH(7) for IBM Mainframes. Should be 2 not 16.
  80. C (RWC)
  81. C 910710 Added HP 730 constants. (SMR)
  82. C 911114 Added Convex IEEE constants. (WRB)
  83. C 920121 Added SUN -r8 compiler option constants. (WRB)
  84. C 920229 Added Touchstone Delta i860 constants. (WRB)
  85. C 920501 Reformatted the REFERENCES section. (WRB)
  86. C 920625 Added Convex -p8 and -pd8 compiler option constants.
  87. C (BKS, WRB)
  88. C 930201 Added DEC Alpha and SGI constants. (RWC and WRB)
  89. C 930618 Corrected I1MACH(5) for Convex -p8 and -pd8 compiler
  90. C options. (DWL, RWC and WRB).
  91. C***END PROLOGUE I1MACH
  92. C
  93. INTEGER IMACH(16),OUTPUT
  94. SAVE IMACH
  95. EQUIVALENCE (IMACH(4),OUTPUT)
  96. C
  97. C MACHINE CONSTANTS FOR THE AMIGA
  98. C ABSOFT COMPILER
  99. C
  100. C DATA IMACH( 1) / 5 /
  101. C DATA IMACH( 2) / 6 /
  102. C DATA IMACH( 3) / 5 /
  103. C DATA IMACH( 4) / 6 /
  104. C DATA IMACH( 5) / 32 /
  105. C DATA IMACH( 6) / 4 /
  106. C DATA IMACH( 7) / 2 /
  107. C DATA IMACH( 8) / 31 /
  108. C DATA IMACH( 9) / 2147483647 /
  109. C DATA IMACH(10) / 2 /
  110. C DATA IMACH(11) / 24 /
  111. C DATA IMACH(12) / -126 /
  112. C DATA IMACH(13) / 127 /
  113. C DATA IMACH(14) / 53 /
  114. C DATA IMACH(15) / -1022 /
  115. C DATA IMACH(16) / 1023 /
  116. C
  117. C MACHINE CONSTANTS FOR THE APOLLO
  118. C
  119. C DATA IMACH( 1) / 5 /
  120. C DATA IMACH( 2) / 6 /
  121. C DATA IMACH( 3) / 6 /
  122. C DATA IMACH( 4) / 6 /
  123. C DATA IMACH( 5) / 32 /
  124. C DATA IMACH( 6) / 4 /
  125. C DATA IMACH( 7) / 2 /
  126. C DATA IMACH( 8) / 31 /
  127. C DATA IMACH( 9) / 2147483647 /
  128. C DATA IMACH(10) / 2 /
  129. C DATA IMACH(11) / 24 /
  130. C DATA IMACH(12) / -125 /
  131. C DATA IMACH(13) / 129 /
  132. C DATA IMACH(14) / 53 /
  133. C DATA IMACH(15) / -1021 /
  134. C DATA IMACH(16) / 1025 /
  135. C
  136. C MACHINE CONSTANTS FOR THE BURROUGHS 1700 SYSTEM
  137. C
  138. C DATA IMACH( 1) / 7 /
  139. C DATA IMACH( 2) / 2 /
  140. C DATA IMACH( 3) / 2 /
  141. C DATA IMACH( 4) / 2 /
  142. C DATA IMACH( 5) / 36 /
  143. C DATA IMACH( 6) / 4 /
  144. C DATA IMACH( 7) / 2 /
  145. C DATA IMACH( 8) / 33 /
  146. C DATA IMACH( 9) / Z1FFFFFFFF /
  147. C DATA IMACH(10) / 2 /
  148. C DATA IMACH(11) / 24 /
  149. C DATA IMACH(12) / -256 /
  150. C DATA IMACH(13) / 255 /
  151. C DATA IMACH(14) / 60 /
  152. C DATA IMACH(15) / -256 /
  153. C DATA IMACH(16) / 255 /
  154. C
  155. C MACHINE CONSTANTS FOR THE BURROUGHS 5700 SYSTEM
  156. C
  157. C DATA IMACH( 1) / 5 /
  158. C DATA IMACH( 2) / 6 /
  159. C DATA IMACH( 3) / 7 /
  160. C DATA IMACH( 4) / 6 /
  161. C DATA IMACH( 5) / 48 /
  162. C DATA IMACH( 6) / 6 /
  163. C DATA IMACH( 7) / 2 /
  164. C DATA IMACH( 8) / 39 /
  165. C DATA IMACH( 9) / O0007777777777777 /
  166. C DATA IMACH(10) / 8 /
  167. C DATA IMACH(11) / 13 /
  168. C DATA IMACH(12) / -50 /
  169. C DATA IMACH(13) / 76 /
  170. C DATA IMACH(14) / 26 /
  171. C DATA IMACH(15) / -50 /
  172. C DATA IMACH(16) / 76 /
  173. C
  174. C MACHINE CONSTANTS FOR THE BURROUGHS 6700/7700 SYSTEMS
  175. C
  176. C DATA IMACH( 1) / 5 /
  177. C DATA IMACH( 2) / 6 /
  178. C DATA IMACH( 3) / 7 /
  179. C DATA IMACH( 4) / 6 /
  180. C DATA IMACH( 5) / 48 /
  181. C DATA IMACH( 6) / 6 /
  182. C DATA IMACH( 7) / 2 /
  183. C DATA IMACH( 8) / 39 /
  184. C DATA IMACH( 9) / O0007777777777777 /
  185. C DATA IMACH(10) / 8 /
  186. C DATA IMACH(11) / 13 /
  187. C DATA IMACH(12) / -50 /
  188. C DATA IMACH(13) / 76 /
  189. C DATA IMACH(14) / 26 /
  190. C DATA IMACH(15) / -32754 /
  191. C DATA IMACH(16) / 32780 /
  192. C
  193. C MACHINE CONSTANTS FOR THE CDC 170/180 SERIES USING NOS/VE
  194. C
  195. C DATA IMACH( 1) / 5 /
  196. C DATA IMACH( 2) / 6 /
  197. C DATA IMACH( 3) / 7 /
  198. C DATA IMACH( 4) / 6 /
  199. C DATA IMACH( 5) / 64 /
  200. C DATA IMACH( 6) / 8 /
  201. C DATA IMACH( 7) / 2 /
  202. C DATA IMACH( 8) / 63 /
  203. C DATA IMACH( 9) / 9223372036854775807 /
  204. C DATA IMACH(10) / 2 /
  205. C DATA IMACH(11) / 47 /
  206. C DATA IMACH(12) / -4095 /
  207. C DATA IMACH(13) / 4094 /
  208. C DATA IMACH(14) / 94 /
  209. C DATA IMACH(15) / -4095 /
  210. C DATA IMACH(16) / 4094 /
  211. C
  212. C MACHINE CONSTANTS FOR THE CDC 6000/7000 SERIES
  213. C
  214. C DATA IMACH( 1) / 5 /
  215. C DATA IMACH( 2) / 6 /
  216. C DATA IMACH( 3) / 7 /
  217. C DATA IMACH( 4) / 6LOUTPUT/
  218. C DATA IMACH( 5) / 60 /
  219. C DATA IMACH( 6) / 10 /
  220. C DATA IMACH( 7) / 2 /
  221. C DATA IMACH( 8) / 48 /
  222. C DATA IMACH( 9) / 00007777777777777777B /
  223. C DATA IMACH(10) / 2 /
  224. C DATA IMACH(11) / 47 /
  225. C DATA IMACH(12) / -929 /
  226. C DATA IMACH(13) / 1070 /
  227. C DATA IMACH(14) / 94 /
  228. C DATA IMACH(15) / -929 /
  229. C DATA IMACH(16) / 1069 /
  230. C
  231. C MACHINE CONSTANTS FOR THE CELERITY C1260
  232. C
  233. C DATA IMACH( 1) / 5 /
  234. C DATA IMACH( 2) / 6 /
  235. C DATA IMACH( 3) / 6 /
  236. C DATA IMACH( 4) / 0 /
  237. C DATA IMACH( 5) / 32 /
  238. C DATA IMACH( 6) / 4 /
  239. C DATA IMACH( 7) / 2 /
  240. C DATA IMACH( 8) / 31 /
  241. C DATA IMACH( 9) / Z'7FFFFFFF' /
  242. C DATA IMACH(10) / 2 /
  243. C DATA IMACH(11) / 24 /
  244. C DATA IMACH(12) / -126 /
  245. C DATA IMACH(13) / 127 /
  246. C DATA IMACH(14) / 53 /
  247. C DATA IMACH(15) / -1022 /
  248. C DATA IMACH(16) / 1023 /
  249. C
  250. C MACHINE CONSTANTS FOR THE CONVEX
  251. C USING THE -fn COMPILER OPTION
  252. C
  253. C DATA IMACH( 1) / 5 /
  254. C DATA IMACH( 2) / 6 /
  255. C DATA IMACH( 3) / 7 /
  256. C DATA IMACH( 4) / 6 /
  257. C DATA IMACH( 5) / 32 /
  258. C DATA IMACH( 6) / 4 /
  259. C DATA IMACH( 7) / 2 /
  260. C DATA IMACH( 8) / 31 /
  261. C DATA IMACH( 9) / 2147483647 /
  262. C DATA IMACH(10) / 2 /
  263. C DATA IMACH(11) / 24 /
  264. C DATA IMACH(12) / -127 /
  265. C DATA IMACH(13) / 127 /
  266. C DATA IMACH(14) / 53 /
  267. C DATA IMACH(15) / -1023 /
  268. C DATA IMACH(16) / 1023 /
  269. C
  270. C MACHINE CONSTANTS FOR THE CONVEX
  271. C USING THE -fi COMPILER OPTION
  272. C
  273. C DATA IMACH( 1) / 5 /
  274. C DATA IMACH( 2) / 6 /
  275. C DATA IMACH( 3) / 7 /
  276. C DATA IMACH( 4) / 6 /
  277. C DATA IMACH( 5) / 32 /
  278. C DATA IMACH( 6) / 4 /
  279. C DATA IMACH( 7) / 2 /
  280. C DATA IMACH( 8) / 31 /
  281. C DATA IMACH( 9) / 2147483647 /
  282. C DATA IMACH(10) / 2 /
  283. C DATA IMACH(11) / 24 /
  284. C DATA IMACH(12) / -125 /
  285. C DATA IMACH(13) / 128 /
  286. C DATA IMACH(14) / 53 /
  287. C DATA IMACH(15) / -1021 /
  288. C DATA IMACH(16) / 1024 /
  289. C
  290. C MACHINE CONSTANTS FOR THE CONVEX
  291. C USING THE -p8 COMPILER OPTION
  292. C
  293. C DATA IMACH( 1) / 5 /
  294. C DATA IMACH( 2) / 6 /
  295. C DATA IMACH( 3) / 7 /
  296. C DATA IMACH( 4) / 6 /
  297. C DATA IMACH( 5) / 64 /
  298. C DATA IMACH( 6) / 4 /
  299. C DATA IMACH( 7) / 2 /
  300. C DATA IMACH( 8) / 63 /
  301. C DATA IMACH( 9) / 9223372036854775807 /
  302. C DATA IMACH(10) / 2 /
  303. C DATA IMACH(11) / 53 /
  304. C DATA IMACH(12) / -1023 /
  305. C DATA IMACH(13) / 1023 /
  306. C DATA IMACH(14) / 113 /
  307. C DATA IMACH(15) / -16383 /
  308. C DATA IMACH(16) / 16383 /
  309. C
  310. C MACHINE CONSTANTS FOR THE CONVEX
  311. C USING THE -pd8 COMPILER OPTION
  312. C
  313. C DATA IMACH( 1) / 5 /
  314. C DATA IMACH( 2) / 6 /
  315. C DATA IMACH( 3) / 7 /
  316. C DATA IMACH( 4) / 6 /
  317. C DATA IMACH( 5) / 64 /
  318. C DATA IMACH( 6) / 4 /
  319. C DATA IMACH( 7) / 2 /
  320. C DATA IMACH( 8) / 63 /
  321. C DATA IMACH( 9) / 9223372036854775807 /
  322. C DATA IMACH(10) / 2 /
  323. C DATA IMACH(11) / 53 /
  324. C DATA IMACH(12) / -1023 /
  325. C DATA IMACH(13) / 1023 /
  326. C DATA IMACH(14) / 53 /
  327. C DATA IMACH(15) / -1023 /
  328. C DATA IMACH(16) / 1023 /
  329. C
  330. C MACHINE CONSTANTS FOR THE CRAY
  331. C USING THE 46 BIT INTEGER COMPILER OPTION
  332. C
  333. C DATA IMACH( 1) / 100 /
  334. C DATA IMACH( 2) / 101 /
  335. C DATA IMACH( 3) / 102 /
  336. C DATA IMACH( 4) / 101 /
  337. C DATA IMACH( 5) / 64 /
  338. C DATA IMACH( 6) / 8 /
  339. C DATA IMACH( 7) / 2 /
  340. C DATA IMACH( 8) / 46 /
  341. C DATA IMACH( 9) / 1777777777777777B /
  342. C DATA IMACH(10) / 2 /
  343. C DATA IMACH(11) / 47 /
  344. C DATA IMACH(12) / -8189 /
  345. C DATA IMACH(13) / 8190 /
  346. C DATA IMACH(14) / 94 /
  347. C DATA IMACH(15) / -8099 /
  348. C DATA IMACH(16) / 8190 /
  349. C
  350. C MACHINE CONSTANTS FOR THE CRAY
  351. C USING THE 64 BIT INTEGER COMPILER OPTION
  352. C
  353. C DATA IMACH( 1) / 100 /
  354. C DATA IMACH( 2) / 101 /
  355. C DATA IMACH( 3) / 102 /
  356. C DATA IMACH( 4) / 101 /
  357. C DATA IMACH( 5) / 64 /
  358. C DATA IMACH( 6) / 8 /
  359. C DATA IMACH( 7) / 2 /
  360. C DATA IMACH( 8) / 63 /
  361. C DATA IMACH( 9) / 777777777777777777777B /
  362. C DATA IMACH(10) / 2 /
  363. C DATA IMACH(11) / 47 /
  364. C DATA IMACH(12) / -8189 /
  365. C DATA IMACH(13) / 8190 /
  366. C DATA IMACH(14) / 94 /
  367. C DATA IMACH(15) / -8099 /
  368. C DATA IMACH(16) / 8190 /
  369. C
  370. C MACHINE CONSTANTS FOR THE DATA GENERAL ECLIPSE S/200
  371. C
  372. C DATA IMACH( 1) / 11 /
  373. C DATA IMACH( 2) / 12 /
  374. C DATA IMACH( 3) / 8 /
  375. C DATA IMACH( 4) / 10 /
  376. C DATA IMACH( 5) / 16 /
  377. C DATA IMACH( 6) / 2 /
  378. C DATA IMACH( 7) / 2 /
  379. C DATA IMACH( 8) / 15 /
  380. C DATA IMACH( 9) / 32767 /
  381. C DATA IMACH(10) / 16 /
  382. C DATA IMACH(11) / 6 /
  383. C DATA IMACH(12) / -64 /
  384. C DATA IMACH(13) / 63 /
  385. C DATA IMACH(14) / 14 /
  386. C DATA IMACH(15) / -64 /
  387. C DATA IMACH(16) / 63 /
  388. C
  389. C MACHINE CONSTANTS FOR THE DEC ALPHA
  390. C USING G_FLOAT
  391. C
  392. C DATA IMACH( 1) / 5 /
  393. C DATA IMACH( 2) / 6 /
  394. C DATA IMACH( 3) / 5 /
  395. C DATA IMACH( 4) / 6 /
  396. C DATA IMACH( 5) / 32 /
  397. C DATA IMACH( 6) / 4 /
  398. C DATA IMACH( 7) / 2 /
  399. C DATA IMACH( 8) / 31 /
  400. C DATA IMACH( 9) / 2147483647 /
  401. C DATA IMACH(10) / 2 /
  402. C DATA IMACH(11) / 24 /
  403. C DATA IMACH(12) / -127 /
  404. C DATA IMACH(13) / 127 /
  405. C DATA IMACH(14) / 53 /
  406. C DATA IMACH(15) / -1023 /
  407. C DATA IMACH(16) / 1023 /
  408. C
  409. C MACHINE CONSTANTS FOR THE DEC ALPHA
  410. C USING IEEE_FLOAT
  411. C
  412. C DATA IMACH( 1) / 5 /
  413. C DATA IMACH( 2) / 6 /
  414. C DATA IMACH( 3) / 6 /
  415. C DATA IMACH( 4) / 6 /
  416. C DATA IMACH( 5) / 32 /
  417. C DATA IMACH( 6) / 4 /
  418. C DATA IMACH( 7) / 2 /
  419. C DATA IMACH( 8) / 31 /
  420. C DATA IMACH( 9) / 2147483647 /
  421. C DATA IMACH(10) / 2 /
  422. C DATA IMACH(11) / 24 /
  423. C DATA IMACH(12) / -125 /
  424. C DATA IMACH(13) / 128 /
  425. C DATA IMACH(14) / 53 /
  426. C DATA IMACH(15) / -1021 /
  427. C DATA IMACH(16) / 1024 /
  428. C
  429. C MACHINE CONSTANTS FOR THE DEC RISC
  430. C
  431. C DATA IMACH( 1) / 5 /
  432. C DATA IMACH( 2) / 6 /
  433. C DATA IMACH( 3) / 6 /
  434. C DATA IMACH( 4) / 6 /
  435. C DATA IMACH( 5) / 32 /
  436. C DATA IMACH( 6) / 4 /
  437. C DATA IMACH( 7) / 2 /
  438. C DATA IMACH( 8) / 31 /
  439. C DATA IMACH( 9) / 2147483647 /
  440. C DATA IMACH(10) / 2 /
  441. C DATA IMACH(11) / 24 /
  442. C DATA IMACH(12) / -125 /
  443. C DATA IMACH(13) / 128 /
  444. C DATA IMACH(14) / 53 /
  445. C DATA IMACH(15) / -1021 /
  446. C DATA IMACH(16) / 1024 /
  447. C
  448. C MACHINE CONSTANTS FOR THE DEC VAX
  449. C USING D_FLOATING
  450. C
  451. C DATA IMACH( 1) / 5 /
  452. C DATA IMACH( 2) / 6 /
  453. C DATA IMACH( 3) / 5 /
  454. C DATA IMACH( 4) / 6 /
  455. C DATA IMACH( 5) / 32 /
  456. C DATA IMACH( 6) / 4 /
  457. C DATA IMACH( 7) / 2 /
  458. C DATA IMACH( 8) / 31 /
  459. C DATA IMACH( 9) / 2147483647 /
  460. C DATA IMACH(10) / 2 /
  461. C DATA IMACH(11) / 24 /
  462. C DATA IMACH(12) / -127 /
  463. C DATA IMACH(13) / 127 /
  464. C DATA IMACH(14) / 56 /
  465. C DATA IMACH(15) / -127 /
  466. C DATA IMACH(16) / 127 /
  467. C
  468. C MACHINE CONSTANTS FOR THE DEC VAX
  469. C USING G_FLOATING
  470. C
  471. C DATA IMACH( 1) / 5 /
  472. C DATA IMACH( 2) / 6 /
  473. C DATA IMACH( 3) / 5 /
  474. C DATA IMACH( 4) / 6 /
  475. C DATA IMACH( 5) / 32 /
  476. C DATA IMACH( 6) / 4 /
  477. C DATA IMACH( 7) / 2 /
  478. C DATA IMACH( 8) / 31 /
  479. C DATA IMACH( 9) / 2147483647 /
  480. C DATA IMACH(10) / 2 /
  481. C DATA IMACH(11) / 24 /
  482. C DATA IMACH(12) / -127 /
  483. C DATA IMACH(13) / 127 /
  484. C DATA IMACH(14) / 53 /
  485. C DATA IMACH(15) / -1023 /
  486. C DATA IMACH(16) / 1023 /
  487. C
  488. C MACHINE CONSTANTS FOR THE ELXSI 6400
  489. C
  490. C DATA IMACH( 1) / 5 /
  491. C DATA IMACH( 2) / 6 /
  492. C DATA IMACH( 3) / 6 /
  493. C DATA IMACH( 4) / 6 /
  494. C DATA IMACH( 5) / 32 /
  495. C DATA IMACH( 6) / 4 /
  496. C DATA IMACH( 7) / 2 /
  497. C DATA IMACH( 8) / 32 /
  498. C DATA IMACH( 9) / 2147483647 /
  499. C DATA IMACH(10) / 2 /
  500. C DATA IMACH(11) / 24 /
  501. C DATA IMACH(12) / -126 /
  502. C DATA IMACH(13) / 127 /
  503. C DATA IMACH(14) / 53 /
  504. C DATA IMACH(15) / -1022 /
  505. C DATA IMACH(16) / 1023 /
  506. C
  507. C MACHINE CONSTANTS FOR THE HARRIS 220
  508. C
  509. C DATA IMACH( 1) / 5 /
  510. C DATA IMACH( 2) / 6 /
  511. C DATA IMACH( 3) / 0 /
  512. C DATA IMACH( 4) / 6 /
  513. C DATA IMACH( 5) / 24 /
  514. C DATA IMACH( 6) / 3 /
  515. C DATA IMACH( 7) / 2 /
  516. C DATA IMACH( 8) / 23 /
  517. C DATA IMACH( 9) / 8388607 /
  518. C DATA IMACH(10) / 2 /
  519. C DATA IMACH(11) / 23 /
  520. C DATA IMACH(12) / -127 /
  521. C DATA IMACH(13) / 127 /
  522. C DATA IMACH(14) / 38 /
  523. C DATA IMACH(15) / -127 /
  524. C DATA IMACH(16) / 127 /
  525. C
  526. C MACHINE CONSTANTS FOR THE HONEYWELL 600/6000 SERIES
  527. C
  528. C DATA IMACH( 1) / 5 /
  529. C DATA IMACH( 2) / 6 /
  530. C DATA IMACH( 3) / 43 /
  531. C DATA IMACH( 4) / 6 /
  532. C DATA IMACH( 5) / 36 /
  533. C DATA IMACH( 6) / 6 /
  534. C DATA IMACH( 7) / 2 /
  535. C DATA IMACH( 8) / 35 /
  536. C DATA IMACH( 9) / O377777777777 /
  537. C DATA IMACH(10) / 2 /
  538. C DATA IMACH(11) / 27 /
  539. C DATA IMACH(12) / -127 /
  540. C DATA IMACH(13) / 127 /
  541. C DATA IMACH(14) / 63 /
  542. C DATA IMACH(15) / -127 /
  543. C DATA IMACH(16) / 127 /
  544. C
  545. C MACHINE CONSTANTS FOR THE HP 730
  546. C
  547. C DATA IMACH( 1) / 5 /
  548. C DATA IMACH( 2) / 6 /
  549. C DATA IMACH( 3) / 6 /
  550. C DATA IMACH( 4) / 6 /
  551. C DATA IMACH( 5) / 32 /
  552. C DATA IMACH( 6) / 4 /
  553. C DATA IMACH( 7) / 2 /
  554. C DATA IMACH( 8) / 31 /
  555. C DATA IMACH( 9) / 2147483647 /
  556. C DATA IMACH(10) / 2 /
  557. C DATA IMACH(11) / 24 /
  558. C DATA IMACH(12) / -125 /
  559. C DATA IMACH(13) / 128 /
  560. C DATA IMACH(14) / 53 /
  561. C DATA IMACH(15) / -1021 /
  562. C DATA IMACH(16) / 1024 /
  563. C
  564. C MACHINE CONSTANTS FOR THE HP 2100
  565. C 3 WORD DOUBLE PRECISION OPTION WITH FTN4
  566. C
  567. C DATA IMACH( 1) / 5 /
  568. C DATA IMACH( 2) / 6 /
  569. C DATA IMACH( 3) / 4 /
  570. C DATA IMACH( 4) / 1 /
  571. C DATA IMACH( 5) / 16 /
  572. C DATA IMACH( 6) / 2 /
  573. C DATA IMACH( 7) / 2 /
  574. C DATA IMACH( 8) / 15 /
  575. C DATA IMACH( 9) / 32767 /
  576. C DATA IMACH(10) / 2 /
  577. C DATA IMACH(11) / 23 /
  578. C DATA IMACH(12) / -128 /
  579. C DATA IMACH(13) / 127 /
  580. C DATA IMACH(14) / 39 /
  581. C DATA IMACH(15) / -128 /
  582. C DATA IMACH(16) / 127 /
  583. C
  584. C MACHINE CONSTANTS FOR THE HP 2100
  585. C 4 WORD DOUBLE PRECISION OPTION WITH FTN4
  586. C
  587. C DATA IMACH( 1) / 5 /
  588. C DATA IMACH( 2) / 6 /
  589. C DATA IMACH( 3) / 4 /
  590. C DATA IMACH( 4) / 1 /
  591. C DATA IMACH( 5) / 16 /
  592. C DATA IMACH( 6) / 2 /
  593. C DATA IMACH( 7) / 2 /
  594. C DATA IMACH( 8) / 15 /
  595. C DATA IMACH( 9) / 32767 /
  596. C DATA IMACH(10) / 2 /
  597. C DATA IMACH(11) / 23 /
  598. C DATA IMACH(12) / -128 /
  599. C DATA IMACH(13) / 127 /
  600. C DATA IMACH(14) / 55 /
  601. C DATA IMACH(15) / -128 /
  602. C DATA IMACH(16) / 127 /
  603. C
  604. C MACHINE CONSTANTS FOR THE HP 9000
  605. C
  606. C DATA IMACH( 1) / 5 /
  607. C DATA IMACH( 2) / 6 /
  608. C DATA IMACH( 3) / 6 /
  609. C DATA IMACH( 4) / 7 /
  610. C DATA IMACH( 5) / 32 /
  611. C DATA IMACH( 6) / 4 /
  612. C DATA IMACH( 7) / 2 /
  613. C DATA IMACH( 8) / 32 /
  614. C DATA IMACH( 9) / 2147483647 /
  615. C DATA IMACH(10) / 2 /
  616. C DATA IMACH(11) / 24 /
  617. C DATA IMACH(12) / -126 /
  618. C DATA IMACH(13) / 127 /
  619. C DATA IMACH(14) / 53 /
  620. C DATA IMACH(15) / -1015 /
  621. C DATA IMACH(16) / 1017 /
  622. C
  623. C MACHINE CONSTANTS FOR THE IBM 360/370 SERIES,
  624. C THE XEROX SIGMA 5/7/9, THE SEL SYSTEMS 85/86, AND
  625. C THE PERKIN ELMER (INTERDATA) 7/32.
  626. C
  627. C DATA IMACH( 1) / 5 /
  628. C DATA IMACH( 2) / 6 /
  629. C DATA IMACH( 3) / 7 /
  630. C DATA IMACH( 4) / 6 /
  631. C DATA IMACH( 5) / 32 /
  632. C DATA IMACH( 6) / 4 /
  633. C DATA IMACH( 7) / 2 /
  634. C DATA IMACH( 8) / 31 /
  635. C DATA IMACH( 9) / Z7FFFFFFF /
  636. C DATA IMACH(10) / 16 /
  637. C DATA IMACH(11) / 6 /
  638. C DATA IMACH(12) / -64 /
  639. C DATA IMACH(13) / 63 /
  640. C DATA IMACH(14) / 14 /
  641. C DATA IMACH(15) / -64 /
  642. C DATA IMACH(16) / 63 /
  643. C
  644. C MACHINE CONSTANTS FOR THE IBM PC
  645. C
  646. DATA IMACH( 1) / 5 /
  647. DATA IMACH( 2) / 6 /
  648. DATA IMACH( 3) / 0 /
  649. DATA IMACH( 4) / 0 /
  650. DATA IMACH( 5) / 32 /
  651. DATA IMACH( 6) / 4 /
  652. DATA IMACH( 7) / 2 /
  653. DATA IMACH( 8) / 31 /
  654. DATA IMACH( 9) / 2147483647 /
  655. DATA IMACH(10) / 2 /
  656. DATA IMACH(11) / 24 /
  657. DATA IMACH(12) / -125 /
  658. DATA IMACH(13) / 127 /
  659. DATA IMACH(14) / 53 /
  660. DATA IMACH(15) / -1021 /
  661. DATA IMACH(16) / 1023 /
  662. C
  663. C MACHINE CONSTANTS FOR THE IBM RS 6000
  664. C
  665. C DATA IMACH( 1) / 5 /
  666. C DATA IMACH( 2) / 6 /
  667. C DATA IMACH( 3) / 6 /
  668. C DATA IMACH( 4) / 0 /
  669. C DATA IMACH( 5) / 32 /
  670. C DATA IMACH( 6) / 4 /
  671. C DATA IMACH( 7) / 2 /
  672. C DATA IMACH( 8) / 31 /
  673. C DATA IMACH( 9) / 2147483647 /
  674. C DATA IMACH(10) / 2 /
  675. C DATA IMACH(11) / 24 /
  676. C DATA IMACH(12) / -125 /
  677. C DATA IMACH(13) / 128 /
  678. C DATA IMACH(14) / 53 /
  679. C DATA IMACH(15) / -1021 /
  680. C DATA IMACH(16) / 1024 /
  681. C
  682. C MACHINE CONSTANTS FOR THE INTEL i860
  683. C
  684. C DATA IMACH( 1) / 5 /
  685. C DATA IMACH( 2) / 6 /
  686. C DATA IMACH( 3) / 6 /
  687. C DATA IMACH( 4) / 6 /
  688. C DATA IMACH( 5) / 32 /
  689. C DATA IMACH( 6) / 4 /
  690. C DATA IMACH( 7) / 2 /
  691. C DATA IMACH( 8) / 31 /
  692. C DATA IMACH( 9) / 2147483647 /
  693. C DATA IMACH(10) / 2 /
  694. C DATA IMACH(11) / 24 /
  695. C DATA IMACH(12) / -125 /
  696. C DATA IMACH(13) / 128 /
  697. C DATA IMACH(14) / 53 /
  698. C DATA IMACH(15) / -1021 /
  699. C DATA IMACH(16) / 1024 /
  700. C
  701. C MACHINE CONSTANTS FOR THE PDP-10 (KA PROCESSOR)
  702. C
  703. C DATA IMACH( 1) / 5 /
  704. C DATA IMACH( 2) / 6 /
  705. C DATA IMACH( 3) / 5 /
  706. C DATA IMACH( 4) / 6 /
  707. C DATA IMACH( 5) / 36 /
  708. C DATA IMACH( 6) / 5 /
  709. C DATA IMACH( 7) / 2 /
  710. C DATA IMACH( 8) / 35 /
  711. C DATA IMACH( 9) / "377777777777 /
  712. C DATA IMACH(10) / 2 /
  713. C DATA IMACH(11) / 27 /
  714. C DATA IMACH(12) / -128 /
  715. C DATA IMACH(13) / 127 /
  716. C DATA IMACH(14) / 54 /
  717. C DATA IMACH(15) / -101 /
  718. C DATA IMACH(16) / 127 /
  719. C
  720. C MACHINE CONSTANTS FOR THE PDP-10 (KI PROCESSOR)
  721. C
  722. C DATA IMACH( 1) / 5 /
  723. C DATA IMACH( 2) / 6 /
  724. C DATA IMACH( 3) / 5 /
  725. C DATA IMACH( 4) / 6 /
  726. C DATA IMACH( 5) / 36 /
  727. C DATA IMACH( 6) / 5 /
  728. C DATA IMACH( 7) / 2 /
  729. C DATA IMACH( 8) / 35 /
  730. C DATA IMACH( 9) / "377777777777 /
  731. C DATA IMACH(10) / 2 /
  732. C DATA IMACH(11) / 27 /
  733. C DATA IMACH(12) / -128 /
  734. C DATA IMACH(13) / 127 /
  735. C DATA IMACH(14) / 62 /
  736. C DATA IMACH(15) / -128 /
  737. C DATA IMACH(16) / 127 /
  738. C
  739. C MACHINE CONSTANTS FOR PDP-11 FORTRAN SUPPORTING
  740. C 32-BIT INTEGER ARITHMETIC.
  741. C
  742. C DATA IMACH( 1) / 5 /
  743. C DATA IMACH( 2) / 6 /
  744. C DATA IMACH( 3) / 5 /
  745. C DATA IMACH( 4) / 6 /
  746. C DATA IMACH( 5) / 32 /
  747. C DATA IMACH( 6) / 4 /
  748. C DATA IMACH( 7) / 2 /
  749. C DATA IMACH( 8) / 31 /
  750. C DATA IMACH( 9) / 2147483647 /
  751. C DATA IMACH(10) / 2 /
  752. C DATA IMACH(11) / 24 /
  753. C DATA IMACH(12) / -127 /
  754. C DATA IMACH(13) / 127 /
  755. C DATA IMACH(14) / 56 /
  756. C DATA IMACH(15) / -127 /
  757. C DATA IMACH(16) / 127 /
  758. C
  759. C MACHINE CONSTANTS FOR PDP-11 FORTRAN SUPPORTING
  760. C 16-BIT INTEGER ARITHMETIC.
  761. C
  762. C DATA IMACH( 1) / 5 /
  763. C DATA IMACH( 2) / 6 /
  764. C DATA IMACH( 3) / 5 /
  765. C DATA IMACH( 4) / 6 /
  766. C DATA IMACH( 5) / 16 /
  767. C DATA IMACH( 6) / 2 /
  768. C DATA IMACH( 7) / 2 /
  769. C DATA IMACH( 8) / 15 /
  770. C DATA IMACH( 9) / 32767 /
  771. C DATA IMACH(10) / 2 /
  772. C DATA IMACH(11) / 24 /
  773. C DATA IMACH(12) / -127 /
  774. C DATA IMACH(13) / 127 /
  775. C DATA IMACH(14) / 56 /
  776. C DATA IMACH(15) / -127 /
  777. C DATA IMACH(16) / 127 /
  778. C
  779. C MACHINE CONSTANTS FOR THE SILICON GRAPHICS
  780. C
  781. C DATA IMACH( 1) / 5 /
  782. C DATA IMACH( 2) / 6 /
  783. C DATA IMACH( 3) / 6 /
  784. C DATA IMACH( 4) / 6 /
  785. C DATA IMACH( 5) / 32 /
  786. C DATA IMACH( 6) / 4 /
  787. C DATA IMACH( 7) / 2 /
  788. C DATA IMACH( 8) / 31 /
  789. C DATA IMACH( 9) / 2147483647 /
  790. C DATA IMACH(10) / 2 /
  791. C DATA IMACH(11) / 24 /
  792. C DATA IMACH(12) / -125 /
  793. C DATA IMACH(13) / 128 /
  794. C DATA IMACH(14) / 53 /
  795. C DATA IMACH(15) / -1021 /
  796. C DATA IMACH(16) / 1024 /
  797. C
  798. C MACHINE CONSTANTS FOR THE SUN
  799. C
  800. C DATA IMACH( 1) / 5 /
  801. C DATA IMACH( 2) / 6 /
  802. C DATA IMACH( 3) / 6 /
  803. C DATA IMACH( 4) / 6 /
  804. C DATA IMACH( 5) / 32 /
  805. C DATA IMACH( 6) / 4 /
  806. C DATA IMACH( 7) / 2 /
  807. C DATA IMACH( 8) / 31 /
  808. C DATA IMACH( 9) / 2147483647 /
  809. C DATA IMACH(10) / 2 /
  810. C DATA IMACH(11) / 24 /
  811. C DATA IMACH(12) / -125 /
  812. C DATA IMACH(13) / 128 /
  813. C DATA IMACH(14) / 53 /
  814. C DATA IMACH(15) / -1021 /
  815. C DATA IMACH(16) / 1024 /
  816. C
  817. C MACHINE CONSTANTS FOR THE SUN
  818. C USING THE -r8 COMPILER OPTION
  819. C
  820. C DATA IMACH( 1) / 5 /
  821. C DATA IMACH( 2) / 6 /
  822. C DATA IMACH( 3) / 6 /
  823. C DATA IMACH( 4) / 6 /
  824. C DATA IMACH( 5) / 32 /
  825. C DATA IMACH( 6) / 4 /
  826. C DATA IMACH( 7) / 2 /
  827. C DATA IMACH( 8) / 31 /
  828. C DATA IMACH( 9) / 2147483647 /
  829. C DATA IMACH(10) / 2 /
  830. C DATA IMACH(11) / 53 /
  831. C DATA IMACH(12) / -1021 /
  832. C DATA IMACH(13) / 1024 /
  833. C DATA IMACH(14) / 113 /
  834. C DATA IMACH(15) / -16381 /
  835. C DATA IMACH(16) / 16384 /
  836. C
  837. C MACHINE CONSTANTS FOR THE UNIVAC 1100 SERIES FTN COMPILER
  838. C
  839. C DATA IMACH( 1) / 5 /
  840. C DATA IMACH( 2) / 6 /
  841. C DATA IMACH( 3) / 1 /
  842. C DATA IMACH( 4) / 6 /
  843. C DATA IMACH( 5) / 36 /
  844. C DATA IMACH( 6) / 4 /
  845. C DATA IMACH( 7) / 2 /
  846. C DATA IMACH( 8) / 35 /
  847. C DATA IMACH( 9) / O377777777777 /
  848. C DATA IMACH(10) / 2 /
  849. C DATA IMACH(11) / 27 /
  850. C DATA IMACH(12) / -128 /
  851. C DATA IMACH(13) / 127 /
  852. C DATA IMACH(14) / 60 /
  853. C DATA IMACH(15) / -1024 /
  854. C DATA IMACH(16) / 1023 /
  855. C
  856. C MACHINE CONSTANTS FOR THE Z80 MICROPROCESSOR
  857. C
  858. C DATA IMACH( 1) / 1 /
  859. C DATA IMACH( 2) / 1 /
  860. C DATA IMACH( 3) / 0 /
  861. C DATA IMACH( 4) / 1 /
  862. C DATA IMACH( 5) / 16 /
  863. C DATA IMACH( 6) / 2 /
  864. C DATA IMACH( 7) / 2 /
  865. C DATA IMACH( 8) / 15 /
  866. C DATA IMACH( 9) / 32767 /
  867. C DATA IMACH(10) / 2 /
  868. C DATA IMACH(11) / 24 /
  869. C DATA IMACH(12) / -127 /
  870. C DATA IMACH(13) / 127 /
  871. C DATA IMACH(14) / 56 /
  872. C DATA IMACH(15) / -127 /
  873. C DATA IMACH(16) / 127 /
  874. C
  875. C***FIRST EXECUTABLE STATEMENT I1MACH
  876. IF (I .LT. 1 .OR. I .GT. 16) GO TO 10
  877. C
  878. I1MACH = IMACH(I)
  879. RETURN
  880. C
  881. 10 CONTINUE
  882. WRITE (UNIT = OUTPUT, FMT = 9000)
  883. 9000 FORMAT ('1ERROR 1 IN I1MACH - I OUT OF BOUNDS')
  884. C
  885. C CALL FDUMP
  886. C
  887. STOP
  888. END