Hi Arjen: I have been looking at how we use pltr0(f) in both our old and new Fortran bindings, where pltr0f differs from pltr0 by an offset of 1 in the index transformation.
The pltr0f callback was used for PLCON07 and PLVEC07 (plcont and plvec signatures without callback-related arguments (i.e., no trailing xg, yg, tr, or callback arguments), but these overloaded versions of plcont and plvect were not actually tested in our examples and were not documented. If anybody ever actually used that signature for the old binding I believe they would find that offset of 1 on what, after all, is the value of a C index is problematic since it means that the Fortran plot results would be shifted by 1 unit from the corresponding C results. Since I view that offset of 1 used by pltr0f as problematic, I decided to implement our plcont signature without callback-related arguments using pltr0 rather than pltr0f some while ago, and I have now (commit 55a6de0) done the same for our plvect signature without callback-related arguments. The result is we no longer have use for plplot_private_pltr0f so I have removed that routine from the plplot_private_exposed module as of the same commit. As part of that same commit, I have documented the backwards incompatibilities for these particular plcont and plvect signatures in README.release. However, I have also noted this is "for the record" documentation because these signatures were unlikely to be used by anybody since they were not documented or used in any of our examples. To complete this story concerning signatures for the case of no callback-related arguments, in our new Fortran binding we internally use a NULL C callback for the case where the Fortran signatures of plshade, plshades, and plimagefr have no callback-related arguments. To me this approach (lack of Fortran arguments maps to NULL callback) just makes sense philosophically. Furthermore, the NULL C callback is a signal to the C versions of plshade, plshades, and plimagefr to map the index ranges of the results to the xmin, xmax, ymin, and ymax arguments of those routines without bothering with using a callback to do this mapping. (The plcont and plvect C routines have no xmin, xmax, ymin, and ymax arguments so a NULL callback is not allowed for those two cases.) I have confirmed that our old Fortran binding also used a NULL C callback for plshade and plshades (see PLSHADE07, and PLSHADES07), but that binding used pltr0 rather than NULL for the plimagefr (see PLIMAGEFR07) case. In retrospect I think that was a mistake for our old binding (although that mistake made no difference for our examples because pltr0 applies an identity transformation to the index range of x and y, and the xmin, xmax, ymin, and ymax arguments happen to correspond to their index ranges in example 20 where this signature is used). As of commit 0258c58 I have documented this backwards incompatibility in README.release. Please let me know if you have any strong objections to the approach I have taken for the case where the signatures of plcont, plshade, plshades, plimagefr, and plvect have no callback-related 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 __________________________ ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel