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

Reply via email to