I have been using a module that acts as a shim between the software I write and PLplot. I wrote it when I migrated from using ArrayView on Digital's Fortran compiler to the Intel and GNU compilers. I don't know if it would be useful, but I'm willing to share with interested parties in case there are some useful concepts. One of the things I did was handle the type conversions.
On Dec 17, 2014, at 2:44 PM, Alan W. Irwin <ir...@beluga.phys.uvic.ca> wrote: > @Everybody: > For your information, Arjen and I have started a private topic > collaboration to upgrade the Fortran bindings. So far (based on the > limited experience of an initial commit by Arjen and subsequent commit > by me on our respective private topic branches) the recommended git > collaboration procedure (see README.developers) for that case (i.e., > using "git format-patch" and "git am") appears to be working well. > > Our initial goal for this upgrade was to do all the type conversions > within the fortran interface so that fortran users no longer have to be > specific about types that will work with PLplot. For example with > this new design, regardless of whether PLplot was built as a single or > double precision version, fortran users could use single or double > precision arguments, and the interface would take care of the required > conversions. So this change should be a huge convenience to our fortran > users. > > An additional possible goal we have been discussing is whether or not > to replace the traditional #define <function_name> c_<function_name> + > bindings/f95/plstubs.h method with the fortran-iso-c-binding BIND > method of dealing with Fortran name mangling. The large advantage of > this change is it would allow us to get rid of those confusing > #defines in our primary header file and also get rid of many more name > complications/obfuscations in bindings/f95/plstubs.h. The > disadvantage is BIND was only introduced as part of the Fortran 2003 > standard so the question Arjen is contemplating right now is how wide > is the support for BIND amongst Fortran compilers. Between us we have > tested MSVC and a large number of different flavours of gfortran (for > Linux, Cygwin, and MinGW/MSYS), and so far so good. > > @Arjen: > > I have just discovered > <http://stackoverflow.com/tags/fortran-iso-c-binding/info> where it is > claimed that fortran-iso-c-binding and therefore BIND "is widely > available in Fortran 95 compilers". That conclusion makes a lot of > sense to me now since I think only moribund Fortran compilers with no > development since 2003 would fail to implement these useful > capabilities. So the question I am asking myself is should PLplot > still support such moribund Fortran compilers in general, and I now > think the answer should be no, i.e., we should move forward with BIND. > If you agree, I look forward to your use of BIND in your next commit on our > mutual private topic branch. > > @Everybody: Once Arjen has finalized the above two changes for a small > subset of our Fortran API and proved those changes work without > issues, then the rest of this fairly intrusive change is largely only > a matter of editing to change each function in our Fortran API from > the old style to the new one. So with my editing help I think it is > still possible we can get everything done by late January which leaves > us a week or so for everybody here with an interest in Fortran to test > these extensive Fortran changes before we release PLplot-5.11.0 near > the start of February. Note, of course, that this planned timing is > still quite uncertain since it depends on how much time Arjen can take > to finalize the change for a small subset of the Fortran functions in > the next critical week to pave the way for both of us to do the > subsequent editing that will be required for the rest of the > functions. > > Alan > __________________________ > Alan W. Irwin > > Astronomical research affiliation with Department of Physics and Astronomy, > University of Victoria (astrowww.phys.uvic.ca). > > Programming affiliations with the FreeEOS equation-of-state > implementation for stellar interiors (freeeos.sf.net); the Time > Ephemerides project (timeephem.sf.net); PLplot scientific plotting > software package (plplot.sf.net); the libLASi project > (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); > and the Linux Brochure Project (lbproject.sf.net). > __________________________ > > Linux-powered Science > __________________________ > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk > _______________________________________________ > Plplot-devel mailing list > Plplot-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/plplot-devel ------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel