Mercurial > hg > octave-lyh
view libcruft/misc/i1mach.f @ 12013:587d268cf64e release-3-2-x
implement d1mach, i1mach, and r1mach using slamch and dlamch from lapack
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 24 Jun 2009 08:13:16 +0200 |
parents | db38fe433efd |
children |
line wrap: on
line source
integer function i1mach (i) integer i, imach(16) logical init double precision dlamch real slamch external dlamch, slamch save imach, init data imach / 5, 6, 0, 6, 32, 4, 2, 31, 2147483647, $ 2, 0, 0, 0, 0, 0, 0 / data init /.false./ if (.not. init) then imach(11) = slamch ('n') imach(12) = slamch ('m') imach(13) = slamch ('l') imach(14) = dlamch ('n') imach(15) = dlamch ('m') imach(16) = dlamch ('l') init = .true. endif if (i .lt. 1 .or. i .gt. 16) goto 999 i1mach = imach(i) return 999 write (*, 1999) i 1999 format (' i1mach - i out of bounds', i10) call xstopx (' ') i1mach = 0 end