Hi Andrew, Hez Jerry, and Hǎiliàng: @Hǎiliàng: the svn trunk version now supports widths < 1 for cairo devices (see discussion below).
@Hez: Because of my plwidth core changes, the OCaml bindings will not build any more. More details below. To others here: use -DENABLE_ocaml=OFF for the svn trunk version until further notice. @Jerry: Ada builds okay but the results no longer agree with the corresponding C results for examples 1 and 2. I noticed some integers associated with pen widths in the Ada bindings, but I did not change those to PLFLT (or floating-point equivalent) because I was not sure of the Ada implications. However, if you deal with that issue, I think it is pretty likely that examples 1 and 2 will agree again with C. On 2013-01-29 10:30-0800 Alan W. Irwin wrote: > Thanks, Andrew, for your response. I think this is an important issue > to fix, and we appear to be in agreement about how to do it so I will > take responsibility for this part of the change. @Andrew: I decided to do this sooner rather than later, and it has generally gone well. I used find and sed to change all source code (except source code that had the term plwidgets in it for obvious reasons) to replace plwid with plwidth. I then did a number of other fixups such as using a PLFLT width in plstrm.h; dealing with specific wid ==> width issues that turned up for C++, Java, and lua (where the pl prefix is not used); and sorting out a small cairo device issue for widths less than 1. So far, I have tested these fairly intrusive changes with the test_noninteractive and test_interactive targets and all seems to be well (other than for OCaml, see below, and the minor Ada issues I mentioned to Jerry above). I have also done tests such as examples/c/x04c -dev xcairo -width 0.3 @Hǎiliàng: that works which indicates the issue you originally reported is solved, but please check the svn trunk version to make sure. I have committed the result as revision 12288. N.B. I know there are some integer ==> PLFLT pen width changes that should be done in various bindings such as the ones I mentioned to Jerry above. But currently most of these appear to be covered up by implicit casting. We need some systematic testing that e.g., -width 0.3 works for -dev xcairo for _non-C_ examples to find these instances and fix them. However, I won't have time for that so I will leave chasing those down to someone else. I do plan to still take responsibility for getting -width values less than 1. to give good results for the qt devices just like they now do for the cairo devices, and I also need to implement a plwid in pldeprecated.c for backward compatibility but that is about all I have time for. @Hez: The core changes generated build errors for the ocaml bindings so I made a number of adjustments to the OCaml bindings (such as defining a float plgwidth and float plwidth) to get the OCaml part of the build to work. I think I am closer than if you leave the ocaml bindings completely inconsistent with the PLplot core so I included these changes in the above commit. The current OCaml status is there is a build error (unless you use -DENABLE_ocaml=OFF): File "/home/software/plplot_svn/HEAD/build_dir/bindings/ocaml/plplot.ml", line 1111, characters 29-31: Error: This expression has type color_t * axis_options_t list * axis_options_t list * int * line_style_t * (plplot_axis_type -> float -> string) option but an expression was expected of type color_t * axis_options_t list * axis_options_t list * float * line_style_t * (plplot_axis_type -> float -> string) option But line 1111 in that file has nothing to do with line width in any way! Is there some sort of offset for line numbers reported by the OCaml compilers? Since I have no idea where that build error message is coming from I am stuck (and everybody else is stuck) with setting -DENABLE_ocaml=OFF for now. I think the changes I made in bindings/ocaml are pretty reasonable. What I tried to do was express all pen widths as PLFLT (or some floating-point equivalent) and plgwid ==> plgwidth (where plgwid is local to just the ocaml bindings) and plwid ==>plwidth. However, since I don't understand OCaml that well those changes were all done by rote. Do you have any idea what could be causing the above build issue? 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 __________________________ ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_jan _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel