> On Wed, Dec 31, 2008 at 08:35:06AM +0100, Arjen Markus wrote:
>> > I would change the Tcl version to match the C logic (and the logic for
>> > other languages as well) which (as you noted) does use integers for
>> > theta-related variables for exactly the rounding reasons you
>> Which is what I have done in my private copy. I have not had a chance
>> to test these and other changes yet, but I will in the coming few days.
> Just for the record, your changes make no difference to me. This is on
> Ubuntu Hardy x86 32-bit with tcl 8.4. I still have rounding differences
> for examples 3, 11 and 20 as before. I can't test example 21 as it is
> not enable with tcl 8.4. Will try to upgrade to tcl 8.5 and test again.
I should have mentioned I have been doing these tests with Tcl 8.5.
The difference between Tcl 8.4 and Tcl 8.5 that is of importance here
is that in 8.5 the parameter that determines the precision for
converting numbers to strings (tcl_precision) is set to 17 by default,
making an exact reconversion possible.
(The Tcl interface still uses the old string-based mechanism, hence
tcl_precision is important. I intend to change that to the Tcl_Obj
Example 11 shows very small differences: several numbers like 2384
instead of 2383 in the PostScript output. Perhaps I can get rid of
these too, but I gave priority to the others (examples 15 and 16 are
I will have a look at example 3. It is a new one to me.
Example 20 is causing me a slight headache :(. I have checked just
about everything I could think of:
- All expressions are braced
- The file is read correctly - all values are identical to the
values I see in the C example
- The PostScript file differs in the way the gray colour is
determined, but I have not been able to determine why that
would be the case. plscmap1n and plscmap1l are called with
I will have to descent further into the library functions to
determine the cause.