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

Reply via email to