real function r1mach (i) c c single-precision machine constants c c r1mach(1) = b**(emin-1), the smallest positive magnitude. c r1mach(2) = b**emax*(1 - b**(-t)), the largest magnitude. c r1mach(3) = b**(-t), the smallest relative spacing. c r1mach(4) = b**(1-t), the largest relative spacing. c r1mach(5) = log10(b) c r1mach(6) = 'nan', not a number. a bit pattern not in the c legal number range to be used when an answer c or part of an answer is undefined. this constant c is analogous to the ieee standard nan and to c cdc's indefinite. c c to alter this function for a particular environment, c the desired set of data statements should be activated by c removing the c from column 1. c real rmach(6) c c machine constants for the burroughs 1700 system. c c data rmach (1) / 4.31908e-78 / c data rmach (2) / 5.78827e76 / c data rmach (3) / 5.96046e-8 / c data rmach (4) / 1.19209e-7 / c data rmach (5) / .3010299956 63981195e0 / c data rmach (6) / 5.78854e76 / c c machine constants for the burroughs 5700 system. c c data rmach (1) / 8.76013e-47 / c data rmach (2) / 4.31260e68 / c data rmach (3) / 1.81899e-12 / c data rmach (4) / 1.45519e-11 / c data rmach (5) / .9030899869 91943585e0 / c data rmach (6) / 4.31280e68 / c c machine constants for the burroughs 6700/7700 systems. c c data rmach (1) / 8.76013e-47 / c data rmach (2) / 4.31260e68 / c data rmach (3) / 1.81899e-12 / c data rmach (4) / 1.45519e-11 / c data rmach (5) / .9030899869 91943585e0 / c data rmach (6) / 4.31280e68 / c c machine constants for the cdc 6000/7000 series. c c data rmach (1) / 3.13223e-294 / c data rmach (2) / 1.26472e322 / c data rmach (3) / 3.55271e-15 / c data rmach (4) / 7.10543e-15 / c data rmach (5) / .3010299956 63981195e0 / c data rmach (6) / 1.26478e322 / c c machine constants for the cray 1 c c data rmach (1) / 4.58507e-2467 / c data rmach (2) / 5.45249e2465 / c data rmach (3) / 7.10543e-15 / c data rmach (4) / 1.42109e-14 / c data rmach (5) / .3010299956 63981195e0 / c data rmach (6) / 5.45274e2465 / c c machine constants for the harris 220 c c data rmach (1) / 2.93941e-39 / c data rmach (2) / 1.70102e38 / c data rmach (3) / 1.19209e-7 / c data rmach (4) / 2.38419e-7 / c data rmach (5) / .3010299956 63981195e0 / c data rmach (6) / 1.70110e38 / c c machine constants for the honeywell 600/6000 series. c c data rmach (1) / 2.93941e-39 / c data rmach (2) / 1.70102e38 / c data rmach (3) / 7.45058e-9 / c data rmach (4) / 1.49012e-8 / c data rmach (5) / .3010299956 63981195e0 / c data rmach (6) / 1.70110e38 / c c machine constants for the data general eclipse s/200 c data rmach(1) / 5.39885e-79 / data rmach(2) / 7.23534e75 / data rmach(3) / 5.96046e-8 / data rmach(4) / 9.53674e-7 / data rmach(5) / 1.2041199826 5592478e0 / data rmach(6) / 7.23567e75 / c c machine constants for the ibm 360/370 series, c the xerox sigma 5/7/9, the sel systems 85/86, c the perkin elmer (interdata) 7/32, and the data general c eclipse mv/8000 and mv/10000 systems. c c data rmach (1) / 5.39885e-79 / c data rmach (2) / 7.23534e75 / c data rmach (3) / 5.96046e-8 / c data rmach (4) / 9.53674e-7 / c data rmach (5) / 1.2041199826 5592478e0 / c data rmach (6) / 7.23567e75 / c c machine constants for the pdp-10 (ka processor). c c data rmach (1) / 1.46971e-39 / c data rmach (2) / 1.70102e38 / c data rmach (3) / 7.45058e-9 / c data rmach (4) / 1.49012e-8 / c data rmach (5) / .3010299956 63981195e0 / c data rmach (6) / 1.70110e38 / c c machine constants for the pdp-10 (ki processor). c c data rmach (1) / 1.46971e-39 / c data rmach (2) / 1.70102e38 / c data rmach (3) / 7.45058e-9 / c data rmach (4) / 1.49012e-8 / c data rmach (5) / .3010299956 63981195e0 / c data rmach (6) / 1.70110e38 / c c machine constants for pdp-11 (and vax-11) fortran's supporting c 32-bit integer arithmetic. c c data rmach (1) / 2.93941e-39 / c data rmach (2) / 1.70102e38 / c data rmach (3) / 5.96046e-8 / c data rmach (4) / 1.19209e-7 / c data rmach (5) / .3010299956 63981195e0 / c data rmach (6) / 1.70110e38 / c c machine constants for pdp-11 fortran's supporting c 16-bit integer arithmetic. c c data rmach (1) / 2.93941e-39 / c data rmach (2) / 1.70102e38 / c data rmach (3) / 5.96046e-8 / c data rmach (4) / 1.19209e-7 / c data rmach (5) / .3010299956 63981195e0 / c data rmach (6) / 1.70110e38 / c c machine constants for the univac 1100 series. c c note that the punch unit, i1mach(3), has been set to 7 c which is appropriate for the univac-for system. c if you have the univac-ftn system, set it to 1. c c data rmach (1) / 1.46971e-39 / c data rmach (2) / 1.70102e38 / c data rmach (3) / 7.45058e-9 / c data rmach (4) / 1.49012e-8 / c data rmach (5) / .3010299956 63981195e0 / c data rmach (6) / 1.70110e38 / c c machine constants for the ieee standard (intel 8087 and c intel 8086 emulator) c c data rmach (1) / 1.17577e-38 / c data rmach (2) / 3.40204e38 / c data rmach (3) / 5.96046e-8 / c data rmach (4) / 1.19209e-7 / c data rmach (5) / .3010299956 63981195e0 / c data rmach (6) / 3.40220e38 / c c machine constants for the hp 2100 c 3 word double precision option with ftn4 c c data rmach (1) / 1.46971e-39 / c data rmach (2) / 1.70102e38 / c data rmach (3) / 1.19209e-7 / c data rmach (4) / 2.38419e-7 / c data rmach (5) / .3010299956 63981195e0 / c data rmach (6) / 1.70110e38 / c c machine constants for the hp 2100 c 4 word double precision option with ftn4 c c data rmach (1) / 1.46971e-39 / c data rmach (2) / 1.70102e38 / c data rmach (3) / 1.19209e-7 / c data rmach (4) / 2.38419e-7 / c data rmach (5) / .3010299956 63981195e0 / c data rmach (6) / 1.70110e38 / c if (i.lt.1 .or. i.gt.6) call seterr (23hr1mach i out of bounds, 1 23, 1, 2) c r1mach = rmach(i) return c end