GNU Octave  4.0.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
i1mach.f
Go to the documentation of this file.
1  integer function i1mach (i)
2  integer i, imach(16)
3  logical init
4  double precision dlamch
5  real slamch
6  external dlamch, slamch
7  save imach, init
8  data imach / 5, 6, 0, 6, 32, 4, 2, 31, 2147483647,
9  $ 2, 0, 0, 0, 0, 0, 0 /
10  data init /.false./
11  if (.not. init) then
12  imach(11) = slamch('n')
13  imach(12) = slamch('m')
14  imach(13) = slamch('l')
15  imach(14) = dlamch('n')
16  imach(15) = dlamch('m')
17  imach(16) = dlamch('l')
18  init = .true.
19  endif
20  if (i .lt. 1 .or. i .gt. 16) goto 999
21  i1mach = imach(i)
22  return
23  999 write (*, 1999) i
24  1999 format (' i1mach - i out of bounds', i10)
25  call xstopx(' ')
26  i1mach = 0
27  end