home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / sys / apollo / 3955 < prev    next >
Encoding:
Text File  |  1992-11-14  |  7.8 KB  |  221 lines

  1. Newsgroups: comp.sys.apollo
  2. Path: sparky!uunet!utcsri!helios.physics.utoronto.ca!alchemy.chem.utoronto.ca!system
  3. From: system@alchemy.chem.utoronto.ca (System Admin (Mike Peterson))
  4. Subject: Re: Machine Constants for Numerical Packages. (DN10000)
  5. Message-ID: <1992Nov13.172154.8891@alchemy.chem.utoronto.ca>
  6. Organization: University of Toronto Chemistry Department
  7. References: <1e0j48INN4fs@spool.mu.edu>
  8. Date: Fri, 13 Nov 1992 17:21:54 GMT
  9. Lines: 210
  10.  
  11. In article <1e0j48INN4fs@spool.mu.edu> tone@m.mscs.mu.edu (Peter Tonellato) writes:
  12. >A common subroutine (e.g. used in MINPACK) is DPMPAR (or SPMPAR for single
  13. >precision.) This subroutine has been designed so that appropriate entries
  14. >for many architectures are available. To use the routine on your home
  15. >machine one need only uncomment the appropriate entry. 
  16. >
  17. >My question is can someone please send me the correct machine constants for
  18. >the DN1000 PRISM architecture? I would very much appreciate it and will submit
  19. >the entry to "netlib" for inclusion in future releases of the public domain
  20. >numerical packages they offer.
  21.  
  22. Here is the one I use (DN10000 PRISM is IEEE, as is HP 7xx):
  23.  
  24.       DOUBLE PRECISION FUNCTION DPMPAR(I)
  25.       INTEGER I
  26. C     **********
  27. C
  28. C     FUNCTION DPMPAR
  29. C
  30. C     THIS FUNCTION PROVIDES DOUBLE PRECISION MACHINE PARAMETERS
  31. C     WHEN THE APPROPRIATE SET OF DATA STATEMENTS IS ACTIVATED (BY
  32. C     REMOVING THE C FROM COLUMN 1) AND ALL OTHER DATA STATEMENTS ARE
  33. C     RENDERED INACTIVE. MOST OF THE PARAMETER VALUES WERE OBTAINED
  34. C     FROM THE CORRESPONDING BELL LABORATORIES PORT LIBRARY FUNCTION.
  35. C
  36. C     THE FUNCTION STATEMENT IS
  37. C
  38. C       DOUBLE PRECISION FUNCTION DPMPAR(I)
  39. C
  40. C     WHERE
  41. C
  42. C       I IS AN INTEGER INPUT VARIABLE SET TO 1, 2, OR 3 WHICH
  43. C         SELECTS THE DESIRED MACHINE PARAMETER. IF THE MACHINE HAS
  44. C         T BASE B DIGITS AND ITS SMALLEST AND LARGEST EXPONENTS ARE
  45. C         EMIN AND EMAX, RESPECTIVELY, THEN THESE PARAMETERS ARE
  46. C
  47. C         DPMPAR(1) = B**(1 - T), THE MACHINE PRECISION,
  48. C
  49. C         DPMPAR(2) = B**(EMIN - 1), THE SMALLEST MAGNITUDE,
  50. C
  51. C         DPMPAR(3) = B**EMAX*(1 - B**(-T)), THE LARGEST MAGNITUDE.
  52. C
  53. C     ARGONNE NATIONAL LABORATORY. MINPACK PROJECT. MARCH 1980.
  54. C     BURTON S. GARBOW, KENNETH E. HILLSTROM, JORGE J. MORE
  55. C
  56. C     **********
  57.       INTEGER MCHEPS(4)
  58.       INTEGER MINMAG(4)
  59.       INTEGER MAXMAG(4)
  60.       DOUBLE PRECISION DMACH(3)
  61.       EQUIVALENCE (DMACH(1),MCHEPS(1))
  62.       EQUIVALENCE (DMACH(2),MINMAG(1))
  63.       EQUIVALENCE (DMACH(3),MAXMAG(1))
  64. C
  65. C     MACHINE CONSTANTS FOR THE APOLLO SERIES,
  66. C     AND THE SAME SHOULD APPLY TO ANY IEEE FLOATING POINT
  67. C     COMPLAINT SYSTEM (E.G. SUN).
  68. C
  69.       DATA MCHEPS(1),MCHEPS(2) / 16#3CA00000, 16#00000000 /
  70.       DATA MINMAG(1),MINMAG(2) / 16#00100000, 16#00000000 /
  71.       DATA MAXMAG(1),MAXMAG(2) / 16#7FEFFFFF, 16#FFFFFFFF /
  72. C
  73. C     MACHINE CONSTANTS FOR THE IBM 360/370 SERIES,
  74. C     THE AMDAHL 470/V6, THE ICL 2900, THE ITEL AS/6,
  75. C     THE XEROX SIGMA 5/7/9 AND THE SEL SYSTEMS 85/86.
  76. C
  77. C     DATA MCHEPS(1),MCHEPS(2) / Z34100000, Z00000000 /
  78. C     DATA MINMAG(1),MINMAG(2) / Z00100000, Z00000000 /
  79. C     DATA MAXMAG(1),MAXMAG(2) / Z7FFFFFFF, ZFFFFFFFF /
  80. C
  81. C     MACHINE CONSTANTS FOR THE HONEYWELL 600/6000 SERIES.
  82. C
  83. C     DATA MCHEPS(1),MCHEPS(2) / O606400000000, O000000000000 /
  84. C     DATA MINMAG(1),MINMAG(2) / O402400000000, O000000000000 /
  85. C     DATA MAXMAG(1),MAXMAG(2) / O376777777777, O777777777777 /
  86. C
  87. C     MACHINE CONSTANTS FOR THE CDC 6000/7000 SERIES.
  88. C
  89. C     DATA MCHEPS(1) / 15614000000000000000B /
  90. C     DATA MCHEPS(2) / 15010000000000000000B /
  91. C
  92. C     DATA MINMAG(1) / 00604000000000000000B /
  93. C     DATA MINMAG(2) / 00000000000000000000B /
  94. C
  95. C     DATA MAXMAG(1) / 37767777777777777777B /
  96. C     DATA MAXMAG(2) / 37167777777777777777B /
  97. C
  98. C     MACHINE CONSTANTS FOR THE PDP-10 (KA PROCESSOR).
  99. C
  100. C     DATA MCHEPS(1),MCHEPS(2) / "114400000000, "000000000000 /
  101. C     DATA MINMAG(1),MINMAG(2) / "033400000000, "000000000000 /
  102. C     DATA MAXMAG(1),MAXMAG(2) / "377777777777, "344777777777 /
  103. C
  104. C     MACHINE CONSTANTS FOR THE PDP-10 (KI PROCESSOR).
  105. C
  106. C     DATA MCHEPS(1),MCHEPS(2) / "104400000000, "000000000000 /
  107. C     DATA MINMAG(1),MINMAG(2) / "000400000000, "000000000000 /
  108. C     DATA MAXMAG(1),MAXMAG(2) / "377777777777, "377777777777 /
  109. C
  110. C     MACHINE CONSTANTS FOR THE PDP-11 FORTRAN SUPPORTING
  111. C     32-BIT INTEGERS (EXPRESSED IN INTEGER AND OCTAL).
  112. C
  113. C     DATA MCHEPS(1),MCHEPS(2) /  620756992,           0 /
  114. C     DATA MINMAG(1),MINMAG(2) /    8388608,           0 /
  115. C     DATA MAXMAG(1),MAXMAG(2) / 2147483647,          -1 /
  116. C
  117. C     DATA MCHEPS(1),MCHEPS(2) / O04500000000, O00000000000 /
  118. C     DATA MINMAG(1),MINMAG(2) / O00040000000, O00000000000 /
  119. C     DATA MAXMAG(1),MAXMAG(2) / O17777777777, O37777777777 /
  120. C
  121. C     MACHINE CONSTANTS FOR THE PDP-11 FORTRAN SUPPORTING
  122. C     16-BIT INTEGERS (EXPRESSED IN INTEGER AND OCTAL).
  123. C
  124. C     DATA MCHEPS(1),MCHEPS(2) /   9472,      0 /
  125. C     DATA MCHEPS(3),MCHEPS(4) /      0,      0 /
  126. C
  127. C     DATA MINMAG(1),MINMAG(2) /    128,      0 /
  128. C     DATA MINMAG(3),MINMAG(4) /      0,      0 /
  129. C
  130. C     DATA MAXMAG(1),MAXMAG(2) /  32767,     -1 /
  131. C     DATA MAXMAG(3),MAXMAG(4) /     -1,     -1 /
  132. C
  133. C     DATA MCHEPS(1),MCHEPS(2) / O022400, O000000 /
  134. C     DATA MCHEPS(3),MCHEPS(4) / O000000, O000000 /
  135. C
  136. C     DATA MINMAG(1),MINMAG(2) / O000200, O000000 /
  137. C     DATA MINMAG(3),MINMAG(4) / O000000, O000000 /
  138. C
  139. C     DATA MAXMAG(1),MAXMAG(2) / O077777, O177777 /
  140. C     DATA MAXMAG(3),MAXMAG(4) / O177777, O177777 /
  141. C
  142. C     MACHINE CONSTANTS FOR THE BURROUGHS 6700/7700 SYSTEMS.
  143. C
  144. C     DATA MCHEPS(1) / O1451000000000000 /
  145. C     DATA MCHEPS(2) / O0000000000000000 /
  146. C
  147. C     DATA MINMAG(1) / O1771000000000000 /
  148. C     DATA MINMAG(2) / O7770000000000000 /
  149. C
  150. C     DATA MAXMAG(1) / O0777777777777777 /
  151. C     DATA MAXMAG(2) / O7777777777777777 /
  152. C
  153. C     MACHINE CONSTANTS FOR THE BURROUGHS 5700 SYSTEM.
  154. C
  155. C     DATA MCHEPS(1) / O1451000000000000 /
  156. C     DATA MCHEPS(2) / O0000000000000000 /
  157. C
  158. C     DATA MINMAG(1) / O1771000000000000 /
  159. C     DATA MINMAG(2) / O0000000000000000 /
  160. C
  161. C     DATA MAXMAG(1) / O0777777777777777 /
  162. C     DATA MAXMAG(2) / O0007777777777777 /
  163. C
  164. C     MACHINE CONSTANTS FOR THE BURROUGHS 1700 SYSTEM.
  165. C
  166. C     DATA MCHEPS(1) / ZCC6800000 /
  167. C     DATA MCHEPS(2) / Z000000000 /
  168. C
  169. C     DATA MINMAG(1) / ZC00800000 /
  170. C     DATA MINMAG(2) / Z000000000 /
  171. C
  172. C     DATA MAXMAG(1) / ZDFFFFFFFF /
  173. C     DATA MAXMAG(2) / ZFFFFFFFFF /
  174. C
  175. C     MACHINE CONSTANTS FOR THE UNIVAC 1100 SERIES.
  176. C
  177. C     DATA MCHEPS(1),MCHEPS(2) / O170640000000, O000000000000 /
  178. C     DATA MINMAG(1),MINMAG(2) / O000040000000, O000000000000 /
  179. C     DATA MAXMAG(1),MAXMAG(2) / O377777777777, O777777777777 /
  180. C
  181. C     MACHINE CONSTANTS FOR THE DATA GENERAL ECLIPSE S/200.
  182. C
  183. C     NOTE - IT MAY BE APPROPRIATE TO INCLUDE THE FOLLOWING CARD -
  184. C     STATIC DMACH(3)
  185. C
  186. C     DATA MINMAG/20K,3*0/,MAXMAG/77777K,3*177777K/
  187. C     DATA MCHEPS/32020K,3*0/
  188. C
  189. C     MACHINE CONSTANTS FOR THE HARRIS 220.
  190. C
  191. C     DATA MCHEPS(1),MCHEPS(2) / '20000000, '00000334 /
  192. C     DATA MINMAG(1),MINMAG(2) / '20000000, '00000201 /
  193. C     DATA MAXMAG(1),MAXMAG(2) / '37777777, '37777577 /
  194. C
  195. C     MACHINE CONSTANTS FOR THE CRAY-1.
  196. C
  197. C     DATA MCHEPS(1) / 0376424000000000000000B /
  198. C     DATA MCHEPS(2) / 0000000000000000000000B /
  199. C
  200. C     DATA MINMAG(1) / 0200034000000000000000B /
  201. C     DATA MINMAG(2) / 0000000000000000000000B /
  202. C
  203. C     DATA MAXMAG(1) / 0577777777777777777777B /
  204. C     DATA MAXMAG(2) / 0000007777777777777776B /
  205. C
  206. C     MACHINE CONSTANTS FOR THE PRIME 400.
  207. C
  208. C     DATA MCHEPS(1),MCHEPS(2) / :10000000000, :00000000123 /
  209. C     DATA MINMAG(1),MINMAG(2) / :10000000000, :00000100000 /
  210. C     DATA MAXMAG(1),MAXMAG(2) / :17777777777, :37777677776 /
  211. C
  212.       DPMPAR = DMACH(I)
  213.       RETURN
  214. C
  215. C     LAST CARD OF FUNCTION DPMPAR.
  216. C
  217.       END
  218. -- 
  219. What are the chances that any HP computer system will ever "work" properly?
  220. ... and Slim just left town. -*- Mike Peterson, SysAdmin, U/Toronto Chemistry
  221.