[Lazarus] Floating point comparison with ulps precision

Sven Barth pascaldragon at googlemail.com
Tue Aug 14 11:51:44 CEST 2012


Am 14.08.2012 11:21, schrieb Alexander Klenin:
> On Tue, Aug 14, 2012 at 8:00 PM, Sven Barth <pascaldragon at googlemail.com> wrote:
>>> However, since it depends on floating point and integer
>>> representation, it might cause problems
>>> for users on non-Intel platforms (does somebody use TAChart on ARM?),
>>> so perhaps some kind of IFDEF is in order.
>>
>> Yes, we do (arm-wince).
> Nice. I am curious -- in what project? Does it work good?

We are using it for a mobile client application for our desktop (Delphi) 
application. It's an application geared for industrial use and we use 
TAChart to display the trend of measurement values. The chart consists 
(more or less) of a line series for the trend and multiple line series 
for tolerance values (which can change in the lifetime of a 
measurement). The chart works really well and looks very nice. The 
zooming is a nice gimmick (which we found out by accident ;) ), though 
it's usage on a touchscreen device is a bit non obvious...

>> In how far would I notice this change?
> The bug which was fixed is reproduced as follows:
> 1) Create TChart
> 2) Set BottomAxis.Intervals.Options=[aipUseCount], Margins.Left=0,
> Margins.Right=0.
> 3) Try zooming around the chart. Before r38232, leftmost and rightmost
> marks would often disappear,
>    after the should be always visible.

I'll try to check this. Will take some time though.

> My concern is with integer and FP representation.
> IIUC, there are both big-endian and little-endian ARM versions?

Yes, some of them can even be switched from big-endian to little-endian. 
Most ARMs seem to be little-endian though...

> Are Double values always in IEEE754 format?
>

Sorry, I don't know.

Regards,
Sven




More information about the Lazarus mailing list