Skip to content

Resolve "refactoring of cgr2_1.f90"

Florian Goth requested to merge 15-refactoring-of-cgr2_1-f90 into master

Closes #15 (closed) . @all Now it is 158 commits later and this concludes the work that started with a simple refactoring of cgr2_1.f90. Additionally this branch was tasked to solve two more issues: First we now have almost complete Fortran2003 compatibility. (There is still some minor issue in the Analysis tools).

An additional task was solving the conversion issues that stemmed mostly from uses of the CMPLX Fortran command, which by default returns single precision numbers irrespective of which arguments you feed to it. It has to be forced to return double precision complex numbers. For the future these issues could be mitigated by relying more on the builtin type promotion rules of the various mathematical operators. While at it most other automatic warnings were also solved.

I know that some of you are using the Modules as part of their own work, so you might want to consider replacing them. While working at the code a lot of explicit loops were replaced with equivalent native fortran constructs which should enable better compiler optimization. Duplication in the code was reduced with the introduction of various new simple functions. The testsuite has grown with tests for these functions, in total we now have 23 tests for various components.

For the future:

To ensure that the conversion issues don't creep back in again, we might want to consider adding an additional step into our automated build pipeline to test for that automatically.

Another thing would be to automate the test suite, which I would start after a successful merge. Happy testing!

Merge request reports