On 2015-05-17 07:38-0000 Arjen Markus wrote:

> My new bindings would not have prevented this [argument kind error], as it 
> was an omission, not an incorrect implementation.

Hi Arjen:

This is an important point that I think needs more discussion because
the new Fortran binding for ephcom very much prevents such issues from
happening.

There I completely dropped all C code and C headers that helped define
the old fortran binding (the ephcom equivalent to PLplot's plstubs.h,
sc3d.c, sccont.c, and scstubs.c).  Instead, I used the features of the
iso_c_binding module to write the interface virtually entirely in
Fortran (except for the few cases where iso_c_binding did not have
some argument processing feature that I had to write from scratch in
C).  So if I had omitted something from the Fortran interface.f90
file, there was no leftover C infrastructure that would silently
generate a f77 fallback.  Instead, the omission would be immediately
detected when I attempted to use the missing function.

I am pretty sure it should be possible (since argument transformations
from single to double or double to single is the only extra
requirement) to do the same thing for our new Fortran interface.  To
make that specific, I think our first goal should be to write an
interface.f90 file that contains complete information to handle single
or double precision versions of x00f.f90 with no C code required at
all to define the interface.

If you agree, then once that first goal is achieved (again with
plstubs.h, sc3d.c, sccont.c, and scstubs.c removed), we should be able
to expand the interface (using a C layer where necessary for
processing special kinds of arguments) to handle standard examples
that include use of more complicated PLplot arguments.

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
__________________________

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to