Go to the documentation of this file.00001 double precision function d1mach (i)
00002 integer i
00003 logical init
00004 double precision dmach(5)
00005 double precision dlamch
00006 external dlamch
00007 save init, dmach
00008 data init /.false./
00009 if (.not. init) then
00010 dmach(1) = dlamch ('u')
00011 dmach(2) = dlamch ('o')
00012 dmach(3) = dlamch ('e')
00013 dmach(4) = dlamch ('p')
00014 dmach(5) = log10 (dlamch ('b'))
00015 init = .true.
00016 endif
00017 if (i .lt. 1 .or. i .gt. 5) goto 999
00018 d1mach = dmach(i)
00019 return
00020 999 write (*, 1999) i
00021 1999 format (' d1mach - i out of bounds', i10)
00022 call xstopx (' ')
00023 d1mach = 0
00024 end