Hi Andrew:

Here are the swig-generated octave bindings diff results as of revision
11431:

octave
   Missing examples            :  19 33
   Differing postscript output :  04 18 26
   Missing stdout              :
   Differing stdout            :

That is, I now obtain the same diff diagnostic results with the new
swig-generated octave bindings as I do with the original matwrapped
ones.  Despite my fundamental lack of octave knowledge, I was able to
achieve this success quite rapidly because swig allowed me to borrow
(somewhat blindly) from the previous matwrap work by Joao Cardoso,
Rafael Laboissiere, and you in an efficient manner.

Could you take a look at what I have done with swig?  In particular, I
felt my copying of some of the wrappers (especially the laborious
transformation of matrix results) used in matwrap was not really
taking full advantage of swig capabilities.  Also from some of the
machinations done in plplot_octave.i it is clear there are some
unnecessary differences between the PLplot octave and C API's which I
have continued to preserve so as not to introduce octave PLplot API
breakage (except in not vectorizing some of the scalar PLplot
functions for the reasons explained in plplot_octave.i).  At this
point you might wish to declare a PLplot octave bindings API break 
and change plplot_octave.i to reduce or eliminate those gratuitous
differences, but I leave that judgement call to you.

There are still some issues to work out with this new set of bindings
for octave, and I hope you will be able to help with those.

1. You cannot use the gcc option -fvisibility=hidden on Linux. No
such issue occurs for our Python, Java, and Lua bindings so I may
have forgotten something obvious that is done for those other bindings
or there may be some bug in swig octave support that needs to be
addressed by the swig developers.

2. The octave help command does not work for PLplot functions. The
way this is implemented for the matwrapped approach is the help files
generated by the make_documentation target are integrated into
plplot_stub.m by the "massage" programme by wrapping each raw octave
bindings call with a documented version.  So massage.c has to be
changed to do this same integration for the swig-generated octave
bindings as well.

Despite these issues, my feeling is that we should use the
swig-generated bindings from here on out.  The advantages are that
addition of new API usually comes automatically and simultaneously for
Python, Java, Lua, and now Octave, through a single simple change to
bindings/swig-support/plplotcapi.i, and the maintenance of the
swig-generated bindings for octave should be straightforward.

Therefore, I have enabled (revision 11432) the swig-generated bindings
by default which means that to obtain the old matwrapped bindings you
must now specify -DENABLE_swig_octave=OFF.

The only other octave plans I have at the moment are to get rid of the
propagation issues that affect examples 04, 18, 26, and 33 using the
swig-generated bindings approach.

That should leave Example 19 still unimplemented because I don't
believe I have the octave skill to deal with it. As you indicated
before there is at least some chance of dealing with it using
swig-generated bindings (as opposed to the matwrapped bindings where
there was little chance) so I hope you will take it on.

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); PLplot scientific plotting software
package (plplot.org); 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
__________________________

------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to