mach.f 48 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391
  1. *DECK D1MACH
  2. DOUBLE PRECISION FUNCTION D1MACH (I)
  3. C***BEGIN PROLOGUE D1MACH
  4. C***PURPOSE Return floating point machine dependent constants.
  5. C***LIBRARY SLATEC
  6. C***CATEGORY R1
  7. C***TYPE DOUBLE PRECISION (R1MACH-S, D1MACH-D)
  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 D1MACH 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 D = D1MACH(I)
  19. C
  20. C where I=1,...,5. The (output) value of D 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 D1MACH( 1) = B**(EMIN-1), the smallest positive magnitude.
  25. C D1MACH( 2) = B**EMAX*(1 - B**(-T)), the largest magnitude.
  26. C D1MACH( 3) = B**(-T), the smallest relative spacing.
  27. C D1MACH( 4) = B**(1-T), the largest relative spacing.
  28. C D1MACH( 5) = LOG10(B)
  29. C
  30. C Assume double precision numbers are represented in the T-digit,
  31. C base-B form
  32. C
  33. C sign (B**E)*( (X(1)/B) + ... + (X(T)/B**T) )
  34. C
  35. C where 0 .LE. X(I) .LT. B for I=1,...,T, 0 .LT. X(1), and
  36. C EMIN .LE. E .LE. EMAX.
  37. C
  38. C The values of B, T, EMIN and EMAX are provided in I1MACH as
  39. C follows:
  40. C I1MACH(10) = B, the base.
  41. C I1MACH(14) = T, the number of base-B digits.
  42. C I1MACH(15) = EMIN, the smallest exponent E.
  43. C I1MACH(16) = EMAX, the largest exponent E.
  44. C
  45. C To alter this function for a particular environment, the desired
  46. C set of DATA statements should be activated by removing the C from
  47. C column 1. Also, the values of D1MACH(1) - D1MACH(4) should be
  48. C checked for consistency with the local operating system.
  49. C
  50. C***REFERENCES P. A. Fox, A. D. Hall and N. L. Schryer, Framework for
  51. C a portable library, ACM Transactions on Mathematical
  52. C Software 4, 2 (June 1978), pp. 177-188.
  53. C***ROUTINES CALLED XERMSG
  54. C***REVISION HISTORY (YYMMDD)
  55. C 750101 DATE WRITTEN
  56. C 890213 REVISION DATE from Version 3.2
  57. C 891214 Prologue converted to Version 4.0 format. (BAB)
  58. C 900315 CALLs to XERROR changed to CALLs to XERMSG. (THJ)
  59. C 900618 Added DEC RISC constants. (WRB)
  60. C 900723 Added IBM RS 6000 constants. (WRB)
  61. C 900911 Added SUN 386i constants. (WRB)
  62. C 910710 Added HP 730 constants. (SMR)
  63. C 911114 Added Convex IEEE constants. (WRB)
  64. C 920121 Added SUN -r8 compiler option constants. (WRB)
  65. C 920229 Added Touchstone Delta i860 constants. (WRB)
  66. C 920501 Reformatted the REFERENCES section. (WRB)
  67. C 920625 Added CONVEX -p8 and -pd8 compiler option constants.
  68. C (BKS, WRB)
  69. C 930201 Added DEC Alpha and SGI constants. (RWC and WRB)
  70. C***END PROLOGUE D1MACH
  71. C
  72. INTEGER SMALL(4)
  73. INTEGER LARGE(4)
  74. INTEGER RIGHT(4)
  75. INTEGER DIVER(4)
  76. INTEGER LOG10(4)
  77. C
  78. DOUBLE PRECISION DMACH(5)
  79. SAVE DMACH
  80. C
  81. EQUIVALENCE (DMACH(1),SMALL(1))
  82. EQUIVALENCE (DMACH(2),LARGE(1))
  83. EQUIVALENCE (DMACH(3),RIGHT(1))
  84. EQUIVALENCE (DMACH(4),DIVER(1))
  85. EQUIVALENCE (DMACH(5),LOG10(1))
  86. C
  87. C MACHINE CONSTANTS FOR THE AMIGA
  88. C ABSOFT FORTRAN COMPILER USING THE 68020/68881 COMPILER OPTION
  89. C
  90. C DATA SMALL(1), SMALL(2) / Z'00100000', Z'00000000' /
  91. C DATA LARGE(1), LARGE(2) / Z'7FEFFFFF', Z'FFFFFFFF' /
  92. C DATA RIGHT(1), RIGHT(2) / Z'3CA00000', Z'00000000' /
  93. C DATA DIVER(1), DIVER(2) / Z'3CB00000', Z'00000000' /
  94. C DATA LOG10(1), LOG10(2) / Z'3FD34413', Z'509F79FF' /
  95. C
  96. C MACHINE CONSTANTS FOR THE AMIGA
  97. C ABSOFT FORTRAN COMPILER USING SOFTWARE FLOATING POINT
  98. C
  99. C DATA SMALL(1), SMALL(2) / Z'00100000', Z'00000000' /
  100. C DATA LARGE(1), LARGE(2) / Z'7FDFFFFF', Z'FFFFFFFF' /
  101. C DATA RIGHT(1), RIGHT(2) / Z'3CA00000', Z'00000000' /
  102. C DATA DIVER(1), DIVER(2) / Z'3CB00000', Z'00000000' /
  103. C DATA LOG10(1), LOG10(2) / Z'3FD34413', Z'509F79FF' /
  104. C
  105. C MACHINE CONSTANTS FOR THE APOLLO
  106. C
  107. C DATA SMALL(1), SMALL(2) / 16#00100000, 16#00000000 /
  108. C DATA LARGE(1), LARGE(2) / 16#7FFFFFFF, 16#FFFFFFFF /
  109. C DATA RIGHT(1), RIGHT(2) / 16#3CA00000, 16#00000000 /
  110. C DATA DIVER(1), DIVER(2) / 16#3CB00000, 16#00000000 /
  111. C DATA LOG10(1), LOG10(2) / 16#3FD34413, 16#509F79FF /
  112. C
  113. C MACHINE CONSTANTS FOR THE BURROUGHS 1700 SYSTEM
  114. C
  115. C DATA SMALL(1) / ZC00800000 /
  116. C DATA SMALL(2) / Z000000000 /
  117. C DATA LARGE(1) / ZDFFFFFFFF /
  118. C DATA LARGE(2) / ZFFFFFFFFF /
  119. C DATA RIGHT(1) / ZCC5800000 /
  120. C DATA RIGHT(2) / Z000000000 /
  121. C DATA DIVER(1) / ZCC6800000 /
  122. C DATA DIVER(2) / Z000000000 /
  123. C DATA LOG10(1) / ZD00E730E7 /
  124. C DATA LOG10(2) / ZC77800DC0 /
  125. C
  126. C MACHINE CONSTANTS FOR THE BURROUGHS 5700 SYSTEM
  127. C
  128. C DATA SMALL(1) / O1771000000000000 /
  129. C DATA SMALL(2) / O0000000000000000 /
  130. C DATA LARGE(1) / O0777777777777777 /
  131. C DATA LARGE(2) / O0007777777777777 /
  132. C DATA RIGHT(1) / O1461000000000000 /
  133. C DATA RIGHT(2) / O0000000000000000 /
  134. C DATA DIVER(1) / O1451000000000000 /
  135. C DATA DIVER(2) / O0000000000000000 /
  136. C DATA LOG10(1) / O1157163034761674 /
  137. C DATA LOG10(2) / O0006677466732724 /
  138. C
  139. C MACHINE CONSTANTS FOR THE BURROUGHS 6700/7700 SYSTEMS
  140. C
  141. C DATA SMALL(1) / O1771000000000000 /
  142. C DATA SMALL(2) / O7770000000000000 /
  143. C DATA LARGE(1) / O0777777777777777 /
  144. C DATA LARGE(2) / O7777777777777777 /
  145. C DATA RIGHT(1) / O1461000000000000 /
  146. C DATA RIGHT(2) / O0000000000000000 /
  147. C DATA DIVER(1) / O1451000000000000 /
  148. C DATA DIVER(2) / O0000000000000000 /
  149. C DATA LOG10(1) / O1157163034761674 /
  150. C DATA LOG10(2) / O0006677466732724 /
  151. C
  152. C MACHINE CONSTANTS FOR THE CDC 170/180 SERIES USING NOS/VE
  153. C
  154. C DATA SMALL(1) / Z"3001800000000000" /
  155. C DATA SMALL(2) / Z"3001000000000000" /
  156. C DATA LARGE(1) / Z"4FFEFFFFFFFFFFFE" /
  157. C DATA LARGE(2) / Z"4FFE000000000000" /
  158. C DATA RIGHT(1) / Z"3FD2800000000000" /
  159. C DATA RIGHT(2) / Z"3FD2000000000000" /
  160. C DATA DIVER(1) / Z"3FD3800000000000" /
  161. C DATA DIVER(2) / Z"3FD3000000000000" /
  162. C DATA LOG10(1) / Z"3FFF9A209A84FBCF" /
  163. C DATA LOG10(2) / Z"3FFFF7988F8959AC" /
  164. C
  165. C MACHINE CONSTANTS FOR THE CDC 6000/7000 SERIES
  166. C
  167. C DATA SMALL(1) / 00564000000000000000B /
  168. C DATA SMALL(2) / 00000000000000000000B /
  169. C DATA LARGE(1) / 37757777777777777777B /
  170. C DATA LARGE(2) / 37157777777777777777B /
  171. C DATA RIGHT(1) / 15624000000000000000B /
  172. C DATA RIGHT(2) / 00000000000000000000B /
  173. C DATA DIVER(1) / 15634000000000000000B /
  174. C DATA DIVER(2) / 00000000000000000000B /
  175. C DATA LOG10(1) / 17164642023241175717B /
  176. C DATA LOG10(2) / 16367571421742254654B /
  177. C
  178. C MACHINE CONSTANTS FOR THE CELERITY C1260
  179. C
  180. C DATA SMALL(1), SMALL(2) / Z'00100000', Z'00000000' /
  181. C DATA LARGE(1), LARGE(2) / Z'7FEFFFFF', Z'FFFFFFFF' /
  182. C DATA RIGHT(1), RIGHT(2) / Z'3CA00000', Z'00000000' /
  183. C DATA DIVER(1), DIVER(2) / Z'3CB00000', Z'00000000' /
  184. C DATA LOG10(1), LOG10(2) / Z'3FD34413', Z'509F79FF' /
  185. C
  186. C MACHINE CONSTANTS FOR THE CONVEX
  187. C USING THE -fn OR -pd8 COMPILER OPTION
  188. C
  189. C DATA DMACH(1) / Z'0010000000000000' /
  190. C DATA DMACH(2) / Z'7FFFFFFFFFFFFFFF' /
  191. C DATA DMACH(3) / Z'3CC0000000000000' /
  192. C DATA DMACH(4) / Z'3CD0000000000000' /
  193. C DATA DMACH(5) / Z'3FF34413509F79FF' /
  194. C
  195. C MACHINE CONSTANTS FOR THE CONVEX
  196. C USING THE -fi COMPILER OPTION
  197. C
  198. C DATA DMACH(1) / Z'0010000000000000' /
  199. C DATA DMACH(2) / Z'7FEFFFFFFFFFFFFF' /
  200. C DATA DMACH(3) / Z'3CA0000000000000' /
  201. C DATA DMACH(4) / Z'3CB0000000000000' /
  202. C DATA DMACH(5) / Z'3FD34413509F79FF' /
  203. C
  204. C MACHINE CONSTANTS FOR THE CONVEX
  205. C USING THE -p8 COMPILER OPTION
  206. C
  207. C DATA DMACH(1) / Z'00010000000000000000000000000000' /
  208. C DATA DMACH(2) / Z'7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' /
  209. C DATA DMACH(3) / Z'3F900000000000000000000000000000' /
  210. C DATA DMACH(4) / Z'3F910000000000000000000000000000' /
  211. C DATA DMACH(5) / Z'3FFF34413509F79FEF311F12B35816F9' /
  212. C
  213. C MACHINE CONSTANTS FOR THE CRAY
  214. C
  215. C DATA SMALL(1) / 201354000000000000000B /
  216. C DATA SMALL(2) / 000000000000000000000B /
  217. C DATA LARGE(1) / 577767777777777777777B /
  218. C DATA LARGE(2) / 000007777777777777774B /
  219. C DATA RIGHT(1) / 376434000000000000000B /
  220. C DATA RIGHT(2) / 000000000000000000000B /
  221. C DATA DIVER(1) / 376444000000000000000B /
  222. C DATA DIVER(2) / 000000000000000000000B /
  223. C DATA LOG10(1) / 377774642023241175717B /
  224. C DATA LOG10(2) / 000007571421742254654B /
  225. C
  226. C MACHINE CONSTANTS FOR THE DATA GENERAL ECLIPSE S/200
  227. C NOTE - IT MAY BE APPROPRIATE TO INCLUDE THE FOLLOWING CARD -
  228. C STATIC DMACH(5)
  229. C
  230. C DATA SMALL / 20K, 3*0 /
  231. C DATA LARGE / 77777K, 3*177777K /
  232. C DATA RIGHT / 31420K, 3*0 /
  233. C DATA DIVER / 32020K, 3*0 /
  234. C DATA LOG10 / 40423K, 42023K, 50237K, 74776K /
  235. C
  236. C MACHINE CONSTANTS FOR THE DEC ALPHA
  237. C USING G_FLOAT
  238. C
  239. C DATA DMACH(1) / '0000000000000010'X /
  240. C DATA DMACH(2) / 'FFFFFFFFFFFF7FFF'X /
  241. C DATA DMACH(3) / '0000000000003CC0'X /
  242. C DATA DMACH(4) / '0000000000003CD0'X /
  243. C DATA DMACH(5) / '79FF509F44133FF3'X /
  244. C
  245. C MACHINE CONSTANTS FOR THE DEC ALPHA
  246. C USING IEEE_FORMAT
  247. C
  248. C DATA DMACH(1) / '0010000000000000'X /
  249. C DATA DMACH(2) / '7FEFFFFFFFFFFFFF'X /
  250. C DATA DMACH(3) / '3CA0000000000000'X /
  251. C DATA DMACH(4) / '3CB0000000000000'X /
  252. C DATA DMACH(5) / '3FD34413509F79FF'X /
  253. C
  254. C MACHINE CONSTANTS FOR THE DEC RISC
  255. C
  256. C DATA SMALL(1), SMALL(2) / Z'00000000', Z'00100000'/
  257. C DATA LARGE(1), LARGE(2) / Z'FFFFFFFF', Z'7FEFFFFF'/
  258. C DATA RIGHT(1), RIGHT(2) / Z'00000000', Z'3CA00000'/
  259. C DATA DIVER(1), DIVER(2) / Z'00000000', Z'3CB00000'/
  260. C DATA LOG10(1), LOG10(2) / Z'509F79FF', Z'3FD34413'/
  261. C
  262. C MACHINE CONSTANTS FOR THE DEC VAX
  263. C USING D_FLOATING
  264. C (EXPRESSED IN INTEGER AND HEXADECIMAL)
  265. C THE HEX FORMAT BELOW MAY NOT BE SUITABLE FOR UNIX SYSTEMS
  266. C THE INTEGER FORMAT SHOULD BE OK FOR UNIX SYSTEMS
  267. C
  268. C DATA SMALL(1), SMALL(2) / 128, 0 /
  269. C DATA LARGE(1), LARGE(2) / -32769, -1 /
  270. C DATA RIGHT(1), RIGHT(2) / 9344, 0 /
  271. C DATA DIVER(1), DIVER(2) / 9472, 0 /
  272. C DATA LOG10(1), LOG10(2) / 546979738, -805796613 /
  273. C
  274. C DATA SMALL(1), SMALL(2) / Z00000080, Z00000000 /
  275. C DATA LARGE(1), LARGE(2) / ZFFFF7FFF, ZFFFFFFFF /
  276. C DATA RIGHT(1), RIGHT(2) / Z00002480, Z00000000 /
  277. C DATA DIVER(1), DIVER(2) / Z00002500, Z00000000 /
  278. C DATA LOG10(1), LOG10(2) / Z209A3F9A, ZCFF884FB /
  279. C
  280. C MACHINE CONSTANTS FOR THE DEC VAX
  281. C USING G_FLOATING
  282. C (EXPRESSED IN INTEGER AND HEXADECIMAL)
  283. C THE HEX FORMAT BELOW MAY NOT BE SUITABLE FOR UNIX SYSTEMS
  284. C THE INTEGER FORMAT SHOULD BE OK FOR UNIX SYSTEMS
  285. C
  286. C DATA SMALL(1), SMALL(2) / 16, 0 /
  287. C DATA LARGE(1), LARGE(2) / -32769, -1 /
  288. C DATA RIGHT(1), RIGHT(2) / 15552, 0 /
  289. C DATA DIVER(1), DIVER(2) / 15568, 0 /
  290. C DATA LOG10(1), LOG10(2) / 1142112243, 2046775455 /
  291. C
  292. C DATA SMALL(1), SMALL(2) / Z00000010, Z00000000 /
  293. C DATA LARGE(1), LARGE(2) / ZFFFF7FFF, ZFFFFFFFF /
  294. C DATA RIGHT(1), RIGHT(2) / Z00003CC0, Z00000000 /
  295. C DATA DIVER(1), DIVER(2) / Z00003CD0, Z00000000 /
  296. C DATA LOG10(1), LOG10(2) / Z44133FF3, Z79FF509F /
  297. C
  298. C MACHINE CONSTANTS FOR THE ELXSI 6400
  299. C (ASSUMING REAL*8 IS THE DEFAULT DOUBLE PRECISION)
  300. C
  301. C DATA SMALL(1), SMALL(2) / '00100000'X,'00000000'X /
  302. C DATA LARGE(1), LARGE(2) / '7FEFFFFF'X,'FFFFFFFF'X /
  303. C DATA RIGHT(1), RIGHT(2) / '3CB00000'X,'00000000'X /
  304. C DATA DIVER(1), DIVER(2) / '3CC00000'X,'00000000'X /
  305. C DATA LOG10(1), LOG10(2) / '3FD34413'X,'509F79FF'X /
  306. C
  307. C MACHINE CONSTANTS FOR THE HARRIS 220
  308. C
  309. C DATA SMALL(1), SMALL(2) / '20000000, '00000201 /
  310. C DATA LARGE(1), LARGE(2) / '37777777, '37777577 /
  311. C DATA RIGHT(1), RIGHT(2) / '20000000, '00000333 /
  312. C DATA DIVER(1), DIVER(2) / '20000000, '00000334 /
  313. C DATA LOG10(1), LOG10(2) / '23210115, '10237777 /
  314. C
  315. C MACHINE CONSTANTS FOR THE HONEYWELL 600/6000 SERIES
  316. C
  317. C DATA SMALL(1), SMALL(2) / O402400000000, O000000000000 /
  318. C DATA LARGE(1), LARGE(2) / O376777777777, O777777777777 /
  319. C DATA RIGHT(1), RIGHT(2) / O604400000000, O000000000000 /
  320. C DATA DIVER(1), DIVER(2) / O606400000000, O000000000000 /
  321. C DATA LOG10(1), LOG10(2) / O776464202324, O117571775714 /
  322. C
  323. C MACHINE CONSTANTS FOR THE HP 730
  324. C
  325. C DATA DMACH(1) / Z'0010000000000000' /
  326. C DATA DMACH(2) / Z'7FEFFFFFFFFFFFFF' /
  327. C DATA DMACH(3) / Z'3CA0000000000000' /
  328. C DATA DMACH(4) / Z'3CB0000000000000' /
  329. C DATA DMACH(5) / Z'3FD34413509F79FF' /
  330. C
  331. C MACHINE CONSTANTS FOR THE HP 2100
  332. C THREE WORD DOUBLE PRECISION OPTION WITH FTN4
  333. C
  334. C DATA SMALL(1), SMALL(2), SMALL(3) / 40000B, 0, 1 /
  335. C DATA LARGE(1), LARGE(2), LARGE(3) / 77777B, 177777B, 177776B /
  336. C DATA RIGHT(1), RIGHT(2), RIGHT(3) / 40000B, 0, 265B /
  337. C DATA DIVER(1), DIVER(2), DIVER(3) / 40000B, 0, 276B /
  338. C DATA LOG10(1), LOG10(2), LOG10(3) / 46420B, 46502B, 77777B /
  339. C
  340. C MACHINE CONSTANTS FOR THE HP 2100
  341. C FOUR WORD DOUBLE PRECISION OPTION WITH FTN4
  342. C
  343. C DATA SMALL(1), SMALL(2) / 40000B, 0 /
  344. C DATA SMALL(3), SMALL(4) / 0, 1 /
  345. C DATA LARGE(1), LARGE(2) / 77777B, 177777B /
  346. C DATA LARGE(3), LARGE(4) / 177777B, 177776B /
  347. C DATA RIGHT(1), RIGHT(2) / 40000B, 0 /
  348. C DATA RIGHT(3), RIGHT(4) / 0, 225B /
  349. C DATA DIVER(1), DIVER(2) / 40000B, 0 /
  350. C DATA DIVER(3), DIVER(4) / 0, 227B /
  351. C DATA LOG10(1), LOG10(2) / 46420B, 46502B /
  352. C DATA LOG10(3), LOG10(4) / 76747B, 176377B /
  353. C
  354. C MACHINE CONSTANTS FOR THE HP 9000
  355. C
  356. C DATA SMALL(1), SMALL(2) / 00040000000B, 00000000000B /
  357. C DATA LARGE(1), LARGE(2) / 17737777777B, 37777777777B /
  358. C DATA RIGHT(1), RIGHT(2) / 07454000000B, 00000000000B /
  359. C DATA DIVER(1), DIVER(2) / 07460000000B, 00000000000B /
  360. C DATA LOG10(1), LOG10(2) / 07764642023B, 12047674777B /
  361. C
  362. C MACHINE CONSTANTS FOR THE IBM 360/370 SERIES,
  363. C THE XEROX SIGMA 5/7/9, THE SEL SYSTEMS 85/86, AND
  364. C THE PERKIN ELMER (INTERDATA) 7/32.
  365. C
  366. C DATA SMALL(1), SMALL(2) / Z00100000, Z00000000 /
  367. C DATA LARGE(1), LARGE(2) / Z7FFFFFFF, ZFFFFFFFF /
  368. C DATA RIGHT(1), RIGHT(2) / Z33100000, Z00000000 /
  369. C DATA DIVER(1), DIVER(2) / Z34100000, Z00000000 /
  370. C DATA LOG10(1), LOG10(2) / Z41134413, Z509F79FF /
  371. C
  372. C MACHINE CONSTANTS FOR THE IBM PC
  373. C ASSUMES THAT ALL ARITHMETIC IS DONE IN DOUBLE PRECISION
  374. C ON 8088, I.E., NOT IN 80 BIT FORM FOR THE 8087.
  375. C
  376. C DATA SMALL(1) / 2.23D-308 /
  377. C DATA LARGE(1) / 1.79D+308 /
  378. C DATA RIGHT(1) / 1.11D-16 /
  379. C DATA DIVER(1) / 2.22D-16 /
  380. C DATA LOG10(1) / 0.301029995663981195D0 /
  381. C
  382. C MACHINE CONSTANTS FOR THE IBM RS 6000
  383. C
  384. C DATA DMACH(1) / Z'0010000000000000' /
  385. C DATA DMACH(2) / Z'7FEFFFFFFFFFFFFF' /
  386. C DATA DMACH(3) / Z'3CA0000000000000' /
  387. C DATA DMACH(4) / Z'3CB0000000000000' /
  388. C DATA DMACH(5) / Z'3FD34413509F79FF' /
  389. C
  390. C MACHINE CONSTANTS FOR THE INTEL i860
  391. C
  392. C DATA DMACH(1) / Z'0010000000000000' /
  393. C DATA DMACH(2) / Z'7FEFFFFFFFFFFFFF' /
  394. C DATA DMACH(3) / Z'3CA0000000000000' /
  395. C DATA DMACH(4) / Z'3CB0000000000000' /
  396. C DATA DMACH(5) / Z'3FD34413509F79FF' /
  397. C
  398. C MACHINE CONSTANTS FOR THE PDP-10 (KA PROCESSOR)
  399. C
  400. C DATA SMALL(1), SMALL(2) / "033400000000, "000000000000 /
  401. C DATA LARGE(1), LARGE(2) / "377777777777, "344777777777 /
  402. C DATA RIGHT(1), RIGHT(2) / "113400000000, "000000000000 /
  403. C DATA DIVER(1), DIVER(2) / "114400000000, "000000000000 /
  404. C DATA LOG10(1), LOG10(2) / "177464202324, "144117571776 /
  405. C
  406. C MACHINE CONSTANTS FOR THE PDP-10 (KI PROCESSOR)
  407. C
  408. C DATA SMALL(1), SMALL(2) / "000400000000, "000000000000 /
  409. C DATA LARGE(1), LARGE(2) / "377777777777, "377777777777 /
  410. C DATA RIGHT(1), RIGHT(2) / "103400000000, "000000000000 /
  411. C DATA DIVER(1), DIVER(2) / "104400000000, "000000000000 /
  412. C DATA LOG10(1), LOG10(2) / "177464202324, "476747767461 /
  413. C
  414. C MACHINE CONSTANTS FOR PDP-11 FORTRAN SUPPORTING
  415. C 32-BIT INTEGERS (EXPRESSED IN INTEGER AND OCTAL).
  416. C
  417. C DATA SMALL(1), SMALL(2) / 8388608, 0 /
  418. C DATA LARGE(1), LARGE(2) / 2147483647, -1 /
  419. C DATA RIGHT(1), RIGHT(2) / 612368384, 0 /
  420. C DATA DIVER(1), DIVER(2) / 620756992, 0 /
  421. C DATA LOG10(1), LOG10(2) / 1067065498, -2063872008 /
  422. C
  423. C DATA SMALL(1), SMALL(2) / O00040000000, O00000000000 /
  424. C DATA LARGE(1), LARGE(2) / O17777777777, O37777777777 /
  425. C DATA RIGHT(1), RIGHT(2) / O04440000000, O00000000000 /
  426. C DATA DIVER(1), DIVER(2) / O04500000000, O00000000000 /
  427. C DATA LOG10(1), LOG10(2) / O07746420232, O20476747770 /
  428. C
  429. C MACHINE CONSTANTS FOR PDP-11 FORTRAN SUPPORTING
  430. C 16-BIT INTEGERS (EXPRESSED IN INTEGER AND OCTAL).
  431. C
  432. C DATA SMALL(1), SMALL(2) / 128, 0 /
  433. C DATA SMALL(3), SMALL(4) / 0, 0 /
  434. C DATA LARGE(1), LARGE(2) / 32767, -1 /
  435. C DATA LARGE(3), LARGE(4) / -1, -1 /
  436. C DATA RIGHT(1), RIGHT(2) / 9344, 0 /
  437. C DATA RIGHT(3), RIGHT(4) / 0, 0 /
  438. C DATA DIVER(1), DIVER(2) / 9472, 0 /
  439. C DATA DIVER(3), DIVER(4) / 0, 0 /
  440. C DATA LOG10(1), LOG10(2) / 16282, 8346 /
  441. C DATA LOG10(3), LOG10(4) / -31493, -12296 /
  442. C
  443. C DATA SMALL(1), SMALL(2) / O000200, O000000 /
  444. C DATA SMALL(3), SMALL(4) / O000000, O000000 /
  445. C DATA LARGE(1), LARGE(2) / O077777, O177777 /
  446. C DATA LARGE(3), LARGE(4) / O177777, O177777 /
  447. C DATA RIGHT(1), RIGHT(2) / O022200, O000000 /
  448. C DATA RIGHT(3), RIGHT(4) / O000000, O000000 /
  449. C DATA DIVER(1), DIVER(2) / O022400, O000000 /
  450. C DATA DIVER(3), DIVER(4) / O000000, O000000 /
  451. C DATA LOG10(1), LOG10(2) / O037632, O020232 /
  452. C DATA LOG10(3), LOG10(4) / O102373, O147770 /
  453. C
  454. C MACHINE CONSTANTS FOR THE SILICON GRAPHICS
  455. C
  456. C DATA SMALL(1), SMALL(2) / Z'00100000', Z'00000000' /
  457. C DATA LARGE(1), LARGE(2) / Z'7FEFFFFF', Z'FFFFFFFF' /
  458. C DATA RIGHT(1), RIGHT(2) / Z'3CA00000', Z'00000000' /
  459. C DATA DIVER(1), DIVER(2) / Z'3CB00000', Z'00000000' /
  460. C DATA LOG10(1), LOG10(2) / Z'3FD34413', Z'509F79FF' /
  461. C
  462. C MACHINE CONSTANTS FOR THE SUN
  463. C
  464. C DATA DMACH(1) / Z'0010000000000000' /
  465. C DATA DMACH(2) / Z'7FEFFFFFFFFFFFFF' /
  466. C DATA DMACH(3) / Z'3CA0000000000000' /
  467. C DATA DMACH(4) / Z'3CB0000000000000' /
  468. C DATA DMACH(5) / Z'3FD34413509F79FF' /
  469. C
  470. C MACHINE CONSTANTS FOR THE SUN
  471. C USING THE -r8 COMPILER OPTION
  472. C
  473. C DATA DMACH(1) / Z'00010000000000000000000000000000' /
  474. C DATA DMACH(2) / Z'7FFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF' /
  475. C DATA DMACH(3) / Z'3F8E0000000000000000000000000000' /
  476. C DATA DMACH(4) / Z'3F8F0000000000000000000000000000' /
  477. C DATA DMACH(5) / Z'3FFD34413509F79FEF311F12B35816F9' /
  478. C
  479. C MACHINE CONSTANTS FOR THE SUN 386i
  480. C
  481. C DATA SMALL(1), SMALL(2) / Z'FFFFFFFD', Z'000FFFFF' /
  482. C DATA LARGE(1), LARGE(2) / Z'FFFFFFB0', Z'7FEFFFFF' /
  483. C DATA RIGHT(1), RIGHT(2) / Z'000000B0', Z'3CA00000' /
  484. C DATA DIVER(1), DIVER(2) / Z'FFFFFFCB', Z'3CAFFFFF'
  485. C DATA LOG10(1), LOG10(2) / Z'509F79E9', Z'3FD34413' /
  486. C
  487. C MACHINE CONSTANTS FOR THE UNIVAC 1100 SERIES FTN COMPILER
  488. C
  489. C DATA SMALL(1), SMALL(2) / O000040000000, O000000000000 /
  490. C DATA LARGE(1), LARGE(2) / O377777777777, O777777777777 /
  491. C DATA RIGHT(1), RIGHT(2) / O170540000000, O000000000000 /
  492. C DATA DIVER(1), DIVER(2) / O170640000000, O000000000000 /
  493. C DATA LOG10(1), LOG10(2) / O177746420232, O411757177572 /
  494. C
  495. C***FIRST EXECUTABLE STATEMENT D1MACH
  496. IF (I .LT. 1 .OR. I .GT. 5) CALL XERMSG ('SLATEC', 'D1MACH',
  497. + 'I OUT OF BOUNDS', 1, 2)
  498. C
  499. D1MACH = DMACH(I)
  500. RETURN
  501. C
  502. END
  503. *DECK I1MACH
  504. INTEGER FUNCTION I1MACH (I)
  505. C***BEGIN PROLOGUE I1MACH
  506. C***PURPOSE Return integer machine dependent constants.
  507. C***LIBRARY SLATEC
  508. C***CATEGORY R1
  509. C***TYPE INTEGER (I1MACH-I)
  510. C***KEYWORDS MACHINE CONSTANTS
  511. C***AUTHOR Fox, P. A., (Bell Labs)
  512. C Hall, A. D., (Bell Labs)
  513. C Schryer, N. L., (Bell Labs)
  514. C***DESCRIPTION
  515. C
  516. C I1MACH can be used to obtain machine-dependent parameters for the
  517. C local machine environment. It is a function subprogram with one
  518. C (input) argument and can be referenced as follows:
  519. C
  520. C K = I1MACH(I)
  521. C
  522. C where I=1,...,16. The (output) value of K above is determined by
  523. C the (input) value of I. The results for various values of I are
  524. C discussed below.
  525. C
  526. C I/O unit numbers:
  527. C I1MACH( 1) = the standard input unit.
  528. C I1MACH( 2) = the standard output unit.
  529. C I1MACH( 3) = the standard punch unit.
  530. C I1MACH( 4) = the standard error message unit.
  531. C
  532. C Words:
  533. C I1MACH( 5) = the number of bits per integer storage unit.
  534. C I1MACH( 6) = the number of characters per integer storage unit.
  535. C
  536. C Integers:
  537. C assume integers are represented in the S-digit, base-A form
  538. C
  539. C sign ( X(S-1)*A**(S-1) + ... + X(1)*A + X(0) )
  540. C
  541. C where 0 .LE. X(I) .LT. A for I=0,...,S-1.
  542. C I1MACH( 7) = A, the base.
  543. C I1MACH( 8) = S, the number of base-A digits.
  544. C I1MACH( 9) = A**S - 1, the largest magnitude.
  545. C
  546. C Floating-Point Numbers:
  547. C Assume floating-point numbers are represented in the T-digit,
  548. C base-B form
  549. C sign (B**E)*( (X(1)/B) + ... + (X(T)/B**T) )
  550. C
  551. C where 0 .LE. X(I) .LT. B for I=1,...,T,
  552. C 0 .LT. X(1), and EMIN .LE. E .LE. EMAX.
  553. C I1MACH(10) = B, the base.
  554. C
  555. C Single-Precision:
  556. C I1MACH(11) = T, the number of base-B digits.
  557. C I1MACH(12) = EMIN, the smallest exponent E.
  558. C I1MACH(13) = EMAX, the largest exponent E.
  559. C
  560. C Double-Precision:
  561. C I1MACH(14) = T, the number of base-B digits.
  562. C I1MACH(15) = EMIN, the smallest exponent E.
  563. C I1MACH(16) = EMAX, the largest exponent E.
  564. C
  565. C To alter this function for a particular environment, the desired
  566. C set of DATA statements should be activated by removing the C from
  567. C column 1. Also, the values of I1MACH(1) - I1MACH(4) should be
  568. C checked for consistency with the local operating system.
  569. C
  570. C***REFERENCES P. A. Fox, A. D. Hall and N. L. Schryer, Framework for
  571. C a portable library, ACM Transactions on Mathematical
  572. C Software 4, 2 (June 1978), pp. 177-188.
  573. C***ROUTINES CALLED (NONE)
  574. C***REVISION HISTORY (YYMMDD)
  575. C 750101 DATE WRITTEN
  576. C 891012 Added VAX G-floating constants. (WRB)
  577. C 891012 REVISION DATE from Version 3.2
  578. C 891214 Prologue converted to Version 4.0 format. (BAB)
  579. C 900618 Added DEC RISC constants. (WRB)
  580. C 900723 Added IBM RS 6000 constants. (WRB)
  581. C 901009 Correct I1MACH(7) for IBM Mainframes. Should be 2 not 16.
  582. C (RWC)
  583. C 910710 Added HP 730 constants. (SMR)
  584. C 911114 Added Convex IEEE constants. (WRB)
  585. C 920121 Added SUN -r8 compiler option constants. (WRB)
  586. C 920229 Added Touchstone Delta i860 constants. (WRB)
  587. C 920501 Reformatted the REFERENCES section. (WRB)
  588. C 920625 Added Convex -p8 and -pd8 compiler option constants.
  589. C (BKS, WRB)
  590. C 930201 Added DEC Alpha and SGI constants. (RWC and WRB)
  591. C 930618 Corrected I1MACH(5) for Convex -p8 and -pd8 compiler
  592. C options. (DWL, RWC and WRB).
  593. C***END PROLOGUE I1MACH
  594. C
  595. INTEGER IMACH(16),OUTPUT
  596. SAVE IMACH
  597. EQUIVALENCE (IMACH(4),OUTPUT)
  598. C
  599. C MACHINE CONSTANTS FOR THE AMIGA
  600. C ABSOFT COMPILER
  601. C
  602. C DATA IMACH( 1) / 5 /
  603. C DATA IMACH( 2) / 6 /
  604. C DATA IMACH( 3) / 5 /
  605. C DATA IMACH( 4) / 6 /
  606. C DATA IMACH( 5) / 32 /
  607. C DATA IMACH( 6) / 4 /
  608. C DATA IMACH( 7) / 2 /
  609. C DATA IMACH( 8) / 31 /
  610. C DATA IMACH( 9) / 2147483647 /
  611. C DATA IMACH(10) / 2 /
  612. C DATA IMACH(11) / 24 /
  613. C DATA IMACH(12) / -126 /
  614. C DATA IMACH(13) / 127 /
  615. C DATA IMACH(14) / 53 /
  616. C DATA IMACH(15) / -1022 /
  617. C DATA IMACH(16) / 1023 /
  618. C
  619. C MACHINE CONSTANTS FOR THE APOLLO
  620. C
  621. C DATA IMACH( 1) / 5 /
  622. C DATA IMACH( 2) / 6 /
  623. C DATA IMACH( 3) / 6 /
  624. C DATA IMACH( 4) / 6 /
  625. C DATA IMACH( 5) / 32 /
  626. C DATA IMACH( 6) / 4 /
  627. C DATA IMACH( 7) / 2 /
  628. C DATA IMACH( 8) / 31 /
  629. C DATA IMACH( 9) / 2147483647 /
  630. C DATA IMACH(10) / 2 /
  631. C DATA IMACH(11) / 24 /
  632. C DATA IMACH(12) / -125 /
  633. C DATA IMACH(13) / 129 /
  634. C DATA IMACH(14) / 53 /
  635. C DATA IMACH(15) / -1021 /
  636. C DATA IMACH(16) / 1025 /
  637. C
  638. C MACHINE CONSTANTS FOR THE BURROUGHS 1700 SYSTEM
  639. C
  640. C DATA IMACH( 1) / 7 /
  641. C DATA IMACH( 2) / 2 /
  642. C DATA IMACH( 3) / 2 /
  643. C DATA IMACH( 4) / 2 /
  644. C DATA IMACH( 5) / 36 /
  645. C DATA IMACH( 6) / 4 /
  646. C DATA IMACH( 7) / 2 /
  647. C DATA IMACH( 8) / 33 /
  648. C DATA IMACH( 9) / Z1FFFFFFFF /
  649. C DATA IMACH(10) / 2 /
  650. C DATA IMACH(11) / 24 /
  651. C DATA IMACH(12) / -256 /
  652. C DATA IMACH(13) / 255 /
  653. C DATA IMACH(14) / 60 /
  654. C DATA IMACH(15) / -256 /
  655. C DATA IMACH(16) / 255 /
  656. C
  657. C MACHINE CONSTANTS FOR THE BURROUGHS 5700 SYSTEM
  658. C
  659. C DATA IMACH( 1) / 5 /
  660. C DATA IMACH( 2) / 6 /
  661. C DATA IMACH( 3) / 7 /
  662. C DATA IMACH( 4) / 6 /
  663. C DATA IMACH( 5) / 48 /
  664. C DATA IMACH( 6) / 6 /
  665. C DATA IMACH( 7) / 2 /
  666. C DATA IMACH( 8) / 39 /
  667. C DATA IMACH( 9) / O0007777777777777 /
  668. C DATA IMACH(10) / 8 /
  669. C DATA IMACH(11) / 13 /
  670. C DATA IMACH(12) / -50 /
  671. C DATA IMACH(13) / 76 /
  672. C DATA IMACH(14) / 26 /
  673. C DATA IMACH(15) / -50 /
  674. C DATA IMACH(16) / 76 /
  675. C
  676. C MACHINE CONSTANTS FOR THE BURROUGHS 6700/7700 SYSTEMS
  677. C
  678. C DATA IMACH( 1) / 5 /
  679. C DATA IMACH( 2) / 6 /
  680. C DATA IMACH( 3) / 7 /
  681. C DATA IMACH( 4) / 6 /
  682. C DATA IMACH( 5) / 48 /
  683. C DATA IMACH( 6) / 6 /
  684. C DATA IMACH( 7) / 2 /
  685. C DATA IMACH( 8) / 39 /
  686. C DATA IMACH( 9) / O0007777777777777 /
  687. C DATA IMACH(10) / 8 /
  688. C DATA IMACH(11) / 13 /
  689. C DATA IMACH(12) / -50 /
  690. C DATA IMACH(13) / 76 /
  691. C DATA IMACH(14) / 26 /
  692. C DATA IMACH(15) / -32754 /
  693. C DATA IMACH(16) / 32780 /
  694. C
  695. C MACHINE CONSTANTS FOR THE CDC 170/180 SERIES USING NOS/VE
  696. C
  697. C DATA IMACH( 1) / 5 /
  698. C DATA IMACH( 2) / 6 /
  699. C DATA IMACH( 3) / 7 /
  700. C DATA IMACH( 4) / 6 /
  701. C DATA IMACH( 5) / 64 /
  702. C DATA IMACH( 6) / 8 /
  703. C DATA IMACH( 7) / 2 /
  704. C DATA IMACH( 8) / 63 /
  705. C DATA IMACH( 9) / 9223372036854775807 /
  706. C DATA IMACH(10) / 2 /
  707. C DATA IMACH(11) / 47 /
  708. C DATA IMACH(12) / -4095 /
  709. C DATA IMACH(13) / 4094 /
  710. C DATA IMACH(14) / 94 /
  711. C DATA IMACH(15) / -4095 /
  712. C DATA IMACH(16) / 4094 /
  713. C
  714. C MACHINE CONSTANTS FOR THE CDC 6000/7000 SERIES
  715. C
  716. C DATA IMACH( 1) / 5 /
  717. C DATA IMACH( 2) / 6 /
  718. C DATA IMACH( 3) / 7 /
  719. C DATA IMACH( 4) / 6LOUTPUT/
  720. C DATA IMACH( 5) / 60 /
  721. C DATA IMACH( 6) / 10 /
  722. C DATA IMACH( 7) / 2 /
  723. C DATA IMACH( 8) / 48 /
  724. C DATA IMACH( 9) / 00007777777777777777B /
  725. C DATA IMACH(10) / 2 /
  726. C DATA IMACH(11) / 47 /
  727. C DATA IMACH(12) / -929 /
  728. C DATA IMACH(13) / 1070 /
  729. C DATA IMACH(14) / 94 /
  730. C DATA IMACH(15) / -929 /
  731. C DATA IMACH(16) / 1069 /
  732. C
  733. C MACHINE CONSTANTS FOR THE CELERITY C1260
  734. C
  735. C DATA IMACH( 1) / 5 /
  736. C DATA IMACH( 2) / 6 /
  737. C DATA IMACH( 3) / 6 /
  738. C DATA IMACH( 4) / 0 /
  739. C DATA IMACH( 5) / 32 /
  740. C DATA IMACH( 6) / 4 /
  741. C DATA IMACH( 7) / 2 /
  742. C DATA IMACH( 8) / 31 /
  743. C DATA IMACH( 9) / Z'7FFFFFFF' /
  744. C DATA IMACH(10) / 2 /
  745. C DATA IMACH(11) / 24 /
  746. C DATA IMACH(12) / -126 /
  747. C DATA IMACH(13) / 127 /
  748. C DATA IMACH(14) / 53 /
  749. C DATA IMACH(15) / -1022 /
  750. C DATA IMACH(16) / 1023 /
  751. C
  752. C MACHINE CONSTANTS FOR THE CONVEX
  753. C USING THE -fn COMPILER OPTION
  754. C
  755. C DATA IMACH( 1) / 5 /
  756. C DATA IMACH( 2) / 6 /
  757. C DATA IMACH( 3) / 7 /
  758. C DATA IMACH( 4) / 6 /
  759. C DATA IMACH( 5) / 32 /
  760. C DATA IMACH( 6) / 4 /
  761. C DATA IMACH( 7) / 2 /
  762. C DATA IMACH( 8) / 31 /
  763. C DATA IMACH( 9) / 2147483647 /
  764. C DATA IMACH(10) / 2 /
  765. C DATA IMACH(11) / 24 /
  766. C DATA IMACH(12) / -127 /
  767. C DATA IMACH(13) / 127 /
  768. C DATA IMACH(14) / 53 /
  769. C DATA IMACH(15) / -1023 /
  770. C DATA IMACH(16) / 1023 /
  771. C
  772. C MACHINE CONSTANTS FOR THE CONVEX
  773. C USING THE -fi COMPILER OPTION
  774. C
  775. C DATA IMACH( 1) / 5 /
  776. C DATA IMACH( 2) / 6 /
  777. C DATA IMACH( 3) / 7 /
  778. C DATA IMACH( 4) / 6 /
  779. C DATA IMACH( 5) / 32 /
  780. C DATA IMACH( 6) / 4 /
  781. C DATA IMACH( 7) / 2 /
  782. C DATA IMACH( 8) / 31 /
  783. C DATA IMACH( 9) / 2147483647 /
  784. C DATA IMACH(10) / 2 /
  785. C DATA IMACH(11) / 24 /
  786. C DATA IMACH(12) / -125 /
  787. C DATA IMACH(13) / 128 /
  788. C DATA IMACH(14) / 53 /
  789. C DATA IMACH(15) / -1021 /
  790. C DATA IMACH(16) / 1024 /
  791. C
  792. C MACHINE CONSTANTS FOR THE CONVEX
  793. C USING THE -p8 COMPILER OPTION
  794. C
  795. C DATA IMACH( 1) / 5 /
  796. C DATA IMACH( 2) / 6 /
  797. C DATA IMACH( 3) / 7 /
  798. C DATA IMACH( 4) / 6 /
  799. C DATA IMACH( 5) / 64 /
  800. C DATA IMACH( 6) / 4 /
  801. C DATA IMACH( 7) / 2 /
  802. C DATA IMACH( 8) / 63 /
  803. C DATA IMACH( 9) / 9223372036854775807 /
  804. C DATA IMACH(10) / 2 /
  805. C DATA IMACH(11) / 53 /
  806. C DATA IMACH(12) / -1023 /
  807. C DATA IMACH(13) / 1023 /
  808. C DATA IMACH(14) / 113 /
  809. C DATA IMACH(15) / -16383 /
  810. C DATA IMACH(16) / 16383 /
  811. C
  812. C MACHINE CONSTANTS FOR THE CONVEX
  813. C USING THE -pd8 COMPILER OPTION
  814. C
  815. C DATA IMACH( 1) / 5 /
  816. C DATA IMACH( 2) / 6 /
  817. C DATA IMACH( 3) / 7 /
  818. C DATA IMACH( 4) / 6 /
  819. C DATA IMACH( 5) / 64 /
  820. C DATA IMACH( 6) / 4 /
  821. C DATA IMACH( 7) / 2 /
  822. C DATA IMACH( 8) / 63 /
  823. C DATA IMACH( 9) / 9223372036854775807 /
  824. C DATA IMACH(10) / 2 /
  825. C DATA IMACH(11) / 53 /
  826. C DATA IMACH(12) / -1023 /
  827. C DATA IMACH(13) / 1023 /
  828. C DATA IMACH(14) / 53 /
  829. C DATA IMACH(15) / -1023 /
  830. C DATA IMACH(16) / 1023 /
  831. C
  832. C MACHINE CONSTANTS FOR THE CRAY
  833. C USING THE 46 BIT INTEGER COMPILER OPTION
  834. C
  835. C DATA IMACH( 1) / 100 /
  836. C DATA IMACH( 2) / 101 /
  837. C DATA IMACH( 3) / 102 /
  838. C DATA IMACH( 4) / 101 /
  839. C DATA IMACH( 5) / 64 /
  840. C DATA IMACH( 6) / 8 /
  841. C DATA IMACH( 7) / 2 /
  842. C DATA IMACH( 8) / 46 /
  843. C DATA IMACH( 9) / 1777777777777777B /
  844. C DATA IMACH(10) / 2 /
  845. C DATA IMACH(11) / 47 /
  846. C DATA IMACH(12) / -8189 /
  847. C DATA IMACH(13) / 8190 /
  848. C DATA IMACH(14) / 94 /
  849. C DATA IMACH(15) / -8099 /
  850. C DATA IMACH(16) / 8190 /
  851. C
  852. C MACHINE CONSTANTS FOR THE CRAY
  853. C USING THE 64 BIT INTEGER COMPILER OPTION
  854. C
  855. C DATA IMACH( 1) / 100 /
  856. C DATA IMACH( 2) / 101 /
  857. C DATA IMACH( 3) / 102 /
  858. C DATA IMACH( 4) / 101 /
  859. C DATA IMACH( 5) / 64 /
  860. C DATA IMACH( 6) / 8 /
  861. C DATA IMACH( 7) / 2 /
  862. C DATA IMACH( 8) / 63 /
  863. C DATA IMACH( 9) / 777777777777777777777B /
  864. C DATA IMACH(10) / 2 /
  865. C DATA IMACH(11) / 47 /
  866. C DATA IMACH(12) / -8189 /
  867. C DATA IMACH(13) / 8190 /
  868. C DATA IMACH(14) / 94 /
  869. C DATA IMACH(15) / -8099 /
  870. C DATA IMACH(16) / 8190 /
  871. C
  872. C MACHINE CONSTANTS FOR THE DATA GENERAL ECLIPSE S/200
  873. C
  874. C DATA IMACH( 1) / 11 /
  875. C DATA IMACH( 2) / 12 /
  876. C DATA IMACH( 3) / 8 /
  877. C DATA IMACH( 4) / 10 /
  878. C DATA IMACH( 5) / 16 /
  879. C DATA IMACH( 6) / 2 /
  880. C DATA IMACH( 7) / 2 /
  881. C DATA IMACH( 8) / 15 /
  882. C DATA IMACH( 9) / 32767 /
  883. C DATA IMACH(10) / 16 /
  884. C DATA IMACH(11) / 6 /
  885. C DATA IMACH(12) / -64 /
  886. C DATA IMACH(13) / 63 /
  887. C DATA IMACH(14) / 14 /
  888. C DATA IMACH(15) / -64 /
  889. C DATA IMACH(16) / 63 /
  890. C
  891. C MACHINE CONSTANTS FOR THE DEC ALPHA
  892. C USING G_FLOAT
  893. C
  894. C DATA IMACH( 1) / 5 /
  895. C DATA IMACH( 2) / 6 /
  896. C DATA IMACH( 3) / 5 /
  897. C DATA IMACH( 4) / 6 /
  898. C DATA IMACH( 5) / 32 /
  899. C DATA IMACH( 6) / 4 /
  900. C DATA IMACH( 7) / 2 /
  901. C DATA IMACH( 8) / 31 /
  902. C DATA IMACH( 9) / 2147483647 /
  903. C DATA IMACH(10) / 2 /
  904. C DATA IMACH(11) / 24 /
  905. C DATA IMACH(12) / -127 /
  906. C DATA IMACH(13) / 127 /
  907. C DATA IMACH(14) / 53 /
  908. C DATA IMACH(15) / -1023 /
  909. C DATA IMACH(16) / 1023 /
  910. C
  911. C MACHINE CONSTANTS FOR THE DEC ALPHA
  912. C USING IEEE_FLOAT
  913. C
  914. C DATA IMACH( 1) / 5 /
  915. C DATA IMACH( 2) / 6 /
  916. C DATA IMACH( 3) / 6 /
  917. C DATA IMACH( 4) / 6 /
  918. C DATA IMACH( 5) / 32 /
  919. C DATA IMACH( 6) / 4 /
  920. C DATA IMACH( 7) / 2 /
  921. C DATA IMACH( 8) / 31 /
  922. C DATA IMACH( 9) / 2147483647 /
  923. C DATA IMACH(10) / 2 /
  924. C DATA IMACH(11) / 24 /
  925. C DATA IMACH(12) / -125 /
  926. C DATA IMACH(13) / 128 /
  927. C DATA IMACH(14) / 53 /
  928. C DATA IMACH(15) / -1021 /
  929. C DATA IMACH(16) / 1024 /
  930. C
  931. C MACHINE CONSTANTS FOR THE DEC RISC
  932. C
  933. C DATA IMACH( 1) / 5 /
  934. C DATA IMACH( 2) / 6 /
  935. C DATA IMACH( 3) / 6 /
  936. C DATA IMACH( 4) / 6 /
  937. C DATA IMACH( 5) / 32 /
  938. C DATA IMACH( 6) / 4 /
  939. C DATA IMACH( 7) / 2 /
  940. C DATA IMACH( 8) / 31 /
  941. C DATA IMACH( 9) / 2147483647 /
  942. C DATA IMACH(10) / 2 /
  943. C DATA IMACH(11) / 24 /
  944. C DATA IMACH(12) / -125 /
  945. C DATA IMACH(13) / 128 /
  946. C DATA IMACH(14) / 53 /
  947. C DATA IMACH(15) / -1021 /
  948. C DATA IMACH(16) / 1024 /
  949. C
  950. C MACHINE CONSTANTS FOR THE DEC VAX
  951. C USING D_FLOATING
  952. C
  953. C DATA IMACH( 1) / 5 /
  954. C DATA IMACH( 2) / 6 /
  955. C DATA IMACH( 3) / 5 /
  956. C DATA IMACH( 4) / 6 /
  957. C DATA IMACH( 5) / 32 /
  958. C DATA IMACH( 6) / 4 /
  959. C DATA IMACH( 7) / 2 /
  960. C DATA IMACH( 8) / 31 /
  961. C DATA IMACH( 9) / 2147483647 /
  962. C DATA IMACH(10) / 2 /
  963. C DATA IMACH(11) / 24 /
  964. C DATA IMACH(12) / -127 /
  965. C DATA IMACH(13) / 127 /
  966. C DATA IMACH(14) / 56 /
  967. C DATA IMACH(15) / -127 /
  968. C DATA IMACH(16) / 127 /
  969. C
  970. C MACHINE CONSTANTS FOR THE DEC VAX
  971. C USING G_FLOATING
  972. C
  973. C DATA IMACH( 1) / 5 /
  974. C DATA IMACH( 2) / 6 /
  975. C DATA IMACH( 3) / 5 /
  976. C DATA IMACH( 4) / 6 /
  977. C DATA IMACH( 5) / 32 /
  978. C DATA IMACH( 6) / 4 /
  979. C DATA IMACH( 7) / 2 /
  980. C DATA IMACH( 8) / 31 /
  981. C DATA IMACH( 9) / 2147483647 /
  982. C DATA IMACH(10) / 2 /
  983. C DATA IMACH(11) / 24 /
  984. C DATA IMACH(12) / -127 /
  985. C DATA IMACH(13) / 127 /
  986. C DATA IMACH(14) / 53 /
  987. C DATA IMACH(15) / -1023 /
  988. C DATA IMACH(16) / 1023 /
  989. C
  990. C MACHINE CONSTANTS FOR THE ELXSI 6400
  991. C
  992. C DATA IMACH( 1) / 5 /
  993. C DATA IMACH( 2) / 6 /
  994. C DATA IMACH( 3) / 6 /
  995. C DATA IMACH( 4) / 6 /
  996. C DATA IMACH( 5) / 32 /
  997. C DATA IMACH( 6) / 4 /
  998. C DATA IMACH( 7) / 2 /
  999. C DATA IMACH( 8) / 32 /
  1000. C DATA IMACH( 9) / 2147483647 /
  1001. C DATA IMACH(10) / 2 /
  1002. C DATA IMACH(11) / 24 /
  1003. C DATA IMACH(12) / -126 /
  1004. C DATA IMACH(13) / 127 /
  1005. C DATA IMACH(14) / 53 /
  1006. C DATA IMACH(15) / -1022 /
  1007. C DATA IMACH(16) / 1023 /
  1008. C
  1009. C MACHINE CONSTANTS FOR THE HARRIS 220
  1010. C
  1011. C DATA IMACH( 1) / 5 /
  1012. C DATA IMACH( 2) / 6 /
  1013. C DATA IMACH( 3) / 0 /
  1014. C DATA IMACH( 4) / 6 /
  1015. C DATA IMACH( 5) / 24 /
  1016. C DATA IMACH( 6) / 3 /
  1017. C DATA IMACH( 7) / 2 /
  1018. C DATA IMACH( 8) / 23 /
  1019. C DATA IMACH( 9) / 8388607 /
  1020. C DATA IMACH(10) / 2 /
  1021. C DATA IMACH(11) / 23 /
  1022. C DATA IMACH(12) / -127 /
  1023. C DATA IMACH(13) / 127 /
  1024. C DATA IMACH(14) / 38 /
  1025. C DATA IMACH(15) / -127 /
  1026. C DATA IMACH(16) / 127 /
  1027. C
  1028. C MACHINE CONSTANTS FOR THE HONEYWELL 600/6000 SERIES
  1029. C
  1030. C DATA IMACH( 1) / 5 /
  1031. C DATA IMACH( 2) / 6 /
  1032. C DATA IMACH( 3) / 43 /
  1033. C DATA IMACH( 4) / 6 /
  1034. C DATA IMACH( 5) / 36 /
  1035. C DATA IMACH( 6) / 6 /
  1036. C DATA IMACH( 7) / 2 /
  1037. C DATA IMACH( 8) / 35 /
  1038. C DATA IMACH( 9) / O377777777777 /
  1039. C DATA IMACH(10) / 2 /
  1040. C DATA IMACH(11) / 27 /
  1041. C DATA IMACH(12) / -127 /
  1042. C DATA IMACH(13) / 127 /
  1043. C DATA IMACH(14) / 63 /
  1044. C DATA IMACH(15) / -127 /
  1045. C DATA IMACH(16) / 127 /
  1046. C
  1047. C MACHINE CONSTANTS FOR THE HP 730
  1048. C
  1049. C DATA IMACH( 1) / 5 /
  1050. C DATA IMACH( 2) / 6 /
  1051. C DATA IMACH( 3) / 6 /
  1052. C DATA IMACH( 4) / 6 /
  1053. C DATA IMACH( 5) / 32 /
  1054. C DATA IMACH( 6) / 4 /
  1055. C DATA IMACH( 7) / 2 /
  1056. C DATA IMACH( 8) / 31 /
  1057. C DATA IMACH( 9) / 2147483647 /
  1058. C DATA IMACH(10) / 2 /
  1059. C DATA IMACH(11) / 24 /
  1060. C DATA IMACH(12) / -125 /
  1061. C DATA IMACH(13) / 128 /
  1062. C DATA IMACH(14) / 53 /
  1063. C DATA IMACH(15) / -1021 /
  1064. C DATA IMACH(16) / 1024 /
  1065. C
  1066. C MACHINE CONSTANTS FOR THE HP 2100
  1067. C 3 WORD DOUBLE PRECISION OPTION WITH FTN4
  1068. C
  1069. C DATA IMACH( 1) / 5 /
  1070. C DATA IMACH( 2) / 6 /
  1071. C DATA IMACH( 3) / 4 /
  1072. C DATA IMACH( 4) / 1 /
  1073. C DATA IMACH( 5) / 16 /
  1074. C DATA IMACH( 6) / 2 /
  1075. C DATA IMACH( 7) / 2 /
  1076. C DATA IMACH( 8) / 15 /
  1077. C DATA IMACH( 9) / 32767 /
  1078. C DATA IMACH(10) / 2 /
  1079. C DATA IMACH(11) / 23 /
  1080. C DATA IMACH(12) / -128 /
  1081. C DATA IMACH(13) / 127 /
  1082. C DATA IMACH(14) / 39 /
  1083. C DATA IMACH(15) / -128 /
  1084. C DATA IMACH(16) / 127 /
  1085. C
  1086. C MACHINE CONSTANTS FOR THE HP 2100
  1087. C 4 WORD DOUBLE PRECISION OPTION WITH FTN4
  1088. C
  1089. C DATA IMACH( 1) / 5 /
  1090. C DATA IMACH( 2) / 6 /
  1091. C DATA IMACH( 3) / 4 /
  1092. C DATA IMACH( 4) / 1 /
  1093. C DATA IMACH( 5) / 16 /
  1094. C DATA IMACH( 6) / 2 /
  1095. C DATA IMACH( 7) / 2 /
  1096. C DATA IMACH( 8) / 15 /
  1097. C DATA IMACH( 9) / 32767 /
  1098. C DATA IMACH(10) / 2 /
  1099. C DATA IMACH(11) / 23 /
  1100. C DATA IMACH(12) / -128 /
  1101. C DATA IMACH(13) / 127 /
  1102. C DATA IMACH(14) / 55 /
  1103. C DATA IMACH(15) / -128 /
  1104. C DATA IMACH(16) / 127 /
  1105. C
  1106. C MACHINE CONSTANTS FOR THE HP 9000
  1107. C
  1108. C DATA IMACH( 1) / 5 /
  1109. C DATA IMACH( 2) / 6 /
  1110. C DATA IMACH( 3) / 6 /
  1111. C DATA IMACH( 4) / 7 /
  1112. C DATA IMACH( 5) / 32 /
  1113. C DATA IMACH( 6) / 4 /
  1114. C DATA IMACH( 7) / 2 /
  1115. C DATA IMACH( 8) / 32 /
  1116. C DATA IMACH( 9) / 2147483647 /
  1117. C DATA IMACH(10) / 2 /
  1118. C DATA IMACH(11) / 24 /
  1119. C DATA IMACH(12) / -126 /
  1120. C DATA IMACH(13) / 127 /
  1121. C DATA IMACH(14) / 53 /
  1122. C DATA IMACH(15) / -1015 /
  1123. C DATA IMACH(16) / 1017 /
  1124. C
  1125. C MACHINE CONSTANTS FOR THE IBM 360/370 SERIES,
  1126. C THE XEROX SIGMA 5/7/9, THE SEL SYSTEMS 85/86, AND
  1127. C THE PERKIN ELMER (INTERDATA) 7/32.
  1128. C
  1129. C DATA IMACH( 1) / 5 /
  1130. C DATA IMACH( 2) / 6 /
  1131. C DATA IMACH( 3) / 7 /
  1132. C DATA IMACH( 4) / 6 /
  1133. C DATA IMACH( 5) / 32 /
  1134. C DATA IMACH( 6) / 4 /
  1135. C DATA IMACH( 7) / 2 /
  1136. C DATA IMACH( 8) / 31 /
  1137. C DATA IMACH( 9) / Z7FFFFFFF /
  1138. C DATA IMACH(10) / 16 /
  1139. C DATA IMACH(11) / 6 /
  1140. C DATA IMACH(12) / -64 /
  1141. C DATA IMACH(13) / 63 /
  1142. C DATA IMACH(14) / 14 /
  1143. C DATA IMACH(15) / -64 /
  1144. C DATA IMACH(16) / 63 /
  1145. C
  1146. C MACHINE CONSTANTS FOR THE IBM PC
  1147. C
  1148. C DATA IMACH( 1) / 5 /
  1149. C DATA IMACH( 2) / 6 /
  1150. C DATA IMACH( 3) / 0 /
  1151. C DATA IMACH( 4) / 0 /
  1152. C DATA IMACH( 5) / 32 /
  1153. C DATA IMACH( 6) / 4 /
  1154. C DATA IMACH( 7) / 2 /
  1155. C DATA IMACH( 8) / 31 /
  1156. C DATA IMACH( 9) / 2147483647 /
  1157. C DATA IMACH(10) / 2 /
  1158. C DATA IMACH(11) / 24 /
  1159. C DATA IMACH(12) / -125 /
  1160. C DATA IMACH(13) / 127 /
  1161. C DATA IMACH(14) / 53 /
  1162. C DATA IMACH(15) / -1021 /
  1163. C DATA IMACH(16) / 1023 /
  1164. C
  1165. C MACHINE CONSTANTS FOR THE IBM RS 6000
  1166. C
  1167. C DATA IMACH( 1) / 5 /
  1168. C DATA IMACH( 2) / 6 /
  1169. C DATA IMACH( 3) / 6 /
  1170. C DATA IMACH( 4) / 0 /
  1171. C DATA IMACH( 5) / 32 /
  1172. C DATA IMACH( 6) / 4 /
  1173. C DATA IMACH( 7) / 2 /
  1174. C DATA IMACH( 8) / 31 /
  1175. C DATA IMACH( 9) / 2147483647 /
  1176. C DATA IMACH(10) / 2 /
  1177. C DATA IMACH(11) / 24 /
  1178. C DATA IMACH(12) / -125 /
  1179. C DATA IMACH(13) / 128 /
  1180. C DATA IMACH(14) / 53 /
  1181. C DATA IMACH(15) / -1021 /
  1182. C DATA IMACH(16) / 1024 /
  1183. C
  1184. C MACHINE CONSTANTS FOR THE INTEL i860
  1185. C
  1186. C DATA IMACH( 1) / 5 /
  1187. C DATA IMACH( 2) / 6 /
  1188. C DATA IMACH( 3) / 6 /
  1189. C DATA IMACH( 4) / 6 /
  1190. C DATA IMACH( 5) / 32 /
  1191. C DATA IMACH( 6) / 4 /
  1192. C DATA IMACH( 7) / 2 /
  1193. C DATA IMACH( 8) / 31 /
  1194. C DATA IMACH( 9) / 2147483647 /
  1195. C DATA IMACH(10) / 2 /
  1196. C DATA IMACH(11) / 24 /
  1197. C DATA IMACH(12) / -125 /
  1198. C DATA IMACH(13) / 128 /
  1199. C DATA IMACH(14) / 53 /
  1200. C DATA IMACH(15) / -1021 /
  1201. C DATA IMACH(16) / 1024 /
  1202. C
  1203. C MACHINE CONSTANTS FOR THE PDP-10 (KA PROCESSOR)
  1204. C
  1205. C DATA IMACH( 1) / 5 /
  1206. C DATA IMACH( 2) / 6 /
  1207. C DATA IMACH( 3) / 5 /
  1208. C DATA IMACH( 4) / 6 /
  1209. C DATA IMACH( 5) / 36 /
  1210. C DATA IMACH( 6) / 5 /
  1211. C DATA IMACH( 7) / 2 /
  1212. C DATA IMACH( 8) / 35 /
  1213. C DATA IMACH( 9) / "377777777777 /
  1214. C DATA IMACH(10) / 2 /
  1215. C DATA IMACH(11) / 27 /
  1216. C DATA IMACH(12) / -128 /
  1217. C DATA IMACH(13) / 127 /
  1218. C DATA IMACH(14) / 54 /
  1219. C DATA IMACH(15) / -101 /
  1220. C DATA IMACH(16) / 127 /
  1221. C
  1222. C MACHINE CONSTANTS FOR THE PDP-10 (KI PROCESSOR)
  1223. C
  1224. C DATA IMACH( 1) / 5 /
  1225. C DATA IMACH( 2) / 6 /
  1226. C DATA IMACH( 3) / 5 /
  1227. C DATA IMACH( 4) / 6 /
  1228. C DATA IMACH( 5) / 36 /
  1229. C DATA IMACH( 6) / 5 /
  1230. C DATA IMACH( 7) / 2 /
  1231. C DATA IMACH( 8) / 35 /
  1232. C DATA IMACH( 9) / "377777777777 /
  1233. C DATA IMACH(10) / 2 /
  1234. C DATA IMACH(11) / 27 /
  1235. C DATA IMACH(12) / -128 /
  1236. C DATA IMACH(13) / 127 /
  1237. C DATA IMACH(14) / 62 /
  1238. C DATA IMACH(15) / -128 /
  1239. C DATA IMACH(16) / 127 /
  1240. C
  1241. C MACHINE CONSTANTS FOR PDP-11 FORTRAN SUPPORTING
  1242. C 32-BIT INTEGER ARITHMETIC.
  1243. C
  1244. C DATA IMACH( 1) / 5 /
  1245. C DATA IMACH( 2) / 6 /
  1246. C DATA IMACH( 3) / 5 /
  1247. C DATA IMACH( 4) / 6 /
  1248. C DATA IMACH( 5) / 32 /
  1249. C DATA IMACH( 6) / 4 /
  1250. C DATA IMACH( 7) / 2 /
  1251. C DATA IMACH( 8) / 31 /
  1252. C DATA IMACH( 9) / 2147483647 /
  1253. C DATA IMACH(10) / 2 /
  1254. C DATA IMACH(11) / 24 /
  1255. C DATA IMACH(12) / -127 /
  1256. C DATA IMACH(13) / 127 /
  1257. C DATA IMACH(14) / 56 /
  1258. C DATA IMACH(15) / -127 /
  1259. C DATA IMACH(16) / 127 /
  1260. C
  1261. C MACHINE CONSTANTS FOR PDP-11 FORTRAN SUPPORTING
  1262. C 16-BIT INTEGER ARITHMETIC.
  1263. C
  1264. C DATA IMACH( 1) / 5 /
  1265. C DATA IMACH( 2) / 6 /
  1266. C DATA IMACH( 3) / 5 /
  1267. C DATA IMACH( 4) / 6 /
  1268. C DATA IMACH( 5) / 16 /
  1269. C DATA IMACH( 6) / 2 /
  1270. C DATA IMACH( 7) / 2 /
  1271. C DATA IMACH( 8) / 15 /
  1272. C DATA IMACH( 9) / 32767 /
  1273. C DATA IMACH(10) / 2 /
  1274. C DATA IMACH(11) / 24 /
  1275. C DATA IMACH(12) / -127 /
  1276. C DATA IMACH(13) / 127 /
  1277. C DATA IMACH(14) / 56 /
  1278. C DATA IMACH(15) / -127 /
  1279. C DATA IMACH(16) / 127 /
  1280. C
  1281. C MACHINE CONSTANTS FOR THE SILICON GRAPHICS
  1282. C
  1283. C DATA IMACH( 1) / 5 /
  1284. C DATA IMACH( 2) / 6 /
  1285. C DATA IMACH( 3) / 6 /
  1286. C DATA IMACH( 4) / 6 /
  1287. C DATA IMACH( 5) / 32 /
  1288. C DATA IMACH( 6) / 4 /
  1289. C DATA IMACH( 7) / 2 /
  1290. C DATA IMACH( 8) / 31 /
  1291. C DATA IMACH( 9) / 2147483647 /
  1292. C DATA IMACH(10) / 2 /
  1293. C DATA IMACH(11) / 24 /
  1294. C DATA IMACH(12) / -125 /
  1295. C DATA IMACH(13) / 128 /
  1296. C DATA IMACH(14) / 53 /
  1297. C DATA IMACH(15) / -1021 /
  1298. C DATA IMACH(16) / 1024 /
  1299. C
  1300. C MACHINE CONSTANTS FOR THE SUN
  1301. C
  1302. C DATA IMACH( 1) / 5 /
  1303. C DATA IMACH( 2) / 6 /
  1304. C DATA IMACH( 3) / 6 /
  1305. C DATA IMACH( 4) / 6 /
  1306. C DATA IMACH( 5) / 32 /
  1307. C DATA IMACH( 6) / 4 /
  1308. C DATA IMACH( 7) / 2 /
  1309. C DATA IMACH( 8) / 31 /
  1310. C DATA IMACH( 9) / 2147483647 /
  1311. C DATA IMACH(10) / 2 /
  1312. C DATA IMACH(11) / 24 /
  1313. C DATA IMACH(12) / -125 /
  1314. C DATA IMACH(13) / 128 /
  1315. C DATA IMACH(14) / 53 /
  1316. C DATA IMACH(15) / -1021 /
  1317. C DATA IMACH(16) / 1024 /
  1318. C
  1319. C MACHINE CONSTANTS FOR THE SUN
  1320. C USING THE -r8 COMPILER OPTION
  1321. C
  1322. C DATA IMACH( 1) / 5 /
  1323. C DATA IMACH( 2) / 6 /
  1324. C DATA IMACH( 3) / 6 /
  1325. C DATA IMACH( 4) / 6 /
  1326. C DATA IMACH( 5) / 32 /
  1327. C DATA IMACH( 6) / 4 /
  1328. C DATA IMACH( 7) / 2 /
  1329. C DATA IMACH( 8) / 31 /
  1330. C DATA IMACH( 9) / 2147483647 /
  1331. C DATA IMACH(10) / 2 /
  1332. C DATA IMACH(11) / 53 /
  1333. C DATA IMACH(12) / -1021 /
  1334. C DATA IMACH(13) / 1024 /
  1335. C DATA IMACH(14) / 113 /
  1336. C DATA IMACH(15) / -16381 /
  1337. C DATA IMACH(16) / 16384 /
  1338. C
  1339. C MACHINE CONSTANTS FOR THE UNIVAC 1100 SERIES FTN COMPILER
  1340. C
  1341. C DATA IMACH( 1) / 5 /
  1342. C DATA IMACH( 2) / 6 /
  1343. C DATA IMACH( 3) / 1 /
  1344. C DATA IMACH( 4) / 6 /
  1345. C DATA IMACH( 5) / 36 /
  1346. C DATA IMACH( 6) / 4 /
  1347. C DATA IMACH( 7) / 2 /
  1348. C DATA IMACH( 8) / 35 /
  1349. C DATA IMACH( 9) / O377777777777 /
  1350. C DATA IMACH(10) / 2 /
  1351. C DATA IMACH(11) / 27 /
  1352. C DATA IMACH(12) / -128 /
  1353. C DATA IMACH(13) / 127 /
  1354. C DATA IMACH(14) / 60 /
  1355. C DATA IMACH(15) / -1024 /
  1356. C DATA IMACH(16) / 1023 /
  1357. C
  1358. C MACHINE CONSTANTS FOR THE Z80 MICROPROCESSOR
  1359. C
  1360. C DATA IMACH( 1) / 1 /
  1361. C DATA IMACH( 2) / 1 /
  1362. C DATA IMACH( 3) / 0 /
  1363. C DATA IMACH( 4) / 1 /
  1364. C DATA IMACH( 5) / 16 /
  1365. C DATA IMACH( 6) / 2 /
  1366. C DATA IMACH( 7) / 2 /
  1367. C DATA IMACH( 8) / 15 /
  1368. C DATA IMACH( 9) / 32767 /
  1369. C DATA IMACH(10) / 2 /
  1370. C DATA IMACH(11) / 24 /
  1371. C DATA IMACH(12) / -127 /
  1372. C DATA IMACH(13) / 127 /
  1373. C DATA IMACH(14) / 56 /
  1374. C DATA IMACH(15) / -127 /
  1375. C DATA IMACH(16) / 127 /
  1376. C
  1377. C***FIRST EXECUTABLE STATEMENT I1MACH
  1378. IF (I .LT. 1 .OR. I .GT. 16) GO TO 10
  1379. C
  1380. I1MACH = IMACH(I)
  1381. RETURN
  1382. C
  1383. 10 CONTINUE
  1384. WRITE (UNIT = OUTPUT, FMT = 9000)
  1385. 9000 FORMAT ('1ERROR 1 IN I1MACH - I OUT OF BOUNDS')
  1386. C
  1387. C CALL FDUMP
  1388. C
  1389. STOP
  1390. END