Greetings everyone;
I know I pop up and disappear sporadically here but once again thank you for your patience. This time I am rewriting another F77 code which is the well-known monolith that is ARPACK for SciPy. I have some limited expertise on this subject and typically I could follow the algorithm since I also translated PROPACK already. Hence on paper, things should be easier however I wasted a good chunk of an entire week on the behavior discussed in the title.
I found this through an invaluable nugget given in
then searched here and then found
and also
I can see that there is a lot of debate around this, and after wasting very frustrating week on this subject, I can tell why from firsthand experience. And the bug I was hunting for involved variables in SAVE
and COMMON
blocks which placed me in the wrong direction since I assumed something was going wrong about those variables somewhere else without knowing implicit save is a thing in Fortran. But in fact it was this implicit save that was making things go awry. Seemingly, there is no end to these things in F77; even the most innocent definitions are landmined.
However, let us not have any further discussions, since the links above have ample amount.
Could I ask for a definite explanation of this behavior or the rules of the game in a single place for posterity in case someone also has the luck of hitting this (in case they figure it out in the first place)? If any, please include extra gotchas that you are aware of.