On Tue, Jul 27, 2010 at 08:11:39AM -0400, Jeff Squyres wrote:
> On Jul 26, 2010, at 11:06 PM, Hugo Gagnon wrote:
>
> > 8 integer, parameter :: dp = kind(1.d0)
> > 9 real(kind=dp) :: inside(5), outside(5)
>
> I'm not a fortran expert -- is kind(1.d0) really double precision? According to http://gcc.gnu.org/onlinedocs/gcc-3.4.6/g77/Kind-Notation.html, kind(2) is double precision (but that's for a different compiler, and I don't quite grok the ".d0" notation).
*quote*
kind (x) has type default integer and value equal to the kind
type parameter value of x.
*end quote*
p. 161 from Metcalf et al (2007) Fortran 95/2003 explained.
% cat tmp.f90
program z
integer, parameter :: dp = kind(1.d0)
real(kind=dp) :: inside(5), outside(5)
write(*,*)dp
end program z
% g95 -L/usr/local/lib tmp.f90
% ./a.out
8
%
Kind 8 is (on most arch) 8-byte real, i.e. typically
double precision.
--
Anton Shterenlikht
Room 2.6, Queen's Building
Mech Eng Dept
Bristol University
University Walk, Bristol BS8 1TR, UK
Tel: +44 (0)117 331 5944
Fax: +44 (0)117 929 4423
|