Greetings EPx developers,
My company,
Objexx Engineering, will be working with the EPx source in some detail. I wanted to first say Hi and to let the community know what we are doing and how to best collaborate with the rest of you.
Happily, we are able to share our refinements and additions to the Fortran code with the community. We are using a git repository locally so there is a question as to how
best to share our code: ideas are welcome.
We are also able to contribute our
ObjexxFTK
Fortran assertion and unit testing system for use with EPx if that is
of interest to the community. We could add sample usage for them in our
repository and share that if people want to see what it will look like.
We have begun by bringing the 8.0.0.008 code into the epx_dev directory organization and setting up GNU make based build systems for MinGW GFortran and Intel Fortran on Windows and GFortran on Linux.
We are currently going through an intensive testing process with the aim of finding and cleaning up any problems and attaining a high level of confidence in the code correctness. We are doing this in multiple passes:
- Option variants with multiple compilers to reveal any issues in the code
- Static testing with Intel's XE 2013 static analyzer and our own tools
- Dynamic testing via test cases run with max debugging checks on multiple compilers to catch runtime issues such as use of uninitialized variables or array bounds violations that static testing can't catch. If people have test cases geared toward fast execution that gives good code coverage it would be great to get those.
Step 1. is just about complete and so far we have found just a few issues with the code that could affect results, which is a good sign. There are the typical sorts of minor things like the use on non-standard (but common) extensions, using single precision literals in a double precision context. There are 2 bugs that would benefit from group input since the intent and thus best fix are not completely obvious to someone new to the code like me. I will post those in separate replies to avoid making this posting longer.
Happy to discuss any of this,
Stuart Mentzer