[ghemical-devel] about symtrz.f
Tommi.Hassinen at uku.fi
Tue Aug 12 06:35:52 EDT 2008
From: Daniel Leidert [daniel.leidert.spam at gmx.net]
Sent: Thursday, August 07, 2008 12:59 AM
To: Tommi Hassinen
Cc: ghemical-devel at bioinformatics.org
Subject: Re: about symtrz.f
> This is accepted by both g77 and gfortran (at least this version:)
Hm. But instead to comment all the lines, simply do a:
DATA TOLER,IFRA / 0.1, 0 /
IFRA seems to be a local variable. This is the solution I attach as
However, there could be a different solution. From reading the source I
get the impression, that just a few other variables need to be defined
as characters too, e.g. NAMO and JX. See the other subroutines in
symtrz.f. For this case, I attached symtrz_f_2.patch.
With both patches, gfortran is satisfied and compiles.
I have tested both patches, and both of them seem to work the same way, which is very interesting! I found no differences from test/ directory test cases (subroutine R00010 is executed in tests 1scf, elements, geometry, keys, oldgeo, and test_* cases).
However, the patch 2 seems more risky to me since NAMO and JX belong to a COMMON block (block of NAMO is SYMRES and block of JX is S00001). The common blocks AFAIK are static memory blocks shared by many parts of the program. Now suppose if we re-assign an INTEGER value into a CHARACTER*4 or vice versa in a COMMON block ; the change is OK if INTEGER and CHARACTER*4 have the same size but if the sizes are different we might have a problem.
So I would prefer the patch 1 solution at the moment. I only have a 32-bit system where to test this and I assume INTEGER and CHARACTER*4 have the same size here. Anyone with a 64-bit system interested in testing the patch 2 solution?
I will put the "rc2" version available soon (today) and there will be symtrz.f_ALT1 and symtrz.f_ALT2 files separately (symtrz.f is a copy if symtrz.f_ALT1).
More information about the ghemical-devel