I have made some more progress with my current Octave effort.

* As of revision 11457, I created a (Unix) custom target called
check_plplot_octave_def which creates a check version of
plplot_octave_def using a sed script on bindings/swig-support/plplotcapi.i then
compares that check version with the source code version of
plplot_octave_def to make sure that file is up to date with any
#define changes in bindings/swig-support/plplotcapi.i.

* As of revision 11460, all global PLplot variables (those normally
#defined at the C level) are accessed in the individual functions in
the examples using the global statement. This method takes advantage
of the plplot_octave_def file that has a complete list of global
PLplot variables generated from the #defines in
bindings/swig-support/plplotcapi.i.  That is far preferable to the
previous error-prone situation where those PLplot variables were
generated by assignment statements with specific numerical values in
each function where they were used. I tested these changes for both
the swig-generated and (deprecated) matwrapped cases, and all was
well.

* As of revision 11466, I have changed examples 4 and 26 to call
plstring and pllegend appropriately to get rid of the remaining
differences with C.  As a result the swig-generated octave diff result
is perfect except for example 19:

octave
   Missing examples            :  19
   Differing postscript output :
   Missing stdout              :
   Differing stdout            :

In addition to example 19, the matwrapped approach adds examples 4,
18, 26, and 33 to the missing examples list because plstring,
plstring3, pllegend, and plcolorbar have not been implemented for that
case. However, I think it is time to officially declare the matwrapped
approach deprecated which implies there is not much point to working
on that version of the bindings anymore.  In any case, I think
pllegend would be difficult to implement with the matwrap approach.

Here is what remains on my octave ToDo list:

1. Script help strings from api.xml.  Andrew has given me a
proof-of-concept idea of how to do this with swig so I don't
think this will be too difficult.

2. Implement Octave cell array interface alternative for const char **

3. README.release paragraph about all these octave changes.

I hope to finish all of this sometime this week.

Here are additional Octave issues that I will continue to leave to others:

1. Implement example 19 and the octave API that requires so that we
have completely clean diff results.

2. Get gcc -fvisibility=hidden to work.

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
__________________________

------------------------------------------------------------------------------
Gaining the trust of online customers is vital for the success of any company
that requires sensitive data to be transmitted over the Web.   Learn how to 
best implement a security strategy that keeps consumers' information secure 
and instills the confidence they need to proceed with transactions.
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