Print

Print




robin wrote:
From: "Richard Wang" <[log in to unmask]>
Sent: Wednesday, January 11, 2006 12:28 PM


  
Thanks .  It works now.  But I thought all you do here are 1) add  
implicit none 2) move function into the program 3) use the word  
'contains'
    

In addition, you should use either "DOUBLE PRECISION" instead of REAL*8
(which is not portable), or

Well, using DOUBLE PRECISION as a replacement for real*8 is even worse.  It is likely to be wrong on at least some systems - the very definition of not portable.


integer, parameter :: dp = selected_real_kind(1.0d0)

will give a syntax error.  I think you want something like:

integer,parameter :: dp = selected_real_kind(12,70)
real (kind=dp) :: e

with the revised definition of dp, this is the preferred portable method.

Cheers,
Bill


and so on.
  

-- 
Bill Long                                   [log in to unmask]
Fortran Technical Support    &              voice: 651-605-9024
Bioinformatics Software Development         fax:   651-605-9142
Cray Inc., 1340 Mendota Heights Rd., Mendota Heights, MN, 55120