-
Notifications
You must be signed in to change notification settings - Fork 47
Add explicit interface for FSPGL_PROC #337
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
bae932b to
38c6007
Compare
|
I think it's good development but I have some questions.
|
Not really, this is something new. However, rather than introduce a new internal module, I could put the
We don't but I would like to write one once we have a good testing framework for
Not yet. I'll start with the T21 IFS tests and see how it goes. |
|
If this is then an API change we cannot simply merge this without coordination. |
Yes understood, but how do you define API change? My intention was to keep backwards compatibility with the old-fashioned way ( In any case I don't think this will be merged soon @DJDavies2 so for now I'm afraid we won't be able to support the NAG compiler with ecTrans. |
Builds on PR #331.
FSPGL_PROCis a procedure argument for the inverse transform which allows one to perform arbitrary calculations in spectral space. One passes in a subroutine name like any other argument, and this is passed down through the call stack to the place where it's actually called, inFSPGL_INT.Currently we simply mark it as
EXTERNAL, OPTIONAL. I think theEXTERNALkeyword is not encouraged anymore. The NAG compiler seems to reject it as well. Instead it's better to declare an explicit interface for the procedure argument and marking the argument asPROCEDURE(<interface name>). That's what I do here.I hope you agree that this is much cleaner and more transparent. So far this change is NOT tested in the IFS though, so let me do that before merging.