> I realise that I should convert the code to the more acceptable real ::
> complex :: declarations, but what should I set the kind= to if I want
> double precision ? I understand from the quick read I had yesterday that
> the double precision delaration should be avioded.
I don't think anyone said this; if they did, they shouldn't have!
Sometimes, RELATIVE as opposed to ABSOLUTE precision is important.
DOUBLE PRECISION (though it's not really `double', of course) thus seems
ideal for this case. It is not obsolete, much less deleted, in F95 and
as far as I know there are no plans to make it such.
If you want absolute precision, keep in mind that KIND values are
processor-dependent and one should thus use SELECTED_REAL_KIND etc.
> Does anyone have any experience over declaration mismatch with numerical
> routines ? At present the code makes use of LAPACK routines for matrix
> diagonalisation and inversion. Opening these routines not only results
> in the discovery of no implicit none, but also real*8 and complex*16, so
> all these routines need to be changed also.
Do it right. There are many cans of worms here.
> Does anyone have any experience / methodology for approaching such a
> task ? I would imagine upgrading the lowest level routines first and
> then working backwards through the run time tree, is this the best way ?
> Timescale is perhaps the most important part bearing in mind that I wish
> to finish my phd in September 2000..........!!!!
>
> Advice ?
I write Fortran code for money. See
http://gladia.astro.rug.nl:8000/helbig/hire/fortran/fortran.html
:-)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|