|
From: Ethan M. <merritt@u.washington.edu> - 2004-02-20 17:03:38
|
On Friday 13 February 2004 06:03 am, Petr Mikulik wrote:
> I think there is no serious bug for 3.8k -- bug please check it.
Just found one:
gnuplot> set term pdf
gnuplot> set output 'test.pdf'
gnuplot> load 'electron.dem'
Hit return to continue
Hit return to continue
PDFlib value error: floating point value too large in pdf_ftoa
<program exits>
I have not yet tracked down the true origin of the error, but
the specific trigger of the error is the following problematic
bit of code from graphics.c:
/*{{{ map_position, wrapper, which maps double to int */
void
map_position(pos, x, y, what)
struct position *pos;
unsigned int *x, *y;
const char *what;
{
double xx, yy;
map_position_double(pos, &xx, &yy, what);
*x = xx;
*y = yy;
}
The problem is that in this case map_position_double is returning
negative numbers in xx and yy. These are then stored as unsigned
in x and y and nothing good can happen after that.
I am pretty sure that the negative values are themselves a
result of some upstream error that I haven't found yet.
Maybe someone else can spot it?
By the way, this error is in principle not specific to pdf output.
But the other terminal types that I have tried just ignore subsequent
moveto/lineto requests as being outside the plot boundaries, wheres
the pdflib complains and exits.
--
Ethan A Merritt merritt@u.washington.edu
Biomolecular Structure Center (206)543-1421
Mailstop 357742
University of Washington, Seattle, WA 98195
|