On 2015-01-11 09:27-0000 Phil Rosenberg wrote:

> Regarding the "special values" where small errors in floating points lead
> to jumps in integer representation - I think this is probably dealt with
> now by anti-aliasing in most modern drivers.

No, it is worse than that.  Generally, we have PLFLT input which is
transformed to internal physical coordinates which are then
transformed again (usually by simple scaling) by device drivers into
the actual physical coordinates (pixels or whatever) that driver
understands.  So for certain magical combinations of input (which our
standard examples used to hit a lot), the internal physical coordinates
which are currently represented as 16-bit integers can flip to a
different integer causing a section of the whole plot to shift visibly
relative to the rest depending on platform.  (Here we are defining
platform as the combination of computer language, optimization for
that language, OS, and hardware).

In other words, the devices are following the orders they are given
(with or without antialiasing applied) by the internal physical
coordinates, but for magic input values those orders get changed by
+/- 1 integer out of the limited total range of 16-bit integers
depending on platform. We have historically adjusted our standard
examples to avoid these magic situations so that we get more
consistent test results comparing one platform with another.  But that
is just a cover up, and I would far prefer our internal physical
coordinates simply had a lot more resolution so that in full
generality regardless of input values the PLplot results always look
the same (with small rounding errors consistent with 64-bit doubles
rather than much larger and visible rounding errors consistent with
16-bit integers) from one platform to the next.

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
__________________________

------------------------------------------------------------------------------
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to