[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Pkg-octave-devel] Bug#361982: octave-epstk: autoscale writes 1.34e-14 instead of 0



Am Dienstag, den 02.05.2006, 19:29 +0200 schrieb Francesco Potorti`:
> >Could you please provide a script which triggers the bug, such that I can
> >forward the bug to the upstream author?
> 
> Here it is:
> 
> tx1=[0 0; 1 1400; 6 8e6; 6.6 8.6e6];
> eopen("bug.eps")
> eplot(tx1(:,1),tx1(:,2))
> eclose
> eview

The problem is in 'escalexy.m', in line 86
    ticOffset=(iTic-nShortTics)*signOfDelta*deltaLabel/5;

values for the relevant call:
	ticOffset =  3.0000e+04
	iTic = 5
	nShortTics = 3.9250
	signOfDelta = 1
	deltaLabel = 2000000

However:
	debug> ticOffset - 30000
	ans =  6.9122e-11


This non-zero values triggers a 'wrong' value for 'firstTicValue'. 

Writing the statement as
	signOfDelta*deltaLabel/5 * iTic  - ...
	signOfDelta*deltaLabel/5 * nShortTics
fixes it for me. However, I'm not sure whether this kind of 'fix' is
good: it makes the code more difficult to understand and might just
trigger problems in other cases (for example, if both numbers are
small).

Any ideas?
	Thomas





Reply to: