Hashmap test update
As part of development work on the stdlib hashmaps, I have run into CI failures on the stdlib test that I'm not sure if it's due to code updates, or because of format of hashmap test program. For example, the way the current implantation uses transfer to generate character values, I'm not sure it's always generating valid character values. Also fypp makes it harder to develop and update the test routine as the hashmaps evolve.
This PR is an attempt to address those shortcomings. The intent is to improve test coverage of hashmap functions, improve test quality (ensure valid data is being used for key and values), and simplify the code and remove fypp preprocessor format.
This PR also makes the abstract hashmap_type public so that can be used for interface definition that works for both open and chaining types. I thought it was worth adding a simple example showing the use of that.
Thank you for the review. Suggested updates have been applied. The specs already listed the abstract hashmap_type as public, so I believe this change in essentially updated the code to the original intent. I added an added line and a reference to the abstract type example.
I think you summed it up, working with templated code is hard and creates barriers to development and maintenance. If we are able to use native Fortran to accomplish the goal instead of fypp I think we're almost always going to be better off using native Fortran.
For the linalg code, fypp probably was a requirement to handle the different types and kinds. But here we are able to use the base hashmap type to create a common test routine without fypp. If a need arises to reintroduce fypp type features, it's easy to do, just a file extension change and add a line to the CMake.