On Wed, Dec 10, 2008 at 11:45:30PM -0800, Alan Irwin wrote:
> On 2008-12-10 15:32-0700 Doug Hunt wrote:
> 
> > Hi Alan:
> >
> > I've got perl/PDL versions of examples 28, 29 and 30 checked in.
> > Their psc output is identical to the examples/c version.
> >
> > They require yet another version of PDL-Graphics-PLplot, version 0.45.
> 
> I have made the corresponding PLplot build-system changes (revision 9084).
> 
> Here is the latest ctest result for PDL-Graphics-PLplot, version 0.45
> on my 64-bit machine.
> 
> perl
>    Missing examples   :
>    Differing examples :  02 23 27
> 
> I am really happy to see that empty "Missing examples" list.  That represents
> a substantial amount of work by you which is much appreciated.

I can confirm this result with my Ubuntu Ibex 64-bit system.

> 
> >
> > Thanks for the pointer to 'ndiff', this will be useful for my regular work!
> >
> > As to the differing examples, for 02 there was some 32/64 bit trouble that 
> > you had--was your 'x02.pl -dev psc' output generally consistent with the 
> > correct 'x02c -dev psc' output and just off by a few decimal places, or was 
> > it wildly in error?  Unfortunately, I don't have a good 64 bit machine 
> > handy 
> > to try it myself.
> 
> Here is a typical diff stanza:
> 
> 1162c1162
> < 1.0000 0.0745 0.0745 C Z
> ---
> > 0.9961 0.0745 0.0745 C Z
> 
> There are 20 of these differences with the maximum R, G, or B colour changed
> from 1.0000 to 0.9961 for the pdl version.  There are also some maximum R,
> G, or B colours still left at 1.0000 in the pdl version.  The c version has
> no 0.9961 colours.

This was merely a slight difference between examples. In the perl
version the 0-1 numbers were multiplied by 255, as opposed to 255.001 in
the C version. Fix this and the results are identical. I've committed
this to svn.

> 
> >
> > I'm having trouble getting my hands around example 23--I can't get any of 
> > the 
> > 'c' examples to give correct comparison output except 'xwin'.  I get some 
> > bogus or missing characters for all other driver types.  Do you have any 
> > hints as to how to which 'c' example you use for comparison and how
> > to get it to work correctly?  My plplot installation may be missing
> > something required to get all the character sets to work.
> 
> fontconfig is essential for managing Linux fonts
> in an intelligent way so make sure that package is installed.  After that
> run cmake with the -DBUILD_TEST=ON option and after the "make" command run
> 
> ctest -R '_c$|perl|compare'
> 
> The '_c$' ctest runs all the C examples with -dev psc, the 'perl' ctest runs
> all the PDL examples with -dev psc, and the 'compare' ctest compares them.
> 
> After the above ctest command, run
> 
> less Testing/Temporary/LastTest.log
> 
> to see details of the ctests including the summary output I gave in the
> first paragraph of this post.
> 
> Here are the sizes of the example 23 results
> 
> -rw-r--r-- 1 software software 301933 2008-12-10 22:48 x23c.psc
> -rw-r--r-- 1 software software 244809 2008-12-10 22:48 x23pdl.psc
> 
> when I checked with diff, it turns out x23pdl.psc is missing pages 12 to 16,
> but the first 11 pages are fine.

As Alan said, this just needs the extra pages implementing.
 
> > Finally, example 27 (after your fix) seems to compare correctly with 
> > 'ndiff'. 
> > I took a look at it and did not see anything incorrect in the perl/PDL code.
> 
> Here is what I get with "ndiff -relerr 0.01"
> 
> 6c6
> < %%CreationDate: Wed Dec 10 22:48:07 2008
> --- field 5
> > %%CreationDate: Wed Dec 10 22:48:19 2008
> ### Maximum relative error in matching lines = 4.29e-03 at line 11279 field 8
> 
> If I set the -relerr value to a smaller value such as 0.0001 then lots of
> differences show up.
> 
> As I remarked before, that maximum relative error of 4.29e-03 is rather high
> (most other PDL examples match exactly with no differences at all) so I
> assumed there was some precision loss for the bindings exercised by example
> 27 or in example 27 itself.  If your maximum ndiff rel error is 0., (in
> which case diff would show no differences at all) then it appears we might
> have another 32 bit/64-bit issue.  But if the maximum relative error delivered
> by ndiff is non-zero for you as well, then I would look for precision loss.
> 
> In sum, 02 might be a 32/64 bit issue, but that needs confirmation by others
> with 32 and/or 64-bit platforms to make sure it is not a coincidence; 23
> needs the last 5 pages of the C example implemented in PDL but is otherwise
> fine; the jury is still out on 27; and everything else is perfect.

This looks like small rounding errors to me. Coordinates are never
out by more than 1. I can't see anything obvious in the code. Perhaps it
is related to precision in the trig functions or something like that?
I'll try and test on a 32-bit system later.

Andrew

------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to